If you are an IT Ops professional responsible for running cloud-native applications built with containerized application services, then you should consider boosting your skills to be ready for changes likely coming your way.
Cloud-native refers to an application architecture, not a workload deployment destination. So, as your organization starts to replace monolithic enterprise applications with cloud native applications (either through refactoring or cloud-first initiatives), you will likely be responsible for supporting containerized workloads.
The industry is rapidly adopting opensource solution Kubernetes (K8s) to orchestrate containers in production-grade environments. The good news for developers, Kubernetes is an abstraction layer that delivers consistent behavior in any environment — both on premises and in the cloud.
However, for IT Ops, managing containerized applications production, requires different tools and processes than managing applications based on VM images.
The term “NewOps” is gaining traction, and indicates that IT Ops is new and different in this containerized, orchestrated, microservices environment. I just attended the inaugural New Ops Days, hosted by Splunk, DevOps Institute, and Rundeck, and it was a great event for IT Ops looking to boost their awareness and skills to meet the challenges of containerized applications is the software defined everything era.
To build on that successful event, Cisco is hosting a webcast Oct 18th as part of BrightTalk Multicloud Day, to share 6 things IT Ops need to know about Kubernetes in a multicloud environment. I will present with Reinhardt Quelle who is a principal engineer in Cisco’s cloud group, and was in production operations at Webex. We’ll start with a quick intro to Kubernetes – and then dig in to what’s cool and what’s new for IT Ops. Register Now.
1 – K8s is the same on premises and the cloud – what’s underneath is not
What’s cool – Kubernetes is a production-grade orchestration solution that provides an abstraction layer that isolates deployed containers from the underlying infrastructure services. Part of what is driving the rapid adoption of this opensource solution is that, with some limitations, developers can containerize their applications get a similar production experience wherever their containers are deployed.
What’s new – The cloud providers offer Kubernetes as a service that can become part of IT’s extended portfolio of services. But if IT is going to support containerized workloads in production in your data center, IT is going to be responsible for Kubernetes clusters and underlying resources – in addition to the applications deployed on those clusters.
2 – K8s needs to be installed, monitored and maintained
What’s cool – Kubernetes is an application. It is a mature solution that is part of the Cloud Native Compute Foundation. It has well worn feature addition mechanisms, and a quarterly release cycle.
What’s new – IT needs to lifecycle manage Kubernetes. There are great automation platforms like Cisco Container Platform among others, that remove the “toil” from deploying and maintaining Kubernetes. IT may be responsible for large dev and production clusters for shared use, and allocate namespaces for different user groups or applications. But some developers may want small single purpose clusters for temporary deployments. IT Ops needs a strategy to offer various Kubernetes services to meet needs of different user groups, as well as for authentication, permissions, and governance of who can do what, where and for how long.
3 – Stateful applications rely on persistent storage
What’s cool – Containers highly flexible and bring incredible scale to how applications are delivered. Application instances can be treated like cattle, not pets. However, most applications include data. And storage is typically a long running service.
What’s new – Underlying storage should be highly elastic, easily provisioned by developers or Ops. And ideally managed using the same container orchestration framework like Kubernetes. Dev and Ops need to agree on how to use PersistentVolumeClaims that are independent from Pod lifecycles and preserve data through restarting, rescheduling, and even deleting Pods.
4 – Container networking is dynamic
What’s cool – Kubernetes has self-healing capabilities. Kubernetes scales and runs health checks and automatically deploys and redeploys containers to optimize performance and availability.
What’s new – network constructs that IT Ops is used to in more static VM based environments, no longer apply to dynamic and automatically orchestrated Kubernetes environments. Now IP addresses and ports are dynamic, which impacts traditional IT Ops management and troubleshooting processes. Kubernetes should be deployed with container networking solutions like Contiv to automate container networking.
5 – The monitoring and observability footprint has expanded
What’s cool – Kubernetes clusters achieve high availability and scale by deploying containers in pods, that are orchestrated across multiple worker nodes. Of all the DevOps principles, “measure everything” is typically the weakest part of a DevOps program. Unfortunately, with containers, observability and monitoring weakness becomes more of a problem.
What’s new – Ops and Dev need to work together to effectively monitor containers in Kubernetes environments. Applications may need to be designed for improved observability and measurability. And containers, pods, nodes, as well as Kubernetes and underlying resources – should all be monitored together to provide a holistic view to help both IT Ops developers.
6 – What’s up with all the yaml?
What’s cool – Containerized workloads can be deployed in Kubernetes using a deployment spec (AKA pod manifest file). This deployment and management configuration file is often a YAML file or sometimes Jason file. It is declarative automation artifact that specifies everything needed to deploy and run workloads from resource requirements, to replication, to persistent volume claims.
What’s new – Dev and Ops should work together to write and review these declarative instructions to optimize how containerized applications are deployed and run in production. They can and should be version controlled like all of the “X as code” automation artifacts.
Webcast – 6 things IT Ops needs to know about Kubernetes in a multicloud environment
Join me, and Reinhardt Quelle, a Cisco Principle engineer, who was previously in production operations for WebEx. We will walk through these key concepts that help build your NewOps skills to address what’s new with containers and Kubernetes.
- Cisco ACI – applies a highly flexible approach to network policies in Kubernetes.
- Contiv – on opensoruce container networking solution.
- Cisco Hyperflex – a great hyperconverged (software defined storage) platform for Kubernetes.
- Cisco Container Platform – a lightweight solution for lifecycle managing “upstream” Kubernetes in your datacenter.
- Cisco CloudCenter – a multicloud management platform that adds governance and cost controls to containerized workloads in Kubernetes.
- AppDynamics for Kubernetes – monitoring from containers down through Kubernetes and underlying infrastructure.
- Stealthwatch Cloud – monitors containers, pods and hosts to determine what is normal, and flags abnormal activity.