DevOps Pro Moscow 2018
About Konstantin Semenov
Konstantin is a Principal Software Engineer at Pivotal in Dublin. He spent most of the last two years with his colleagues from Pivotal, Google, vmWare and Swisscom building CFCR (a.k.a Kubo) – a project that leverages the Cloud Foundry release engineering tool, BOSH, for deploying and babysitting Kubernetes on most IaaS platforms. Before that he was leading and developing software products across a wide range of industries and technologies: from desktop database applications through telecom servers and transactional banking systems to mobile applications and 3D model generators.
Automated multi-IaaS Kubernetes deployments
As more and more companies start running their applications in Kubernetes (a.k.a k8s) clusters, these companies are exploring the options for running those clusters on top of a mix of different IaaS providers, such as Google Cloud or AWS, as well as on-premise solutions, such as vSphere or OpenStack. There have been a number of solutions with different names, but the latest one, leveraging the recent concept of custom resource definitions in k8s, is called Federation.
K8s Clusters in multiple regions/providers benefit both users and operators. Users will be served in lower latency with high availability, while the operators will be able to use public cloud resources to cover for peak workloads. At the same time, workloads can be migrated easier across clusters within a federation, and therefore it prevents infrastructure provider lock-in and offers better cost management.
There are many good tools which can deploy and update a single Kubernetes cluster using a single cloud provider. However, there aren’t that many tools that can set up multiple clusters on different cloud providers or on-premise data centers in a consistent way.
This presentation provides an explanation of the components involved in such a deployment, outlining the steps necessary to make one, finishing off with a live demo for cross-platform cluster management capabilities.
Pivotal’s best practices for achieving sustainable Cloud Operations
There are several cloud operations teams in Pivotal, some of them are responsible for our own
hosted products, such as Pivotal Web Services, or Pivotal Tracker, others are responsible for internal services, and on-premise customer solutions. All engineers on those teams are software developers that spend about half of the time writing code that is related to cloud operations. As time went by, each of the teams kept optimizing the process and principles used for operation, in order to make operations scalable and sustainable, at the same time keeping all the running smoothly and up to date. We started off setting some core principles that would drive the teams forward and improve the process. Some of those principles were guided by Google’s SRE, others by Pivotal’s devotion to Lean and XP practices. This presentation will summarise our multi-year journey, explaining and discussing ideas that did not quite work, but more importantly, ideas and principles that did work very well for us in large-scale production environments.