SlideShare a Scribd company logo
1 of 20
Download to read offline
16
Powering
Microservices &
Sockets using
Nginx and
Kubernetes
Lee Calcote
Yogi Porla
http://calcotestudios.com/nginx16
Lee Calcote
linkedin.com/in/leecalcote
@lcalcote
blog.gingergeek.com
lee@calcotestudios.com
clouds, containers, infrastructure,
applications and their management
Free ebook
Preorder
Available
Our App
A 1GB jar
Case Study
is an IDE for game developers
 - created by game
development studio based in
Austin (MaxPlay)
 - creates a real-time,
collaborative game
development engine
@lcalcote
“google docs
for game
development”
Vert.x
Our Bloat-a-lith
@lcalcote
EventBus Handler
Persistence Verticle
SockJS
Analytics
Analytics UI
Hazelcast
GridConnection
Telemetry
Telemetry Analysis
Projects, Streams,
Users, Sessions,
Tenants
 
Kafka Producer
Platform Client
Producer
Spark, R
GCE Network
Load Balancer Kafka
Rendering Engines
Platform Publishing
Tool
Game Analysis
Single instance
App is Reactive
Deals with sockets
Limited resources
Culture / DevOps / Cloud Maturity
Support containers and VMs
Propagation of huge data sets
@lcalcote
The Challenge
On-the-fly intelligent rendering
Distribution of content
Extremely low latency for Reactive services
Blocking vs non-blocking
On-premises telemetry collection and
analytics
Shaping Up
Characteristics of
Microservices
small, autonomous services that work together.
how small is small?
 
 
independent, autonomous service
self-contained functional unit
@lcalcote
Who has a system that is
too big and that you’d
like to break down?
Can a small team manage it?
More moving parts
increases complexity.
Can you make a change to a
service and deploy it by itself
without changing anything else?
Faster delivery, rolling updates
Horizontal scale out on-demand;
on an individual service basis
Modular architecture
Easy integration and deployments
Service isolation, resilience and fail-safe recovery
@lcalcote
Benefits of Microservices
- a quick review
Democratization of language and technology choice
Kubernetes & Nginx
to the Rescue
@lcalcote
Our Microbloat v1
@lcalcote
Analytics UI
Authentication
Telemetry
Telemetry Analysis
Spark, R
Kafka
Rendering Engines
Platform Publishing
Tool
Game Analysis
Master
etcd
Authorization
Locking
Authorization
Projects
AuthorizationAuthorization
kube-proxy kube-proxy
SockJS
Authorization
kube-proxy
Node Node
Node
kube-api, etc.
Comparing
Services
(not shoes)
SSL Termination
@lcalcote
Kubernetes 1.3 No
Swarm 1.12 No
Mesos+Marathon Yes
ELB Classic Yes
ELB L7 Yes
Beanstalk Yes (EC2)
IOT Yes
ECS Yes (EC2)
Lambda ?
Container
Orchestrators
Clouds
AWS
Azure
GCP
Load-Balancer No
App Gateway Yes
Container Service ?
Cloud LB (HTTP) Yes (beta)
Cloud LB (Network) Yes (beta)
GKE No
Link
Link
Link
Link
Link
Link
Link
Link
Link
SSL Proxy
SSL Proxy
Websocket Support
@lcalcote
Kubernetes 1.3 No
Swarm 1.12 No
Mesos+Marathon Yes
ELB Classic Yes
ELB L7 Yes
Beanstalk Yes
IOT Yes
ECS Yes
Lambda Yes
Container
Orchestrators
Clouds
AWS
Azure
GCP
Load-Balancer No
App Gateway Yes
Container Service ?
Cloud LB (HTTP) No
Cloud LB (Network) Yes
GKE No
Link
Link
Link
Link
Link
Link
Link
Link
Link
Link
Link
Why Nginx
Hybrid needs
On-premises and Google Cloud Platform
 
Consistent administration and capabilities
central load balancing and proxy platform
 
Support for VM and container-based technologies with
minimal configuration change
 
Deeper feature set available as services/team matures
use as an Application Delivery Controller
@lcalcote
Platform independence
Microbloat v2
Going deeper with Nginx & Kubernetes
Service Discovery with Nginx Plus
Need for locating service instances instantly without reconfiguring
On-the-fly Reconfiguration API
Work with etcd
As an ingress controller in Kubernetes
SSL termination
Path-based rules
Multiple host names
@lcalcote
@lcalcote
Common Administration
w/Nginx Plus
App
App App
GSLB & Content Caching
w/Nginx Plus
@lcalcote
App
App
App
GeoDNS
US
Regions
Session Persistence and Sticky Routing help in
performance of request routing and localized content
Content Caching provides faster retrieval of data
Performance, reliability and availability
Global
Regions
A/B Testing Using Nginx
@lcalcote
Requests
App v0.1
 
App v0.2
 
90% of requests go to v0.1
10% of requests go to v0.2
Lee Calcote
linkedin.com/in/leecalcote
@lcalcote
blog.gingergeek.com
lee@calcotestudios.com
clouds, containers, infrastructure,
applications and their management
Questions?

More Related Content

Viewers also liked

William blake ppt
William blake pptWilliam blake ppt
William blake ppt
klparker
 
бессмертный полк в Туле
бессмертный полк в Тулебессмертный полк в Туле
бессмертный полк в Туле
Alexander Shneiderman
 

Viewers also liked (14)

4
44
4
 
Cv.sharjeel naved.
Cv.sharjeel naved.Cv.sharjeel naved.
Cv.sharjeel naved.
 
Methods for comparing scanpaths and saliency maps: strengths and weaknesses
Methods for comparing scanpaths and saliency maps: strengths and weaknessesMethods for comparing scanpaths and saliency maps: strengths and weaknesses
Methods for comparing scanpaths and saliency maps: strengths and weaknesses
 
William blake ppt
William blake pptWilliam blake ppt
William blake ppt
 
Kyriazis Athanasios Thesis
Kyriazis Athanasios ThesisKyriazis Athanasios Thesis
Kyriazis Athanasios Thesis
 
Sbindl
SbindlSbindl
Sbindl
 
Sirah nabi saw
Sirah nabi sawSirah nabi saw
Sirah nabi saw
 
Flappy Bird 3D Report
Flappy Bird 3D ReportFlappy Bird 3D Report
Flappy Bird 3D Report
 
Les Journées de la Francophonie 2014
Les Journées de la Francophonie 2014Les Journées de la Francophonie 2014
Les Journées de la Francophonie 2014
 
Hijrah nabi
Hijrah nabiHijrah nabi
Hijrah nabi
 
Dockercon 16 Recap
Dockercon 16 RecapDockercon 16 Recap
Dockercon 16 Recap
 
Ems sri lanka
Ems sri lankaEms sri lanka
Ems sri lanka
 
Rys historyczny
Rys historycznyRys historyczny
Rys historyczny
 
бессмертный полк в Туле
бессмертный полк в Тулебессмертный полк в Туле
бессмертный полк в Туле
 

More from Lee Calcote

More from Lee Calcote (12)

Benchmarking Service Meshes - CNCF Networking WG
Benchmarking Service Meshes  - CNCF Networking WGBenchmarking Service Meshes  - CNCF Networking WG
Benchmarking Service Meshes - CNCF Networking WG
 
Service Meshes, but at what cost?
Service Meshes, but at what cost?Service Meshes, but at what cost?
Service Meshes, but at what cost?
 
Establishing an Open Source Program Office
Establishing an Open Source Program OfficeEstablishing an Open Source Program Office
Establishing an Open Source Program Office
 
Istio: Using nginMesh as the service proxy
Istio: Using nginMesh as the service proxyIstio: Using nginMesh as the service proxy
Istio: Using nginMesh as the service proxy
 
CNCF, State of Serverless & Project Nuclio
CNCF, State of Serverless & Project NuclioCNCF, State of Serverless & Project Nuclio
CNCF, State of Serverless & Project Nuclio
 
Load Balancing in the Cloud using Nginx & Kubernetes
Load Balancing in the Cloud using Nginx & KubernetesLoad Balancing in the Cloud using Nginx & Kubernetes
Load Balancing in the Cloud using Nginx & Kubernetes
 
Create Great CNCF User-Base from Lessons Learned from Other Open Source Commu...
Create Great CNCF User-Base from Lessons Learned from Other Open Source Commu...Create Great CNCF User-Base from Lessons Learned from Other Open Source Commu...
Create Great CNCF User-Base from Lessons Learned from Other Open Source Commu...
 
Understanding and Extending Prometheus AlertManager
Understanding and Extending Prometheus AlertManagerUnderstanding and Extending Prometheus AlertManager
Understanding and Extending Prometheus AlertManager
 
UniK - a unikernel compiler and runtime
UniK - a unikernel compiler and runtimeUniK - a unikernel compiler and runtime
UniK - a unikernel compiler and runtime
 
Characterizing and contrasting kuhn tey-ner awr-kuh-streyt-ors
Characterizing and contrasting kuhn tey-ner awr-kuh-streyt-orsCharacterizing and contrasting kuhn tey-ner awr-kuh-streyt-ors
Characterizing and contrasting kuhn tey-ner awr-kuh-streyt-ors
 
Characterizing and Contrasting Container Orchestrators
 Characterizing and Contrasting Container Orchestrators Characterizing and Contrasting Container Orchestrators
Characterizing and Contrasting Container Orchestrators
 
Dockercon EU 2015 Recap
Dockercon EU 2015 RecapDockercon EU 2015 Recap
Dockercon EU 2015 Recap
 

Recently uploaded

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Recently uploaded (20)

%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 

Powering Microservices & Sockets using Nginx and Kubernetes

  • 1. 16 Powering Microservices & Sockets using Nginx and Kubernetes Lee Calcote Yogi Porla http://calcotestudios.com/nginx16
  • 2. Lee Calcote linkedin.com/in/leecalcote @lcalcote blog.gingergeek.com lee@calcotestudios.com clouds, containers, infrastructure, applications and their management Free ebook Preorder Available
  • 4. Case Study is an IDE for game developers  - created by game development studio based in Austin (MaxPlay)  - creates a real-time, collaborative game development engine @lcalcote “google docs for game development”
  • 5. Vert.x Our Bloat-a-lith @lcalcote EventBus Handler Persistence Verticle SockJS Analytics Analytics UI Hazelcast GridConnection Telemetry Telemetry Analysis Projects, Streams, Users, Sessions, Tenants   Kafka Producer Platform Client Producer Spark, R GCE Network Load Balancer Kafka Rendering Engines Platform Publishing Tool Game Analysis Single instance
  • 6. App is Reactive Deals with sockets Limited resources Culture / DevOps / Cloud Maturity Support containers and VMs Propagation of huge data sets @lcalcote The Challenge On-the-fly intelligent rendering Distribution of content Extremely low latency for Reactive services Blocking vs non-blocking On-premises telemetry collection and analytics
  • 8. Characteristics of Microservices small, autonomous services that work together. how small is small?     independent, autonomous service self-contained functional unit @lcalcote Who has a system that is too big and that you’d like to break down? Can a small team manage it? More moving parts increases complexity. Can you make a change to a service and deploy it by itself without changing anything else?
  • 9. Faster delivery, rolling updates Horizontal scale out on-demand; on an individual service basis Modular architecture Easy integration and deployments Service isolation, resilience and fail-safe recovery @lcalcote Benefits of Microservices - a quick review Democratization of language and technology choice
  • 10. Kubernetes & Nginx to the Rescue @lcalcote
  • 11. Our Microbloat v1 @lcalcote Analytics UI Authentication Telemetry Telemetry Analysis Spark, R Kafka Rendering Engines Platform Publishing Tool Game Analysis Master etcd Authorization Locking Authorization Projects AuthorizationAuthorization kube-proxy kube-proxy SockJS Authorization kube-proxy Node Node Node kube-api, etc.
  • 13. SSL Termination @lcalcote Kubernetes 1.3 No Swarm 1.12 No Mesos+Marathon Yes ELB Classic Yes ELB L7 Yes Beanstalk Yes (EC2) IOT Yes ECS Yes (EC2) Lambda ? Container Orchestrators Clouds AWS Azure GCP Load-Balancer No App Gateway Yes Container Service ? Cloud LB (HTTP) Yes (beta) Cloud LB (Network) Yes (beta) GKE No Link Link Link Link Link Link Link Link Link SSL Proxy SSL Proxy
  • 14. Websocket Support @lcalcote Kubernetes 1.3 No Swarm 1.12 No Mesos+Marathon Yes ELB Classic Yes ELB L7 Yes Beanstalk Yes IOT Yes ECS Yes Lambda Yes Container Orchestrators Clouds AWS Azure GCP Load-Balancer No App Gateway Yes Container Service ? Cloud LB (HTTP) No Cloud LB (Network) Yes GKE No Link Link Link Link Link Link Link Link Link Link Link
  • 15. Why Nginx Hybrid needs On-premises and Google Cloud Platform   Consistent administration and capabilities central load balancing and proxy platform   Support for VM and container-based technologies with minimal configuration change   Deeper feature set available as services/team matures use as an Application Delivery Controller @lcalcote Platform independence
  • 16. Microbloat v2 Going deeper with Nginx & Kubernetes Service Discovery with Nginx Plus Need for locating service instances instantly without reconfiguring On-the-fly Reconfiguration API Work with etcd As an ingress controller in Kubernetes SSL termination Path-based rules Multiple host names @lcalcote
  • 18. GSLB & Content Caching w/Nginx Plus @lcalcote App App App GeoDNS US Regions Session Persistence and Sticky Routing help in performance of request routing and localized content Content Caching provides faster retrieval of data Performance, reliability and availability Global Regions
  • 19. A/B Testing Using Nginx @lcalcote Requests App v0.1   App v0.2   90% of requests go to v0.1 10% of requests go to v0.2