SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
HOWTO:Puppetizing Google Cloud Platform 
Katharina Probst, Technical Lead & Manager (Google) 
Ryan Coleman, Product Manager (Puppet Labs)
Agenda: September 23rd, 2014 
Whirlwind tour of Google Cloud Platform 
Diving into Google Compute Engine 
How Puppet Labs uses Google Cloud Platform 
Live Demo 
1 
2 
3 
4
Agenda: September 23rd, 2014 
Whirlwind tour of Google Cloud Platform 
Diving into Google Compute Engine 
How Puppet Labs uses Google Cloud Platform 
Live Demo 
1 
2 
3 
4
For the past 15 years, Google 
has been building out the 
world’s fastest, most powerful, 
highest quality cloud 
infrastructure on the planet. 
Images by Connie 
Zhou 
Why Google Cloud Platform?
Building Products that Scale 
Google Maps Gmail Google Drive YouTube
A Network that Spans the Globe
Innovating Software & Driving Technology Forward 
MapReduce Dremel Spanner 
Big Table Colossus 
GFS 
Compute 
Engine 
2002 2004 2006 2008 2010 2012 2013
“[Google's] ability to build, organize, and 
operate a huge network of servers and fiber-optic 
cables with an efficiency and speed that 
rocks physics on its heels. 
This is what makes Google Google: its 
physical network, its thousands of fiber miles, 
and those many thousands of servers that, in 
aggregate, add up to the mother of all 
clouds.” 
- Wired 
Images by Connie 
Zhou
Storage 
Cloud Storage Cloud SQL Cloud 
Datastore 
Compute 
Compute 
App Engine Engine 
App Services 
BigQuery Cloud 
Endpoints 
Google Cloud Platform 
Cloud DNS
Compute 
Compute 
App Engine Engine 
Storage 
Cloud Storage Cloud SQL Cloud 
Datastore 
Power Computation 
App Services 
BigQuery Cloud 
Endpoints 
Cloud DNS
Storing What You Want, However You Want 
Storage 
Cloud Storage Cloud SQL Cloud 
Datastore 
Compute 
Compute 
App Engine Engine 
App Services 
BigQuery Cloud 
Endpoints 
Cloud DNS
App Services 
BigQuery Cloud 
Endpoints 
Building Robust, Intelligent Systems 
Storage 
Cloud Storage Cloud SQL Cloud 
Datastore 
Compute 
Compute 
App Engine Engine 
Cloud DNS
Agenda: September 23rd, 2014 
Whirlwind tour of Google Cloud Platform 
Diving into Google Compute Engine 
How Puppet Labs uses Google Cloud Platform 
Live Demo 
1 
2 
3 
4
Google Compute Engine 
• IaaS: VMs, Network, Storage 
• Google DNA (speed, scale, reliable, secure) 
• Fast Provisioning, Consistent Performance 
• Enterprise Ready 
• 24x7 Support 
• 99.95% monthly SLA 
• ISO 27001, SSAE-16 SOC 1,2,3 
• Accessible Through 
• Web @ https://cloud.google.com/console 
• gcloud compute command-line utility 
• REST API 
• Partners (Commercial and FOSS)
Launching 50 virtual machines
Block Storage 
Persistent Disks
Persistent Disk 
10 TB 
• SSD and "Standard" 
• Data and root partitions 
• Billed only by capacity (GB/month) 
• Performance caps scale linearly with size 
• Volume striping is automatic 
• Differential snapshots 
• Create new PDs based on snapshots
PD Use-cases 
Root 
Stateful root 
volume 
Root RW 
Data 
User managed data 
volume 
RO 
Data 
Instant distribution of 
static content
Global Snapshot and Restore 
vol1 vol2 vol3 
GCS 
vol1. 
t2 
vol2. 
t2 
vol3. 
t3 
t1 t1 t1 
t1 t1 t1 
t1 t1 t1 
t1 t1 
t1 t1 
t2 t2 
t2 
t2 
t3 t3 t3 
● Point in time snapshot to Google 
Cloud Storage (GCS) 
● Differential snapshots 
● GCS global replication! 
● Restore from snapshot 
anywhere in the world 
us-central1-a 
europe-west1-a
Virtual Machines
Machine Types Machine Type Virtual Cores 
standard 
• For workloads with balanced CPU and memory 
highmem 
• For workloads with higher memory requirements 
highcpu 
• For workloads with higher CPU requirements 
Shared Core Instances 
• For inexpensive prototyping and staging 
workloads (g1-small, f1-micro) 
Memory 
(GB) 
n1-standard-1 1 3.75 
n1-standard-2 2 7.50 
n1-standard-4 4 15.00 
n1-standard-8 8 30.00 
n1-standard-16 16 60.00 
n1-highmem-2 2 13.00 
n1-highmem-4 4 26.00 
n1-highmem-8 8 52.00 
n1-highmem-16 16 104.00 
n1-highcpu-2 2 1.80 
n1-highcpu-4 4 3.60 
n1-highcpu-8 8 7.20 
n1-highcpu-16 16 14.40
Images 
+ Custom Kernel Support 
(debian backports works great for docker)
Sub-hour Billing + Sustained Use Discount 
1 minute granularity, 10 minute minimum 
$ 
(30%) 
Full billing cycle 
Sustained Use Discount 
● >25% use, price reduced 
● Up to 30% reduction 
● No commitment / contract
Enhanced Reliability 
us-central1-a 
scheduled maintenance event 
Live Migration 
• No downtime during scheduled 
datacenter maintenance events 
Automatic Restart 
• Instances automatically 
restarted if subjected to system 
events such as hardware failure
Networking
Images by Connie 
Zhou 
Networking 
• Google's Network 
• Projects are isolated private networks 
• TCP, UDP, ICMP only 
• Multiple private network groups and firewalls 
• Tags and address ranges 
• Addresses 
• public: static or ephemeral 
• private: ephemeral with DNS 
• Routes, gateways, VPNs, and IP Forwarding
Region: us-central1 
Target Pool (tp-a) 
Load-balancer 
• Region based 
• Session affinity, hashing options on tuples, 
• Protocol, src ip:port, dst ip:port 
• Consists of: 
us-central1-a 
www0 
www1 
tcp:80 ➔ tp-a 
• Target pool: collection of instances 
• Forwarding rules: protocol:port, pool 
• HTTP health check: optional us-central1-b 
www2 
www3 
Forwarding Rules 
tcp:443 ➔ tp-a 
Internet 
http://googlecloudplatform.blogspot.com/2013/11/compute-engine-load-balancing-hits-1-million-requests-per-second.html
...and
Noteworthy 
• Regions 
• Central United States, Europe, Asia (new!) 
• Metadata 
• Startup scripts 
• SSH Keys 
• Tags (instance/network) 
• OAuth2 and Scopes 
• Access other Google Cloud Platform services 
• Ecosystem is growing 
• Partners: RightScale, Scalr, New Relic, MongoLab, MapR, and many more... 
• Open Source: Chef, Puppet, Salt, Ansible, Vagrant, Docker, CoreOS, fog, libcloud
Agenda: September 23rd, 2014 
Whirlwind tour of Google Cloud Platform 
Diving into Google Compute Engine 
How Puppet Labs uses Google Cloud Platform 
Live Demo 
1 
2 
3 
4
Puppet DSL for Google Compute Engine 
https://forge.puppetlabs.com/puppetlabs/gce_compute
The Puppet Forge 
a real world (meta) example
Abstraction Layers for Infrastructure as Code 
Infrastructure Layer 
Role & Profile Layer 
Component Layer 
Primitive Layer 
puppetlabs-gce_compute 
custom module 
puppetlabs-postgresql 
core puppet type/provider
Agenda: September 23rd, 2014 
Whirlwind tour of Google Cloud Platform 
Diving into Google Compute Engine 
How Puppet Labs uses Google Cloud Platform 
Live Demo 
1 
2 
3 
4
Demo Architecture 
1 3 
2 4 
us-central1-a 
M 
us-central1-b 
allow tcp:80 
Load-balancer 
Target-pool 
● [M]aster resides in GCE 
● Uses gce_compute manifest to: 
○ Spin up 4 VMs 
○ Networking (firewall, LB) 
● New nodes register with Master 
● Install site.pp (apache+php+mysql) 
● Custom index.php, connects to 
Cloud SQL database 
● Let's try it out! 
Cloud SQL
Bring up the Compute Engine environment 
puppet apply /etc/puppetlabs/puppet/manifests/gce_up.pp 
# puppet apply /etc/puppetlabs/puppet/manifests/gce_up.pp 
# ... 
# cat !$ 
1 $prefix = 'pc' 
2 $zonea = 'us-central1-a' 
3 $zoneb = 'us-central1-b' 
4 $region = 'us-central1' 
5 
6 gce_auth { "graphite-demos": } 
7
Bring up the Compute Engine environment (cont) 
puppet apply /etc/puppetlabs/puppet/manifests/gce_up.pp 
8 gce_firewall { "$prefix-firewall": 
9 ensure => present, 
10 description => 'Allow HTTP', 
11 network => 'default', 
12 allowed => 'tcp:80', 
13 allowed_ip_sources => '0.0.0.0/0', 
14 } 
15 
16 gce_httphealthcheck { "$prefix-http": 
17 ensure => present, 
18 require => Gce_instance["$prefix-agent-1", "$prefix-agent-2"...], 
19 description => 'basic http health check', 
20 } 
21 ...
Bring up the Compute Engine environment (cont) 
puppet apply /etc/puppetlabs/puppet/manifests/gce_up.pp 
46 gce_disk { [ "$prefix-agent-2", "$prefix-agent-4" ]: 
47 ensure => present, 
48 size_gb => 10, 
49 zone => "$zoneb", 
50 source_image => 'debian-7', 
51 } 
52 ...
Bring up the Compute Engine environment (cont) 
puppet apply /etc/puppetlabs/puppet/manifests/gce_up.pp 
73 define create_instance_zoneb { 
74 gce_instance { "${title}": 
75 ensure => present, 
76 zone => "$zoneb", 
77 disks => "${title},boot", 
78 require => Gce_disk["${title}"], 
79 puppet_service => present, 
80 startupscript => 'pe-simplified-agent.sh', 
81 metadata => { 
82 'pe_role' => 'agent', 
83 'pe_master' => "$hostname", 
84 'pe_version' => '3.3.2', 
85 } 
86 } 
87 } 
88 
89 create_instance_zoneb { ["$prefix-agent-2", "$prefix-agent-4"]: }
The Demo App 
puppet apply /etc/puppetlabs/puppet/manifests/gce_up.pp 
1 <html> 
2 <title>PuppetConf 2014</title> 
3 <body> 
4 <h1>PuppetConf 2014: Puppetizing Google Cloud Platform</h1> 
5 ... 
6 <!-- A couple 'facter' facts --> 
7 <ul>This app is being served from host: <b><%= @ hostname %> [<%= 
@fqdn %>, 7 <%= @ipaddress %>]</b></ul> 
8 <p>Please enter a Nick and Message and watch it appear below:</p> 
9 ... 
10 <?php 
11 $db = mysqli_connect("173.194.254.93", "puppetconf", " my_password", 
"puppetconf"); 
12 ... 
13 ?>
cloud.google.com 
• Try out Google Cloud Platform with a $500 Credit 
• Visit https://cloud.google.com/starterpack and use promo code puppet14-con 
• Want more? 
• Try the demo on your own at https://bit.ly/puppet-gce-demo 
• or see http://googlecloudplatform.github.io/compute-video-demo-puppet 
• We welcome your help and feedback to make Puppet + GCE even better! 
• Find us at gce-discussion@googlegroups.com or 
https://github.com/puppetlabs/puppetlabs-gce_compute
FIN

Weitere ähnliche Inhalte

Was ist angesagt?

Google Cloud Platform
Google Cloud PlatformGoogle Cloud Platform
Google Cloud Platform
VMware Tanzu
 
Google cloud platform
Google cloud platformGoogle cloud platform
Google cloud platform
rajdeep
 

Was ist angesagt? (20)

Introduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesIntroduction to Google's Cloud Technologies
Introduction to Google's Cloud Technologies
 
Google Cloud Technologies Overview
Google Cloud Technologies OverviewGoogle Cloud Technologies Overview
Google Cloud Technologies Overview
 
Google cloud platform introduction
Google cloud platform introductionGoogle cloud platform introduction
Google cloud platform introduction
 
Cloud computing by Google Cloud Platform - Presentation
Cloud computing by Google Cloud Platform - PresentationCloud computing by Google Cloud Platform - Presentation
Cloud computing by Google Cloud Platform - Presentation
 
Introduction to Google Cloud Services / Platforms
Introduction to Google Cloud Services / PlatformsIntroduction to Google Cloud Services / Platforms
Introduction to Google Cloud Services / Platforms
 
Understanding cloud with Google Cloud Platform
Understanding cloud with Google Cloud PlatformUnderstanding cloud with Google Cloud Platform
Understanding cloud with Google Cloud Platform
 
Google Compute Engine
Google Compute EngineGoogle Compute Engine
Google Compute Engine
 
Getting started with Google Cloud Training Material - 2018
Getting started with Google Cloud Training Material - 2018Getting started with Google Cloud Training Material - 2018
Getting started with Google Cloud Training Material - 2018
 
L2 3.fa19
L2 3.fa19L2 3.fa19
L2 3.fa19
 
Google Cloud Platform - Eric Johnson, Joe Selman - ManageIQ Design Summit 2016
Google Cloud Platform - Eric Johnson, Joe Selman - ManageIQ Design Summit 2016Google Cloud Platform - Eric Johnson, Joe Selman - ManageIQ Design Summit 2016
Google Cloud Platform - Eric Johnson, Joe Selman - ManageIQ Design Summit 2016
 
Google Cloud Platform
Google Cloud PlatformGoogle Cloud Platform
Google Cloud Platform
 
Using Google Compute Engine
Using Google Compute EngineUsing Google Compute Engine
Using Google Compute Engine
 
Google Cloud Connect Korea - Sep 2017
Google Cloud Connect Korea - Sep 2017Google Cloud Connect Korea - Sep 2017
Google Cloud Connect Korea - Sep 2017
 
Google Cloud Platform as a Backend Solution for your Product
Google Cloud Platform as a Backend Solution for your ProductGoogle Cloud Platform as a Backend Solution for your Product
Google Cloud Platform as a Backend Solution for your Product
 
Google Cloud Platform for Data Science teams
Google Cloud Platform for Data Science teamsGoogle Cloud Platform for Data Science teams
Google Cloud Platform for Data Science teams
 
GDG DevFest Romania - Architecting for the Google Cloud Platform
GDG DevFest Romania - Architecting for the Google Cloud PlatformGDG DevFest Romania - Architecting for the Google Cloud Platform
GDG DevFest Romania - Architecting for the Google Cloud Platform
 
Google Cloud Platform Update
Google Cloud Platform UpdateGoogle Cloud Platform Update
Google Cloud Platform Update
 
Google cloud platform
Google cloud platformGoogle cloud platform
Google cloud platform
 
GDG Heraklion - Architecting for the Google Cloud Platform
GDG Heraklion - Architecting for the Google Cloud PlatformGDG Heraklion - Architecting for the Google Cloud Platform
GDG Heraklion - Architecting for the Google Cloud Platform
 
Build with all of Google Cloud
Build with all of Google CloudBuild with all of Google Cloud
Build with all of Google Cloud
 

Andere mochten auch

Andere mochten auch (20)

Cloud Spin - building a photo booth with the Google Cloud Platform
Cloud Spin - building a photo booth with the Google Cloud PlatformCloud Spin - building a photo booth with the Google Cloud Platform
Cloud Spin - building a photo booth with the Google Cloud Platform
 
Delegating Data Management to the Cloud: A Case Study in a Telecommunications...
Delegating Data Management to the Cloud: A Case Study in a Telecommunications...Delegating Data Management to the Cloud: A Case Study in a Telecommunications...
Delegating Data Management to the Cloud: A Case Study in a Telecommunications...
 
SaltConf14 - Eric johnson, Google - Orchestrating Google Compute Engine with ...
SaltConf14 - Eric johnson, Google - Orchestrating Google Compute Engine with ...SaltConf14 - Eric johnson, Google - Orchestrating Google Compute Engine with ...
SaltConf14 - Eric johnson, Google - Orchestrating Google Compute Engine with ...
 
Solving enterprise challenges through scale out storage &amp; big compute final
Solving enterprise challenges through scale out storage &amp; big compute finalSolving enterprise challenges through scale out storage &amp; big compute final
Solving enterprise challenges through scale out storage &amp; big compute final
 
Log collect with google fluentd
Log collect with google fluentdLog collect with google fluentd
Log collect with google fluentd
 
Meet the experts: autoscaling in the cloud - case study Teleticket Service & ...
Meet the experts: autoscaling in the cloud - case study Teleticket Service & ...Meet the experts: autoscaling in the cloud - case study Teleticket Service & ...
Meet the experts: autoscaling in the cloud - case study Teleticket Service & ...
 
Plan your Log Platform at Google Cloud Platform
Plan your Log Platform at Google Cloud PlatformPlan your Log Platform at Google Cloud Platform
Plan your Log Platform at Google Cloud Platform
 
Auto scaling websites in the cloud
Auto scaling websites in the cloudAuto scaling websites in the cloud
Auto scaling websites in the cloud
 
A Modern Finance Case Study – Cloud or On-Premise
A Modern Finance Case Study – Cloud or On-PremiseA Modern Finance Case Study – Cloud or On-Premise
A Modern Finance Case Study – Cloud or On-Premise
 
A Complete Guide to the Google Cloud Platform
A Complete Guide to the Google Cloud PlatformA Complete Guide to the Google Cloud Platform
A Complete Guide to the Google Cloud Platform
 
Deploying SaaS Application on the Cloud - Case Study
Deploying SaaS Application on the Cloud - Case StudyDeploying SaaS Application on the Cloud - Case Study
Deploying SaaS Application on the Cloud - Case Study
 
Deploying NGINX Plus & Kubernetes on Google Cloud Platform
Deploying NGINX Plus & Kubernetes on Google Cloud PlatformDeploying NGINX Plus & Kubernetes on Google Cloud Platform
Deploying NGINX Plus & Kubernetes on Google Cloud Platform
 
Outsourcing Services: What is right for your organisation
Outsourcing Services: What is right for your organisationOutsourcing Services: What is right for your organisation
Outsourcing Services: What is right for your organisation
 
Continuous Integration & Continuous Delivery with GCP
Continuous Integration & Continuous Delivery with GCPContinuous Integration & Continuous Delivery with GCP
Continuous Integration & Continuous Delivery with GCP
 
Use Cases from Batch to Streaming, MapReduce to Spark, Mainframe to Cloud: To...
Use Cases from Batch to Streaming, MapReduce to Spark, Mainframe to Cloud: To...Use Cases from Batch to Streaming, MapReduce to Spark, Mainframe to Cloud: To...
Use Cases from Batch to Streaming, MapReduce to Spark, Mainframe to Cloud: To...
 
Cloud Presentation and OpenStack case studies -- Harvard University
Cloud Presentation and OpenStack case studies -- Harvard UniversityCloud Presentation and OpenStack case studies -- Harvard University
Cloud Presentation and OpenStack case studies -- Harvard University
 
Disaster Recovery in the Cloud: A Case Study - AWS Washington D.C. Symposium ...
Disaster Recovery in the Cloud: A Case Study - AWS Washington D.C. Symposium ...Disaster Recovery in the Cloud: A Case Study - AWS Washington D.C. Symposium ...
Disaster Recovery in the Cloud: A Case Study - AWS Washington D.C. Symposium ...
 
Google Cloud Platform and Kubernetes
Google Cloud Platform and KubernetesGoogle Cloud Platform and Kubernetes
Google Cloud Platform and Kubernetes
 
Shakr - Container CI/CD with Google Cloud Platform
Shakr - Container CI/CD with Google Cloud PlatformShakr - Container CI/CD with Google Cloud Platform
Shakr - Container CI/CD with Google Cloud Platform
 
Google Cloud Platform : The API model
Google Cloud Platform : The API modelGoogle Cloud Platform : The API model
Google Cloud Platform : The API model
 

Ähnlich wie How to Puppetize Google Cloud Platform - PuppetConf 2014

GTC Taiwan 2017 在 Google Cloud 當中使用 GPU 進行效能最佳化
GTC Taiwan 2017 在 Google Cloud 當中使用 GPU 進行效能最佳化GTC Taiwan 2017 在 Google Cloud 當中使用 GPU 進行效能最佳化
GTC Taiwan 2017 在 Google Cloud 當中使用 GPU 進行效能最佳化
NVIDIA Taiwan
 
Puppet and CloudStack
Puppet and CloudStackPuppet and CloudStack
Puppet and CloudStack
ke4qqq
 
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on KubernetesApache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
DataWorks Summit
 

Ähnlich wie How to Puppetize Google Cloud Platform - PuppetConf 2014 (20)

Kubernetes - State of the Union (Q1-2016)
Kubernetes - State of the Union (Q1-2016)Kubernetes - State of the Union (Q1-2016)
Kubernetes - State of the Union (Q1-2016)
 
Infrastructure Management in GCP
Infrastructure Management in GCPInfrastructure Management in GCP
Infrastructure Management in GCP
 
Get Your Head in the Cloud - Lessons in GPU Computing with Schlumberger
Get Your Head in the Cloud - Lessons in GPU Computing with SchlumbergerGet Your Head in the Cloud - Lessons in GPU Computing with Schlumberger
Get Your Head in the Cloud - Lessons in GPU Computing with Schlumberger
 
Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)
Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)
Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)
 
Containerised ASP.NET Core apps with Kubernetes
Containerised ASP.NET Core apps with KubernetesContainerised ASP.NET Core apps with Kubernetes
Containerised ASP.NET Core apps with Kubernetes
 
GCP - GCE, Cloud SQL, Cloud Storage, BigQuery Basic Training
GCP - GCE, Cloud SQL, Cloud Storage, BigQuery Basic TrainingGCP - GCE, Cloud SQL, Cloud Storage, BigQuery Basic Training
GCP - GCE, Cloud SQL, Cloud Storage, BigQuery Basic Training
 
GTC Taiwan 2017 在 Google Cloud 當中使用 GPU 進行效能最佳化
GTC Taiwan 2017 在 Google Cloud 當中使用 GPU 進行效能最佳化GTC Taiwan 2017 在 Google Cloud 當中使用 GPU 進行效能最佳化
GTC Taiwan 2017 在 Google Cloud 當中使用 GPU 進行效能最佳化
 
Mattia Gandolfi - Improving utilization and portability with Containers and C...
Mattia Gandolfi - Improving utilization and portability with Containers and C...Mattia Gandolfi - Improving utilization and portability with Containers and C...
Mattia Gandolfi - Improving utilization and portability with Containers and C...
 
Flink Forward SF 2017: James Malone - Make The Cloud Work For You
Flink Forward SF 2017: James Malone - Make The Cloud Work For YouFlink Forward SF 2017: James Malone - Make The Cloud Work For You
Flink Forward SF 2017: James Malone - Make The Cloud Work For You
 
Using Deep Learning Toolkits with Kubernetes clusters
Using Deep Learning Toolkits with Kubernetes clustersUsing Deep Learning Toolkits with Kubernetes clusters
Using Deep Learning Toolkits with Kubernetes clusters
 
GPU cloud with Job scheduler and Container
GPU cloud with Job scheduler and ContainerGPU cloud with Job scheduler and Container
GPU cloud with Job scheduler and Container
 
Puppet and CloudStack
Puppet and CloudStackPuppet and CloudStack
Puppet and CloudStack
 
Mete Atamel
Mete AtamelMete Atamel
Mete Atamel
 
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
 
Improving Apache Spark Downscaling
 Improving Apache Spark Downscaling Improving Apache Spark Downscaling
Improving Apache Spark Downscaling
 
Serverless Data Architecture at scale on Google Cloud Platform
Serverless Data Architecture at scale on Google Cloud PlatformServerless Data Architecture at scale on Google Cloud Platform
Serverless Data Architecture at scale on Google Cloud Platform
 
Google Cloud - Scale With A Smile (Dec 2014)
Google Cloud - Scale With A Smile (Dec 2014)Google Cloud - Scale With A Smile (Dec 2014)
Google Cloud - Scale With A Smile (Dec 2014)
 
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on KubernetesApache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
 
Puppet Camp Silicon Valley 2015: How TubeMogul reached 10,000 Puppet Deployme...
Puppet Camp Silicon Valley 2015: How TubeMogul reached 10,000 Puppet Deployme...Puppet Camp Silicon Valley 2015: How TubeMogul reached 10,000 Puppet Deployme...
Puppet Camp Silicon Valley 2015: How TubeMogul reached 10,000 Puppet Deployme...
 
The Rise of Parallel Computing
The Rise of Parallel ComputingThe Rise of Parallel Computing
The Rise of Parallel Computing
 

Mehr von Puppet

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
Puppet
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
Puppet
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
Puppet
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
Puppet
 

Mehr von Puppet (20)

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyaml
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscode
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twenties
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approach
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliance
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden Windows
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael Pinson
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping ground
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User Group
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOps
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
 

KĂźrzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

KĂźrzlich hochgeladen (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

How to Puppetize Google Cloud Platform - PuppetConf 2014

  • 1. HOWTO:Puppetizing Google Cloud Platform Katharina Probst, Technical Lead & Manager (Google) Ryan Coleman, Product Manager (Puppet Labs)
  • 2. Agenda: September 23rd, 2014 Whirlwind tour of Google Cloud Platform Diving into Google Compute Engine How Puppet Labs uses Google Cloud Platform Live Demo 1 2 3 4
  • 3. Agenda: September 23rd, 2014 Whirlwind tour of Google Cloud Platform Diving into Google Compute Engine How Puppet Labs uses Google Cloud Platform Live Demo 1 2 3 4
  • 4. For the past 15 years, Google has been building out the world’s fastest, most powerful, highest quality cloud infrastructure on the planet. Images by Connie Zhou Why Google Cloud Platform?
  • 5. Building Products that Scale Google Maps Gmail Google Drive YouTube
  • 6. A Network that Spans the Globe
  • 7. Innovating Software & Driving Technology Forward MapReduce Dremel Spanner Big Table Colossus GFS Compute Engine 2002 2004 2006 2008 2010 2012 2013
  • 8. “[Google's] ability to build, organize, and operate a huge network of servers and fiber-optic cables with an efficiency and speed that rocks physics on its heels. This is what makes Google Google: its physical network, its thousands of fiber miles, and those many thousands of servers that, in aggregate, add up to the mother of all clouds.” - Wired Images by Connie Zhou
  • 9. Storage Cloud Storage Cloud SQL Cloud Datastore Compute Compute App Engine Engine App Services BigQuery Cloud Endpoints Google Cloud Platform Cloud DNS
  • 10. Compute Compute App Engine Engine Storage Cloud Storage Cloud SQL Cloud Datastore Power Computation App Services BigQuery Cloud Endpoints Cloud DNS
  • 11. Storing What You Want, However You Want Storage Cloud Storage Cloud SQL Cloud Datastore Compute Compute App Engine Engine App Services BigQuery Cloud Endpoints Cloud DNS
  • 12. App Services BigQuery Cloud Endpoints Building Robust, Intelligent Systems Storage Cloud Storage Cloud SQL Cloud Datastore Compute Compute App Engine Engine Cloud DNS
  • 13. Agenda: September 23rd, 2014 Whirlwind tour of Google Cloud Platform Diving into Google Compute Engine How Puppet Labs uses Google Cloud Platform Live Demo 1 2 3 4
  • 14. Google Compute Engine • IaaS: VMs, Network, Storage • Google DNA (speed, scale, reliable, secure) • Fast Provisioning, Consistent Performance • Enterprise Ready • 24x7 Support • 99.95% monthly SLA • ISO 27001, SSAE-16 SOC 1,2,3 • Accessible Through • Web @ https://cloud.google.com/console • gcloud compute command-line utility • REST API • Partners (Commercial and FOSS)
  • 17. Persistent Disk 10 TB • SSD and "Standard" • Data and root partitions • Billed only by capacity (GB/month) • Performance caps scale linearly with size • Volume striping is automatic • Differential snapshots • Create new PDs based on snapshots
  • 18. PD Use-cases Root Stateful root volume Root RW Data User managed data volume RO Data Instant distribution of static content
  • 19. Global Snapshot and Restore vol1 vol2 vol3 GCS vol1. t2 vol2. t2 vol3. t3 t1 t1 t1 t1 t1 t1 t1 t1 t1 t1 t1 t1 t1 t2 t2 t2 t2 t3 t3 t3 ● Point in time snapshot to Google Cloud Storage (GCS) ● Differential snapshots ● GCS global replication! ● Restore from snapshot anywhere in the world us-central1-a europe-west1-a
  • 21. Machine Types Machine Type Virtual Cores standard • For workloads with balanced CPU and memory highmem • For workloads with higher memory requirements highcpu • For workloads with higher CPU requirements Shared Core Instances • For inexpensive prototyping and staging workloads (g1-small, f1-micro) Memory (GB) n1-standard-1 1 3.75 n1-standard-2 2 7.50 n1-standard-4 4 15.00 n1-standard-8 8 30.00 n1-standard-16 16 60.00 n1-highmem-2 2 13.00 n1-highmem-4 4 26.00 n1-highmem-8 8 52.00 n1-highmem-16 16 104.00 n1-highcpu-2 2 1.80 n1-highcpu-4 4 3.60 n1-highcpu-8 8 7.20 n1-highcpu-16 16 14.40
  • 22. Images + Custom Kernel Support (debian backports works great for docker)
  • 23. Sub-hour Billing + Sustained Use Discount 1 minute granularity, 10 minute minimum $ (30%) Full billing cycle Sustained Use Discount ● >25% use, price reduced ● Up to 30% reduction ● No commitment / contract
  • 24. Enhanced Reliability us-central1-a scheduled maintenance event Live Migration • No downtime during scheduled datacenter maintenance events Automatic Restart • Instances automatically restarted if subjected to system events such as hardware failure
  • 26. Images by Connie Zhou Networking • Google's Network • Projects are isolated private networks • TCP, UDP, ICMP only • Multiple private network groups and firewalls • Tags and address ranges • Addresses • public: static or ephemeral • private: ephemeral with DNS • Routes, gateways, VPNs, and IP Forwarding
  • 27. Region: us-central1 Target Pool (tp-a) Load-balancer • Region based • Session affinity, hashing options on tuples, • Protocol, src ip:port, dst ip:port • Consists of: us-central1-a www0 www1 tcp:80 ➔ tp-a • Target pool: collection of instances • Forwarding rules: protocol:port, pool • HTTP health check: optional us-central1-b www2 www3 Forwarding Rules tcp:443 ➔ tp-a Internet http://googlecloudplatform.blogspot.com/2013/11/compute-engine-load-balancing-hits-1-million-requests-per-second.html
  • 29. Noteworthy • Regions • Central United States, Europe, Asia (new!) • Metadata • Startup scripts • SSH Keys • Tags (instance/network) • OAuth2 and Scopes • Access other Google Cloud Platform services • Ecosystem is growing • Partners: RightScale, Scalr, New Relic, MongoLab, MapR, and many more... • Open Source: Chef, Puppet, Salt, Ansible, Vagrant, Docker, CoreOS, fog, libcloud
  • 30. Agenda: September 23rd, 2014 Whirlwind tour of Google Cloud Platform Diving into Google Compute Engine How Puppet Labs uses Google Cloud Platform Live Demo 1 2 3 4
  • 31. Puppet DSL for Google Compute Engine https://forge.puppetlabs.com/puppetlabs/gce_compute
  • 32.
  • 33. The Puppet Forge a real world (meta) example
  • 34.
  • 35.
  • 36.
  • 37.
  • 38. Abstraction Layers for Infrastructure as Code Infrastructure Layer Role & Profile Layer Component Layer Primitive Layer puppetlabs-gce_compute custom module puppetlabs-postgresql core puppet type/provider
  • 39. Agenda: September 23rd, 2014 Whirlwind tour of Google Cloud Platform Diving into Google Compute Engine How Puppet Labs uses Google Cloud Platform Live Demo 1 2 3 4
  • 40. Demo Architecture 1 3 2 4 us-central1-a M us-central1-b allow tcp:80 Load-balancer Target-pool ● [M]aster resides in GCE ● Uses gce_compute manifest to: ○ Spin up 4 VMs ○ Networking (firewall, LB) ● New nodes register with Master ● Install site.pp (apache+php+mysql) ● Custom index.php, connects to Cloud SQL database ● Let's try it out! Cloud SQL
  • 41. Bring up the Compute Engine environment puppet apply /etc/puppetlabs/puppet/manifests/gce_up.pp # puppet apply /etc/puppetlabs/puppet/manifests/gce_up.pp # ... # cat !$ 1 $prefix = 'pc' 2 $zonea = 'us-central1-a' 3 $zoneb = 'us-central1-b' 4 $region = 'us-central1' 5 6 gce_auth { "graphite-demos": } 7
  • 42. Bring up the Compute Engine environment (cont) puppet apply /etc/puppetlabs/puppet/manifests/gce_up.pp 8 gce_firewall { "$prefix-firewall": 9 ensure => present, 10 description => 'Allow HTTP', 11 network => 'default', 12 allowed => 'tcp:80', 13 allowed_ip_sources => '0.0.0.0/0', 14 } 15 16 gce_httphealthcheck { "$prefix-http": 17 ensure => present, 18 require => Gce_instance["$prefix-agent-1", "$prefix-agent-2"...], 19 description => 'basic http health check', 20 } 21 ...
  • 43. Bring up the Compute Engine environment (cont) puppet apply /etc/puppetlabs/puppet/manifests/gce_up.pp 46 gce_disk { [ "$prefix-agent-2", "$prefix-agent-4" ]: 47 ensure => present, 48 size_gb => 10, 49 zone => "$zoneb", 50 source_image => 'debian-7', 51 } 52 ...
  • 44. Bring up the Compute Engine environment (cont) puppet apply /etc/puppetlabs/puppet/manifests/gce_up.pp 73 define create_instance_zoneb { 74 gce_instance { "${title}": 75 ensure => present, 76 zone => "$zoneb", 77 disks => "${title},boot", 78 require => Gce_disk["${title}"], 79 puppet_service => present, 80 startupscript => 'pe-simplified-agent.sh', 81 metadata => { 82 'pe_role' => 'agent', 83 'pe_master' => "$hostname", 84 'pe_version' => '3.3.2', 85 } 86 } 87 } 88 89 create_instance_zoneb { ["$prefix-agent-2", "$prefix-agent-4"]: }
  • 45. The Demo App puppet apply /etc/puppetlabs/puppet/manifests/gce_up.pp 1 <html> 2 <title>PuppetConf 2014</title> 3 <body> 4 <h1>PuppetConf 2014: Puppetizing Google Cloud Platform</h1> 5 ... 6 <!-- A couple 'facter' facts --> 7 <ul>This app is being served from host: <b><%= @ hostname %> [<%= @fqdn %>, 7 <%= @ipaddress %>]</b></ul> 8 <p>Please enter a Nick and Message and watch it appear below:</p> 9 ... 10 <?php 11 $db = mysqli_connect("173.194.254.93", "puppetconf", " my_password", "puppetconf"); 12 ... 13 ?>
  • 46. cloud.google.com • Try out Google Cloud Platform with a $500 Credit • Visit https://cloud.google.com/starterpack and use promo code puppet14-con • Want more? • Try the demo on your own at https://bit.ly/puppet-gce-demo • or see http://googlecloudplatform.github.io/compute-video-demo-puppet • We welcome your help and feedback to make Puppet + GCE even better! • Find us at gce-discussion@googlegroups.com or https://github.com/puppetlabs/puppetlabs-gce_compute
  • 47. FIN