Google Cloud Platform for DevOps Professionals

Google Cloud Platform for DevOps Professionals

by Javier Ramirez
DevOps Pro Vilnius 2016

6d46284ef16436cb154adf4963e236f0?s=128

DevOps Pro

June 06, 2016
Tweet

Transcript

  1. Google Cloud Platform for DevOps professionals javier ramirez - @supercoco9

    https://teowaki.com
  2. devops in practice

  3. Google Cloud Platform for DevOps professionals javier ramirez - @supercoco9

    https://teowaki.com
  4. how we developed and deployed software in the 90s

  5. Adding a new server: * call (using a landline) or

    send a fax to the provider * pay via bank transfer * wait for a few days/weeks * set up the server on your own server room * hope it won't break
  6. deploying software: * code locally on your OS * submit

    to CVS and manually build * send package and SQL separately to IT * wait until the time slot they give you (next week, probably) * test (by hand) everything is working * hope it won't break
  7. systems & development

  8. A platform with interesting tools to dev like an op

  9. Devops work areas Provisioning infrastructure Deploying with confidence Monitoring and

    alerting Security and disaster prevention Self-healing Performance
  10. Provisioning infrastructure: AppEngine “Zero ops” applications. Just deploy and forget*

    Of course you still need to worry about monitoring, backups, security.. but infrastructure and scaling are automatic *you need to adjust to the sandbox
  11. None
  12. None
  13. None
  14. Provisioning infrastructure: Compute Engine Virtual Machines. Total freedom to do

    as you wish. Powerful networking. Networks, subnetworks, VPNs, forwarding rules, routes...
  15. None
  16. Provisioning infrastructure: Compute Engine gcloud compute --project "javier-cp300" instances create

    "instance-1" --zone "europe-west1-c" --machine-type "n1-standard-1" --network "default" --maintenance-policy "MIGRATE" --scopes default="https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/logging.write", "https://www.googleapis.com/auth/monitoring.write", "https://www.googleapis.com/auth/cloud.useraccounts.readonly" --image "/javier-cp300/test-osv" --boot-disk-size "10" --boot-disk-type "pd-ssd" --boot-disk-device-name "instance-1" ** machine types are flexible: choose the CPUs or RAM you really need
  17. POST https://www.googleapis.com/compute/v1/projects/javier-cp300/zones/europe-west1-c/instances { "name": "instance-1", "zone": "projects/javier-cp300/zones/europe-west1-c", "machineType": "projects/javier-cp300/zones/europe-west1-c/machineTypes/n1-standard-1", "metadata":

    { "items": [] }, "tags": { "items": [] }, "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "autoDelete": true, "deviceName": "instance-1", "initializeParams": { "sourceImage": "projects/javier-cp300/global/images/test-osv", "diskType": "projects/javier-cp300/zones/europe-west1-c/diskTypes/pd-ssd", "diskSizeGb": "10" } } ], "canIpForward": false, "networkInterfaces": [ { "network": "projects/javier-cp300/global/networks/default", "accessConfigs": [ { "name": "External NAT", "type": "ONE_TO_ONE_NAT" } ] } ], "description": "", "scheduling": { "preemptible": false, "onHostMaintenance": "MIGRATE", "automaticRestart": true }, "serviceAccounts": [ { "email": "default", "scopes": [ "https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/logging.write",
  18. None
  19. None
  20. None
  21. None
  22. None
  23. Working with images

  24. Working with images

  25. backups: Snapshots

  26. backups: Snapshots gcloud compute --project "javier-cp300" disks snapshot "jenkins-master" --zone

    "europe-west1-c" --snapshot-names "snapshot-20160519"
  27. Google Cloud Storage Static files with free CDN for public

    contents Very cheap (up to $0.01 per GB/month) Convenient command line for copying, managing or rsync
  28. Google Cloud Storage

  29. Self-healing Managed instance groups with health-checks make sure there are

    always as many healthy instances as you configure
  30. Self-healing

  31. Self-healing

  32. Auto scaling Add auto-scaling capabilities depending on * CPU usage

    * Requests * Your own custom metrics
  33. When self-healing and auto-scaling are not enough

  34. None
  35. None
  36. A squirrel did take out half of our Santa Clara

    data centre two years back Mike Christian, Yahoo Director of Engineering
  37. None
  38. Hayastan Shakarian a.k.a. The Spade Hacker

  39. Cut-off Armenia from the Internet for almost one day* *

    By accident, while scavenging copper
  40. Some data center outages reported in 2015: * Amazon Web

    Services * Apple iCloud * Microsoft Azure * IBM Softlayer * Google Cloud Platform * And of course every hosting with scheduled maintenance operations (rackspace, digital ocean, ovh...)
  41. Complex systems can and will fail

  42. With http/https global load balancing

  43. Containers. Container Registry

  44. Container Engine. Managed kubernetes clusters

  45. Container Engine. Managed load balanced kubernetes clusters

  46. Container Engine. Managed load balanced, self healing, auto scaling kubernetes

    clusters
  47. Container Engine. Managed kubernetes clusters

  48. Automate all the things. Cloud Deployment Manager

  49. Automate all the things. Cloud Deployment Manager

  50. None
  51. None
  52. Monitoring

  53. Alerts

  54. Performance analysis

  55. Performance analysis

  56. Storage and big data services * Cloud SQL: Managed MySQL

    * Cloud Data Store: NoSQL * BigQuery: BigData analytics * Dataflow: Streaming BigData * Dataproc: Managed Hadoop and Spark * Pub/Sub: High performance message queue
  57. Let's add CDN and DNS So you can manage all

    your services from a single point
  58. Why not the cloud It's too slow I am limited

    in what I can do I will get vendor lock-in I cannot legally host my data in the cloud Google will spy on my data
  59. Google will spy on my data * GCP is not

    Gmail. SLA * Encryption at rest and in transit * Bring your own keys * ISO standards
  60. Cannot host my data on the cloud public/private hybrid clouds

    Cloud carrier interconnect, direct peering and CDN interconnect
  61. it's too slow but it's massively parallel

  62. Vendor Lock-in: Kubernetes

  63. Vendor Lock-in: terraform for infrastructure as code

  64. Vendor Lock-in spinnaker for multi- cloud immutable infrastructure and deployments

  65. Limited in what I can do

  66. Limited in what I can do ?

  67. None
  68. Limited in what I can do

  69. Serial port output

  70. Serial port output

  71. A platform with interesting tools to dev like an op

  72. javier ramirez - @supercoco9 https://teowaki.com Ačiū - Thank you