Guest post originally published on d2iq’s blog by Corbin Pacheco, Senior Director Product and Technical Marketing at D2iQ
Today’s enterprises are pushing forward with their digital transformation initiatives to meet customer and market demand. The latest CNCF survey reports that 91% of companies are running Kubernetes and 81% of those companies are running Kubernetes in production. That’s up from 58% in 2018, and the numbers continue to ramp up quickly.
There are several approaches to how enterprises are thinking about adoption and their deployment and management of Kubernetes. I sat down with Lauren E. Nelson, VP of Research at Forrester, who shared her thoughts on the topic.
CP: What role does a Kubernetes Software Platform (i.e., multi-cloud container development platforms) play in the public cloud?
LN: These platforms are packaged K8s PaaS solutions bringing build, run, manage, and govern capabilities together in a single solution (or through integrations with its ecosystem). As software solutions, they are designed to be portable, typically with a control plane that spans on-premises, cloud, and even edge clusters. Enterprises can use these same platforms to deploy resources either in self-managed deployment models – as they would on-premises – or in managed deployment models as available on a public cloud or from a third-party provider. Enterprises that leverage these platforms to deploy containers on public cloud platforms benefit from consistent operational and security processes that will increasingly take advantage of native public cloud security, identity, logging, monitoring, and performance management services.
CP: What are the major challenges that enterprises face when using containers at scale?
LN: As companies start to use containers more heavily, enterprises struggle to operate and govern these environments. Unlike physical infrastructure and VMs, containers are (and should be) less persistent. This can make it challenging to maintain constant efficiency and security for containers as they may scale up and down very quickly. Today, enterprises are focused on reining in cluster sprawl, addressing inconsistent developer experiences, unifying multi-cluster operations, and creating and enforcing policies that govern and streamline usage across clusters. Large, distributed clusters of containers hosting relatively small microservices apps can create new distributed systems performance, networking, and storage challenges at scale – enterprises will increasingly need deeper visibility and observability as their use of containers expands. Enterprises can also struggle with their Kubernetes platforms if they took a DIY approach to build their own cloud-native stack using open-source components all by themselves, often struggling with technical complexity and functional immaturity of fast-evolving components.
CP: What are key best practices that enterprises leverage to help mitigate management challenges of large-scale container usage?
LN: First, automation, policies, container libraries, application and service catalogs, and ongoing monitoring and optimization are the major keys to managing containers at scale. Any manual process or one-off solution can’t possibly keep up with the rapid lifecycle of containers. Tools that help unify these tasks into a single view and provide the right analytics and automation throughout the lifecycle of a container are paramount for success.
Second, large-scale container usage normally comes with requirements on both infrastructure and applications layers, such as to support extreme performance for container compute, massive data volume for container storage and dynamic segmentation for container networking, as well as to enable rapid cloud-native application development across the lifecycle. Therefore, a fully integrated environment with comprehensive cloud-native features that are tuned toward enterprise needs is also important.
Third, it’s not enough to emphasize the importance of talents and culture. Without the development and operations teams that have both skill sets and experience in the cloud-native world and without the customer-obsessed, product-oriented, and DevOps-driven culture across organizational boundaries, it will be impossible to achieve sustainable innovation…
CP: Is there a role for Central IT in public cloud Kubernetes deployments?
LN: Although public cloud providers take up operational tasks like patching, updates, node provisioning, etc., with the container and Kubernetes services – there’s still tasks that IT teams must continue to support including scanning for audits/compliance, logging and monitoring resources, and optimizing cost. IT teams are also essential for strategic developments that further enable agile development like governing agile financing of projects and building automated pipelines and processes. Enterprise IT must learn to operate K8s platforms regardless of the solution they choose to support them. Central IT will play a critical role in designing secure software development processes, infrastructure logging and monitoring, and application lifecycle procedures for their company’s increasing portfolio of containerized workloads.
Interested in learning more about Kubernetes on the public cloud? If you haven’t already, check out our latest webinar featuring guest speaker Lauren Nelson of Forrester on the same topic where we share best practices and pitfalls to avoid when deploying Kubernetes in public cloud environments.