Nearly five years ago, throngs of people in cities across America started roaming streets, parks, and other places to hunt down creatures on their cell phones. The launch of Pokémon GO on July 5, 2016, created a craze, peaking at 45 million daily users and smashing previous estimates of player traffic.
Behind the scenes, a new open-source technology played a pivotal role in making Pokémon GO the most popular mobile game ever. The game’s developers relied on Kubernetes to run its application logic on Google Container Engine at an extreme scale while continuously updating it for ever-growing numbers of players. Pokémon GO was one of the largest Kubernetes deployments to that point, and it vividly showed the technology’s considerable promise.
As its fifth-anniversary approaches, Pokémon GO is no longer the phenomenon it once was. But in the IT industry, Kubernetes’ star keeps burning brighter.
Is Kubernetes for the enterprise a game-changer?
Kubernetes – aka K8s – has grown from a simple container orchestration tool originally designed for internal use at Google to a vibrant open source community and the preferred platform for deploying, monitoring, and managing apps and services across clouds. In effect, K8s has redefined how software is built and deployed.
It always takes time for relatively new technology to earn businesses’ trust, but K8s has moved beyond hype and early adoption to widespread production deployments.
Ninety-two percent of 1,324 IT pros who responded to a survey by the Cloud Native Computing Foundation last year said their organizations are using containers in production, up from 84 percent the year before and a whopping 300 percent since 2016. Eighty-three percent said they use Kubernetes to manage their container lifecycle.
Containerization and K8s have become popular as the rapid pace of digital transformation forces organizations to deliver high-quality software faster and with greater agility through modern DevOps practices. The speed, efficiency, and flexibility that containerization and Kubernetes afford have become even more important as the pandemic compels enterprises to up their digital game.
Achieving what IDC has called cloud computing’s Holy Grail – “a frictionless, hybrid multi-cloud that provides a consistent experience and unified management across multiple public clouds, private clouds, and even traditional infrastructure” — requires an IT transformation in which containers, microservices, and K8s for building modular applications play a critical role.
K8s provides the tools for automating an array of container management chores such as configuration, deployment, orchestration, load balancing, upgrading, and patching of hundreds, thousands, or tens of thousands of containers. Why are those capabilities so important? Here are four reasons:
1. They reduce costs.
Without an orchestration platform like K8s, it would be virtually impossible for organizations to get the full benefit of containers. There would be too many expensive, time-consuming manual processes. In addition, they would have to keep relying more heavily on virtual machines or other legacy application architectures, which require more power, memory, and storage than containers. For organizations with lots of applications, the cost savings from containers and K8s can be huge.
2. They promote efficiency.
With benefits such as repeatable processes, templates, a single API for all resource allocation tasks, and a panoply of easily integrate external tools, K8s helps developers build, test, deploy, and iterate applications more quickly. This makes the development lifecycle far more productive and slashes applications’ time to market.
3. They enable operational consistency.
Thanks to K8s orchestration, enterprises can take full advantage of containers’ ability to work in the same way across different environments, from a software engineer’s workstation during testing to a production deployment on the public cloud. K8s also make it easier for companies to move their infrastructure to different clouds, thus aiding hybrid cloud or multi-cloud strategies.
4. Improving ease of use.
There’s always been a contradiction with Kubernetes. On one hand, K8s make application deployment easier if you know how to use them. And with K8s, containers can be significantly easier to upgrade and patch. At the same time, lack of simplicity has been an Achilles’ heel for K8s. The tool can easily overwhelm beginners and be a struggle to understand all the knobs and dials to get a full-production, end-to-end workflow up and running. K8s also does little to protect users from their mistakes, such as improperly using the K8s API to deploy an application in the default namespace, thus leaving the cluster vulnerable to denial-of-service attacks.
However, various solutions, such as graphical UIs and automation frameworks, are helping address some of the K8s complexity issues, and we can expect K8s best practices from development to production to grow and be shared more widely as the technology continues to mature.
Containerization and K8s are a dramatic step forward in virtualization technology and will be offering opportunities for organizations to improve speed, agility, and efficiency for years to come. Unlike Pikachu and his friends, the benefits are real.
Become a subscriber of App Developer Magazine for just $5.99 a month and take advantage of all these perks.