deploying nginx plus & kubernetes on google cloud platform
TRANSCRIPT
Deploying NGINX Plus & Kubernetes on Google Cloud Platform
1
2
Building a great applicationis 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 Launcher2. Select your Cloud project & create a new VM instance3. 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 containersLive and die togetherShared network interfaceShared volumesUnique Routable IP
Pod
App
Log Collector
Pods
...
Replica Set
Replicas → 2Pod
frontend
Pod
App
Log Collector
...
type = Frontend
version = 1.0
Pod
App
Log Collector
...
type = Frontend
version = 1.0
Deployments
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
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 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
Q&A
40
Conclusion
nginx.com > free trialcloud.google.com
Cached
41