There has been a lot of talk in the first half of 2018 around how cloud is being adopted for mission critical applications and becoming mainstream. Right now, the impact of cloud services, cloud technologies and practices for organisations is rapidly accelerating as we enter the next wave of cloud adoption. To this point, analysts at Forrester predict that the public cloud market will grow by 22 percent in 2018, to $178 billion. This momentum is being driven by companies that recognise the potential benefits of a cloud-based infrastructure i.e. lower operational costs, increased speed of deployment and greater business flexibility.
Today, many companies have moved well beyond the experimental stage and view the cloud as a critical component of their IT strategy, whether they are transitioning their on-premise infrastructure and applications to the cloud or adding cloud-based services as part of a hybrid approach. This transition is being made even easier thanks to the implementation of Kubernetes. Kubernetes can allow layering and application scaling within containers in the cloud. It works in tandem with the infrastructure provided by the cloud to allow for a more portable, more productive, environment.
At the same time, the services, tools and the organisational best practices for cloud continue to evolve to support the needs of large-scale enterprises. With these trends in mind, here are a few thoughts on cloud becoming mainstream and the growing role of Kubernetes in delivering powerful improvements to your infrastructure.
Driving agility in the business
The prime motivator behind the move to cloud for every business is how it improves operational efficiency. The cloud offers many benefits to businesses, like easy and near-instantaneous provisioning of compute, storage, networking resources, elastic scaling of resources and a business model of pay as you go. All these benefits delivered by the cloud go towards driving agility in the business by improving the flexibility of employees and assisting in future expansion.
Containers further allow portability of applications across environments, easy separation of functionality into smaller microservices for more agile development and allow development teams to move fast, deploy software efficiently, and operate at an unprecedented scale. It is the next step in enterprise hybrid cloud deployment.
Kubernetes dominates container orchestration
The fight for container orchestration dominance has been one of the cloud’s main events for the past two years. The three-way battle between Docker Swarm, Kubernetes and Mesos has been fierce. However, now Kubernetes is viewed as the clear winner. Its rich set of contributors, rapid development of capabilities and support across many disparate platforms make it the victor.
Nevertheless, putting this into perspective, the overall number of companies using these technologies in earnest is still relatively low. A recent report from Cloud Foundry shows that only 25% are currently using containers. But on the other hand, another research report, from Portworx, found that 69% of companies are ‘making the investment in containers’ so the key point here is that enterprise organisations are starting to take note and there are signs that the market for Kubernetes is growing very rapidly.
Kubernetes and the cloud in unison
Kubernetes is unique in that there is no single company behind it. It is a fully open source community-driven initiative, and this has been a large factor in its adoption to date. As an open-source service it has a lot of flexibility in how it is used: what software Kubernetes works with; whether the infrastructure is private or shared; and which provider it can work with, whether Google or AWS. Kubernetes is especially useful with hybrid or multi-cloud deployments, which are emerging as the most frequently used cloud model for businesses in 2018. However this can make containers very difficult to manage when there are so many of them across multiple clouds and infrastructures for a single business.
This is where Kubernetes is a benefit as it manages containers and automates the deployment process for them. Automation saves lots of money for businesses as it improves efficiency and allows IT teams to focus on other areas of the business. This is especially true when good container management means that software deployment through Kubernetes is almost always painless. It could also potentially reduce hardware costs by making more effective use of current hardware. All of this combined pushes Kubernetes into more mainstream deployments with continued growth in large production workloads.
Providing load balancing for Kubernetes in the cloud
With more application workloads moving to containers, Kubernetes is clearly becoming the de-facto standard. That said, Kubernetes does not provide application load balancing. It is the customer’s responsibility to build this service. In theory open source application load balancers and traditional application delivery controllers (ADC) will work in Kubernetes. Unfortunately, in practice they fail to handle the dynamic environment of containers.
So, what are the requirements for load balancing on Kubernetes?
Organisations considering applications in Kubernetes with continuous availability need to consider the following:
- Scalable application load balancer that is built for containers and stateless with SSL termination
- Centralised management for application load balancer
- Application security
- Application traffic visibility and analytics
- Automation for monitoring container lifecycle events and keeping the application load balancer configuration in synchronisation with the environment
Here at A10 Networks our Kubernetes solution includes the Lightning ADC solution offers enterprise-grade application load balancing, the Harmony Controller providing application and service analytics and centralized management and the Ingress Controller for application load balancing in Kubernetes which provides tight integration with Kubernetes. This means that IT staff can focus on the application’s business value rather than being occupied with operations of application delivery.
In the cloud world, everything is moving very rapidly, and certainly many organisations are now adopting Kubernetes. I personally believe that this adoption means that it will be mainstream in the next 12 months as organisations look to find innovative ways to consume cloud.