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.
Cloud-native development doesn't happen with platforms and infrastructure alone. You need to start with your team — its methodologies and culture.
When doing so, ask the following the questions:
A strong cloud-native practice won't take root without the right mindset, the right talent, and a willingness to change.
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.
In summary, they include:
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.
By now, most CEOs and high-level executives get business 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.)
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 cloud native architecture.
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.
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.
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 building cloud native applications on your existing infrastructure. Check out our Ultimate Guide to Building and Deploying Cloud Native Solutions On-Premises to better understand how a modern datacenter allows you to better tap into your enterprise's data.