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

NGINX at Google Scale

Terrence Ryan
September 24, 2015

NGINX at Google Scale

Number of ways to run NGINX on Google Cloud Platform

Terrence Ryan

September 24, 2015
Tweet

More Decks by Terrence Ryan

Other Decks in Technology

Transcript

  1. ‹#› ‹#› @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
  2. ‹#› ‹#› @tpryan • Infrastructure as a Service • VM’s

    • SSH Access • Multiple performance options Compute Engine
  3. ‹#› ‹#› @tpryan Pros • Infinitely configurable • Manual scaling

    • Startup time: 10s of seconds • Many performance options Compute Engine Cons • Management is on you • Scale is on you. (we can help)
  4. ‹#› ‹#› @tpryan Pros • Preloaded VMs • Customized •

    Optimized • Can then do whatever you want. Cloud Launcher Cons • You might only like systems that you yourself configure
  5. ‹#› ‹#› @tpryan •Extension of App Engine •Uses Docker to

    run containers •Can use - Google configured containers - custom containers Managed VMs
  6. ‹#› ‹#› @tpryan Pros • Easy to get started with

    containers • Works with Autoscaling tech Managed VM Cons • Still evolving • Can be a little slow
  7. @tpryan ‹#› Container Engine # Set nginx base image FROM

    nginx-php-fpm # Copy custom configuration file from the current directory COPY nginx.conf /etc/nginx/nginx.conf Front end
  8. @tpryan ‹#› Container Engine FROM ubuntu:12.04 MAINTAINER Kimbro Staken version:

    0.1 ADD ./mysql-setup.sh /tmp/mysql-setup.sh RUN /bin/sh /tmp/mysql-setup.sh EXPOSE 3306 CMD ["/usr/sbin/mysqld"] Back end
  9. @tpryan ‹#› Container Engine Front end Back end Frontend container

    Expose Port 80 Backend container Expose port 3306 Environment variables Disk Mounting Info
  10. @tpryan ‹#› Make sure there are always 3 front end

    servers and 2 backend servers Front end Container Engine Back end Front end Front end Back end
  11. @tpryan ‹#› Front end Container Engine Back end Make sure

    there are always 5 front end servers and 2 backend servers Front end Front end Back end Front end Front end
  12. ‹#› ‹#› @tpryan Pros • Manages large number of containers

    • Kubernetes without setting up Kubernetes • Underlying hardware is resizable Container Engine Cons • Hard to dip your toes in
  13. ‹#› @tpryan So if you can only remember 3 things…

    GCP is AWESOME You can run NGINX You can run NGINX Plus