- August 6, 2018
7 Key Steps on the Road to Cloud-Native ApplicationsAugust 6, 2018
Cloud-native applications are gaining momentum among development teams that want to bring greater velocity to development cycles. More about the how than the where, cloud-native takes advantage of the cloud computing to build more scalable and resilient applications.
Thinking about deploying a Kubernetes platform like Pivotal Container Service (PKS) and adopting containerized and microservices applications? We recommend taking these seven key steps to get there successfully.
Step 1: Have A Conversation About Your Developer Culture
Cloud-native doesn’t happen with platforms and infrastructure alone. You need to start with your development team – its methodologies and culture. Has it moved away from waterfall to Agile? If not, can it? Does the team have the cultural soil into which these modern practices can be planted? A strong cloud-native practice won’t take root without the right mindset, the right talent, and a willingness to change.
Step 2: Take a Crash Course on the Twelve-Factor App Principles
The Twelve-Factor App principles put forth a standardized methodology for building cloud-friendly applications, with guidelines for codebase, dependencies, and parity across development, staging and production, among other things. Originally drafted by platform-as-a-service (PaaS) provider Heroku around 2011, the Twelve Factors have in some sense become synonymous with cloud-native. Aligning your development team around these guidelines is a great way to lay the foundation for cloud-native.
Step 3: Educate Your Business Leaders on the Benefits of Cloud-Native
It’s 2018. By now most CEOs and high-level executives get digital transformation and why it’s important. But it’s critical for champions within IT and development to make sure their business leaders are connecting the dots from the digital business outcomes they want to see, to faster development cycles, to how cloud-native enables that velocity. Need data to help make the case? Try this: High performing IT teams “are twice as likely to exceed organizational performance goals as low performers: profitability, productivity, market share, number of customers,” according to research by DevOps thought leaders Nicole Forsgren, Jez Humble, and Gene Kim. (You can get the full story in their highly recommended book Accelerate: Building and Scaling High Performing Technology Organizations.)
Step 4: Embrace DevOps
A critical organizational plank for adopting cloud-native, DevOps is the collaboration between the development and IT operations teams with the goal of building, testing, and releasing applications rapidly, frequently, and more consistently. It’s the organizational culture and processes that goes hand in hand with the cloud-native architecture.
Step 5: Get a CI/CD Platform
You can’t reap the full benefits from cloud-native and Kubernetes without a Continuous Integration/Continuous Delivery (CI/CD) platform to enable automated building, testing, and delivery of code. Some of the ones we recommend include: Jenkins, GoCD, TeamCity, Bamboo, Microsoft Visual Studio Team Services, and AWS CodePipeline.
Step 6: Adopt Containers
Containerization – a lightweight way to package applications and their dependencies for better portability – is another key tool for going cloud-native because it brings the requisite speed and efficiency to the development cycle. Top container platforms include Docker, rkt from Core OS, and Cloud Foundry’s Garden, among others. Meanwhile the Open Container Initiative, a Linux Foundation project, reinforces the viability of containers in the enterprise by creating and maintaining open standards for formats and runtime.
Side note: If you’re exploring container technologies, we can help you navigate the landscape of options, from enterprise supported to completely open source.
Step 7: Choose Your Kubernetes Platform Wisely
Another key piece of the cloud-native puzzle is container orchestration. With Kubernetes rising as the top choice, most organizations are starting there. But what’s the best way to integrate Kubernetes into your environment?
While several solid options are available, we tend to recommend PKS for organizations with heavy investments – technology and people – in VMware. It gives your development team all the benefits of Kubernetes while also giving your IT operations team a low-friction way to bring it into the VMware ecosystem they know and trust.
Learn more about how PKS brings enterprise-grade Kubernetes to VMware-based environments.