deploying nginx plus & kubernetes on google cloud platform

41
Deploying NGINX Plus & Kubernetes on Google Cloud Platform 1

Upload: nginx-inc

Post on 09-Jan-2017

419 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

Deploying NGINX Plus & Kubernetes on Google Cloud Platform

1

Page 2: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

2

Page 3: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

Building a great applicationis only half the battle, delivering the application is the other half.

3

Page 4: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

The modern web requires a new approach to application delivery.

4

Page 5: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

Monoliths vs. Microservices

5

Page 6: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

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

Page 7: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

The Monolithic Architecture

7

Page 8: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

The Monolithic Architecture

8

Page 9: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

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

Page 10: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

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

Page 11: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

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

Page 12: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

Microservices Architecture with NGINX Plus

12

Page 13: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

NGINX Plus and the GCP

13

Page 14: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

Installing the NGINX Plus VM

14

Page 15: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

Installing the NGINX Plus VM

15

Page 16: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

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

Page 17: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

Internal Load Balancing

• Load balance internal services within a Google Compute Engine region.

17

Page 18: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

Integration with GCP Products

• Cloud Launcher - instantly deploy NGINX Plus• GCP Logging• GCP Monitoring (StackDriver

18

Page 19: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

@sandeepdinesh | @SRobTweets 19

Load Balancing with NGINX and GCP

Page 20: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

@sandeepdinesh | @SRobTweets 20

Kubernetes:An open-source platform for automating deployment, scaling, and operation of application containers.

Page 21: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

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

Page 22: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

Enterprise

Page 23: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

Enterprise

Page 24: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

@googlecloudGoogle Cloud Platform ‹#›Google Cloud Platform ‹#›

Google Cloud Platform

Compute

Connectivity

Big Data

Storage

Developer Tools Mobile

Management

Page 25: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

@googlecloudGoogle Cloud Platform ‹#›Google Cloud Platform ‹#›

Google Cloud Platform

Compute

Connectivity

Big Data

Storage

Developer Tools Mobile

Management

Page 26: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

26

01 Running NGINX on GCP

Page 27: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

27

Cloud Launcher

● Spawn pre-loaded, customizeable VMs on Google Compute Engine● Click to deploy

Page 28: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

28

Cloud Launcher: Setup in 3 steps

1. Click Launch on Google Cloud in Cloud Launcher2. Select your Cloud project & create a new VM instance3. Click Create to launch your VM

Page 29: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

29

02 Load balancing Kubernetes with NGINX Plus

Page 30: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

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

Page 31: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

Group of containersLive and die togetherShared network interfaceShared volumesUnique Routable IP

Pod

App

Log Collector

Pods

...

Page 32: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

Replica Set

Replicas → 2Pod

frontend

Pod

App

Log Collector

...

type = Frontend

version = 1.0

Pod

App

Log Collector

...

type = Frontend

version = 1.0

Deployments

Page 33: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

Replica Set

Replicas → 2Pod

frontend

Pod

type = Frontend

version = 1.0

Pod

type = Frontend

version = 1.0

Services

Service

Label selectors: version = 1.0 type = Frontend

Page 34: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

34Google Cloud Platform 34

We’ll build...

Page 35: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

35Google Cloud Platform 35

We’ll build...an NGINX load balancer for Kubernetes

services

Page 36: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

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

Page 37: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

37

03 Demo time!

Page 38: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

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

Page 39: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

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 ebooknginxinc/kubernetes-ingress - Ingress controllers for NGINX on GithubLoad 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

• Scaling Microservices with NGINX, Docker, and Mesos

Also check out our YouTube channel!

Resources - NGINX

Page 40: Deploying NGINX Plus & Kubernetes on Google Cloud Platform

Q&A

40