Cloud Native - From saying to doing
Note: This post is a direct translation from the link above. Due to many requests, I translated it to English.
A few weeks ago I participated in a Meetup in which I presented a topic that in the beginning I thought it was going to be boring, repeated or even monotone to the audience. My frontal cortex was indicating for me to look for another subject… but my instinct was fighting it very strongly. I finally let my instinct win and presented a talk called Cloud Native - What is it? Why?.
Mi instinct was right. The reaction to the talk was very good. There were questions after the presentation that were juicy as well as discussions that worked to clarify such a broad concept.
Everybody is talking about Cloud Native… but who gets it? #
Answering to myself, Cloud Native is understood in its whole by few. It is a relatively new concept, very broad, and includes many definitions and sectors inside IT and the industries that implement it.
Do I get it? Although I’m far away of being an expert like Matt Stine, understand Cloud Native enough to explain it, implement it and evolve with its concepts.
But… what is it? #
Cloud Native was born as a concept by providing a solution that allows companies to provide a dependable, always on, fast service that evolves accordingly with the market needs and opportunities that technology brings.
A while ago, the word “disruption” came to be popular. However, the disruption meaning has been bastardized a bit nowadays; the true disruption happens when a David confronts a Goliath and, although it may not win the fight, will force Goliath to change his strategy altogether.
There are many cases like that. Some of them are Netflix, Uber, AirBnB… all of them services that disrupted their respective industries. Now, the giants are changing their strategies to adapt and evolve along with the new rules that the new players proposed and the people accepted and favored.
So, my definition of Cloud Native is:
An ever-changing group of methodologies and tools that allows software systems and those who use them to be adaptable, agile, resilient and cooperative.
What is included #
Among the different practices and tools that Cloud Native proposes, there are some of them that are more familiar than others:
- Process automation
- Infrastructure as code
- Platform as a Service
- Containerization
- 12 factor apps
- Continuous integration & delivery
- Source control
- Multi data center
Implementing each one of those items gets a company closer to be in a state where evolution is a constant. An example: being able to perform hundreds of deploys a day means that you can fail and recover in matter of minutes, which allows you to take more risks, innovate, go to market with product features that your competitors will have to catch up. And also allows to have operations ready to handle the load in case your product gets massively popular.
Cloud Native is perhaps the way that every technology company (and lets agree that almost all companies are technology companies) has to be competitive and survive (and even thrive) in the long term.
Marc Andreeseen said: “Sofware is eating the world”. Adopt and implement Cloud Native is to have the chance of becoming the predator instead of being the food.