SlideShare a Scribd company logo
1
© 2018 Pivotal
Better Deployments with sub environments using
Spring Cloud & Netflix Ribbon
Roi Ezra, Infrastructure & Cloud Native Platform team lead, Intel
@RoiEzra
Liel Chayoun, Infrastructure & Cloud Native Platform developer, Intel
@ChayounLiel
2
Agenda
§ Cloud Native & CD Challenges
§ The Immune System
§ API Gateway, Netflix Ribbon & Zuul High Level
§ Demo
§ Q&A
3
Cloud Native & CD Challenges
§ Microservices
• Dynamic Environment
• Complex Architecture
• Hard to Test
4
Cloud Native & CD Challenges
§ Frequent releases to production
• Move fast without breaking things
• Prevention > Detection ? Not possible L
• Prevention @ Stage N === Detection @ Stage N-1
5
Cloud Native & CD Challenges
§ Testing
• How do we fill databases with real data?
• What and when to mock?
§ Configuration
• Firewalls, Application Configuration, Connection Strings…
§ Work loads
§ Users
“There is no place like production”
6
The Immune System
“The immune system is a host defense system comprising many
biological structures and processes within an organism that protects
against disease. To function properly, an immune system must detect a
wide variety of agents, known as pathogens, from viruses to parasitic
worms, and distinguish them from the organism's own
healthy tissue. In many species, the immune system can be
classified into subsystems, such as the innate immune system versus
the adaptive immune system, or humoral immunity versus cell-mediated
immunity
Wikipedia
“
7
The Immune System
§ Tests (Unit, Integration, Contract, Smoke, E2E, Rollback …)
§ Monitoring & Alerts (Telemetry, Logs)
§ Semantic Monitoring (Application Level Monitoring)
§ Chaos Engineering
§ Several Environments & Sub Environments
8
Environments
Test Staging / Integration Production…
?
?
9
Sub Environments
Unstable
QA
Internal
Customers
Main
Prevention @
Stage N
===
Detection @
Stage N-1
Production
10
Sub Environments
§ All sub environments must have traffic all the time
§ Consistency and Standardization
§ Alerts severity should be different between environments
11
When we move to the next sub environment
§ Should be automatic and based on several inputs:
• Application Level Monitoring Results
• Telemetry Data
• Log Analysis
• Pre Defined Schedule
12
Enough with challenges
Lets see some solutions J
13
Netflix Ribbon
Ribbon is a Inter Process Communication (remote procedure calls) library with
built in software load balancers. The primary usage model involves REST calls
with various serialization scheme support.
14
Ribbon Components
§ ServerList - can be static or dynamic
§ ServerListFilter - filters the servers returned from dynamic server list
§ Ping - running in background to ensure liveness of servers
§ Rule - a logic component to determine which server to return from a list
15
Ribbon & Spring Cloud
§ Spring Auto Configuration will automatically detect your dependencies and will
configure Ribbon for you
§ Each load balancer:
• Part of an ensemble of components that work together to contact a remote server on
demand
• Has unique name
• Has it own ApplicationContext => Can have custom behavior
§ Can be used by @LoadBalanced RestTemplate or Feign
16
Ribbon & Spring Cloud – Code Example
17
API Gateway Pattern – High Level Architecture
Clients
APIGateway
Service
Registry Edge Services Backend Services
18
API Gateway Pattern
§ Dynamic Routing
§ Encryption, Security
§ Load Balancing
§ Different Clients
§ Service Protection (e.g.: Rate Limit)
§ Smart Client for services (e.g.: Retry)
§ Enables different deployment strategies
19
Zuul – Netflix API Gateway
Zuul is a gateway service that provides dynamic routing, monitoring, resiliency,
security, and more
20
Netflix Zuul
§ Was used by Netflix at production scale
§ Replaced by Zuul 2 in 2016 (was open sourced this year)
§ Used by Spring Cloud Edgware release train
§ Spring Cloud Finchley uses Spring Cloud Gateway project
21
Netflix Zuul – Request Lifecycle
HTTP Request
“pre” filters “routing” filters “post” filters
Server
Request Response
“error” filters
22
Netflix Zuul & Spring Cloud
§ Spring Cloud has created an embedded Zuul proxy (@EnableZuulProxy)
§ By convention, a service with the ID "users", will receive requests from the proxy
located at /users
§ The proxy uses Ribbon to locate an instance to forward to via discovery
§ RibbonRoutingFilter is in charge to use Ribbon, Hystrix and pluggable HTTP
clients to send requests
23
Some Specific Requirements
§ Not to expose all services from service discovery to all clients
• Only “Edge” services
§ Not all services runs in all data centers where the gateway runs
• Cross zone load balancing with latency consideration
§ Direct traffic to sub environment based on:
• URL, HTTP Header, User / Group
§ Weight based load balancing
24
Lets see some code
API Gateway
Edge
Edge Backend
Backend A
B
25
Lets see some code
API Gateway
Edge
Edge Backend
Backend A
B
X-tag=A
26
Lets see some code
API Gateway
Edge
Edge Backend
Backend A
B
X-tag=A
27
Lets see some code
API Gateway
Edge
Edge Backend
Backend A
B
X-tag=A
28
Lets see some code
API Gateway
Edge
Edge Backend
Backend A
B
X-tag=B
29
Lets see some code
API Gateway
Edge
Edge Backend
Backend A
B
X-tag=B
30
Lets see some code
API Gateway
Edge
Edge Backend
Backend A
B
X-tag=B
31
Problem Solved? Not really L
Edge Backend
Edge Backend
A
B
X-tag=A
Gateway
Tag Based Rule
32
Problem Solved? Not really L
Edge Backend
Edge Backend
A
B
X-tag=A
X-tag=A
Gateway
Tag Based Rule
33
Problem Solved? Not really L
Edge Backend
Edge Backend
A
B
X-tag=A ?
Gateway
Tag Based Rule
X-tag=A
34
Client Side Load Balancing
Instance 1
Instance 2
Instance 3
Service Discovery / Configuration
Service
Load
balancer
35
Code Again J
36
© 2018 Pivotal
Q&A
§ Code Again J
37
Learn More. Stay Connected.
§ Watch our talk @ the last SP1
Platform about our Cloud Native
Journey @ Intel
§ Demo Code @ GitHub
Twitter: twitter.com/springcentral
YouTube: spring.io/video
LinkedIn: spring.io/linkedin
Google Plus: spring.io/gplus
https://www.youtube.com/watch?v=D_kt9pMQ4Sw
https://github.com/ezraroi/BetterDeploymentsDemo

More Related Content

What's hot (20)

PPSX
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Araf Karsh Hamid
 
PDF
Spring Cloud and Netflix OSS overview v1
Dmitry Skaredov
 
PPTX
Cloud Bursting with A10 Lightning ADS
Akshay Mathur
 
PDF
The service mesh management plane
LibbySchulze
 
PPTX
High-speed, Reactive Microservices 2017
Rick Hightower
 
PPTX
Spring Cloud: API gateway upgrade & configuration in the cloud
Orkhan Gasimov
 
PDF
Microservices with Spring Cloud and Netflix OSS
Denis Danov
 
PDF
GDG Taipei 2020 - Cloud and On-premises Applications Integration Using Event-...
Rich Lee
 
PDF
Barbican 1.0 - Open Source Key Management for OpenStack
jarito030506
 
PDF
Twelve Factor App
Christ Ngantung
 
PDF
Eclipse Kapua messaging refactoring proposal
Henryk Konsek
 
PPTX
RedisConf17 - Dynomite - Making Non-distributed Databases Distributed
Redis Labs
 
PPTX
Deploying and Operating KSQL
confluent
 
PDF
Spring Cloud Netflix OSS
Steve Hall
 
PPTX
Evolution of netflix conductor
vedu12
 
PPTX
Simple tweaks to get the most out of your JVM
Jamie Coleman
 
PPTX
Scale your application to new heights with NGINX and AWS
NGINX, Inc.
 
PPTX
DEVNET-1166 Open SDN Controller APIs
Cisco DevNet
 
PDF
Streaming with Spring Cloud Stream and Apache Kafka - Soby Chacko
VMware Tanzu
 
PPTX
Why HTTP Won't Work For The Internet of Things (Dreamforce 2014)
kellogh
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Araf Karsh Hamid
 
Spring Cloud and Netflix OSS overview v1
Dmitry Skaredov
 
Cloud Bursting with A10 Lightning ADS
Akshay Mathur
 
The service mesh management plane
LibbySchulze
 
High-speed, Reactive Microservices 2017
Rick Hightower
 
Spring Cloud: API gateway upgrade & configuration in the cloud
Orkhan Gasimov
 
Microservices with Spring Cloud and Netflix OSS
Denis Danov
 
GDG Taipei 2020 - Cloud and On-premises Applications Integration Using Event-...
Rich Lee
 
Barbican 1.0 - Open Source Key Management for OpenStack
jarito030506
 
Twelve Factor App
Christ Ngantung
 
Eclipse Kapua messaging refactoring proposal
Henryk Konsek
 
RedisConf17 - Dynomite - Making Non-distributed Databases Distributed
Redis Labs
 
Deploying and Operating KSQL
confluent
 
Spring Cloud Netflix OSS
Steve Hall
 
Evolution of netflix conductor
vedu12
 
Simple tweaks to get the most out of your JVM
Jamie Coleman
 
Scale your application to new heights with NGINX and AWS
NGINX, Inc.
 
DEVNET-1166 Open SDN Controller APIs
Cisco DevNet
 
Streaming with Spring Cloud Stream and Apache Kafka - Soby Chacko
VMware Tanzu
 
Why HTTP Won't Work For The Internet of Things (Dreamforce 2014)
kellogh
 

Similar to Better Deployments with Sub Environments Using Spring Cloud and Netflix Ribbon (20)

PDF
Микросервисы со Spring Boot & Spring Cloud
Vitebsk DSC
 
PPT
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
PROIDEA
 
PPT
Flying to clouds - can it be easy? Cloud Native Applications
Jacek Bukowski
 
PDF
Edge architecture ieee international conference on cloud engineering
Mikey Cohen - Hiring Amazing Engineers
 
PPTX
Cloud Event Driven Architectures with Spring Cloud Stream 2.0
VMware Tanzu
 
PDF
Spring Cloud Gateway - Nate Schutta
VMware Tanzu
 
PPTX
Microservice creation using spring cloud, zipkin, ribbon, zull, eureka
Binit Pathak
 
PPTX
Spring Cloud and Netflix Components
Dharshan Sastry B N
 
PDF
Zuul_Intro.pdf
SRINIVAS KOLAPARTHI
 
PDF
The Beginner’s Guide To Spring Cloud
VMware Tanzu
 
PPTX
"The Cloud Native Enterprise is Coming"
James Watters
 
PDF
Continuous Deployment of your Application - SpringOne Tour Dallas
VMware Tanzu
 
PPTX
spring-cloud.pptx
ssuser7959eb
 
PDF
Continuous Deployment To The Cloud @DevoxxPL 2017
Marcin Grzejszczak
 
PDF
Spring cloud
Milan Ashara
 
PDF
Continuous Deployment of your Application @jSession#5
Marcin Grzejszczak
 
PDF
Introduction to Spring Cloud
VMware Tanzu
 
PDF
Continuous Deployment of your Application @JUGtoberfest
Marcin Grzejszczak
 
PDF
Cloud-native Patterns
VMware Tanzu
 
PDF
Cloud-native Patterns (July 4th, 2019)
Alexandre Roman
 
Микросервисы со Spring Boot & Spring Cloud
Vitebsk DSC
 
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
PROIDEA
 
Flying to clouds - can it be easy? Cloud Native Applications
Jacek Bukowski
 
Edge architecture ieee international conference on cloud engineering
Mikey Cohen - Hiring Amazing Engineers
 
Cloud Event Driven Architectures with Spring Cloud Stream 2.0
VMware Tanzu
 
Spring Cloud Gateway - Nate Schutta
VMware Tanzu
 
Microservice creation using spring cloud, zipkin, ribbon, zull, eureka
Binit Pathak
 
Spring Cloud and Netflix Components
Dharshan Sastry B N
 
Zuul_Intro.pdf
SRINIVAS KOLAPARTHI
 
The Beginner’s Guide To Spring Cloud
VMware Tanzu
 
"The Cloud Native Enterprise is Coming"
James Watters
 
Continuous Deployment of your Application - SpringOne Tour Dallas
VMware Tanzu
 
spring-cloud.pptx
ssuser7959eb
 
Continuous Deployment To The Cloud @DevoxxPL 2017
Marcin Grzejszczak
 
Spring cloud
Milan Ashara
 
Continuous Deployment of your Application @jSession#5
Marcin Grzejszczak
 
Introduction to Spring Cloud
VMware Tanzu
 
Continuous Deployment of your Application @JUGtoberfest
Marcin Grzejszczak
 
Cloud-native Patterns
VMware Tanzu
 
Cloud-native Patterns (July 4th, 2019)
Alexandre Roman
 
Ad

More from VMware Tanzu (20)

PDF
Spring into AI presented by Dan Vega 5/14
VMware Tanzu
 
PDF
What AI Means For Your Product Strategy And What To Do About It
VMware Tanzu
 
PDF
Make the Right Thing the Obvious Thing at Cardinal Health 2023
VMware Tanzu
 
PPTX
Enhancing DevEx and Simplifying Operations at Scale
VMware Tanzu
 
PDF
Spring Update | July 2023
VMware Tanzu
 
PPTX
Platforms, Platform Engineering, & Platform as a Product
VMware Tanzu
 
PPTX
Building Cloud Ready Apps
VMware Tanzu
 
PDF
Spring Boot 3 And Beyond
VMware Tanzu
 
PDF
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
VMware Tanzu
 
PDF
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
VMware Tanzu
 
PDF
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
VMware Tanzu
 
PPTX
tanzu_developer_connect.pptx
VMware Tanzu
 
PDF
Tanzu Virtual Developer Connect Workshop - French
VMware Tanzu
 
PDF
Tanzu Developer Connect Workshop - English
VMware Tanzu
 
PDF
Virtual Developer Connect Workshop - English
VMware Tanzu
 
PDF
Tanzu Developer Connect - French
VMware Tanzu
 
PDF
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
VMware Tanzu
 
PDF
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
VMware Tanzu
 
PDF
SpringOne Tour: The Influential Software Engineer
VMware Tanzu
 
PDF
SpringOne Tour: Domain-Driven Design: Theory vs Practice
VMware Tanzu
 
Spring into AI presented by Dan Vega 5/14
VMware Tanzu
 
What AI Means For Your Product Strategy And What To Do About It
VMware Tanzu
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
VMware Tanzu
 
Enhancing DevEx and Simplifying Operations at Scale
VMware Tanzu
 
Spring Update | July 2023
VMware Tanzu
 
Platforms, Platform Engineering, & Platform as a Product
VMware Tanzu
 
Building Cloud Ready Apps
VMware Tanzu
 
Spring Boot 3 And Beyond
VMware Tanzu
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
VMware Tanzu
 
tanzu_developer_connect.pptx
VMware Tanzu
 
Tanzu Virtual Developer Connect Workshop - French
VMware Tanzu
 
Tanzu Developer Connect Workshop - English
VMware Tanzu
 
Virtual Developer Connect Workshop - English
VMware Tanzu
 
Tanzu Developer Connect - French
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
VMware Tanzu
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
VMware Tanzu
 
SpringOne Tour: The Influential Software Engineer
VMware Tanzu
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
VMware Tanzu
 
Ad

Recently uploaded (20)

PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PPTX
Extensions Framework (XaaS) - Enabling Orchestrate Anything
ShapeBlue
 
PPTX
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
PDF
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
PDF
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
PDF
Rethinking Security Operations - SOC Evolution Journey.pdf
Haris Chughtai
 
PDF
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
PDF
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
PDF
Meetup Kickoff & Welcome - Rohit Yadav, CSIUG Chairman
ShapeBlue
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
PDF
Persuasive AI: risks and opportunities in the age of digital debate
Speck&Tech
 
PDF
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
Extensions Framework (XaaS) - Enabling Orchestrate Anything
ShapeBlue
 
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
Rethinking Security Operations - SOC Evolution Journey.pdf
Haris Chughtai
 
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
Meetup Kickoff & Welcome - Rohit Yadav, CSIUG Chairman
ShapeBlue
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
Persuasive AI: risks and opportunities in the age of digital debate
Speck&Tech
 
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 

Better Deployments with Sub Environments Using Spring Cloud and Netflix Ribbon

  • 1. 1 © 2018 Pivotal Better Deployments with sub environments using Spring Cloud & Netflix Ribbon Roi Ezra, Infrastructure & Cloud Native Platform team lead, Intel @RoiEzra Liel Chayoun, Infrastructure & Cloud Native Platform developer, Intel @ChayounLiel
  • 2. 2 Agenda § Cloud Native & CD Challenges § The Immune System § API Gateway, Netflix Ribbon & Zuul High Level § Demo § Q&A
  • 3. 3 Cloud Native & CD Challenges § Microservices • Dynamic Environment • Complex Architecture • Hard to Test
  • 4. 4 Cloud Native & CD Challenges § Frequent releases to production • Move fast without breaking things • Prevention > Detection ? Not possible L • Prevention @ Stage N === Detection @ Stage N-1
  • 5. 5 Cloud Native & CD Challenges § Testing • How do we fill databases with real data? • What and when to mock? § Configuration • Firewalls, Application Configuration, Connection Strings… § Work loads § Users “There is no place like production”
  • 6. 6 The Immune System “The immune system is a host defense system comprising many biological structures and processes within an organism that protects against disease. To function properly, an immune system must detect a wide variety of agents, known as pathogens, from viruses to parasitic worms, and distinguish them from the organism's own healthy tissue. In many species, the immune system can be classified into subsystems, such as the innate immune system versus the adaptive immune system, or humoral immunity versus cell-mediated immunity Wikipedia “
  • 7. 7 The Immune System § Tests (Unit, Integration, Contract, Smoke, E2E, Rollback …) § Monitoring & Alerts (Telemetry, Logs) § Semantic Monitoring (Application Level Monitoring) § Chaos Engineering § Several Environments & Sub Environments
  • 8. 8 Environments Test Staging / Integration Production… ? ?
  • 10. 10 Sub Environments § All sub environments must have traffic all the time § Consistency and Standardization § Alerts severity should be different between environments
  • 11. 11 When we move to the next sub environment § Should be automatic and based on several inputs: • Application Level Monitoring Results • Telemetry Data • Log Analysis • Pre Defined Schedule
  • 12. 12 Enough with challenges Lets see some solutions J
  • 13. 13 Netflix Ribbon Ribbon is a Inter Process Communication (remote procedure calls) library with built in software load balancers. The primary usage model involves REST calls with various serialization scheme support.
  • 14. 14 Ribbon Components § ServerList - can be static or dynamic § ServerListFilter - filters the servers returned from dynamic server list § Ping - running in background to ensure liveness of servers § Rule - a logic component to determine which server to return from a list
  • 15. 15 Ribbon & Spring Cloud § Spring Auto Configuration will automatically detect your dependencies and will configure Ribbon for you § Each load balancer: • Part of an ensemble of components that work together to contact a remote server on demand • Has unique name • Has it own ApplicationContext => Can have custom behavior § Can be used by @LoadBalanced RestTemplate or Feign
  • 16. 16 Ribbon & Spring Cloud – Code Example
  • 17. 17 API Gateway Pattern – High Level Architecture Clients APIGateway Service Registry Edge Services Backend Services
  • 18. 18 API Gateway Pattern § Dynamic Routing § Encryption, Security § Load Balancing § Different Clients § Service Protection (e.g.: Rate Limit) § Smart Client for services (e.g.: Retry) § Enables different deployment strategies
  • 19. 19 Zuul – Netflix API Gateway Zuul is a gateway service that provides dynamic routing, monitoring, resiliency, security, and more
  • 20. 20 Netflix Zuul § Was used by Netflix at production scale § Replaced by Zuul 2 in 2016 (was open sourced this year) § Used by Spring Cloud Edgware release train § Spring Cloud Finchley uses Spring Cloud Gateway project
  • 21. 21 Netflix Zuul – Request Lifecycle HTTP Request “pre” filters “routing” filters “post” filters Server Request Response “error” filters
  • 22. 22 Netflix Zuul & Spring Cloud § Spring Cloud has created an embedded Zuul proxy (@EnableZuulProxy) § By convention, a service with the ID "users", will receive requests from the proxy located at /users § The proxy uses Ribbon to locate an instance to forward to via discovery § RibbonRoutingFilter is in charge to use Ribbon, Hystrix and pluggable HTTP clients to send requests
  • 23. 23 Some Specific Requirements § Not to expose all services from service discovery to all clients • Only “Edge” services § Not all services runs in all data centers where the gateway runs • Cross zone load balancing with latency consideration § Direct traffic to sub environment based on: • URL, HTTP Header, User / Group § Weight based load balancing
  • 24. 24 Lets see some code API Gateway Edge Edge Backend Backend A B
  • 25. 25 Lets see some code API Gateway Edge Edge Backend Backend A B X-tag=A
  • 26. 26 Lets see some code API Gateway Edge Edge Backend Backend A B X-tag=A
  • 27. 27 Lets see some code API Gateway Edge Edge Backend Backend A B X-tag=A
  • 28. 28 Lets see some code API Gateway Edge Edge Backend Backend A B X-tag=B
  • 29. 29 Lets see some code API Gateway Edge Edge Backend Backend A B X-tag=B
  • 30. 30 Lets see some code API Gateway Edge Edge Backend Backend A B X-tag=B
  • 31. 31 Problem Solved? Not really L Edge Backend Edge Backend A B X-tag=A Gateway Tag Based Rule
  • 32. 32 Problem Solved? Not really L Edge Backend Edge Backend A B X-tag=A X-tag=A Gateway Tag Based Rule
  • 33. 33 Problem Solved? Not really L Edge Backend Edge Backend A B X-tag=A ? Gateway Tag Based Rule X-tag=A
  • 34. 34 Client Side Load Balancing Instance 1 Instance 2 Instance 3 Service Discovery / Configuration Service Load balancer
  • 37. 37 Learn More. Stay Connected. § Watch our talk @ the last SP1 Platform about our Cloud Native Journey @ Intel § Demo Code @ GitHub Twitter: twitter.com/springcentral YouTube: spring.io/video LinkedIn: spring.io/linkedin Google Plus: spring.io/gplus https://www.youtube.com/watch?v=D_kt9pMQ4Sw https://github.com/ezraroi/BetterDeploymentsDemo