Deploying NGINX Plus & Kubernetes on Google Cloud Platform 1
2
Building a great application is only half the battle, delivering the application is the other half. 3
The modern web requires a new approach to application delivery. 4
Monoliths vs. Microservices 5
The Monolithic Architecture • To scale, you must scale the entire monolith • All services are written in the same language using the same framework • Changing one service means rebuilding, retesting, and redeploying the entire monolith • Multiple changes at once – argh! • Release cycles tend to be long 6
The Monolithic Architecture 7
The Monolithic Architecture 8
The Microservices Architecture • Enables continuous delivery, rapid deployment, and elasticity • You can scale each service independently • Services can be written in different languages using different frameworks • Each service can be changed, tested, and built independently • Release cycles can be dramatically shortened 9
MORE INFORMATION AT NGINX.COM Features: • Load Balancing for HTTP, TCP & UDP • Session Persistence • SSL and HTTP/2 Termination • Bandwidth Management • Content-Based Routing • Request Manipulation • Response Rewriting • Authentication • Web Serving • Video Delivery • Mail Proxy • GeoLocation NGINX Plus 10
NGINX Plus with Microservices • Fit together naturally and are easily integrated with container environments and DevOps tools • Run NGINX Plus inside or outside the microservices environment • NGINX Plus provides a single, stable entry point while containers are deployed and destroyed behind it 11
Microservices Architecture with NGINX Plus 12
NGINX Plus and the GCP 13
Installing the NGINX Plus VM 14
Installing the NGINX Plus VM 15
HA NGINX Plus with GCP • Create a highly available architecture using Google Cloud Platform Network Load Balancers. • Configure 2 NGINX Plus load balancers and load balance them with Google’s Network Load Balancers 16
Internal Load Balancing • Load balance internal services within a Google Compute Engine region. 17
Integration with GCP Products • Cloud Launcher - instantly deploy NGINX Plus • GCP Logging • GCP Monitoring (StackDriver 18
@sandeepdinesh | @SRobTweets 19 Load Balancing with NGINX and GCP
@sandeepdinesh | @SRobTweets 20 Kubernetes: An open-source platform for automating deployment, scaling, and operation of application containers.
21 What we’ll cover 01 02 03 04 Running NGINX on Google Cloud Platform Deep dive: Load Balancing Kubernetes with NGINX Plus Live demo! Wrap up
Enterprise
Enterprise
@googlecloudGoogle Cloud Platform ‹#›Google Cloud Platform ‹#› Google Cloud Platform Compute Connectivity Big Data Storage Developer Tools Mobile Management
@googlecloudGoogle Cloud Platform ‹#›Google Cloud Platform ‹#› Google Cloud Platform Compute Connectivity Big Data Storage Developer Tools Mobile Management
26 01 Running NGINX on GCP
27 Cloud Launcher ● Spawn pre-loaded, customizeable VMs on Google Compute Engine ● Click to deploy
28 Cloud Launcher: Setup in 3 steps 1. Click Launch on Google Cloud in Cloud Launcher 2. Select your Cloud project & create a new VM instance 3. Click Create to launch your VM
29 02 Load balancing Kubernetes with NGINX Plus
What is Kubernetes? Greek for “Helmsman”; also the root of the word “Governor” • Container orchestrator • Runs containers • Supports multiple cloud and bare-metal environments • Inspired and informed by Google’s experiences and internal systems • Open source, written in Go • kubernetes.io Manage applications, not machines
Group of containers Live and die together Shared network interface Shared volumes Unique Routable IP Pod App Log Collector Pods ...
Replica Set Replicas → 2 Pod frontend Pod App Log Collector ... type = Frontend version = 1.0 Pod App Log Collector ... type = Frontend version = 1.0 Deployments
Replica Set Replicas → 2 Pod frontend Pod type = Frontend version = 1.0 Pod type = Frontend version = 1.0 Services Service Label selectors: version = 1.0 type = Frontend
34Google Cloud Platform 34 We’ll build...
35Google Cloud Platform 35 We’ll build... an NGINX load balancer for Kubernetes services
36 Our app service to_lower K8s service to_upper K8s service reverse K8s service arrayify NGINX Load Balancer pod pod pod pod pod pod pod pod pod pod pod pod
37 03 Demo time!
Google Cloud Platform 3838 Resources - Google ● NGINX+ on Cloud Launcher: bit.ly/nginx-launcher ● NGINX load balancing k8s blog post: bit.ly/load-balancing-k8s ● Kubernetes Docs: kubernetes.io ● GCP Podcast: gcppodcast.com Bonus: look inside a Google data center! cloud.google.com/360tour
Results 39 Blog: • Refactoring a Monolith into Microservices (#7 in 7-part series) • Deploying NGINX and NGINX Plus with Docker • Make your Containers Production-Ready - O’Reilly ebook nginxinc/kubernetes-ingress - Ingress controllers for NGINX on Github Load Balancing Kubernetes Services with NGINX Plus - N+ for Layer 7 load balancing with Kubernetes Webinars: • Building Applications With Microservices and Docker • NGINX & Docker: Ask Me Anything • Bringing Kubernetes to the Edge with NGINX Plus Resources - NGINX
Q&A 40
Conclusion nginx.com > free trial cloud.google.com Cached 41

Deploying NGINX Plus & Kubernetes on Google Cloud Platform

  • 1.
    Deploying NGINX Plus& Kubernetes on Google Cloud Platform 1
  • 2.
  • 3.
    Building a greatapplication is only half the battle, delivering the application is the other half. 3
  • 4.
    The modern webrequires a new approach to application delivery. 4
  • 5.
  • 6.
    The Monolithic Architecture •To scale, you must scale the entire monolith • All services are written in the same language using the same framework • Changing one service means rebuilding, retesting, and redeploying the entire monolith • Multiple changes at once – argh! • Release cycles tend to be long 6
  • 7.
  • 8.
  • 9.
    The Microservices Architecture •Enables continuous delivery, rapid deployment, and elasticity • You can scale each service independently • Services can be written in different languages using different frameworks • Each service can be changed, tested, and built independently • Release cycles can be dramatically shortened 9
  • 10.
    MORE INFORMATION ATNGINX.COM Features: • Load Balancing for HTTP, TCP & UDP • Session Persistence • SSL and HTTP/2 Termination • Bandwidth Management • Content-Based Routing • Request Manipulation • Response Rewriting • Authentication • Web Serving • Video Delivery • Mail Proxy • GeoLocation NGINX Plus 10
  • 11.
    NGINX Plus withMicroservices • Fit together naturally and are easily integrated with container environments and DevOps tools • Run NGINX Plus inside or outside the microservices environment • NGINX Plus provides a single, stable entry point while containers are deployed and destroyed behind it 11
  • 12.
  • 13.
    NGINX Plus andthe GCP 13
  • 14.
  • 15.
  • 16.
    HA NGINX Pluswith GCP • Create a highly available architecture using Google Cloud Platform Network Load Balancers. • Configure 2 NGINX Plus load balancers and load balance them with Google’s Network Load Balancers 16
  • 17.
    Internal Load Balancing •Load balance internal services within a Google Compute Engine region. 17
  • 18.
    Integration with GCPProducts • Cloud Launcher - instantly deploy NGINX Plus • GCP Logging • GCP Monitoring (StackDriver 18
  • 19.
    @sandeepdinesh | @SRobTweets 19 LoadBalancing with NGINX and GCP
  • 20.
    @sandeepdinesh | @SRobTweets 20 Kubernetes: Anopen-source platform for automating deployment, scaling, and operation of application containers.
  • 21.
    21 What we’ll cover 01 02 03 04 RunningNGINX on Google Cloud Platform Deep dive: Load Balancing Kubernetes with NGINX Plus Live demo! Wrap up
  • 22.
  • 23.
  • 24.
    @googlecloudGoogle Cloud Platform‹#›Google Cloud Platform ‹#› Google Cloud Platform Compute Connectivity Big Data Storage Developer Tools Mobile Management
  • 25.
    @googlecloudGoogle Cloud Platform‹#›Google Cloud Platform ‹#› Google Cloud Platform Compute Connectivity Big Data Storage Developer Tools Mobile Management
  • 26.
  • 27.
    27 Cloud Launcher ● Spawnpre-loaded, customizeable VMs on Google Compute Engine ● Click to deploy
  • 28.
    28 Cloud Launcher: Setupin 3 steps 1. Click Launch on Google Cloud in Cloud Launcher 2. Select your Cloud project & create a new VM instance 3. Click Create to launch your VM
  • 29.
    29 02 Load balancingKubernetes with NGINX Plus
  • 30.
    What is Kubernetes? Greekfor “Helmsman”; also the root of the word “Governor” • Container orchestrator • Runs containers • Supports multiple cloud and bare-metal environments • Inspired and informed by Google’s experiences and internal systems • Open source, written in Go • kubernetes.io Manage applications, not machines
  • 31.
    Group of containers Liveand die together Shared network interface Shared volumes Unique Routable IP Pod App Log Collector Pods ...
  • 32.
    Replica Set Replicas →2 Pod frontend Pod App Log Collector ... type = Frontend version = 1.0 Pod App Log Collector ... type = Frontend version = 1.0 Deployments
  • 33.
    Replica Set Replicas →2 Pod frontend Pod type = Frontend version = 1.0 Pod type = Frontend version = 1.0 Services Service Label selectors: version = 1.0 type = Frontend
  • 34.
    34Google Cloud Platform34 We’ll build...
  • 35.
    35Google Cloud Platform35 We’ll build... an NGINX load balancer for Kubernetes services
  • 36.
    36 Our app service to_lower K8s service to_upper K8sservice reverse K8s service arrayify NGINX Load Balancer pod pod pod pod pod pod pod pod pod pod pod pod
  • 37.
  • 38.
    Google Cloud Platform3838 Resources - Google ● NGINX+ on Cloud Launcher: bit.ly/nginx-launcher ● NGINX load balancing k8s blog post: bit.ly/load-balancing-k8s ● Kubernetes Docs: kubernetes.io ● GCP Podcast: gcppodcast.com Bonus: look inside a Google data center! cloud.google.com/360tour
  • 39.
    Results 39 Blog: • Refactoring aMonolith into Microservices (#7 in 7-part series) • Deploying NGINX and NGINX Plus with Docker • Make your Containers Production-Ready - O’Reilly ebook nginxinc/kubernetes-ingress - Ingress controllers for NGINX on Github Load Balancing Kubernetes Services with NGINX Plus - N+ for Layer 7 load balancing with Kubernetes Webinars: • Building Applications With Microservices and Docker • NGINX & Docker: Ask Me Anything • Bringing Kubernetes to the Edge with NGINX Plus Resources - NGINX
  • 40.
  • 41.
    Conclusion nginx.com > freetrial cloud.google.com Cached 41