This article was originally published on Heptio's blog by Joe Beda. With their kind permission, we’re sharing it here for Codeship readers.
As Craig and I start our journey toward building Heptio, we have been doing a lot of thinking around where we see the industry going. We spent quite a bit of time at Google (16 years between the two of us) and have a good understanding how Google builds and manages systems. But chances are you don’t work at Google. So how do all of these evolving new concepts apply to a typical company/developer/operator?
This is the first part in a multi-part series that examines multiple angles of how to think about and apply “cloud native” thinking.
There is no hard and fast definition for what Cloud Native means
In fact, there are other overlapping terms and ideologies. At its root, Cloud Native is structuring teams, culture and technology to utilize automation and architectures to manage complexity and unlock velocity. Operating in this mode is as much a way to scale the people side of the equation as the technology side.
Cloud Native is structuring teams, culture and technology to utilize automation and architectures to manage complexity and unlock velocity.
One important note: you don’t have to run in the cloud to be “Cloud Native." These techniques can be applied incrementally as appropriate and should help smooth any transition to the cloud.
The real value from Cloud Native
Its value goes far beyond the basket of technologies that are closely associated with it. To really understand where our industry is going, we need to examine where and how we can make companies, teams and people more successful.
At this point, these techniques have been proven at technology-centric, forward-looking companies that have dedicated large amounts of resources to the effort. Think Google or Netflix or Facebook. Smaller, more flexible, companies are also realizing value here.
However, there are very few examples of this philosophy being applied outside of technology early adopters. We are still at the beginning of this journey when viewed across the wider IT world.
With some of the early experiences being proven out and shared, what themes are emerging?
More efficient and happier teams. Cloud Native tooling allows for big problems to be broken down into smaller pieces for more focused and nimble teams.
Drudgery is reduced through automating much of the manual work that causes operations pain and downtime. This takes the form of self-healing and self-managing infrastructure. Expect systems to do more.
More reliable infrastructure and applications. Building automation to handle expected churn often results in better failure modes for unexpected events and failures. Example: if it takes a single command or button click to deploy an application for development, testing or production, it can be much easier to automate deployment in a disaster-recovery scenario (either automatically or manually).
Auditable, visible and debuggable. Complex applications can be very opaque. The tools used for Cloud Native applications, by necessity, usually provide much more insight into what is happening within an application.
Deep security. Many IT systems today have a hard outer shell and a soft gooey center. Modern systems should be secure and least trust by default. Cloud Native enables application developers to play an active role in creating securable applications.
More efficient usage of resources. Automated cloud-like ways of deploying and managing applications and services open up opportunities to apply algorithmic automation. For instance, a cluster scheduler/orchestrator can automate placement of work on machines versus having an ops team manage a similar assignment in a spreadsheet.
At Heptio, we are incredibly excited to help bring the benefits of Cloud Native to the wider IT industry. In the rest of this series, we’ll be looking at integrating with existing systems, DevOps, containers and orchestration, microservices, and security. Please stay tuned and let us know what is most interesting to you.
Check out the rest of the series: