SlideShare a Scribd company logo
1 of 39
Download to read offline
1CONFIDENTIAL
SPRING CLOUD AND
NETFLIX OSS OVERVIEW
DZMITRY SKAREDAU, SOLUTION ARCHITECT
MARCH 30, 2016
2CONFIDENTIAL
2
Follow my Microservices Series
• Microservices architecture overview
• Minsk Tech Talks (Oct 08/Oct 16)
• SEC Online (May 17)
• Spring Cloud + Netflix OSS overview
• Minsk Tech Talks (Mar 30)
• Microservices and Domain Driven Design
• 12-Factor Apps: closer look
• CI/CD for Microservices using Docker and Kubernetes
• Spring Cloud workshop
ABOUT
Dzmitry Skaredau
Solution Architect
Twitter: @dskaredov
• ~15 years in software development
• Java Competency Center Expert
https://epa.ms/SkillsMatrix
https://epa.ms/RnDSaaS
https://epa.ms/JavaTechTalks (KB)
https://epa.ms/MinskTechTalks (Yammer)
https://epa.ms/Microservices (Yammer)
3CONFIDENTIAL
3
• Spring Boot
• Spring Cloud Config
• Spring Cloud Bus
• Spring Cloud Netflix
• Spring Cloud Stream
• Spring Cloud Sleuth
AGENDA
4CONFIDENTIAL
SPRING BOOT
5CONFIDENTIAL
5
AUTO CONFIGRATION − NO MORE BOILERPLATE CODE
In information technology, a boilerplate is a unit
of writing that can be reused over and over
without change. By extension, the idea is
sometimes applied to reusable programming as in
"boilerplate code."
6CONFIDENTIAL
6
ACTUATOR
ID Description Sensitive
Default
actuator Provides a hypermedia-based “discovery page” for the other endpoints. Requires Spring HATEOAS to be on the classpath. true
autoconfig Displays an auto-configuration report showing all auto-configuration candidates and the reason why they ‘were’ or ‘were not’
applied.
true
beans Displays a complete list of all the Spring beans in your application. true
configprops Displays a collated list of all @ConfigurationProperties. true
docs Displays documentation, including example requests and responses, for the Actuator’s endpoints. Requiresspring-boot-actuator-
docs to be on the classpath.
false
dump Performs a thread dump. true
env Exposes properties from Spring’s ConfigurableEnvironment. true
flyway Shows any Flyway database migrations that have been applied. true
health Shows application health information (when the application is secure, a simple ‘status’ when accessed over an unauthenticated
connection or full message details when authenticated).
false
info Displays arbitrary application info. false
liquibase Shows any Liquibase database migrations that have been applied. true
logfile Returns the contents of the logfile (if logging.file or logging.path properties have been set). Only available via MVC. Supports the
use of the HTTP Range header to retrieve part of the log file’s content.
true
metrics Shows ‘metrics’ information for the current application. true
mappings Displays a collated list of all @RequestMapping paths. true
shutdown Allows the application to be gracefully shutdown (not enabled by default). true
trace Displays trace information (by default the last few HTTP requests). true
7CONFIDENTIAL
7
ENDPOINTS
• env
• liquibase
• metrics
• trace
• etc
8CONFIDENTIAL
8
INFO
• config
• code
9CONFIDENTIAL
9
HEALTH
Name Description
CassandraHealthIndicator Checks that a Cassandra database is up.
DiskSpaceHealthIndicator Checks for low disk space.
DataSourceHealthIndicator Checks that a connection to DataSource can be obtained.
ElasticsearchHealthIndicator Checks that an ElasticSearch cluster is up.
JmsHealthIndicator Checks that a JMS broker is up.
MailHealthIndicator Checks that a mail server is up.
MongoHealthIndicator Checks that a Mongo database is up.
RabbitHealthIndicator Checks that a Rabbit server is up.
RedisHealthIndicator Checks that a Redis server is up.
SolrHealthIndicator Checks that a Solr server is up.
10CONFIDENTIAL
10
CUSTOM HEALTH INDICATORS
@Bean
HealthIndicator healthIndicator() {
return new HealthIndicator() {
@Override
public Health health() {
return Health.status(check()).build();
}
};
}
11CONFIDENTIAL
11
SPRING DATA REST
12CONFIDENTIAL
SPRING CLOUD
13CONFIDENTIAL
13
SPRING CLOUD
• Distributed/Versioned Configuration Management
• Service Registration & Discovery
• Routing & Load Balancing
• Fault Tolerance (Circuit Breakers)
• Monitoring
• Concurrent API Aggregation & Transformation
• Distributed messaging
• Spring Cloud Config
• Spring Cloud Netflix
• Spring Cloud Bus
• Spring Cloud for Cloud Foundry
• Spring Cloud Cluster
• Spring Cloud Consul
• Spring Cloud Security
• Spring Cloud Sleuth
• Spring Cloud Data Flow
• Spring Cloud Stream
• Spring Cloud Stream Modules
• Spring Cloud Task
• Spring Cloud Zookeeper
• Spring Cloud for Amazon Web Services
• Spring Cloud Connectors
• Spring Cloud Starters
• Spring Cloud CLI
MAIN PROJECTS PATTERNS
14CONFIDENTIAL
SPRING CLOUD CONFIG
15CONFIDENTIAL
15
SPRING CLOUD CONFIG
Spring Cloud Config provides server and client-side support for
externalized configuration in a distributed system
16CONFIDENTIAL
16
SPRING CLOUD CONFIG
FEATURES
MAJOR FEATURES
• Version control
• Changing live
• HTTP, resource-based API for external configuration (name-value pairs, or equivalent YAML content)
• Encrypt and decrypt property values (symmetric or asymmetric)
• Embeddable easily in a Spring Boot application using @EnableConfigServer
• Bind to the Config Server and initialize Spring Environment with remote property sources
• Encrypt and decrypt property values (symmetric or asymmetric)
17CONFIDENTIAL
17
DEMO
• config
• code
18CONFIDENTIAL
18
VERSION CONTROL
• http://localhost:8888/article-service/default/
• http://localhost:8888/article-service/default/1.0.0
• http://localhost:8888/article-service/default/1.0.1
/{application}/{profile}[/{label}]
The HTTP service has resources in the form:
19CONFIDENTIAL
19
REFRESH SCOPE
• config
• code
20CONFIDENTIAL
SPRING CLOUD BUS
21CONFIDENTIAL
21
SPRING CLOUD BUS
An event bus for linking services and service instances together with distributed messaging.
Useful for propagating state changes across a cluster (e.g. config change events)
22CONFIDENTIAL
SPRING CLOUD NETFLIX
23CONFIDENTIAL
23
SPRING CLOUD NETFLIX
MAJOR FEATURES
• Service Discovery
• Circuit Breaker
• Client Side Load Balancer
• Router and Filter
• Monitoring
24CONFIDENTIAL
24
SERVICE DISCOVERY: EUREKA
25CONFIDENTIAL
25
CLIENT SIDE LOAD BALANCER: RIBBON
26CONFIDENTIAL
26
CLIENT SIDE LOAD BALANCER: RIBBON
Ribbon provides a rich set of features including:
• Multiple built-in load balancing rules:
—Round-robin
—Average response-time weighted
—Random
—Availability filtered (avoid tripped circuits or high concurrent
connection counts)
• Custom load balancing rule plugin system
• Pluggable integration with service discovery solutions (including
Eureka)
• Cloud-native intelligence such as zone affinity and unhealthy
zone avoidance
• Built-in failure resiliency
27CONFIDENTIAL
27
CIRCUIT BREAKER: HYSTRIX
28CONFIDENTIAL
28
CIRCUIT BREAKER: HYSTRIX
29CONFIDENTIAL
29
CLIENT SIDE LOAD BALANCERROUTER AND FILTER: ZUUL
Netflix uses filters dynamically loaded into Zuul to perform the following functions:
• Authentication and security: Identifying authentication requirements for each resource and rejecting
requests that do not satisfy them.
• Insights and monitoring: Tracking meaningful data and statistics at the edge in order to give us an
accurate view of production.
• Dynamic routing: Dynamically routing requests to different back-end clusters as needed.
• Stress testing: Gradually increasing the traffic to a cluster in order to gauge performance.
• Load shedding: Allocating capacity for each type of request and dropping requests that go over the
limit.
• Static response handling: Building some responses directly at the edge instead of forwarding them to
an internal cluster.
• Multiregion resiliency: Routing requests across AWS regions in order to diversify our ELB usage and
move our edge closer to our members.
30CONFIDENTIAL
30
CLIENT SIDE LOAD BALANCERROUTER AND FILTER: ZUUL
31CONFIDENTIAL
31
CLIENT SIDE LOAD BALANCERMONITORING: HYSTRIX DASHBOARD
32CONFIDENTIAL
32
CLIENT SIDE LOAD BALANCERMONITORING: HYSTRIX DASHBOARD
33CONFIDENTIAL
33
CLIENT SIDE LOAD BALANCERMONITORING: TURBINE STREAM AGGREGATOR
34CONFIDENTIAL
SPRING CLOUD STREAM
35CONFIDENTIAL
35
SPRING CLOUD STREAM
Spring Cloud Stream is a framework for building message-driven microservices. Spring Cloud Stream builds
upon Spring Boot to create DevOps friendly microservice applications and Spring Integration to provide
connectivity to message brokers.
By adding @EnableBinding to your main application, you get immediate connectivity to a message
broker and by adding @StreamListener to a method, you will receive events for stream processing.
36CONFIDENTIAL
SPRING CLOUD SLEUTH
37CONFIDENTIAL
37
SPRING CLOUD SLEUTH
Spring Cloud Sleuth implements a distributed tracing solution for
Spring Cloud, borrowing heavily from Dapper, Zipkin and HTrace. For
most users Sleuth should be invisible, and all your interactions with
external systems should be instrumented automatically. You can
capture data simply in logs, or by sending it to a remote collector
service.
38CONFIDENTIAL
38
SPRING CLOUD SLEUTH
39CONFIDENTIAL
QUESTIONS?

More Related Content

What's hot

MicroServices at Netflix - challenges of scale
MicroServices at Netflix - challenges of scaleMicroServices at Netflix - challenges of scale
MicroServices at Netflix - challenges of scaleSudhir Tonse
 
Netflix0SS Services on Docker
Netflix0SS Services on DockerNetflix0SS Services on Docker
Netflix0SS Services on DockerDocker, Inc.
 
Building ‘Bootiful’ microservices cloud
Building ‘Bootiful’ microservices cloudBuilding ‘Bootiful’ microservices cloud
Building ‘Bootiful’ microservices cloudIdan Fridman
 
Building Microservices with Spring Cloud and Netflix OSS
Building Microservices with Spring Cloud and Netflix OSSBuilding Microservices with Spring Cloud and Netflix OSS
Building Microservices with Spring Cloud and Netflix OSSSemih Hakkıoğlu
 
CDK Meetup: Rule the World through IaC
CDK Meetup: Rule the World through IaCCDK Meetup: Rule the World through IaC
CDK Meetup: Rule the World through IaCsmalltown
 
Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...
Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...
Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...KCDItaly
 
Gatekeeper: API gateway
Gatekeeper: API gatewayGatekeeper: API gateway
Gatekeeper: API gatewayChengHui Weng
 
Cloud Native Microservices with Spring Cloud
Cloud Native Microservices with Spring CloudCloud Native Microservices with Spring Cloud
Cloud Native Microservices with Spring CloudConor Svensson
 
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18CodeOps Technologies LLP
 
Microservices with Spring Cloud
Microservices with Spring CloudMicroservices with Spring Cloud
Microservices with Spring CloudDaniel Eichten
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSAOracle Korea
 
Spring cloud Service-Discovery
Spring cloud Service-DiscoverySpring cloud Service-Discovery
Spring cloud Service-DiscoveryNikhil Hiremath
 
Kubernetes your next application server
Kubernetes  your next application serverKubernetes  your next application server
Kubernetes your next application serverRed Hat Developers
 
Level-up your gaming telemetry using Kafka Streams | DevNation Tech Talk
Level-up your gaming telemetry using Kafka Streams | DevNation Tech TalkLevel-up your gaming telemetry using Kafka Streams | DevNation Tech Talk
Level-up your gaming telemetry using Kafka Streams | DevNation Tech TalkRed Hat Developers
 
Building Micro-Services with Scala
Building Micro-Services with ScalaBuilding Micro-Services with Scala
Building Micro-Services with ScalaYardena Meymann
 
Serverless Workflow: New approach to Kubernetes service orchestration | DevNa...
Serverless Workflow: New approach to Kubernetes service orchestration | DevNa...Serverless Workflow: New approach to Kubernetes service orchestration | DevNa...
Serverless Workflow: New approach to Kubernetes service orchestration | DevNa...Red Hat Developers
 
AWS re:Invent re:Cap 2019: My ElasticSearch Journey on AWS
AWS re:Invent re:Cap 2019: My ElasticSearch Journey on AWSAWS re:Invent re:Cap 2019: My ElasticSearch Journey on AWS
AWS re:Invent re:Cap 2019: My ElasticSearch Journey on AWSsmalltown
 
Mutating Admission Webhook creation
Mutating Admission Webhook creationMutating Admission Webhook creation
Mutating Admission Webhook creationVictor Morales
 
Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...Red Hat Developers
 

What's hot (20)

MicroServices at Netflix - challenges of scale
MicroServices at Netflix - challenges of scaleMicroServices at Netflix - challenges of scale
MicroServices at Netflix - challenges of scale
 
Netflix0SS Services on Docker
Netflix0SS Services on DockerNetflix0SS Services on Docker
Netflix0SS Services on Docker
 
Building ‘Bootiful’ microservices cloud
Building ‘Bootiful’ microservices cloudBuilding ‘Bootiful’ microservices cloud
Building ‘Bootiful’ microservices cloud
 
Building Microservices with Spring Cloud and Netflix OSS
Building Microservices with Spring Cloud and Netflix OSSBuilding Microservices with Spring Cloud and Netflix OSS
Building Microservices with Spring Cloud and Netflix OSS
 
CDK Meetup: Rule the World through IaC
CDK Meetup: Rule the World through IaCCDK Meetup: Rule the World through IaC
CDK Meetup: Rule the World through IaC
 
Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...
Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...
Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...
 
Gatekeeper: API gateway
Gatekeeper: API gatewayGatekeeper: API gateway
Gatekeeper: API gateway
 
Kubernetes + netflix oss
Kubernetes + netflix ossKubernetes + netflix oss
Kubernetes + netflix oss
 
Cloud Native Microservices with Spring Cloud
Cloud Native Microservices with Spring CloudCloud Native Microservices with Spring Cloud
Cloud Native Microservices with Spring Cloud
 
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
 
Microservices with Spring Cloud
Microservices with Spring CloudMicroservices with Spring Cloud
Microservices with Spring Cloud
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSA
 
Spring cloud Service-Discovery
Spring cloud Service-DiscoverySpring cloud Service-Discovery
Spring cloud Service-Discovery
 
Kubernetes your next application server
Kubernetes  your next application serverKubernetes  your next application server
Kubernetes your next application server
 
Level-up your gaming telemetry using Kafka Streams | DevNation Tech Talk
Level-up your gaming telemetry using Kafka Streams | DevNation Tech TalkLevel-up your gaming telemetry using Kafka Streams | DevNation Tech Talk
Level-up your gaming telemetry using Kafka Streams | DevNation Tech Talk
 
Building Micro-Services with Scala
Building Micro-Services with ScalaBuilding Micro-Services with Scala
Building Micro-Services with Scala
 
Serverless Workflow: New approach to Kubernetes service orchestration | DevNa...
Serverless Workflow: New approach to Kubernetes service orchestration | DevNa...Serverless Workflow: New approach to Kubernetes service orchestration | DevNa...
Serverless Workflow: New approach to Kubernetes service orchestration | DevNa...
 
AWS re:Invent re:Cap 2019: My ElasticSearch Journey on AWS
AWS re:Invent re:Cap 2019: My ElasticSearch Journey on AWSAWS re:Invent re:Cap 2019: My ElasticSearch Journey on AWS
AWS re:Invent re:Cap 2019: My ElasticSearch Journey on AWS
 
Mutating Admission Webhook creation
Mutating Admission Webhook creationMutating Admission Webhook creation
Mutating Admission Webhook creation
 
Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...
 

Viewers also liked

To Microservices and Beyond
To Microservices and BeyondTo Microservices and Beyond
To Microservices and BeyondMatt Stine
 
그루비 소개 발표자료 - 김연수
그루비 소개 발표자료 - 김연수그루비 소개 발표자료 - 김연수
그루비 소개 발표자료 - 김연수Yeon Soo Kim
 
Self-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to MicroservicesSelf-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to MicroservicesEberhard Wolff
 
Dmp hadoop getting_start
Dmp hadoop getting_startDmp hadoop getting_start
Dmp hadoop getting_startGim GyungJin
 
Microservices Tracing with Spring Cloud and Zipkin
Microservices Tracing with Spring Cloud and ZipkinMicroservices Tracing with Spring Cloud and Zipkin
Microservices Tracing with Spring Cloud and ZipkinMarcin Grzejszczak
 
Building Distributed Systems with Netflix OSS and Spring Cloud
Building Distributed Systems with Netflix OSS and Spring CloudBuilding Distributed Systems with Netflix OSS and Spring Cloud
Building Distributed Systems with Netflix OSS and Spring CloudMatt Stine
 
무식하게 배우는 gradle
무식하게 배우는 gradle무식하게 배우는 gradle
무식하게 배우는 gradleJi Heon Kim
 
Docker Platform and Ecosystem
Docker Platform and EcosystemDocker Platform and Ecosystem
Docker Platform and EcosystemPatrick Chanezon
 
Microservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale AgileMicroservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale AgileEberhard Wolff
 
Microservices Technology Stack
Microservices Technology StackMicroservices Technology Stack
Microservices Technology StackEberhard Wolff
 
Microservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudMicroservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudEberhard Wolff
 
Der Cloud Native Stack in a Nutshell. #CloudExpoEurope
Der Cloud Native Stack in a Nutshell. #CloudExpoEuropeDer Cloud Native Stack in a Nutshell. #CloudExpoEurope
Der Cloud Native Stack in a Nutshell. #CloudExpoEuropeMario-Leander Reimer
 

Viewers also liked (16)

The Docker Ecosystem
The Docker EcosystemThe Docker Ecosystem
The Docker Ecosystem
 
Spring cloud sleuth
Spring cloud sleuthSpring cloud sleuth
Spring cloud sleuth
 
To Microservices and Beyond
To Microservices and BeyondTo Microservices and Beyond
To Microservices and Beyond
 
그루비 소개 발표자료 - 김연수
그루비 소개 발표자료 - 김연수그루비 소개 발표자료 - 김연수
그루비 소개 발표자료 - 김연수
 
Self-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to MicroservicesSelf-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to Microservices
 
Hystrix소개
Hystrix소개Hystrix소개
Hystrix소개
 
Dmp hadoop getting_start
Dmp hadoop getting_startDmp hadoop getting_start
Dmp hadoop getting_start
 
Microservices Tracing with Spring Cloud and Zipkin
Microservices Tracing with Spring Cloud and ZipkinMicroservices Tracing with Spring Cloud and Zipkin
Microservices Tracing with Spring Cloud and Zipkin
 
Building Distributed Systems with Netflix OSS and Spring Cloud
Building Distributed Systems with Netflix OSS and Spring CloudBuilding Distributed Systems with Netflix OSS and Spring Cloud
Building Distributed Systems with Netflix OSS and Spring Cloud
 
무식하게 배우는 gradle
무식하게 배우는 gradle무식하게 배우는 gradle
무식하게 배우는 gradle
 
Docker Platform and Ecosystem
Docker Platform and EcosystemDocker Platform and Ecosystem
Docker Platform and Ecosystem
 
Microservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale AgileMicroservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale Agile
 
Spring Boot 소개
Spring Boot 소개Spring Boot 소개
Spring Boot 소개
 
Microservices Technology Stack
Microservices Technology StackMicroservices Technology Stack
Microservices Technology Stack
 
Microservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudMicroservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring Cloud
 
Der Cloud Native Stack in a Nutshell. #CloudExpoEurope
Der Cloud Native Stack in a Nutshell. #CloudExpoEuropeDer Cloud Native Stack in a Nutshell. #CloudExpoEurope
Der Cloud Native Stack in a Nutshell. #CloudExpoEurope
 

Similar to Spring Cloud and Netflix OSS overview v1

ISTIO Deep Dive
ISTIO Deep DiveISTIO Deep Dive
ISTIO Deep DiveYong Feng
 
Confluent Tech Talk Korea
Confluent Tech Talk KoreaConfluent Tech Talk Korea
Confluent Tech Talk Koreaconfluent
 
All Streams Ahead! ksqlDB Workshop ANZ
All Streams Ahead! ksqlDB Workshop ANZAll Streams Ahead! ksqlDB Workshop ANZ
All Streams Ahead! ksqlDB Workshop ANZconfluent
 
Enterprise Service Delivery from the AWS Cloud (ARC208) | AWS re:Invent 2013
Enterprise Service Delivery from the AWS Cloud (ARC208) | AWS re:Invent 2013Enterprise Service Delivery from the AWS Cloud (ARC208) | AWS re:Invent 2013
Enterprise Service Delivery from the AWS Cloud (ARC208) | AWS re:Invent 2013Amazon Web Services
 
05.10.2017 AWS User Group Meetup - FALLACIES OF DISTRIBUTED COMPUTING WITH KU...
05.10.2017 AWS User Group Meetup - FALLACIES OF DISTRIBUTED COMPUTING WITH KU...05.10.2017 AWS User Group Meetup - FALLACIES OF DISTRIBUTED COMPUTING WITH KU...
05.10.2017 AWS User Group Meetup - FALLACIES OF DISTRIBUTED COMPUTING WITH KU...Zalando adtech lab
 
Fallacies of distributed computing with Kubernetes on AWS
Fallacies of distributed computing with Kubernetes on AWSFallacies of distributed computing with Kubernetes on AWS
Fallacies of distributed computing with Kubernetes on AWSRaffaele Di Fazio
 
[RightScale Webinar] Architecting Databases in the cloud: How RightScale Doe...
[RightScale Webinar] Architecting Databases in the cloud:  How RightScale Doe...[RightScale Webinar] Architecting Databases in the cloud:  How RightScale Doe...
[RightScale Webinar] Architecting Databases in the cloud: How RightScale Doe...RightScale
 
Who's in your Cloud? Cloud State Monitoring
Who's in your Cloud? Cloud State MonitoringWho's in your Cloud? Cloud State Monitoring
Who's in your Cloud? Cloud State MonitoringKevin Hakanson
 
Full lifecycle of a microservice
Full lifecycle of a microserviceFull lifecycle of a microservice
Full lifecycle of a microserviceLuigi Bennardis
 
Flying to clouds - can it be easy? Cloud Native Applications
Flying to clouds - can it be easy? Cloud Native ApplicationsFlying to clouds - can it be easy? Cloud Native Applications
Flying to clouds - can it be easy? Cloud Native ApplicationsJacek Bukowski
 
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?PROIDEA
 
Easy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applicationsEasy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applicationsJack-Junjie Cai
 
Security Requires Visibility-Turn Data Into Security Insight
Security Requires Visibility-Turn Data Into Security InsightSecurity Requires Visibility-Turn Data Into Security Insight
Security Requires Visibility-Turn Data Into Security InsightAmazon Web Services
 
Microservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesMicroservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesQAware GmbH
 
Come costruire apllicazioni "12-factor microservices" in AWS
Come costruire apllicazioni "12-factor microservices" in AWSCome costruire apllicazioni "12-factor microservices" in AWS
Come costruire apllicazioni "12-factor microservices" in AWSAmazon Web Services
 
Bridging the Gap: Connecting AWS and Kafka
Bridging the Gap: Connecting AWS and KafkaBridging the Gap: Connecting AWS and Kafka
Bridging the Gap: Connecting AWS and KafkaPengfei (Jason) Li
 
All About Microservices and OpenSource Microservice Frameworks
All About Microservices and OpenSource Microservice FrameworksAll About Microservices and OpenSource Microservice Frameworks
All About Microservices and OpenSource Microservice FrameworksMohammad Asif Siddiqui
 
Cloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a CacheCloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a Cachecornelia davis
 
Introduction no sql solutions with couchbase and .net core
Introduction no sql solutions with couchbase and .net coreIntroduction no sql solutions with couchbase and .net core
Introduction no sql solutions with couchbase and .net coreBaris Ceviz
 
MongoDB 4.0 새로운 기능 소개
MongoDB 4.0 새로운 기능 소개MongoDB 4.0 새로운 기능 소개
MongoDB 4.0 새로운 기능 소개Ha-Yang(White) Moon
 

Similar to Spring Cloud and Netflix OSS overview v1 (20)

ISTIO Deep Dive
ISTIO Deep DiveISTIO Deep Dive
ISTIO Deep Dive
 
Confluent Tech Talk Korea
Confluent Tech Talk KoreaConfluent Tech Talk Korea
Confluent Tech Talk Korea
 
All Streams Ahead! ksqlDB Workshop ANZ
All Streams Ahead! ksqlDB Workshop ANZAll Streams Ahead! ksqlDB Workshop ANZ
All Streams Ahead! ksqlDB Workshop ANZ
 
Enterprise Service Delivery from the AWS Cloud (ARC208) | AWS re:Invent 2013
Enterprise Service Delivery from the AWS Cloud (ARC208) | AWS re:Invent 2013Enterprise Service Delivery from the AWS Cloud (ARC208) | AWS re:Invent 2013
Enterprise Service Delivery from the AWS Cloud (ARC208) | AWS re:Invent 2013
 
05.10.2017 AWS User Group Meetup - FALLACIES OF DISTRIBUTED COMPUTING WITH KU...
05.10.2017 AWS User Group Meetup - FALLACIES OF DISTRIBUTED COMPUTING WITH KU...05.10.2017 AWS User Group Meetup - FALLACIES OF DISTRIBUTED COMPUTING WITH KU...
05.10.2017 AWS User Group Meetup - FALLACIES OF DISTRIBUTED COMPUTING WITH KU...
 
Fallacies of distributed computing with Kubernetes on AWS
Fallacies of distributed computing with Kubernetes on AWSFallacies of distributed computing with Kubernetes on AWS
Fallacies of distributed computing with Kubernetes on AWS
 
[RightScale Webinar] Architecting Databases in the cloud: How RightScale Doe...
[RightScale Webinar] Architecting Databases in the cloud:  How RightScale Doe...[RightScale Webinar] Architecting Databases in the cloud:  How RightScale Doe...
[RightScale Webinar] Architecting Databases in the cloud: How RightScale Doe...
 
Who's in your Cloud? Cloud State Monitoring
Who's in your Cloud? Cloud State MonitoringWho's in your Cloud? Cloud State Monitoring
Who's in your Cloud? Cloud State Monitoring
 
Full lifecycle of a microservice
Full lifecycle of a microserviceFull lifecycle of a microservice
Full lifecycle of a microservice
 
Flying to clouds - can it be easy? Cloud Native Applications
Flying to clouds - can it be easy? Cloud Native ApplicationsFlying to clouds - can it be easy? Cloud Native Applications
Flying to clouds - can it be easy? Cloud Native Applications
 
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
 
Easy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applicationsEasy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applications
 
Security Requires Visibility-Turn Data Into Security Insight
Security Requires Visibility-Turn Data Into Security InsightSecurity Requires Visibility-Turn Data Into Security Insight
Security Requires Visibility-Turn Data Into Security Insight
 
Microservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesMicroservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing Microservices
 
Come costruire apllicazioni "12-factor microservices" in AWS
Come costruire apllicazioni "12-factor microservices" in AWSCome costruire apllicazioni "12-factor microservices" in AWS
Come costruire apllicazioni "12-factor microservices" in AWS
 
Bridging the Gap: Connecting AWS and Kafka
Bridging the Gap: Connecting AWS and KafkaBridging the Gap: Connecting AWS and Kafka
Bridging the Gap: Connecting AWS and Kafka
 
All About Microservices and OpenSource Microservice Frameworks
All About Microservices and OpenSource Microservice FrameworksAll About Microservices and OpenSource Microservice Frameworks
All About Microservices and OpenSource Microservice Frameworks
 
Cloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a CacheCloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a Cache
 
Introduction no sql solutions with couchbase and .net core
Introduction no sql solutions with couchbase and .net coreIntroduction no sql solutions with couchbase and .net core
Introduction no sql solutions with couchbase and .net core
 
MongoDB 4.0 새로운 기능 소개
MongoDB 4.0 새로운 기능 소개MongoDB 4.0 새로운 기능 소개
MongoDB 4.0 새로운 기능 소개
 

Recently uploaded

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 

Recently uploaded (20)

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 

Spring Cloud and Netflix OSS overview v1

  • 1. 1CONFIDENTIAL SPRING CLOUD AND NETFLIX OSS OVERVIEW DZMITRY SKAREDAU, SOLUTION ARCHITECT MARCH 30, 2016
  • 2. 2CONFIDENTIAL 2 Follow my Microservices Series • Microservices architecture overview • Minsk Tech Talks (Oct 08/Oct 16) • SEC Online (May 17) • Spring Cloud + Netflix OSS overview • Minsk Tech Talks (Mar 30) • Microservices and Domain Driven Design • 12-Factor Apps: closer look • CI/CD for Microservices using Docker and Kubernetes • Spring Cloud workshop ABOUT Dzmitry Skaredau Solution Architect Twitter: @dskaredov • ~15 years in software development • Java Competency Center Expert https://epa.ms/SkillsMatrix https://epa.ms/RnDSaaS https://epa.ms/JavaTechTalks (KB) https://epa.ms/MinskTechTalks (Yammer) https://epa.ms/Microservices (Yammer)
  • 3. 3CONFIDENTIAL 3 • Spring Boot • Spring Cloud Config • Spring Cloud Bus • Spring Cloud Netflix • Spring Cloud Stream • Spring Cloud Sleuth AGENDA
  • 5. 5CONFIDENTIAL 5 AUTO CONFIGRATION − NO MORE BOILERPLATE CODE In information technology, a boilerplate is a unit of writing that can be reused over and over without change. By extension, the idea is sometimes applied to reusable programming as in "boilerplate code."
  • 6. 6CONFIDENTIAL 6 ACTUATOR ID Description Sensitive Default actuator Provides a hypermedia-based “discovery page” for the other endpoints. Requires Spring HATEOAS to be on the classpath. true autoconfig Displays an auto-configuration report showing all auto-configuration candidates and the reason why they ‘were’ or ‘were not’ applied. true beans Displays a complete list of all the Spring beans in your application. true configprops Displays a collated list of all @ConfigurationProperties. true docs Displays documentation, including example requests and responses, for the Actuator’s endpoints. Requiresspring-boot-actuator- docs to be on the classpath. false dump Performs a thread dump. true env Exposes properties from Spring’s ConfigurableEnvironment. true flyway Shows any Flyway database migrations that have been applied. true health Shows application health information (when the application is secure, a simple ‘status’ when accessed over an unauthenticated connection or full message details when authenticated). false info Displays arbitrary application info. false liquibase Shows any Liquibase database migrations that have been applied. true logfile Returns the contents of the logfile (if logging.file or logging.path properties have been set). Only available via MVC. Supports the use of the HTTP Range header to retrieve part of the log file’s content. true metrics Shows ‘metrics’ information for the current application. true mappings Displays a collated list of all @RequestMapping paths. true shutdown Allows the application to be gracefully shutdown (not enabled by default). true trace Displays trace information (by default the last few HTTP requests). true
  • 9. 9CONFIDENTIAL 9 HEALTH Name Description CassandraHealthIndicator Checks that a Cassandra database is up. DiskSpaceHealthIndicator Checks for low disk space. DataSourceHealthIndicator Checks that a connection to DataSource can be obtained. ElasticsearchHealthIndicator Checks that an ElasticSearch cluster is up. JmsHealthIndicator Checks that a JMS broker is up. MailHealthIndicator Checks that a mail server is up. MongoHealthIndicator Checks that a Mongo database is up. RabbitHealthIndicator Checks that a Rabbit server is up. RedisHealthIndicator Checks that a Redis server is up. SolrHealthIndicator Checks that a Solr server is up.
  • 10. 10CONFIDENTIAL 10 CUSTOM HEALTH INDICATORS @Bean HealthIndicator healthIndicator() { return new HealthIndicator() { @Override public Health health() { return Health.status(check()).build(); } }; }
  • 13. 13CONFIDENTIAL 13 SPRING CLOUD • Distributed/Versioned Configuration Management • Service Registration & Discovery • Routing & Load Balancing • Fault Tolerance (Circuit Breakers) • Monitoring • Concurrent API Aggregation & Transformation • Distributed messaging • Spring Cloud Config • Spring Cloud Netflix • Spring Cloud Bus • Spring Cloud for Cloud Foundry • Spring Cloud Cluster • Spring Cloud Consul • Spring Cloud Security • Spring Cloud Sleuth • Spring Cloud Data Flow • Spring Cloud Stream • Spring Cloud Stream Modules • Spring Cloud Task • Spring Cloud Zookeeper • Spring Cloud for Amazon Web Services • Spring Cloud Connectors • Spring Cloud Starters • Spring Cloud CLI MAIN PROJECTS PATTERNS
  • 15. 15CONFIDENTIAL 15 SPRING CLOUD CONFIG Spring Cloud Config provides server and client-side support for externalized configuration in a distributed system
  • 16. 16CONFIDENTIAL 16 SPRING CLOUD CONFIG FEATURES MAJOR FEATURES • Version control • Changing live • HTTP, resource-based API for external configuration (name-value pairs, or equivalent YAML content) • Encrypt and decrypt property values (symmetric or asymmetric) • Embeddable easily in a Spring Boot application using @EnableConfigServer • Bind to the Config Server and initialize Spring Environment with remote property sources • Encrypt and decrypt property values (symmetric or asymmetric)
  • 18. 18CONFIDENTIAL 18 VERSION CONTROL • http://localhost:8888/article-service/default/ • http://localhost:8888/article-service/default/1.0.0 • http://localhost:8888/article-service/default/1.0.1 /{application}/{profile}[/{label}] The HTTP service has resources in the form:
  • 21. 21CONFIDENTIAL 21 SPRING CLOUD BUS An event bus for linking services and service instances together with distributed messaging. Useful for propagating state changes across a cluster (e.g. config change events)
  • 23. 23CONFIDENTIAL 23 SPRING CLOUD NETFLIX MAJOR FEATURES • Service Discovery • Circuit Breaker • Client Side Load Balancer • Router and Filter • Monitoring
  • 26. 26CONFIDENTIAL 26 CLIENT SIDE LOAD BALANCER: RIBBON Ribbon provides a rich set of features including: • Multiple built-in load balancing rules: —Round-robin —Average response-time weighted —Random —Availability filtered (avoid tripped circuits or high concurrent connection counts) • Custom load balancing rule plugin system • Pluggable integration with service discovery solutions (including Eureka) • Cloud-native intelligence such as zone affinity and unhealthy zone avoidance • Built-in failure resiliency
  • 29. 29CONFIDENTIAL 29 CLIENT SIDE LOAD BALANCERROUTER AND FILTER: ZUUL Netflix uses filters dynamically loaded into Zuul to perform the following functions: • Authentication and security: Identifying authentication requirements for each resource and rejecting requests that do not satisfy them. • Insights and monitoring: Tracking meaningful data and statistics at the edge in order to give us an accurate view of production. • Dynamic routing: Dynamically routing requests to different back-end clusters as needed. • Stress testing: Gradually increasing the traffic to a cluster in order to gauge performance. • Load shedding: Allocating capacity for each type of request and dropping requests that go over the limit. • Static response handling: Building some responses directly at the edge instead of forwarding them to an internal cluster. • Multiregion resiliency: Routing requests across AWS regions in order to diversify our ELB usage and move our edge closer to our members.
  • 30. 30CONFIDENTIAL 30 CLIENT SIDE LOAD BALANCERROUTER AND FILTER: ZUUL
  • 31. 31CONFIDENTIAL 31 CLIENT SIDE LOAD BALANCERMONITORING: HYSTRIX DASHBOARD
  • 32. 32CONFIDENTIAL 32 CLIENT SIDE LOAD BALANCERMONITORING: HYSTRIX DASHBOARD
  • 33. 33CONFIDENTIAL 33 CLIENT SIDE LOAD BALANCERMONITORING: TURBINE STREAM AGGREGATOR
  • 35. 35CONFIDENTIAL 35 SPRING CLOUD STREAM Spring Cloud Stream is a framework for building message-driven microservices. Spring Cloud Stream builds upon Spring Boot to create DevOps friendly microservice applications and Spring Integration to provide connectivity to message brokers. By adding @EnableBinding to your main application, you get immediate connectivity to a message broker and by adding @StreamListener to a method, you will receive events for stream processing.
  • 37. 37CONFIDENTIAL 37 SPRING CLOUD SLEUTH Spring Cloud Sleuth implements a distributed tracing solution for Spring Cloud, borrowing heavily from Dapper, Zipkin and HTrace. For most users Sleuth should be invisible, and all your interactions with external systems should be instrumented automatically. You can capture data simply in logs, or by sending it to a remote collector service.