The world of IT is changing at breakneck speed, and much of it is down to just one technology - application containers, and Kubernetes in particular. Designed for cloud computing, this approach has given birth to an entire software ecosystem under the banner of ‘cloud native,’ including projects like Prometheus, Fluentd, rkt, Linkerd and many others. But what exactly is cloud native? And is it going to automate data center jobs out of existence?
Luckily, just a few months ago a helpful definition was developed (and argued over) by a team from the Cloud Native Computing Foundation (CNCF) – the non-profit organization tasked with the management of Kubernetes.
Opening it up
In a true open source fashion, it has been published on GitHub and remains a work in progress. It states: “Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.
“These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil.”
This movement emerged from the experiences of some of the world’s most successful digital businesses. “Over the previous decade, a lot of the younger, forward-moving companies have been figuring this stuff out,” Dan Kohn, executive director of CNCF, told DCD.
“Google is certainly the best known, but really, it’s everybody who tried to operate at a higher scale – Amazon, Twitter, Yelp, Pinterest, SoundCloud – all of them have come up with relatively similar solutions. Once they established that, it was somewhat natural for them to start putting all that learning into a set of open source projects, having common infrastructure underneath, and then they can move up the stack to innovate. I think it’s a really great thing that this innovation is now becoming available to anyone.”
One of the important things to note is that going cloud native doesn’t necessarily require a public cloud – you can just as easily run Kubernetes in your on-premises data center, as long as it supports some form of private cloud architecture.
“The key idea is that, rather than running an application on one machine and saying ‘OK, this is my database server, this is my web server, this is my middleware server,’ you containerize all of your applications, establish a set of requirements for them, and then have them automatically orchestrated onto your machines for you,” Kohl said. “It really is a paradigm shift in how you go about managing and deploying infrastructure.
“Kubernetes is one of the fastest-growing open source projects in history – depending on how you count, it’s basically number two behind Linux, and often described as ‘the Linux of the cloud.’ There is enormous momentum behind it and, in a lot of ways, it is becoming the default choice for people who want to migrate to modern infrastructure.”
“The whole ecosystem is moving faster,” said Jacob Smith, co-founder and SVP of engagement at Packet – a public cloud service for application developers. “If you ask an IT person from 10 years ago, they would be making a big bet and investing in, let’s say, VMware, for seven years on an amortization schedule. Kubernetes is barely four years old and yet it’s driving the strategies of all the top companies.”
The cloud native umbrella also includes CI/CD - continuous integration and continuous deployment - a term used to describe agile development methodologies, closely related to DevOps.
“CI/CD or DevOps culture should be a goal for enterprises, regardless of whether they want to go cloud native or not,” said Patrick Hubbard, ‘head geek’ and marketing director at SolarWinds. “Solving for how agile do you want to be is probably the first step that ends up making cloud more successful, because cloud native services are all designed to be managed by APIs, they are designed to be managed programmatically.”
Hubbard added that some cloud vendors talk about DevOps like it comes with an SKU – like organizations can pay for it, install it, and suddenly they have adopted an agile methodology. Unfortunately, that’s not the case: like containers, working with DevOps requires additional skills, but also a structural change within the business itself - one of the reasons why it is still considered an alternative, rather than a standard.
But should the old guard of the data center be worried about this sudden influx of new technologies? After all, they survive on their technical knowledge, and Kubernetes presents a new and unfamiliar territory.
“They should see this as an opportunity,” Kohl said. “The skillsets build on each other. If you’re an experienced sysadmin and you’re comfortable configuring machines and working in Linux, it really is very feasible for you to apply almost all of those skills to this modern world of DevOps and microservices and containers.
“Rather than burying your head in the sand, my argument is look at some of the training courses on offer, spend the time learning this new space and you’re going to find – because there’s still Linux underneath and there are still servers underneath - all of your existing knowledge is still useful, there’s just some additional functionality that we are layering on top.”
Hubbard had a similar opinion: “We’re finding that – when you look at our IT trends report, when you look at a number of other surveys – there seems to be this career reboot opportunity with cloud that we didn’t really have with virtualization.
“Before VMs, you had a ‘rack and stack’ person in your data center who could terminate cables and make sure that the physical hardware was going in and out of the rack. That desk is now empty, and you use a contractor who comes in and pulls all of the Ethernet and fiber, and then they leave and you don’t see them for two years because you don’t need them anymore.
“Learning to code, and I don’t mean being a developer, but being able to take a basic policy in your head and converting it into Python that can execute while you sleep is how people will have a job five years from now.
“In SMBs and smaller operations, you will still have people who like using command line, who like managing on-prem resources, but I’m finding that there are a lot of people who have been in technology for 15-20 years and are discovering this ability to wield enormous resources that are API-delivered - especially cloud native services - and the ability to quickly transform, to scale provisioning up and down as necessary.
“When they encounter it, they are almost reborn into this thing that they love; it’s what they came to do in IT in the first place.”