When any organization starts planning for cloud-native applications, it is important to consider the entire time span: from selecting a development platform until an application is truly production-grade and ready for delivery in the cloud. It can be a long journey, with many decisions along the way that can help or hinder progress.
For example, at the beginning of a move to cloud-native development, it is easy for inefficiencies to occur if developers begin selecting tools and frameworks before they know where the application will be deployed. While enterprise developers want choice of runtimes, frameworks, and languages, organizations need standards that address the entire application life cycle in order to reduce operational costs, decrease risks, and meet compliance requirements. Organizations also want to avoid lock-in, whether it is to a single provider of cloud infrastructure or the latest architectural style.
In addition, given the steep learning curve in cloud development, considerations for building robust, scalable, and resilient applications cannot be left until late in the development cycle. A primary driver for moving to the cloud is elastic capacity for dynamic scaling, so resiliency cannot be an afterthought.
For an effective cloud-native application strategy, the entire picture needs to be considered, from development tools and cloud platform to deployment automation and operations. The benefit of a holistic approach to cloud-native development is that it lends itself to a guided path that eliminates unnecessary detours.
The following checklist will assess your needs and possible business impacts to help you choose a cloud-native platform that benefits the business, developers, and IT operations team.
ENABLE DEVELOPER PRODUCTIVITY
- Do you want to give developers the freedom to innovate using the best tool for the job?
- Does your vendor choice limit your developers’ choices?
- Do application development choices complicate your infrastructure operations?
- Do you want to support new languages that reduce development time?
- Do you want the agility of cloud but on developers’ local laptops?
If you answered “yes” to any of these questions, you should consider an open source cloud-native platform. Maintaining flexible tools gives your developers the choice they need to succeed.
CAPITALIZE ON EXISTING INVESTMENTS
- Do you continue to invest in more infrastructure while you have under-utilized capacity?
- Do long delivery times for existing applications negatively impact your organization?
- Do you need public cloud agility for your existing legacy applications?
- Are existing applications excluded from your DevOps initiative?
- Do you want infrastructure portability for your existing applications?
- Do you consider modernizing existing applications but are interested in an incremental, side-by-side approach?
- Does your existing middleware support DevOps and microservices principles?
If you answered “yes” to any of these questions, you should evaluate full-stack vendors that have an open philosophy. These vendors will allow you to use your existing knowledge base, offer your developers choice, and provide confidence in the security of your container platform.
MAXIMIZE FUTURE CHOICE
- Does vendor lock-in concern you?
- Do you want the ability to move applications across multiple cloud infrastructures?
- Does your environment support development, test, and production for multiple application development life-cycle stages?
- Do you want to adopt modern application architectures without changing your current infrastructure?
- Do you want the speed of microservices without the management complexity?
- Do you see serverless architecture as an alternative for future applications?
If you answered “yes” to any of these questions, it is important to confirm that your cloud-native platform is actually open (and not a mix of open and proprietary solutions) and based on widely adopted industry standards. True application portability will allow you to maintain control of your environment.
MAKE SECURITY A TOP PRIORITY
- Is multi-tenancy a key element of your enterprise architecture?
- Do you want to give developers a choice of technology but are concerned about the security risks?
- Does security from malicious users or poorly written code cause concerns in your current environment?
- Do you need the security assurances of tested and proven technologies?
- Do you want proactive security tools that inform your teams about security vulnerabilities before the public does?
- Does your technology stack enable rapid security response to viral vulnerabilities?
- Do you want to adopt containers and Kubernetes but are concerned about security assurance and longevity?
If you answered “yes” to any of these questions, you should evaluate whether a cloud-native platform will keep your applications and IT infrastructure secure—and determine if that security will work throughout your stack.
You can find more insights, expertise, practices from following materials: https://www.redhat.com/en/resources/exec-guide-cloud-native-dev-platform-whitepaper https://www.redhat.com/en/resources/cloud-native-platform-checklist-brochure