SlideShare a Scribd company logo
1 of 28
Download to read offline
KUBERNETES, TERRAFORM AND
RIGHTSCALE IN THE CLOUD:
HOW RIGHTSCALE DOES IT
• Ryan Williamson
• Director of Engineering
• Mark Dotson
• Steel Team Manager/Infrastructure Tech Lead
Presenters
Two Solutions from RightScale
RightScale
Cloud Management Platform
Orchestrate, automate and govern workloads
across all your environments.
VIRTUAL
SERVERS
PUBLIC
CLOUDS
ANY CLOUD
SERVICE
PRIVATE
CLOUDS
BARE METAL
SERVERS
CONTAINER
CLUSTERS
RightScale
Optima
Work collaboratively across the organization
to manage and optimize clouds costs.
Orchestration
Cloud Workflow
Plugins
Monitoring
Access Control
Accounts/Groups
Access/Permissions
Tags
Policies
Cost
Security/Compliance
Operational
RIGHTSCALE
CMP ENGINE
EXTENSIBLE ORCHESTRATION API
Kubernetes is Leading Orchestration Tool
3
Terraform is Growing Quickly
4
• The role each technology plays in DevOps
• Tales from the trenches on Kubernetes & Terraform
• Case study of RightScale’s DevOps process
Agenda
5
Pets vs Cattle
6
Source: Randy Bias via Slideshare.net, The History of Pets vs Cattle,
License: CC Attribution-NoDerivs License
“Developers want to have self-service
programmatic access to infrastructure, integrated
into the continuous integration/continuous delivery
(CI/CD) pipeline. Immutable infrastructure is a
best-practice solution to this problem, and is
increasingly adopted by DevOps-oriented teams.”
“Cattle” = Immutable Infrastructure
7
Source: Gartner, Four Key Container Deployment Considerations for I&O Leaders Feb 2018
Key Players
8
Kubernetes
● Container Scheduling Engine
● Defacto Industry Standard
RightScale
● CMP
● Manage “Vault” and other
services
● Instance-level monitoring
● Governance
● Cost Management
Docker
● Container Engine
● Image Repository
Terraform
● Cluster Provisioning
● AWS Provider
● RightScale Provider
● … GCE Provider…
● … Azure Provider...
How We Got Here: Project Sherpa circa 2016
9
● Moved to Docker containers deployed
in “Bay of Containers”
○ Single containers of a given docker image
invoked via the “Docker Deploy” script on
individual instances invoked from an
ops-maintained template.
○ Service discovery mesh and inputs
provided by Hashicorp Consul
○ Capacity planning via static mapping.
● Centralized development &
management structures (ops,
architecture, eng management)
Bay of Containers - What is That?
10
• Deploy N ‘good
neighbor’ containers
onto a VM
• Supports
microservices
• Supports “traditional”
services
• Abstract level - logical
groupings of
individual hosts
running groups of
containers.
10
Host & Container Logical Grouping 1..n
balancer
A
smtp syslog
srv.
dsc.
B C D
Sidecar B
balancer
E
smtp syslog
srv.
dsc.
F
G H Z
Sea of Containers - The Next Step
11
VM VM VM
A A A
A A
A
C C
B B
B B
VM VM VM
A A A
C C
A A A
C C
B B B
B B
Container Management
BA A
• N(×M) containers
• 0..N VMs
• Elastic mesh network
• Declarative
everything
• Resource scheduling
• Abstract level - a
cluster of hosts
running everything
Where Did We Want to Go?
12
● Research spike to evaluate
container engines - kube chosen
● Service discovery moved into
cluster(s).
● Scheduler takes over capacity
planning.
● Autoscaling nodes and pods are
potential ultimate HA model.
● Unified location to express app
deployment - release strategy,
limits, environment inputs...all in
one place
Sea of Containers Full on DevOps
● Engineering Teams are The
Deciders and Owners of all aspects
of their stacks; instances, DBs,
apps…
● No centralized
development/management
structures - cross-functional groups
for shared ownership aspects.
● RS Service Groupings moved to
individual RS accounts
Overarching Themes
13
● Disposable
○ After 10 years in cloud, lesson learned is to build with failure planning as
table stakes
○ If an instance that is exhibiting issues, launch a new instance and “replace”
the problematic one.
● Repeatable
○ Infrastructure as code - no ad hoc or one-off fixes, fix the code.
○ You don’t want your services updating in an unscheduled method to new
versions that break other aspects of your stack.
So how did we get there?
14
?
Concept: Disposable Kubernetes Clusters
15
● Small purpose-driven clusters to allow full ownership and avoid resource
conflicts between development teams.
● A valid strategy for troubleshooting an entire Kubernetes cluster could be to
launch a new cluster and “replace” the problem one.
● Storage layers/persistent services could generally live outside the application k8
cluster.
● Upgrades to kubernetes versions could be executed as no-downtime
replacement operations a-la A/B deployment.
● … but for all this to work we needed to keep things relatively simple so our new
devops could gain confidence in using these new toolsets. (Walk before
running)
Pieces of the Puzzle: Infrastructure Deployment
16
● Disposable clusters require stateful assets (databases,
secrets, logs, etc.) to live external to the cluster.
● Executed through Terraform RS Provider + any other resource
providers as needed, an overall framework was constructed in
each account had a given “Infrastructure Deployment” that
was static and held stateful objects.
○ Familiar RightScale objects - Servers, Arrays, etc.
○ Secrets stored in mix of Hashicorp Vault & RightScale
Credentials
○ Use of external hosted services (eg splunk) as determined
by team also helped with this strategy.
● “Hub and Spoke” strategy of N disposable Kube clusters with
unique network ranges would be peered to the infrastructure’s
network range.
Pieces of the Puzzle: The Image
17
● Speed to build the cluster is critical
● Images were built that had as much baked into it as
possible
● Versions of Kubernetes services (kubelet, flannel, etc.)
locked - no unscheduled updates here at boot!
● Result: Faster boot times and guaranteed operational
clusters with the tested/verified versions of services.
Packer: Would you like to build an AMI?
18
Pieces of the Puzzle: Terraform Part 1
19
● Terraform is API client with large open-source community of
developers writing “providers” that operate against publicly
exposed and documented APIs.
● A developer-friendly laptop-centric runtime cli experience for
provisioning of infrastructure assets ideal for fast development
iteration.
● Given the powerful “mix-and-match” ability to take AWS
objects and combine with Rightscale objects and gce objects
and and and…. magic!
● An easy way to use the “right tool for the job.”
Pieces of the Puzzle: Terraform Part 2
20
● The RightScale provider was born!
https://www.terraform.io/docs/providers/rightscale/index.html
● Allows us to use RightScale for the governance and
orchestration we need, intermixed with other provider
resources directly.
● Example: Creation/Reading of RightScale credential objects to
populate secrets during the creation of ec2 autoscaling
groups.
● Example 2: RightScript “any” execution against assets
external to infrastructure managed by Terraform. In our case,
scripts executing setup logic for new clusters.
Pieces of the Puzzle: Devops
21
● No centralized team to manage infrastructure and desire to
reinforce full stack ownership to devops teams.
● Use of Terraform Modules to express generic aspects of the
cluster build process with duplicated/full copies of this code
distributed to each team.
○ Copy/Paste isn’t always the best way, but it is dirt simple
to understand.
○ Smoothing the distribution process for updates to
modules would be undertaken at a later date.
● Cluster invocations (environments or “envs”) largely identical
other then variables defined in variables config file.
○ Creating new clusters easy as copying existing folder, and
changing a few variables.
Infrastructure-as-Code: environments
22
coconut
AWS (networking, asg)
./wrapper.rb create <env>
Sanity Checks: right_api /
aws_cli checks
ST -> bootstrap k8 RightScripts
(master / worker)
Terraform
envs (brown, orange, …)
TF providers (aws, rightscale)
Workers - RL Enable
Building an “env”
RightScale (deployment,
servers, vault provisioning)
GCE (networking, ...)
Azure (networking, ...)
Master(s) - Server
Pieces of the Puzzle: HA while Disposable, Part 1
24
● Goal of purpose-driven disposable kube clusters that could be
replaced in no-downtime operations yet is still HA for the end
customer while attempting to keep things easy to manage… a
bit of a challenge.
● Lots of horror stories about multi-master/cross-az
troubleshooting-in-place woes or “my cluster is slow” mystery
troubleshooting were abound at the time of research.
Pieces of the Puzzle: HA while Disposable, Part 2
25
● Each env is N fully independent clusters each scoped to a
single az that are treated as a logical unit and knitted together
via Kubernetes Federation.
● This gives each individual cluster the ability to service a given
request, with inbound requests balanced between the N
invocations w/health checks and knit together with Federation
so if one cluster on a given az went belly up, the other would
immediately be scaled up by the Federation to handle things.
● Combined with ability to invoke our disposable cluster
anywhere including any cloud and knit together with the
Federation for easy combined management, gave us a strong
small-yet-resilient model.
HA while Disposable
Contact sales@rightscale.com for more info
Q&A
27

More Related Content

What's hot

7 Common Questions About a Cloud Management Platform
7 Common Questions About a Cloud Management Platform7 Common Questions About a Cloud Management Platform
7 Common Questions About a Cloud Management PlatformRightScale
 
Best Practices for Your CMP RFP or RFI
Best Practices for Your CMP RFP or RFIBest Practices for Your CMP RFP or RFI
Best Practices for Your CMP RFP or RFIRightScale
 
Successful Cloud Orchestration with RightScale CMP
Successful Cloud Orchestration with RightScale CMPSuccessful Cloud Orchestration with RightScale CMP
Successful Cloud Orchestration with RightScale CMPRightScale
 
How to Allocate and Report Cloud Costs with RightScale Optima
How to Allocate and Report Cloud Costs with RightScale OptimaHow to Allocate and Report Cloud Costs with RightScale Optima
How to Allocate and Report Cloud Costs with RightScale OptimaRightScale
 
Cloud Migration and Portability (with and without Containers)
Cloud Migration and Portability (with and without Containers)Cloud Migration and Portability (with and without Containers)
Cloud Migration and Portability (with and without Containers)RightScale
 
Orchestrating PaaS and IaaS+ with RightScale
Orchestrating PaaS and IaaS+ with RightScaleOrchestrating PaaS and IaaS+ with RightScale
Orchestrating PaaS and IaaS+ with RightScaleRightScale
 
Enterprise Cloud Strategy: 7 Areas You Need to Re-Think
Enterprise Cloud Strategy: 7 Areas You Need to Re-ThinkEnterprise Cloud Strategy: 7 Areas You Need to Re-Think
Enterprise Cloud Strategy: 7 Areas You Need to Re-ThinkRightScale
 
12 Ways to Manage Cloud Costs and Optimize Cloud Spend
12 Ways to Manage Cloud Costs and Optimize Cloud Spend12 Ways to Manage Cloud Costs and Optimize Cloud Spend
12 Ways to Manage Cloud Costs and Optimize Cloud SpendRightScale
 
Hybrid Cloud Orchestration: How SuperChoice Does It
Hybrid Cloud Orchestration: How SuperChoice Does ItHybrid Cloud Orchestration: How SuperChoice Does It
Hybrid Cloud Orchestration: How SuperChoice Does ItRightScale
 
Optimize Software, SaaS, and Cloud with Flexera and RightScale
Optimize Software, SaaS, and Cloud with Flexera and RightScaleOptimize Software, SaaS, and Cloud with Flexera and RightScale
Optimize Software, SaaS, and Cloud with Flexera and RightScaleRightScale
 
Automating Multi-Cloud Policies for AWS, Azure, Google, and More
Automating Multi-Cloud Policies for AWS, Azure, Google, and MoreAutomating Multi-Cloud Policies for AWS, Azure, Google, and More
Automating Multi-Cloud Policies for AWS, Azure, Google, and MoreRightScale
 
10 Must-Have Automated Cloud Policies for IT Governance
10 Must-Have Automated Cloud Policies for IT Governance10 Must-Have Automated Cloud Policies for IT Governance
10 Must-Have Automated Cloud Policies for IT GovernanceRightScale
 
Best Practices for Cloud Managed Services Providers: The Path to CMP Success
Best Practices for Cloud Managed Services Providers: The Path to CMP SuccessBest Practices for Cloud Managed Services Providers: The Path to CMP Success
Best Practices for Cloud Managed Services Providers: The Path to CMP SuccessRightScale
 
How to Use RightScale CMP to Manage Cloud: In-Depth Demo
How to Use RightScale CMP to Manage Cloud: In-Depth DemoHow to Use RightScale CMP to Manage Cloud: In-Depth Demo
How to Use RightScale CMP to Manage Cloud: In-Depth DemoRightScale
 
Automating Cloud Operations: Tips from Managed Services
Automating Cloud Operations: Tips from Managed ServicesAutomating Cloud Operations: Tips from Managed Services
Automating Cloud Operations: Tips from Managed ServicesAngela_Tripp
 
Manage and Optimize Cloud Spend with RightScale Optima
Manage and Optimize Cloud Spend with RightScale OptimaManage and Optimize Cloud Spend with RightScale Optima
Manage and Optimize Cloud Spend with RightScale OptimaRightScale
 
Top 10 Cloud Trends for 2018 and Actions You Can Take Now
Top 10 Cloud Trends for 2018 and Actions You Can Take NowTop 10 Cloud Trends for 2018 and Actions You Can Take Now
Top 10 Cloud Trends for 2018 and Actions You Can Take NowRightScale
 
Got a Multi-Cloud Strategy? How RightScale CMP Helps
Got a Multi-Cloud Strategy? How RightScale CMP HelpsGot a Multi-Cloud Strategy? How RightScale CMP Helps
Got a Multi-Cloud Strategy? How RightScale CMP HelpsRightScale
 
The Path to Broker Cloud Services
The Path to Broker Cloud ServicesThe Path to Broker Cloud Services
The Path to Broker Cloud ServicesRightScale
 
Identifying Workloads to Move to the Cloud
Identifying Workloads to Move to the CloudIdentifying Workloads to Move to the Cloud
Identifying Workloads to Move to the CloudRightScale
 

What's hot (20)

7 Common Questions About a Cloud Management Platform
7 Common Questions About a Cloud Management Platform7 Common Questions About a Cloud Management Platform
7 Common Questions About a Cloud Management Platform
 
Best Practices for Your CMP RFP or RFI
Best Practices for Your CMP RFP or RFIBest Practices for Your CMP RFP or RFI
Best Practices for Your CMP RFP or RFI
 
Successful Cloud Orchestration with RightScale CMP
Successful Cloud Orchestration with RightScale CMPSuccessful Cloud Orchestration with RightScale CMP
Successful Cloud Orchestration with RightScale CMP
 
How to Allocate and Report Cloud Costs with RightScale Optima
How to Allocate and Report Cloud Costs with RightScale OptimaHow to Allocate and Report Cloud Costs with RightScale Optima
How to Allocate and Report Cloud Costs with RightScale Optima
 
Cloud Migration and Portability (with and without Containers)
Cloud Migration and Portability (with and without Containers)Cloud Migration and Portability (with and without Containers)
Cloud Migration and Portability (with and without Containers)
 
Orchestrating PaaS and IaaS+ with RightScale
Orchestrating PaaS and IaaS+ with RightScaleOrchestrating PaaS and IaaS+ with RightScale
Orchestrating PaaS and IaaS+ with RightScale
 
Enterprise Cloud Strategy: 7 Areas You Need to Re-Think
Enterprise Cloud Strategy: 7 Areas You Need to Re-ThinkEnterprise Cloud Strategy: 7 Areas You Need to Re-Think
Enterprise Cloud Strategy: 7 Areas You Need to Re-Think
 
12 Ways to Manage Cloud Costs and Optimize Cloud Spend
12 Ways to Manage Cloud Costs and Optimize Cloud Spend12 Ways to Manage Cloud Costs and Optimize Cloud Spend
12 Ways to Manage Cloud Costs and Optimize Cloud Spend
 
Hybrid Cloud Orchestration: How SuperChoice Does It
Hybrid Cloud Orchestration: How SuperChoice Does ItHybrid Cloud Orchestration: How SuperChoice Does It
Hybrid Cloud Orchestration: How SuperChoice Does It
 
Optimize Software, SaaS, and Cloud with Flexera and RightScale
Optimize Software, SaaS, and Cloud with Flexera and RightScaleOptimize Software, SaaS, and Cloud with Flexera and RightScale
Optimize Software, SaaS, and Cloud with Flexera and RightScale
 
Automating Multi-Cloud Policies for AWS, Azure, Google, and More
Automating Multi-Cloud Policies for AWS, Azure, Google, and MoreAutomating Multi-Cloud Policies for AWS, Azure, Google, and More
Automating Multi-Cloud Policies for AWS, Azure, Google, and More
 
10 Must-Have Automated Cloud Policies for IT Governance
10 Must-Have Automated Cloud Policies for IT Governance10 Must-Have Automated Cloud Policies for IT Governance
10 Must-Have Automated Cloud Policies for IT Governance
 
Best Practices for Cloud Managed Services Providers: The Path to CMP Success
Best Practices for Cloud Managed Services Providers: The Path to CMP SuccessBest Practices for Cloud Managed Services Providers: The Path to CMP Success
Best Practices for Cloud Managed Services Providers: The Path to CMP Success
 
How to Use RightScale CMP to Manage Cloud: In-Depth Demo
How to Use RightScale CMP to Manage Cloud: In-Depth DemoHow to Use RightScale CMP to Manage Cloud: In-Depth Demo
How to Use RightScale CMP to Manage Cloud: In-Depth Demo
 
Automating Cloud Operations: Tips from Managed Services
Automating Cloud Operations: Tips from Managed ServicesAutomating Cloud Operations: Tips from Managed Services
Automating Cloud Operations: Tips from Managed Services
 
Manage and Optimize Cloud Spend with RightScale Optima
Manage and Optimize Cloud Spend with RightScale OptimaManage and Optimize Cloud Spend with RightScale Optima
Manage and Optimize Cloud Spend with RightScale Optima
 
Top 10 Cloud Trends for 2018 and Actions You Can Take Now
Top 10 Cloud Trends for 2018 and Actions You Can Take NowTop 10 Cloud Trends for 2018 and Actions You Can Take Now
Top 10 Cloud Trends for 2018 and Actions You Can Take Now
 
Got a Multi-Cloud Strategy? How RightScale CMP Helps
Got a Multi-Cloud Strategy? How RightScale CMP HelpsGot a Multi-Cloud Strategy? How RightScale CMP Helps
Got a Multi-Cloud Strategy? How RightScale CMP Helps
 
The Path to Broker Cloud Services
The Path to Broker Cloud ServicesThe Path to Broker Cloud Services
The Path to Broker Cloud Services
 
Identifying Workloads to Move to the Cloud
Identifying Workloads to Move to the CloudIdentifying Workloads to Move to the Cloud
Identifying Workloads to Move to the Cloud
 

Similar to KUBERNETES, TERRAFORM AND RIGHTSCALE: HOW RIGHTSCALE BUILDS DISPOSABLE K8S CLUSTERS

Introduction to containers, k8s, Microservices & Cloud Native
Introduction to containers, k8s, Microservices & Cloud NativeIntroduction to containers, k8s, Microservices & Cloud Native
Introduction to containers, k8s, Microservices & Cloud NativeTerry Wang
 
Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...
Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...
Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...confluent
 
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon Web Services Korea
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...confluent
 
Bandwidth: Use Cases for Elastic Cloud on Kubernetes
Bandwidth: Use Cases for Elastic Cloud on Kubernetes Bandwidth: Use Cases for Elastic Cloud on Kubernetes
Bandwidth: Use Cases for Elastic Cloud on Kubernetes Elasticsearch
 
Containers kuberenetes
Containers kuberenetesContainers kuberenetes
Containers kuberenetescsegayan
 
Federated Kubernetes: As a Platform for Distributed Scientific Computing
Federated Kubernetes: As a Platform for Distributed Scientific ComputingFederated Kubernetes: As a Platform for Distributed Scientific Computing
Federated Kubernetes: As a Platform for Distributed Scientific ComputingBob Killen
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetesRishabh Indoria
 
CN Asturias - Stateful application for kubernetes
CN Asturias -  Stateful application for kubernetes CN Asturias -  Stateful application for kubernetes
CN Asturias - Stateful application for kubernetes Cédrick Lunven
 
Loadbalancers: The fabric for your micro services
Loadbalancers: The fabric for your micro servicesLoadbalancers: The fabric for your micro services
Loadbalancers: The fabric for your micro servicesChiradeep Vittal
 
Free GitOps Workshop + Intro to Kubernetes & GitOps
Free GitOps Workshop + Intro to Kubernetes & GitOpsFree GitOps Workshop + Intro to Kubernetes & GitOps
Free GitOps Workshop + Intro to Kubernetes & GitOpsWeaveworks
 
Introduction openstack-meetup-nov-28
Introduction openstack-meetup-nov-28Introduction openstack-meetup-nov-28
Introduction openstack-meetup-nov-28Sadique Puthen
 
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...Docker-Hanoi
 
Red Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShiftRed Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShiftKangaroot
 
DevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to KubernetesDevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to KubernetesRonny Trommer
 
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMwareVMUG IT
 

Similar to KUBERNETES, TERRAFORM AND RIGHTSCALE: HOW RIGHTSCALE BUILDS DISPOSABLE K8S CLUSTERS (20)

Introduction to containers, k8s, Microservices & Cloud Native
Introduction to containers, k8s, Microservices & Cloud NativeIntroduction to containers, k8s, Microservices & Cloud Native
Introduction to containers, k8s, Microservices & Cloud Native
 
Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...
Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...
Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...
 
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
 
Container Orchestration using kubernetes
Container Orchestration using kubernetesContainer Orchestration using kubernetes
Container Orchestration using kubernetes
 
Containers kuberenetes
Containers kuberenetesContainers kuberenetes
Containers kuberenetes
 
Containers kuberenetes
Containers kuberenetesContainers kuberenetes
Containers kuberenetes
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
 
Bandwidth: Use Cases for Elastic Cloud on Kubernetes
Bandwidth: Use Cases for Elastic Cloud on Kubernetes Bandwidth: Use Cases for Elastic Cloud on Kubernetes
Bandwidth: Use Cases for Elastic Cloud on Kubernetes
 
Containers kuberenetes
Containers kuberenetesContainers kuberenetes
Containers kuberenetes
 
Federated Kubernetes: As a Platform for Distributed Scientific Computing
Federated Kubernetes: As a Platform for Distributed Scientific ComputingFederated Kubernetes: As a Platform for Distributed Scientific Computing
Federated Kubernetes: As a Platform for Distributed Scientific Computing
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Kubernetes intro
Kubernetes introKubernetes intro
Kubernetes intro
 
CN Asturias - Stateful application for kubernetes
CN Asturias -  Stateful application for kubernetes CN Asturias -  Stateful application for kubernetes
CN Asturias - Stateful application for kubernetes
 
Loadbalancers: The fabric for your micro services
Loadbalancers: The fabric for your micro servicesLoadbalancers: The fabric for your micro services
Loadbalancers: The fabric for your micro services
 
Free GitOps Workshop + Intro to Kubernetes & GitOps
Free GitOps Workshop + Intro to Kubernetes & GitOpsFree GitOps Workshop + Intro to Kubernetes & GitOps
Free GitOps Workshop + Intro to Kubernetes & GitOps
 
Introduction openstack-meetup-nov-28
Introduction openstack-meetup-nov-28Introduction openstack-meetup-nov-28
Introduction openstack-meetup-nov-28
 
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...
 
Red Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShiftRed Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShift
 
DevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to KubernetesDevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to Kubernetes
 
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
 

More from RightScale

Comparing Cloud VM Types and Prices: AWS vs Azure vs Google vs IBM
Comparing Cloud VM Types and Prices: AWS vs Azure vs Google vs IBMComparing Cloud VM Types and Prices: AWS vs Azure vs Google vs IBM
Comparing Cloud VM Types and Prices: AWS vs Azure vs Google vs IBMRightScale
 
Best Practices for Multi-Cloud Security and Compliance
Best Practices for Multi-Cloud Security and ComplianceBest Practices for Multi-Cloud Security and Compliance
Best Practices for Multi-Cloud Security and ComplianceRightScale
 
9 Ways to Reduce Cloud Storage Costs
9 Ways to Reduce Cloud Storage Costs9 Ways to Reduce Cloud Storage Costs
9 Ways to Reduce Cloud Storage CostsRightScale
 
Serverless Comparison: AWS vs Azure vs Google vs IBM
Serverless Comparison: AWS vs Azure vs Google vs IBMServerless Comparison: AWS vs Azure vs Google vs IBM
Serverless Comparison: AWS vs Azure vs Google vs IBMRightScale
 
Cloud Storage Comparison: AWS vs Azure vs Google vs IBM
Cloud Storage Comparison: AWS vs Azure vs Google vs IBMCloud Storage Comparison: AWS vs Azure vs Google vs IBM
Cloud Storage Comparison: AWS vs Azure vs Google vs IBMRightScale
 
2018 Cloud Trends: RightScale State of the Cloud Report
2018 Cloud Trends: RightScale State of the Cloud Report2018 Cloud Trends: RightScale State of the Cloud Report
2018 Cloud Trends: RightScale State of the Cloud ReportRightScale
 
How to Manage Cloud Costs with RightScale Optima
How to Manage Cloud Costs with RightScale OptimaHow to Manage Cloud Costs with RightScale Optima
How to Manage Cloud Costs with RightScale OptimaRightScale
 
AWS re:Invent 2017 Recap
AWS re:Invent 2017 RecapAWS re:Invent 2017 Recap
AWS re:Invent 2017 RecapRightScale
 
Cloud Instances Price Comparison: AWS vs Azure vs Google vs IBM
Cloud Instances Price Comparison: AWS vs Azure vs Google vs IBMCloud Instances Price Comparison: AWS vs Azure vs Google vs IBM
Cloud Instances Price Comparison: AWS vs Azure vs Google vs IBMRightScale
 
How MSPs Can Be Successful in AWS, Azure, and Google Clouds
How MSPs Can Be Successful in AWS, Azure, and Google CloudsHow MSPs Can Be Successful in AWS, Azure, and Google Clouds
How MSPs Can Be Successful in AWS, Azure, and Google CloudsRightScale
 
Understanding VMware Cloud on AWS
Understanding VMware Cloud on AWSUnderstanding VMware Cloud on AWS
Understanding VMware Cloud on AWSRightScale
 
Compare Cloud Services: AWS vs Azure vs Google vs IBM
Compare Cloud Services: AWS vs Azure vs Google vs IBMCompare Cloud Services: AWS vs Azure vs Google vs IBM
Compare Cloud Services: AWS vs Azure vs Google vs IBMRightScale
 

More from RightScale (12)

Comparing Cloud VM Types and Prices: AWS vs Azure vs Google vs IBM
Comparing Cloud VM Types and Prices: AWS vs Azure vs Google vs IBMComparing Cloud VM Types and Prices: AWS vs Azure vs Google vs IBM
Comparing Cloud VM Types and Prices: AWS vs Azure vs Google vs IBM
 
Best Practices for Multi-Cloud Security and Compliance
Best Practices for Multi-Cloud Security and ComplianceBest Practices for Multi-Cloud Security and Compliance
Best Practices for Multi-Cloud Security and Compliance
 
9 Ways to Reduce Cloud Storage Costs
9 Ways to Reduce Cloud Storage Costs9 Ways to Reduce Cloud Storage Costs
9 Ways to Reduce Cloud Storage Costs
 
Serverless Comparison: AWS vs Azure vs Google vs IBM
Serverless Comparison: AWS vs Azure vs Google vs IBMServerless Comparison: AWS vs Azure vs Google vs IBM
Serverless Comparison: AWS vs Azure vs Google vs IBM
 
Cloud Storage Comparison: AWS vs Azure vs Google vs IBM
Cloud Storage Comparison: AWS vs Azure vs Google vs IBMCloud Storage Comparison: AWS vs Azure vs Google vs IBM
Cloud Storage Comparison: AWS vs Azure vs Google vs IBM
 
2018 Cloud Trends: RightScale State of the Cloud Report
2018 Cloud Trends: RightScale State of the Cloud Report2018 Cloud Trends: RightScale State of the Cloud Report
2018 Cloud Trends: RightScale State of the Cloud Report
 
How to Manage Cloud Costs with RightScale Optima
How to Manage Cloud Costs with RightScale OptimaHow to Manage Cloud Costs with RightScale Optima
How to Manage Cloud Costs with RightScale Optima
 
AWS re:Invent 2017 Recap
AWS re:Invent 2017 RecapAWS re:Invent 2017 Recap
AWS re:Invent 2017 Recap
 
Cloud Instances Price Comparison: AWS vs Azure vs Google vs IBM
Cloud Instances Price Comparison: AWS vs Azure vs Google vs IBMCloud Instances Price Comparison: AWS vs Azure vs Google vs IBM
Cloud Instances Price Comparison: AWS vs Azure vs Google vs IBM
 
How MSPs Can Be Successful in AWS, Azure, and Google Clouds
How MSPs Can Be Successful in AWS, Azure, and Google CloudsHow MSPs Can Be Successful in AWS, Azure, and Google Clouds
How MSPs Can Be Successful in AWS, Azure, and Google Clouds
 
Understanding VMware Cloud on AWS
Understanding VMware Cloud on AWSUnderstanding VMware Cloud on AWS
Understanding VMware Cloud on AWS
 
Compare Cloud Services: AWS vs Azure vs Google vs IBM
Compare Cloud Services: AWS vs Azure vs Google vs IBMCompare Cloud Services: AWS vs Azure vs Google vs IBM
Compare Cloud Services: AWS vs Azure vs Google vs IBM
 

Recently uploaded

Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Recently uploaded (20)

E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

KUBERNETES, TERRAFORM AND RIGHTSCALE: HOW RIGHTSCALE BUILDS DISPOSABLE K8S CLUSTERS

  • 1. KUBERNETES, TERRAFORM AND RIGHTSCALE IN THE CLOUD: HOW RIGHTSCALE DOES IT
  • 2. • Ryan Williamson • Director of Engineering • Mark Dotson • Steel Team Manager/Infrastructure Tech Lead Presenters
  • 3. Two Solutions from RightScale RightScale Cloud Management Platform Orchestrate, automate and govern workloads across all your environments. VIRTUAL SERVERS PUBLIC CLOUDS ANY CLOUD SERVICE PRIVATE CLOUDS BARE METAL SERVERS CONTAINER CLUSTERS RightScale Optima Work collaboratively across the organization to manage and optimize clouds costs. Orchestration Cloud Workflow Plugins Monitoring Access Control Accounts/Groups Access/Permissions Tags Policies Cost Security/Compliance Operational RIGHTSCALE CMP ENGINE EXTENSIBLE ORCHESTRATION API
  • 4. Kubernetes is Leading Orchestration Tool 3
  • 6. • The role each technology plays in DevOps • Tales from the trenches on Kubernetes & Terraform • Case study of RightScale’s DevOps process Agenda 5
  • 7. Pets vs Cattle 6 Source: Randy Bias via Slideshare.net, The History of Pets vs Cattle, License: CC Attribution-NoDerivs License
  • 8. “Developers want to have self-service programmatic access to infrastructure, integrated into the continuous integration/continuous delivery (CI/CD) pipeline. Immutable infrastructure is a best-practice solution to this problem, and is increasingly adopted by DevOps-oriented teams.” “Cattle” = Immutable Infrastructure 7 Source: Gartner, Four Key Container Deployment Considerations for I&O Leaders Feb 2018
  • 9. Key Players 8 Kubernetes ● Container Scheduling Engine ● Defacto Industry Standard RightScale ● CMP ● Manage “Vault” and other services ● Instance-level monitoring ● Governance ● Cost Management Docker ● Container Engine ● Image Repository Terraform ● Cluster Provisioning ● AWS Provider ● RightScale Provider ● … GCE Provider… ● … Azure Provider...
  • 10. How We Got Here: Project Sherpa circa 2016 9 ● Moved to Docker containers deployed in “Bay of Containers” ○ Single containers of a given docker image invoked via the “Docker Deploy” script on individual instances invoked from an ops-maintained template. ○ Service discovery mesh and inputs provided by Hashicorp Consul ○ Capacity planning via static mapping. ● Centralized development & management structures (ops, architecture, eng management)
  • 11. Bay of Containers - What is That? 10 • Deploy N ‘good neighbor’ containers onto a VM • Supports microservices • Supports “traditional” services • Abstract level - logical groupings of individual hosts running groups of containers. 10 Host & Container Logical Grouping 1..n balancer A smtp syslog srv. dsc. B C D Sidecar B balancer E smtp syslog srv. dsc. F G H Z
  • 12. Sea of Containers - The Next Step 11 VM VM VM A A A A A A C C B B B B VM VM VM A A A C C A A A C C B B B B B Container Management BA A • N(×M) containers • 0..N VMs • Elastic mesh network • Declarative everything • Resource scheduling • Abstract level - a cluster of hosts running everything
  • 13. Where Did We Want to Go? 12 ● Research spike to evaluate container engines - kube chosen ● Service discovery moved into cluster(s). ● Scheduler takes over capacity planning. ● Autoscaling nodes and pods are potential ultimate HA model. ● Unified location to express app deployment - release strategy, limits, environment inputs...all in one place Sea of Containers Full on DevOps ● Engineering Teams are The Deciders and Owners of all aspects of their stacks; instances, DBs, apps… ● No centralized development/management structures - cross-functional groups for shared ownership aspects. ● RS Service Groupings moved to individual RS accounts
  • 14. Overarching Themes 13 ● Disposable ○ After 10 years in cloud, lesson learned is to build with failure planning as table stakes ○ If an instance that is exhibiting issues, launch a new instance and “replace” the problematic one. ● Repeatable ○ Infrastructure as code - no ad hoc or one-off fixes, fix the code. ○ You don’t want your services updating in an unscheduled method to new versions that break other aspects of your stack.
  • 15. So how did we get there? 14 ?
  • 16. Concept: Disposable Kubernetes Clusters 15 ● Small purpose-driven clusters to allow full ownership and avoid resource conflicts between development teams. ● A valid strategy for troubleshooting an entire Kubernetes cluster could be to launch a new cluster and “replace” the problem one. ● Storage layers/persistent services could generally live outside the application k8 cluster. ● Upgrades to kubernetes versions could be executed as no-downtime replacement operations a-la A/B deployment. ● … but for all this to work we needed to keep things relatively simple so our new devops could gain confidence in using these new toolsets. (Walk before running)
  • 17. Pieces of the Puzzle: Infrastructure Deployment 16 ● Disposable clusters require stateful assets (databases, secrets, logs, etc.) to live external to the cluster. ● Executed through Terraform RS Provider + any other resource providers as needed, an overall framework was constructed in each account had a given “Infrastructure Deployment” that was static and held stateful objects. ○ Familiar RightScale objects - Servers, Arrays, etc. ○ Secrets stored in mix of Hashicorp Vault & RightScale Credentials ○ Use of external hosted services (eg splunk) as determined by team also helped with this strategy. ● “Hub and Spoke” strategy of N disposable Kube clusters with unique network ranges would be peered to the infrastructure’s network range.
  • 18. Pieces of the Puzzle: The Image 17 ● Speed to build the cluster is critical ● Images were built that had as much baked into it as possible ● Versions of Kubernetes services (kubelet, flannel, etc.) locked - no unscheduled updates here at boot! ● Result: Faster boot times and guaranteed operational clusters with the tested/verified versions of services.
  • 19. Packer: Would you like to build an AMI? 18
  • 20. Pieces of the Puzzle: Terraform Part 1 19 ● Terraform is API client with large open-source community of developers writing “providers” that operate against publicly exposed and documented APIs. ● A developer-friendly laptop-centric runtime cli experience for provisioning of infrastructure assets ideal for fast development iteration. ● Given the powerful “mix-and-match” ability to take AWS objects and combine with Rightscale objects and gce objects and and and…. magic! ● An easy way to use the “right tool for the job.”
  • 21. Pieces of the Puzzle: Terraform Part 2 20 ● The RightScale provider was born! https://www.terraform.io/docs/providers/rightscale/index.html ● Allows us to use RightScale for the governance and orchestration we need, intermixed with other provider resources directly. ● Example: Creation/Reading of RightScale credential objects to populate secrets during the creation of ec2 autoscaling groups. ● Example 2: RightScript “any” execution against assets external to infrastructure managed by Terraform. In our case, scripts executing setup logic for new clusters.
  • 22. Pieces of the Puzzle: Devops 21 ● No centralized team to manage infrastructure and desire to reinforce full stack ownership to devops teams. ● Use of Terraform Modules to express generic aspects of the cluster build process with duplicated/full copies of this code distributed to each team. ○ Copy/Paste isn’t always the best way, but it is dirt simple to understand. ○ Smoothing the distribution process for updates to modules would be undertaken at a later date. ● Cluster invocations (environments or “envs”) largely identical other then variables defined in variables config file. ○ Creating new clusters easy as copying existing folder, and changing a few variables.
  • 24. AWS (networking, asg) ./wrapper.rb create <env> Sanity Checks: right_api / aws_cli checks ST -> bootstrap k8 RightScripts (master / worker) Terraform envs (brown, orange, …) TF providers (aws, rightscale) Workers - RL Enable Building an “env” RightScale (deployment, servers, vault provisioning) GCE (networking, ...) Azure (networking, ...) Master(s) - Server
  • 25. Pieces of the Puzzle: HA while Disposable, Part 1 24 ● Goal of purpose-driven disposable kube clusters that could be replaced in no-downtime operations yet is still HA for the end customer while attempting to keep things easy to manage… a bit of a challenge. ● Lots of horror stories about multi-master/cross-az troubleshooting-in-place woes or “my cluster is slow” mystery troubleshooting were abound at the time of research.
  • 26. Pieces of the Puzzle: HA while Disposable, Part 2 25 ● Each env is N fully independent clusters each scoped to a single az that are treated as a logical unit and knitted together via Kubernetes Federation. ● This gives each individual cluster the ability to service a given request, with inbound requests balanced between the N invocations w/health checks and knit together with Federation so if one cluster on a given az went belly up, the other would immediately be scaled up by the Federation to handle things. ● Combined with ability to invoke our disposable cluster anywhere including any cloud and knit together with the Federation for easy combined management, gave us a strong small-yet-resilient model.