Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction to Google Cloud Platform

Introduction to Google Cloud Platform

An introduction and discussion of a few points in Google Cloud Platform.

Terrence Ryan

May 14, 2015
Tweet

More Decks by Terrence Ryan

Other Decks in Technology

Transcript

  1. ‹#› ‹#› @tpryan Cloud Bingo B I N G O

    Virtual Machine PAAS Storage No Ops Dev Ops IAAS Container Logging SQL NoSQL Big Data Load Balancer CDN Scale Latency VPN SSD Terabyte CLOUD Microservices Mobile Data Center Client Data HTTPS
  2. ‹#› ‹#› @tpryan • Did we hit all of the

    buzzwords? Cloud Bingo B I N G O Virtual Machine PAAS Storage No Ops Dev Ops IAAS Container Logging SQL NoSQL Big Data Load Balancer CDN Scale Latency VPN SSD Terabyte CLOUD Microservices Mobile Data Center Client Data HTTPS
  3. ‹#› ‹#› @tpryan • Did we hit all of the

    buzzwords? • Did we say “Cloud” Enough? Cloud Bingo B I N G O Virtual Machine PAAS Storage No Ops Dev Ops IAAS Container Logging SQL NoSQL Big Data Load Balancer CDN Scale Latency VPN SSD Terabyte CLOUD Microservices Mobile Data Center Client Data HTTPS
  4. ‹#› @tpryan CDN IAAS Security VPN Storage Cloud NoOps Data

    Center PAAS Load Balancing Logging DevOps Microservices NoSQL SQL Virtual Machine Mobile Latency Difference Scale Pricing Services
  5. ‹#› @tpryan Security Storage Data Center PAAS Load Balancing Logging

    DevOps Microservices NoSQL Virtual Machine Mobile Latency CDN IAAS Security VPN Storage Cloud NoOps Data Center PAAS Load Balancing Logging DevOps Microservices NoSQL SQL Virtual Machine Mobile Latency Difference CDN IAAS VPN Cloud NoOps SQL Scale Pricing Services
  6. ‹#› @tpryan Security Storage Data Center PAAS Load Balancing Logging

    DevOps Microservices NoSQL Virtual Machine Mobile Latency CDN IAAS Security VPN Storage Cloud NoOps Data Center PAAS Load Balancing Logging DevOps Microservices NoSQL SQL Virtual Machine Mobile Latency Difference CDN IAAS VPN Cloud NoOps SQL Scale Pricing Services CDN IAAS Security VPN Storage Cloud NoOps Scale Data Center PAAS Load Balancing Logging DevOps Microservices NoSQL SQL Virtual Machine Mobile Latency Cloud IAAS VPN
  7. ‹#› @tpryan Security Storage Data Center PAAS Load Balancing Logging

    DevOps Microservices NoSQL Virtual Machine Mobile Latency CDN IAAS Security VPN Storage Cloud NoOps Data Center PAAS Load Balancing Logging DevOps Microservices NoSQL SQL Virtual Machine Mobile Latency Difference CDN IAAS VPN Cloud NoOps SQL Scale Pricing Services CDN IAAS Security VPN Storage Cloud NoOps Scale Data Center PAAS Load Balancing Logging DevOps Microservices NoSQL SQL Virtual Machine Mobile Latency Cloud IAAS VPN
  8. ‹#› @tpryan • Platform as a Service • Built in

    services • Auto Scaling • Supports: App Engine Python Java PHP Go
  9. ‹#› @tpryan • Platform as a Service • Built in

    services • Auto Scaling • Supports: App Engine Python Java PHP Go Ruby Node Containers
  10. ‹#› @tpryan App Engine Avg Server 86 M Popular Site

    500 M Wikipedia 15 B User Sessions
  11. ‹#› @tpryan App Engine Avg Server 86 M Popular Site

    500 M Wikipedia 15 B App Engine User Sessions
  12. ‹#› @tpryan App Engine App Engine 100 B Avg 


    Server 86 M Popular Site 500 M Wikipedia 15 B User Sessions
  13. ‹#› @tpryan SongPop 100 400,075 800,050 1,200,025 1,600,000 May 2012

    July 2012 Sept 2012 December 2012 500,000 1,500,000 100,000 500,000 100,000
  14. ‹#› @tpryan SongPop 100 400,075 800,050 1,200,025 1,600,000 May 2012

    July 2012 Sept 2012 December 2012 500,000 1,500,000 100,000 500,000 100,000 100,000 
 Daily Active Users Opened a premier account
  15. ‹#› @tpryan SongPop 100 400,075 800,050 1,200,025 1,600,000 May 2012

    July 2012 Sept 2012 December 2012 500,000 1,500,000 100,000 500,000 100,000 100,000 
 Daily Active Users Opened a premier account 500,000 Daily Active Users Tweaked caching and datamodel
  16. ‹#› @tpryan SongPop 100 400,075 800,050 1,200,025 1,600,000 May 2012

    July 2012 Sept 2012 December 2012 500,000 1,500,000 100,000 500,000 100,000 100,000 
 Daily Active Users Opened a premier account 500,000 Daily Active Users Tweaked caching and datamodel 1,500,000 Daily Active Users Adjusted Indices
  17. ‹#› @tpryan GCE Instance are better • Google Network •

    Fast Spin up • High Bandwidth • Consistent • Storage Options • Standard • SSD • Attached SSD
  18. ‹#› @tpryan Big Query • Scan Terabytes in seconds •

    Use SQLish Queries • REST, Web UI, ODBC
  19. @tpryan Count to a Million SELECT sum(requests) as total FROM

    [fh-bigquery:wikipedia.pagecounts_20151109_18]
  20. @tpryan Count to a Billion SELECT sum(requests) as total FROM

    [fh-bigquery:wikipedia.pagecounts_201505]
  21. @tpryan Count to a Trillion SELECT SUM(requests) AS total FROM

    TABLE_QUERY( [fh-bigquery:wikipedia], 'REGEXP_MATCH( table_id, r"pagecounts_201[3-4][0-9]{2}$")')
  22. @tpryan Run a RegEx on a Hundreds of Billions SELECT

    SUM(requests) AS total FROM TABLE_QUERY( [fh-bigquery:wikipedia], 'REGEXP_MATCH( table_id, r"pagecounts_201[3-4][0-9]{2}$")') WHERE (REGEXP_MATCH(title, '.*[dD]inosaur.*'))
  23. ‹#› @tpryan Security Storage Data Center PAAS Load Balancing Logging

    DevOps Microservices NoSQL Virtual Machine Mobile Latency CDN IAAS Security VPN Storage Cloud NoOps Data Center PAAS Load Balancing Logging DevOps Microservices NoSQL SQL Virtual Machine Mobile Latency Difference CDN IAAS VPN Cloud NoOps SQL Scale Pricing Services CDN IAAS Security VPN Storage Cloud NoOps Scale Data Center PAAS Load Balancing Logging DevOps Microservices NoSQL SQL Virtual Machine Mobile Latency Cloud IAAS VPN
  24. ‹#› @tpryan Kubernetes • Container Orchestration System • Open Source

    • Started by Google • Contributed to by others
  25. ‹#› @tpryan # BACKEND FROM ubuntu:12.04 ADD ./mysql-setup.sh /tmp/mysql-setup.sh RUN

    /bin/sh /tmp/mysql-setup.sh EXPOSE 3306 CMD ["/usr/sbin/mysqld"]
  26. ‹#› @tpryan # FRONTEND AND SERVICES FROM nginx-php-fpm COPY nginx.conf

    /etc/nginx/nginx.conf ADD www /var/www/ # JUST SERVICES FROM nginx-php-fpm COPY nginx.conf /etc/nginx/nginx.conf ADD www /var/www/
  27. ‹#› @tpryan # FRONTEND AND SERVICES FROM nginx-php-fpm COPY nginx.conf

    /etc/nginx/nginx.conf ADD www /var/www/ # FRONTEND FROM nginx COPY nginx.conf /etc/nginx/nginx.conf ADD www /var/www/
  28. ‹#› @tpryan # BACKEND FROM ubuntu:12.04 ADD ./mysql-setup.sh /tmp/mysql-setup.sh RUN

    /bin/sh /tmp/mysql-setup.sh EXPOSE 3306 CMD ["/usr/sbin/mysqld"]
  29. ‹#› @tpryan # BACKEND FROM ubuntu:12.04 ADD ./mysql-setup.sh /tmp/mysql-setup.sh RUN

    /bin/sh /tmp/mysql-setup.sh EXPOSE 3306 CMD ["/usr/sbin/mysqld"] # BACKEND FROM ubuntu:12.04 ADD ./mysql-setup.sh /tmp/mysql-setup.sh RUN /bin/sh /tmp/mysql-setup.sh EXPOSE 3306 VOLUME ["/etc/mysql", "/var/lib/mysql"] CMD ["/usr/sbin/mysqld"]
  30. ‹#› @tpryan Setting up a cluster • Choose an infrastructure:

    • Google Cloud Platform, AWS, Azure, Rackspace, on-premises, …
  31. ‹#› @tpryan Setting up a cluster • Choose an infrastructure:

    • Google Cloud Platform, AWS, Azure, Rackspace, on-premises, …
  32. ‹#› @tpryan Setting up a cluster • Choose an infrastructure:

    • Google Cloud Platform, AWS, Azure, Rackspace, on-premises, … • Choose a node OS: • CoreOS, Atomic, RHEL, Debian, CentOS, Ubuntu, ...
  33. ‹#› @tpryan Setting up a cluster • Choose an infrastructure:

    • Google Cloud Platform, AWS, Azure, Rackspace, on-premises, … • Choose a node OS: • CoreOS, Atomic, RHEL, Debian, CentOS, Ubuntu, ... • Provision machines: • Boot VMs, install and run kube components, ...
  34. ‹#› @tpryan Setting up a cluster • Choose an infrastructure:

    • Google Cloud Platform, AWS, Azure, Rackspace, on-premises, … • Choose a node OS: • CoreOS, Atomic, RHEL, Debian, CentOS, Ubuntu, ... • Provision machines: • Boot VMs, install and run kube components, ...
  35. ‹#› @tpryan Setting up a cluster • Choose an infrastructure:

    • Google Cloud Platform, AWS, Azure, Rackspace, on-premises, … • Choose a node OS: • CoreOS, Atomic, RHEL, Debian, CentOS, Ubuntu, ... • Provision machines: • Boot VMs, install and run kube components, ... • Configure networking: • IP ranges for Pods, Services, SDN, ...
  36. ‹#› @tpryan Setting up a cluster • Choose an infrastructure:

    • Google Cloud Platform, AWS, Azure, Rackspace, on-premises, … • Choose a node OS: • CoreOS, Atomic, RHEL, Debian, CentOS, Ubuntu, ... • Provision machines: • Boot VMs, install and run kube components, ... • Configure networking: • IP ranges for Pods, Services, SDN, ...
  37. ‹#› @tpryan Setting up a cluster • Choose an infrastructure:

    • Google Cloud Platform, AWS, Azure, Rackspace, on-premises, … • Choose a node OS: • CoreOS, Atomic, RHEL, Debian, CentOS, Ubuntu, ... • Provision machines: • Boot VMs, install and run kube components, ... • Configure networking: • IP ranges for Pods, Services, SDN, ... • Start cluster services: • DNS, logging, monitoring, ...
  38. ‹#› @tpryan Setting up a cluster • Choose an infrastructure:

    • Google Cloud Platform, AWS, Azure, Rackspace, on-premises, … • Choose a node OS: • CoreOS, Atomic, RHEL, Debian, CentOS, Ubuntu, ... • Provision machines: • Boot VMs, install and run kube components, ... • Configure networking: • IP ranges for Pods, Services, SDN, ... • Start cluster services: • DNS, logging, monitoring, ... • Manage nodes: • kernel upgrades, OS updates, hardware failures...