A concise definition of both DevOps and cloud native computing is elusive, but Cisco's Ken Owens presents a unified theory that pulls together the Java cloud, Agile, microservices and containers.
The software development industry is replete with its own lingo and buzzwords, and if you're a Java cloud developer, you would agree that 'cloud native' is one of 2017's most repeated catchphrases.
DevOps, microservices, containers and the Java cloud
This site has published a number of articles on the topic of microservices, containers and cloud native development for the Java cloud, and there are plenty more in the pipeline. Taking our ongoing interest of the topic into account, as a form of due diligence in exploring how cloud native philosophies impact Java cloud developers, an ongoing effort has been put forth to nail down a concise and universally acceptable definition of what cloud native means. It's a seemingly simple task, but the task's execution has become incredibly hard.
To the purist, cloud native computing is simply the deployment of a microservice into a managed and orchestrated container. Others say it's just a matter of writing Twelve-Factor Apps that deploy nicely into any cloud service, such as Amazon S3. To others experienced in the art of software development and the Java cloud, you're not cloud native if you're not using an Agile methodology. Others demand that cloud native development requires assimilation into a DevOps culture collective, which evokes the equally difficult task of trying to figure out what experts mean when they throw around the term DevOps.
A unified theory of cloud native computing
There are plenty of DevOps experts talking about microservices, automation, continuous delivery and cloud native computing, but there is a vacuum when it comes to expert consensus on the cloud native term. Having said that, in a recent interview, Ken Owens, Cisco Systems' chief technology officer of Cloud Platforms and Services Group, delivered the best definition of cloud native computing heard to date.
In his eloquent summation of what cloud native means, he pulls together the idea of cloud native with the use of microservices and software containers like Docker, after which he rounds all of that back upon itself to incorporate things like testing, automation, developer independence and DevOps, all while explaining how Agile concepts and practices play into the mix as well. It's like he's provided a unified theory of cloud native computing. And what's even more amazing, he does it in less than four minutes.
So here's Ken's response, provided as an accompanying audio file, when asked to define the term cloud native. I think you'll find it's the best definition of the term available.
Interested in more articles and opinion pieces from Cameron McKenzie? Check these out:
- Why the Amazon S3 outage was a Fukushima moment for cloud computing
- Software ethics and why ‘Uber developer’ stains a professional resume
- It was more than user input error that caused the Amazon S3 outage
- Don’t let fear-mongering drive your adoption of Docker and microservices?
- Stop adding web UI frameworks like JSR-371 to the Java EE spec
What is a 12-Factor app? It's nothign more than unactionable drivel.
Here's an awesome, unified theory of cloud native computing, from Cisco's Ken Owens
Don't believe them when they say cloud computing will one day compete with bare metal JVM performancel?