SlideShare uma empresa Scribd logo
1 de 72
Baixar para ler offline
Going to the
CLOUD!
DISCLAIMER:
This talk is about work in progress. Completeness
and accuracy aren't guaranteed beyond best effort
Starting point
●
Old hardware
Starting point
●
Old hardware
●
A lot of profitable legacy software
Starting point
●
Old hardware
●
A lot of profitable legacy software
●
Openstack + bare metal
Starting point
●
Old hardware
●
A lot of profitable legacy software
●
Openstack + bare metal
●
Working CI/CD
Starting point
●
Old hardware
●
A lot of profitable legacy software
●
Openstack + bare metal
●
Working CI/CD
●
Working configuration management
Starting point
●
Old hardware
●
A lot of profitable legacy software
●
Openstack + bare metal
●
Working CI/CD
●
Working configuration management
●
Small infrastructure team
Starting point
●
Old hardware
●
A lot of profitable legacy software
●
Openstack + bare metal
●
Working CI/CD
●
Working configuration management
●
Small infrastructure team
●
Software is an essential business component, but
our business is not software
Starting point
●
Old hardware
●
A lot of profitable legacy software
●
Openstack + bare metal
●
Working CI/CD
●
Working configuration management
●
Small infrastructure team
●
Software is an essential business component, but our
business is not software
●
Developers are on call for production application issues
Cloud considerations
●
Scaling
– Cloud systems let you scale in smaller increments
on demand
Cloud considerations
●
Scaling
– Cloud systems let you scale in smaller increments
on demand
●
Variability in demand
– Low variability in demand for computing resources
supports staying in-house
– Highly variable systems benefit from moving to the
cloud far more
Cloud considerations
●
Scaling
– Cloud systems let you scale in smaller increments on demand
●
Variability in demand
– Low variability in demand for computing resources supports
staying in-house
– Highly variable systems benefit from moving to the cloud far more
●
Legal issues
– Privacy regulations in the EU itself
●
Also different laws between different EU countries
– Brexit
Cloud considerations
●
Scaling
– Cloud systems let you scale in smaller increments on demand
●
Variability in demand
– Low variability in demand for computing resources supports staying in-house
– Highly variable systems benefit from moving to the cloud far more
●
Legal issues
– Privacy regulations in the EU itself
●
Also different laws between different EU countries
– Brexit
●
Software design
– Observability must be built into the software
Vendor Choices
Vendor Choices
●
Already using Docker
Vendor Choices
●
Already using Docker
●
Already moving to microservices
Vendor Choices
●
Already using Docker
●
Already moving to microservices
●
Moving from Mesos to Kubernetes was easy
Vendor Choices
●
Already using Docker
●
Already moving to microservices
●
Moving from Mesos to Kubernetes was easy
●
This made Google's Cloud offering a slightly
better choice than Amazon
– Google being cheaper helped a bit
Vendor Choices
●
Already using Docker
●
Already moving to microservices
●
Moving from Mesos to Kubernetes was easy
●
This made Google's Cloud offering a slightly better
choice than Amazon
– Google being cheaper helped a bit
●
Neither was cheaper than running our own hardware
– Savings mostly come from the lack of a dedicated operations
group, and from being able to avoid some HA requirements
The technical research phase
●
Lasted about half a year
The technical research phase
●
Lasted about half a year
●
Focus on two main areas:
– How to manage infrastructure manually at the
vendor
– Tooling and automation
Why manual work?
●
Familiarisation
– Terminology
Why manual work?
●
Familiarisation
– Terminology
●
Concepts
Why manual work?
●
Familiarisation
– Terminology
●
Concepts
●
Discover limitations
– There are a lot of those
– Some more interesting than others (load balancing,
IPv6, DNS, ...)
Choosing automation tools
●
Shell scripts
– Via gcloud + gsutil
Choosing automation tools
●
Shell scripts
– Via gcloud + gsutil
●
Ansible
– We had Ansible experience
– Built some systems with ansible
– Very limited in what it can do without using gcloud
Choosing automation tools
●
Shell scripts
– Via gcloud + gsutil
●
Ansible
– We had Ansible experience
– Built some systems with ansible
– Very limited in what it can do without using gcloud
●
Puppet
– Was not a serious contender six months ago
Choosing automation tools
●
Shell scripts
– Via gcloud + gsutil
●
Ansible
– We had Ansible experience
– Built some systems with ansible
– Very limited in what it can do without using gcloud
●
Puppet
– Was not a serious contender six months ago
●
Terraform
– The best of the lot
●
It has improved a lot since this slideset was first made
Configuration management
●
Stateless systems implemented in a 12-factor
style are best put in containers and managed
via Kubernetes
– Alternatively, use what Google calls managed
groups and spin up VMs automatically in case of
crashes
Configuration management
●
Stateless systems implemented in a 12-factor
style are best put in containers and managed
via Kubernetes
– Alternatively, use what Google calls managed
groups and spin up VMs automatically in case of
crashes
●
We still need configuration management for
systems which aren't in a container
Configuration management
●
Stateless systems implemented in a 12-factor style are
best put in containers and managed via Kubernetes
– Alternatively, use what Google calls managed groups and
spin up VMs automatically in case of crashes
●
We still need configuration management for systems
which aren't in a container
●
Puppet was the obvious choice, because we were
already using it
– It doesn’t matter which specific tool you use, but use one.
Inventory
●
There isn't a nice CMDB out there yet, which
can automagically provision VMs in the cloud
and provide information to config-mgmt and
orchestration tools
– We currently hack our way around this by using
tags and the Google API
Moving into high speed
●
One meeting
– Three people
– Thirty minutes
Moving into high speed
●
One meeting
– Three people
– Thirty minutes
●
Decided on goals for a proof of concept
– Complete automation
– Custom tooling around the application
– Fixed target application for a test deployment
Moving into high speed
●
One meeting
– Three people
– Thirty minutes
●
Decided on goals for a proof of concept
– Complete automation
– Custom tooling around the application
– Fixed target application for a test deployment
●
Took us about three months of full time effort to wrap
up the PoC
Tools of choice
●
Terraform
– This is a pretty fast moving tool
– They have good documentation
●
For some value of good.
– Getting your first bits and pieces working are harder
than they should be, but the rest then follow pretty
easily
Tools of choice
●
Terraform
– This is a pretty fast moving tool
– They have good documentation
●
For some value of good.
– Getting your first bits and pieces working are harder than they
should be, but the rest then follow pretty easily
●
Puppet
– New Puppet repo, ignoring a lot of legacy.
– Jumped Puppet version
– Discarded large parts of the module approach recommended in
Puppet documentation
Terraform
●
Base network project
– All network related things are done in this project
Terraform
●
Base network project
– All network related things are done in this project
●
Other projects use instance groups with a
mostly standard template
– They reference network configs from the base
project
Terraform
●
Base network project
– All network related things are done in this project
●
Other projects use an instance group with a
mostly standard template
– They reference network configs from the base
project
●
Google metadata is used to tie together Puppet
and Terraform
Shared backends
●
We started with a simple backend for Terraform,
with no remote state.
– This does not scale to many users, but for the initial
proof of concept was useful.
Shared backends
●
We started with a simple backend for Terraform,
with no remote state.
– This does not scale to many users, but for the initial proof
of concept was useful.
●
We then spent a few days very carefully refactoring
this into per project state, with the shared state
being remote in a cloud storage bucket.
– https://charity.wtf/2016/03/30/terraform-vpc-and-why-you-
want-a-tfstate-file-per-env/ is a pretty good horror story of
what could go wrong
* Documentation
* API
* Stateful data
* IPv6
* Secrets
Google Cloud Documentation
●
Lags behind software
Google Cloud Documentation
●
Lags behind software
●
Is often inconsistent
Google Cloud Documentation
●
Lags behind software
●
Is often inconsistent
●
This has not changed in about three years
– This is not limited to Google though.
API
●
Quite inconsistent in some regards
– Particularly about referencing other properties
– Name or reference?
API
●
Quite inconsistent in some regards
– Particularly about referencing other properties
– Name or reference?
●
Needs actual examples
– A lot of examples
●
This has not really improved since I first wrote this talk
Stateful data
●
There are no good answers for high availability
Stateful data
●
There are no good answers for high availability
●
Google offers multiple options for storage
– Some of these are more reliable than others
– But they are more complex to use
– Or involve code changes
Stateful data
●
There are no good answers for high availability
●
Google offers multiple options for storage
– Some of these are more reliable than others
– But they are more complex to use
– Or involve code changes
●
Maintenance can cause outages
– automatic failover for CloudSQL needs a whole zone to
fail, so a maintenance can cause an unexpected outage
Stateful data
●
There are no good answers for high availability
●
Google offers multiple options for storage
– Some of these are more reliable than others
– But they are more complex to use
– Or involve code changes
●
Maintenance can cause outages
– automatic failover for CloudSQL needs a whole zone to fail, so a
maintenance can cause an unexpected outage
●
You may need to run your own database systems for more
reliable access to structured data
IPv6
●
Google does not put it's money where it's
mouth is wrt IPv6
– IPv6 support is very limited in the compute
environment
IPv6
●
Google does not put it's money where it's
mouth is wrt IPv6
– IPv6 support is very limited in the compute
environment
●
We started off by routing IPv6 traffic to our
loadbalancers in the legacy environment and
then proxying to IPv4 in Google
– This is no longer needed
Secrets
●
If you have containers, Google supports encrypted secrets.
Secrets
●
If you have containers, Google supports encrypted secrets.
●
Using Vault from Hashicorp looks like a good option, but you
still need to code applications to use those secrets instead of
reading from a config file
Secrets
●
If you have containers, Google supports encrypted secrets.
●
Using Vault from Hashicorp looks like a good option, but you
still need to code applications to use those secrets instead of
reading from a config file
●
Anything else which works with your configuration management
system is a good idea (eyaml with Puppet, for example)
– You still have the problem of managing a few master
encryption keys
Secrets
●
If you have containers, Google supports encrypted secrets.
●
Using Vault from Hashicorp looks like a good option, but you
still need to code applications to use those secrets instead of
reading from a config file
●
Anything else which works with your configuration management
system is a good idea (eyaml with Puppet, for example)
– You still have the problem of managing a few master
encryption keys
●
We tested hiera-vault, but performance was terrible
Loadbalancing
●
Google’s load balancer offering is limited in
some ways as compared to more advanced
tools like F5s, etc
●
We chose to replace the hardware LBs with
simple IP based load balancer + nginx proxies
– Note that code which tracks IP addresses or does
geolocation needs to change to handle this.
Monitoring
●
Stackdriver looks promising for log
management
– It has quite a few retention limitations
– New pricing makes it cheaper to run an ELK stack,
depending on log volume
Monitoring
●
Stackdriver looks promising for log
management
– It has quite a few retention limitations
– New pricing makes it cheaper to run an ELK stack,
depending on log volume
●
Stackdriver is a good replacement for the ELK
stack, but not for high quality
analytics/monitoring
Monitoring
●
Stackdriver looks promising for log management
– It has quite a few retention limitations
– New pricing makes it cheaper to run an ELK stack,
depending on log volume
●
Stackdriver is a good replacement for the ELK
stack, but not for high quality analytics/monitoring
●
There isn't a really good alternative to running your
own time-series database
– Especially if you use that data for alerting
Legacy code
●
Plan on migrating it wholesale
– Even if you plan to rewrite it
●
Rewrites will take longer than you plan for
– Even your planned migrations will take longer than
expected, because of environmental assumptions.
Legacy code
●
Plan on migrating it wholesale
– Even if you plan to rewrite it
●
Rewrites will take longer than you plan for
– Even your planned migrations will take longer than
expected, because of environmental assumptions.
●
This does not benefit from moving to the cloud
– You are just running it in an environment with
different assumptions on latency and reliability
Spectre/Meltdown impact
●
CPU utilisation doubles
– We are currently on rather over-provisioned
hardware, so actual impact is minimal
●
Anything which does a lot of system calls is
slowed quite a bit
– Large data import went from 26 hours to 56
Summary
●
Cloud migration is a business decision, but
remember that costs will probably increase
– Monitor your costs closely, you will discover a
number of ways in which money is wasted in the
cloud (debug logging, for example).
Summary
●
Cloud migration is a business decision, but
remember that costs will probably increase
– Monitor your costs closely, you will discover a
number of ways in which money is wasted in the
cloud (debug logging, for example).
●
Outsourcing your L1 operations team to people
who do not care about your business needs still
has the same problems as a decade or two ago
Summary
●
Cloud migration is a business decision, but
remember that costs will probably increase
– Monitor your costs closely, you will discover a number of
ways in which money is wasted in the cloud (debug
logging, for example).
●
Outsourcing your L1 operations team to people who
do not care about your business needs still has the
same problems as a decade or two ago
●
Choosing which provider to go with often involves
small differences based on your existing stack
Summary
●
Cloud migration is a business decision, but remember that
costs will probably increase
– Monitor your costs closely, you will discover a number of ways in
which money is wasted in the cloud (debug logging, for example).
●
Outsourcing your L1 operations team to people who do not
care about your business needs still has the same problems
as a decade or two ago
●
Choosing which provider to go with often involves small
differences based on your existing stack
●
The tooling available is still very raw, and we are still
discovering operational design patterns
Summary
●
Cloud migration is a business decision, but remember that costs will
probably increase
– Monitor your costs closely, you will discover a number of ways in which money is
wasted in the cloud (debug logging, for example).
●
Outsourcing your L1 operations team to people who do not care about
your business needs still has the same problems as a decade or two ago
●
Choosing which provider to go with often involves small differences based
on your existing stack
●
The tooling available is still very raw, and we are still discovering
operational design patterns
●
Migrating to the cloud may require a wholesale change in process
– If you are in a large ITIL shop, that will require a huge change.
?

Mais conteúdo relacionado

Mais procurados

Modern Monitoring [ with Prometheus ]
Modern Monitoring [ with Prometheus ]Modern Monitoring [ with Prometheus ]
Modern Monitoring [ with Prometheus ]Haggai Philip Zagury
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodeKris Buytaert
 
Devops is a Security Requirement
Devops is a Security RequirementDevops is a Security Requirement
Devops is a Security RequirementKris Buytaert
 
The Return of the Dull Stack Engineer
The Return of the Dull Stack EngineerThe Return of the Dull Stack Engineer
The Return of the Dull Stack EngineerKris Buytaert
 
Capacity Planning Infrastructure for Web Applications (Drupal)
Capacity Planning Infrastructure for Web Applications (Drupal)Capacity Planning Infrastructure for Web Applications (Drupal)
Capacity Planning Infrastructure for Web Applications (Drupal)Ricardo Amaro
 
Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?Bruno Capuano
 
From devoops to devops
From devoops to devopsFrom devoops to devops
From devoops to devopsKris Buytaert
 
From MonitoringSucks to Monitoring Love , 2016 Edition
From MonitoringSucks to Monitoring Love , 2016 EditionFrom MonitoringSucks to Monitoring Love , 2016 Edition
From MonitoringSucks to Monitoring Love , 2016 EditionKris Buytaert
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure FirstKris Buytaert
 
Idi2018 - Serverless does not mean Opsless
Idi2018 - Serverless does not mean OpslessIdi2018 - Serverless does not mean Opsless
Idi2018 - Serverless does not mean OpslessLinuxaria.com
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure FirstKris Buytaert
 
No, we can't do continuous delivery
No, we can't do continuous deliveryNo, we can't do continuous delivery
No, we can't do continuous deliveryKris Buytaert
 
meetup version of Paving the road to production
  meetup version of Paving the road to production    meetup version of Paving the road to production
meetup version of Paving the road to production Matthew Reynolds
 
Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...
Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...
Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...Andrew Phillips
 
The influence of "Distributed platforms" on #devops
The influence of "Distributed platforms" on #devopsThe influence of "Distributed platforms" on #devops
The influence of "Distributed platforms" on #devopsKris Buytaert
 
On the Importance of Infrastructure as Code
On the Importance of Infrastructure as CodeOn the Importance of Infrastructure as Code
On the Importance of Infrastructure as CodeKris Buytaert
 
Can we fix dev-oops ?
Can we fix dev-oops ?Can we fix dev-oops ?
Can we fix dev-oops ?Kris Buytaert
 
How bigtop leveraged docker for build automation and one click hadoop provis...
How bigtop leveraged docker for build automation and  one click hadoop provis...How bigtop leveraged docker for build automation and  one click hadoop provis...
How bigtop leveraged docker for build automation and one click hadoop provis...Evans Ye
 
Devops is dead, Long Live Devops
Devops is dead, Long Live DevopsDevops is dead, Long Live Devops
Devops is dead, Long Live DevopsKris Buytaert
 

Mais procurados (20)

Pipeline as Code
Pipeline as CodePipeline as Code
Pipeline as Code
 
Modern Monitoring [ with Prometheus ]
Modern Monitoring [ with Prometheus ]Modern Monitoring [ with Prometheus ]
Modern Monitoring [ with Prometheus ]
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as Code
 
Devops is a Security Requirement
Devops is a Security RequirementDevops is a Security Requirement
Devops is a Security Requirement
 
The Return of the Dull Stack Engineer
The Return of the Dull Stack EngineerThe Return of the Dull Stack Engineer
The Return of the Dull Stack Engineer
 
Capacity Planning Infrastructure for Web Applications (Drupal)
Capacity Planning Infrastructure for Web Applications (Drupal)Capacity Planning Infrastructure for Web Applications (Drupal)
Capacity Planning Infrastructure for Web Applications (Drupal)
 
Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?
 
From devoops to devops
From devoops to devopsFrom devoops to devops
From devoops to devops
 
From MonitoringSucks to Monitoring Love , 2016 Edition
From MonitoringSucks to Monitoring Love , 2016 EditionFrom MonitoringSucks to Monitoring Love , 2016 Edition
From MonitoringSucks to Monitoring Love , 2016 Edition
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure First
 
Idi2018 - Serverless does not mean Opsless
Idi2018 - Serverless does not mean OpslessIdi2018 - Serverless does not mean Opsless
Idi2018 - Serverless does not mean Opsless
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure First
 
No, we can't do continuous delivery
No, we can't do continuous deliveryNo, we can't do continuous delivery
No, we can't do continuous delivery
 
meetup version of Paving the road to production
  meetup version of Paving the road to production    meetup version of Paving the road to production
meetup version of Paving the road to production
 
Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...
Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...
Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...
 
The influence of "Distributed platforms" on #devops
The influence of "Distributed platforms" on #devopsThe influence of "Distributed platforms" on #devops
The influence of "Distributed platforms" on #devops
 
On the Importance of Infrastructure as Code
On the Importance of Infrastructure as CodeOn the Importance of Infrastructure as Code
On the Importance of Infrastructure as Code
 
Can we fix dev-oops ?
Can we fix dev-oops ?Can we fix dev-oops ?
Can we fix dev-oops ?
 
How bigtop leveraged docker for build automation and one click hadoop provis...
How bigtop leveraged docker for build automation and  one click hadoop provis...How bigtop leveraged docker for build automation and  one click hadoop provis...
How bigtop leveraged docker for build automation and one click hadoop provis...
 
Devops is dead, Long Live Devops
Devops is dead, Long Live DevopsDevops is dead, Long Live Devops
Devops is dead, Long Live Devops
 

Semelhante a OSDC 2018 | Migrating to the cloud by Devdas Bhagat

OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...
OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...
OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...Russell Pavlicek
 
Disposable infrastructure
Disposable infrastructureDisposable infrastructure
Disposable infrastructureMike Fowler
 
Pivotal Greenplum Cloud Marketplaces - Greenplum Summit 2019
Pivotal Greenplum Cloud Marketplaces - Greenplum Summit 2019Pivotal Greenplum Cloud Marketplaces - Greenplum Summit 2019
Pivotal Greenplum Cloud Marketplaces - Greenplum Summit 2019VMware Tanzu
 
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...Haggai Philip Zagury
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
From naive to agile - software engineering approach
From naive to agile - software engineering approachFrom naive to agile - software engineering approach
From naive to agile - software engineering approachStayman Hou
 
Cloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud PipelinesCloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud PipelinesLars Rosenquist
 
Cloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud PipelinesCloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud PipelinesLars Rosenquist
 
Make It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version ControlMake It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version Controlindiver
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Programaspyker
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixAll Things Open
 
High Available Drupal
High Available DrupalHigh Available Drupal
High Available DrupalBram Vogelaar
 
Improve the deployment process step by step
Improve the deployment process step by stepImprove the deployment process step by step
Improve the deployment process step by stepDaniel Fahlke
 
DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.Vlad Fedosov
 
Smarter deployments with octopus deploy
Smarter deployments with octopus deploySmarter deployments with octopus deploy
Smarter deployments with octopus deployThibaud Gravrand
 
The Road to Kubernetes
The Road to KubernetesThe Road to Kubernetes
The Road to KubernetesDeniz Zoeteman
 
PGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores Finnoto
PGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores FinnotoPGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores Finnoto
PGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores FinnotoEqunix Business Solutions
 
SCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scalingSCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scalingStanislav Osipov
 
GDG Cloud Southlake no. 22 Gutta and Nayer GCP Terraform Modules Scaling Your...
GDG Cloud Southlake no. 22 Gutta and Nayer GCP Terraform Modules Scaling Your...GDG Cloud Southlake no. 22 Gutta and Nayer GCP Terraform Modules Scaling Your...
GDG Cloud Southlake no. 22 Gutta and Nayer GCP Terraform Modules Scaling Your...James Anderson
 

Semelhante a OSDC 2018 | Migrating to the cloud by Devdas Bhagat (20)

OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...
OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...
OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...
 
Disposable infrastructure
Disposable infrastructureDisposable infrastructure
Disposable infrastructure
 
Pivotal Greenplum Cloud Marketplaces - Greenplum Summit 2019
Pivotal Greenplum Cloud Marketplaces - Greenplum Summit 2019Pivotal Greenplum Cloud Marketplaces - Greenplum Summit 2019
Pivotal Greenplum Cloud Marketplaces - Greenplum Summit 2019
 
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
From naive to agile - software engineering approach
From naive to agile - software engineering approachFrom naive to agile - software engineering approach
From naive to agile - software engineering approach
 
Cloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud PipelinesCloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud Pipelines
 
Cloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud PipelinesCloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud Pipelines
 
Make It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version ControlMake It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version Control
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Program
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at Netflix
 
High Available Drupal
High Available DrupalHigh Available Drupal
High Available Drupal
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Improve the deployment process step by step
Improve the deployment process step by stepImprove the deployment process step by step
Improve the deployment process step by step
 
DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.
 
Smarter deployments with octopus deploy
Smarter deployments with octopus deploySmarter deployments with octopus deploy
Smarter deployments with octopus deploy
 
The Road to Kubernetes
The Road to KubernetesThe Road to Kubernetes
The Road to Kubernetes
 
PGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores Finnoto
PGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores FinnotoPGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores Finnoto
PGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores Finnoto
 
SCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scalingSCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scaling
 
GDG Cloud Southlake no. 22 Gutta and Nayer GCP Terraform Modules Scaling Your...
GDG Cloud Southlake no. 22 Gutta and Nayer GCP Terraform Modules Scaling Your...GDG Cloud Southlake no. 22 Gutta and Nayer GCP Terraform Modules Scaling Your...
GDG Cloud Southlake no. 22 Gutta and Nayer GCP Terraform Modules Scaling Your...
 

Último

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 

Último (20)

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 

OSDC 2018 | Migrating to the cloud by Devdas Bhagat

  • 2. DISCLAIMER: This talk is about work in progress. Completeness and accuracy aren't guaranteed beyond best effort
  • 4. Starting point ● Old hardware ● A lot of profitable legacy software
  • 5. Starting point ● Old hardware ● A lot of profitable legacy software ● Openstack + bare metal
  • 6. Starting point ● Old hardware ● A lot of profitable legacy software ● Openstack + bare metal ● Working CI/CD
  • 7. Starting point ● Old hardware ● A lot of profitable legacy software ● Openstack + bare metal ● Working CI/CD ● Working configuration management
  • 8. Starting point ● Old hardware ● A lot of profitable legacy software ● Openstack + bare metal ● Working CI/CD ● Working configuration management ● Small infrastructure team
  • 9. Starting point ● Old hardware ● A lot of profitable legacy software ● Openstack + bare metal ● Working CI/CD ● Working configuration management ● Small infrastructure team ● Software is an essential business component, but our business is not software
  • 10. Starting point ● Old hardware ● A lot of profitable legacy software ● Openstack + bare metal ● Working CI/CD ● Working configuration management ● Small infrastructure team ● Software is an essential business component, but our business is not software ● Developers are on call for production application issues
  • 11. Cloud considerations ● Scaling – Cloud systems let you scale in smaller increments on demand
  • 12. Cloud considerations ● Scaling – Cloud systems let you scale in smaller increments on demand ● Variability in demand – Low variability in demand for computing resources supports staying in-house – Highly variable systems benefit from moving to the cloud far more
  • 13. Cloud considerations ● Scaling – Cloud systems let you scale in smaller increments on demand ● Variability in demand – Low variability in demand for computing resources supports staying in-house – Highly variable systems benefit from moving to the cloud far more ● Legal issues – Privacy regulations in the EU itself ● Also different laws between different EU countries – Brexit
  • 14. Cloud considerations ● Scaling – Cloud systems let you scale in smaller increments on demand ● Variability in demand – Low variability in demand for computing resources supports staying in-house – Highly variable systems benefit from moving to the cloud far more ● Legal issues – Privacy regulations in the EU itself ● Also different laws between different EU countries – Brexit ● Software design – Observability must be built into the software
  • 17. Vendor Choices ● Already using Docker ● Already moving to microservices
  • 18. Vendor Choices ● Already using Docker ● Already moving to microservices ● Moving from Mesos to Kubernetes was easy
  • 19. Vendor Choices ● Already using Docker ● Already moving to microservices ● Moving from Mesos to Kubernetes was easy ● This made Google's Cloud offering a slightly better choice than Amazon – Google being cheaper helped a bit
  • 20. Vendor Choices ● Already using Docker ● Already moving to microservices ● Moving from Mesos to Kubernetes was easy ● This made Google's Cloud offering a slightly better choice than Amazon – Google being cheaper helped a bit ● Neither was cheaper than running our own hardware – Savings mostly come from the lack of a dedicated operations group, and from being able to avoid some HA requirements
  • 21. The technical research phase ● Lasted about half a year
  • 22. The technical research phase ● Lasted about half a year ● Focus on two main areas: – How to manage infrastructure manually at the vendor – Tooling and automation
  • 24. Why manual work? ● Familiarisation – Terminology ● Concepts
  • 25. Why manual work? ● Familiarisation – Terminology ● Concepts ● Discover limitations – There are a lot of those – Some more interesting than others (load balancing, IPv6, DNS, ...)
  • 26. Choosing automation tools ● Shell scripts – Via gcloud + gsutil
  • 27. Choosing automation tools ● Shell scripts – Via gcloud + gsutil ● Ansible – We had Ansible experience – Built some systems with ansible – Very limited in what it can do without using gcloud
  • 28. Choosing automation tools ● Shell scripts – Via gcloud + gsutil ● Ansible – We had Ansible experience – Built some systems with ansible – Very limited in what it can do without using gcloud ● Puppet – Was not a serious contender six months ago
  • 29. Choosing automation tools ● Shell scripts – Via gcloud + gsutil ● Ansible – We had Ansible experience – Built some systems with ansible – Very limited in what it can do without using gcloud ● Puppet – Was not a serious contender six months ago ● Terraform – The best of the lot ● It has improved a lot since this slideset was first made
  • 30. Configuration management ● Stateless systems implemented in a 12-factor style are best put in containers and managed via Kubernetes – Alternatively, use what Google calls managed groups and spin up VMs automatically in case of crashes
  • 31. Configuration management ● Stateless systems implemented in a 12-factor style are best put in containers and managed via Kubernetes – Alternatively, use what Google calls managed groups and spin up VMs automatically in case of crashes ● We still need configuration management for systems which aren't in a container
  • 32. Configuration management ● Stateless systems implemented in a 12-factor style are best put in containers and managed via Kubernetes – Alternatively, use what Google calls managed groups and spin up VMs automatically in case of crashes ● We still need configuration management for systems which aren't in a container ● Puppet was the obvious choice, because we were already using it – It doesn’t matter which specific tool you use, but use one.
  • 33. Inventory ● There isn't a nice CMDB out there yet, which can automagically provision VMs in the cloud and provide information to config-mgmt and orchestration tools – We currently hack our way around this by using tags and the Google API
  • 34. Moving into high speed ● One meeting – Three people – Thirty minutes
  • 35. Moving into high speed ● One meeting – Three people – Thirty minutes ● Decided on goals for a proof of concept – Complete automation – Custom tooling around the application – Fixed target application for a test deployment
  • 36. Moving into high speed ● One meeting – Three people – Thirty minutes ● Decided on goals for a proof of concept – Complete automation – Custom tooling around the application – Fixed target application for a test deployment ● Took us about three months of full time effort to wrap up the PoC
  • 37. Tools of choice ● Terraform – This is a pretty fast moving tool – They have good documentation ● For some value of good. – Getting your first bits and pieces working are harder than they should be, but the rest then follow pretty easily
  • 38. Tools of choice ● Terraform – This is a pretty fast moving tool – They have good documentation ● For some value of good. – Getting your first bits and pieces working are harder than they should be, but the rest then follow pretty easily ● Puppet – New Puppet repo, ignoring a lot of legacy. – Jumped Puppet version – Discarded large parts of the module approach recommended in Puppet documentation
  • 39. Terraform ● Base network project – All network related things are done in this project
  • 40. Terraform ● Base network project – All network related things are done in this project ● Other projects use instance groups with a mostly standard template – They reference network configs from the base project
  • 41. Terraform ● Base network project – All network related things are done in this project ● Other projects use an instance group with a mostly standard template – They reference network configs from the base project ● Google metadata is used to tie together Puppet and Terraform
  • 42. Shared backends ● We started with a simple backend for Terraform, with no remote state. – This does not scale to many users, but for the initial proof of concept was useful.
  • 43. Shared backends ● We started with a simple backend for Terraform, with no remote state. – This does not scale to many users, but for the initial proof of concept was useful. ● We then spent a few days very carefully refactoring this into per project state, with the shared state being remote in a cloud storage bucket. – https://charity.wtf/2016/03/30/terraform-vpc-and-why-you- want-a-tfstate-file-per-env/ is a pretty good horror story of what could go wrong
  • 44. * Documentation * API * Stateful data * IPv6 * Secrets
  • 46. Google Cloud Documentation ● Lags behind software ● Is often inconsistent
  • 47. Google Cloud Documentation ● Lags behind software ● Is often inconsistent ● This has not changed in about three years – This is not limited to Google though.
  • 48. API ● Quite inconsistent in some regards – Particularly about referencing other properties – Name or reference?
  • 49. API ● Quite inconsistent in some regards – Particularly about referencing other properties – Name or reference? ● Needs actual examples – A lot of examples ● This has not really improved since I first wrote this talk
  • 50. Stateful data ● There are no good answers for high availability
  • 51. Stateful data ● There are no good answers for high availability ● Google offers multiple options for storage – Some of these are more reliable than others – But they are more complex to use – Or involve code changes
  • 52. Stateful data ● There are no good answers for high availability ● Google offers multiple options for storage – Some of these are more reliable than others – But they are more complex to use – Or involve code changes ● Maintenance can cause outages – automatic failover for CloudSQL needs a whole zone to fail, so a maintenance can cause an unexpected outage
  • 53. Stateful data ● There are no good answers for high availability ● Google offers multiple options for storage – Some of these are more reliable than others – But they are more complex to use – Or involve code changes ● Maintenance can cause outages – automatic failover for CloudSQL needs a whole zone to fail, so a maintenance can cause an unexpected outage ● You may need to run your own database systems for more reliable access to structured data
  • 54. IPv6 ● Google does not put it's money where it's mouth is wrt IPv6 – IPv6 support is very limited in the compute environment
  • 55. IPv6 ● Google does not put it's money where it's mouth is wrt IPv6 – IPv6 support is very limited in the compute environment ● We started off by routing IPv6 traffic to our loadbalancers in the legacy environment and then proxying to IPv4 in Google – This is no longer needed
  • 56. Secrets ● If you have containers, Google supports encrypted secrets.
  • 57. Secrets ● If you have containers, Google supports encrypted secrets. ● Using Vault from Hashicorp looks like a good option, but you still need to code applications to use those secrets instead of reading from a config file
  • 58. Secrets ● If you have containers, Google supports encrypted secrets. ● Using Vault from Hashicorp looks like a good option, but you still need to code applications to use those secrets instead of reading from a config file ● Anything else which works with your configuration management system is a good idea (eyaml with Puppet, for example) – You still have the problem of managing a few master encryption keys
  • 59. Secrets ● If you have containers, Google supports encrypted secrets. ● Using Vault from Hashicorp looks like a good option, but you still need to code applications to use those secrets instead of reading from a config file ● Anything else which works with your configuration management system is a good idea (eyaml with Puppet, for example) – You still have the problem of managing a few master encryption keys ● We tested hiera-vault, but performance was terrible
  • 60. Loadbalancing ● Google’s load balancer offering is limited in some ways as compared to more advanced tools like F5s, etc ● We chose to replace the hardware LBs with simple IP based load balancer + nginx proxies – Note that code which tracks IP addresses or does geolocation needs to change to handle this.
  • 61. Monitoring ● Stackdriver looks promising for log management – It has quite a few retention limitations – New pricing makes it cheaper to run an ELK stack, depending on log volume
  • 62. Monitoring ● Stackdriver looks promising for log management – It has quite a few retention limitations – New pricing makes it cheaper to run an ELK stack, depending on log volume ● Stackdriver is a good replacement for the ELK stack, but not for high quality analytics/monitoring
  • 63. Monitoring ● Stackdriver looks promising for log management – It has quite a few retention limitations – New pricing makes it cheaper to run an ELK stack, depending on log volume ● Stackdriver is a good replacement for the ELK stack, but not for high quality analytics/monitoring ● There isn't a really good alternative to running your own time-series database – Especially if you use that data for alerting
  • 64. Legacy code ● Plan on migrating it wholesale – Even if you plan to rewrite it ● Rewrites will take longer than you plan for – Even your planned migrations will take longer than expected, because of environmental assumptions.
  • 65. Legacy code ● Plan on migrating it wholesale – Even if you plan to rewrite it ● Rewrites will take longer than you plan for – Even your planned migrations will take longer than expected, because of environmental assumptions. ● This does not benefit from moving to the cloud – You are just running it in an environment with different assumptions on latency and reliability
  • 66. Spectre/Meltdown impact ● CPU utilisation doubles – We are currently on rather over-provisioned hardware, so actual impact is minimal ● Anything which does a lot of system calls is slowed quite a bit – Large data import went from 26 hours to 56
  • 67. Summary ● Cloud migration is a business decision, but remember that costs will probably increase – Monitor your costs closely, you will discover a number of ways in which money is wasted in the cloud (debug logging, for example).
  • 68. Summary ● Cloud migration is a business decision, but remember that costs will probably increase – Monitor your costs closely, you will discover a number of ways in which money is wasted in the cloud (debug logging, for example). ● Outsourcing your L1 operations team to people who do not care about your business needs still has the same problems as a decade or two ago
  • 69. Summary ● Cloud migration is a business decision, but remember that costs will probably increase – Monitor your costs closely, you will discover a number of ways in which money is wasted in the cloud (debug logging, for example). ● Outsourcing your L1 operations team to people who do not care about your business needs still has the same problems as a decade or two ago ● Choosing which provider to go with often involves small differences based on your existing stack
  • 70. Summary ● Cloud migration is a business decision, but remember that costs will probably increase – Monitor your costs closely, you will discover a number of ways in which money is wasted in the cloud (debug logging, for example). ● Outsourcing your L1 operations team to people who do not care about your business needs still has the same problems as a decade or two ago ● Choosing which provider to go with often involves small differences based on your existing stack ● The tooling available is still very raw, and we are still discovering operational design patterns
  • 71. Summary ● Cloud migration is a business decision, but remember that costs will probably increase – Monitor your costs closely, you will discover a number of ways in which money is wasted in the cloud (debug logging, for example). ● Outsourcing your L1 operations team to people who do not care about your business needs still has the same problems as a decade or two ago ● Choosing which provider to go with often involves small differences based on your existing stack ● The tooling available is still very raw, and we are still discovering operational design patterns ● Migrating to the cloud may require a wholesale change in process – If you are in a large ITIL shop, that will require a huge change.
  • 72. ?