SlideShare a Scribd company logo
1 of 52
Download to read offline
April 2020
Cheikh Ahmadou Bamba DIOP (xadimouSALIH)
Software Architect (Senegal)
ATOS Expert Community Member
© Atos
Overview of
Microservices Architectures (MSA)
with Spring Cloud
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos2
Who Am I?
Cheikh Ahmadou Bamba DIOP (xadimouSALIH)
ü DevOps | SRE | Solution Architect Manager
ü Principal Consultant - Electronic Signature Solutions
ü Oracle Application Framework Consultant
Email: cheikh-ahmadou-bamba.diop@atos.net
Phone: +221 77 423 89 62
ATOS SENEGAL
Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the
Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are
registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned
by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced,
copied, circulated and/or distributed nor quoted without prior written approval from Atos.
Agenda
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos4
Agenda
Microservices
Overview
Monolithvs
Microservices
SOAvsMicroservices
DesignPatterns
Microservices
Microservices
Components
SpringCloud
Netflix&
NetflixOSS
Perspectives
Sources&
References
Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the
Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are
registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned
by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced,
copied, circulated and/or distributed nor quoted without prior written approval from Atos.
Microservices Overview
Points of pain in contemporary architecture
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos6
Common points of pain in contemporary
architecture
c) No
Ownershipf) Very Slow
b) No
Specializationa) Very Complex
d) Inefficient
Testing
e)
Vulnerable
a) Over time, applications become too large and
complicated for a developer to understand.
b) Different parts of applications have different needs
c) The code is a victim of the "tragedy of the commons".
d) Each change requires a full cycle of testing.
e) One bug will quickly bring down an entire application.
Low resilience
f) Teams are organized by function - user interface,
application, middleware, database, etc.
Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the
Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are
registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned
by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced,
copied, circulated and/or distributed nor quoted without prior written approval from Atos.
Microservices Overview
The help of microservices
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos8
The help of microservices (1/2)
Applications as monoliths
Deploy everything, every time
One data store to rule them all
Intra-process communication
Many, smaller, loosely coupled services
Each service can be deployed independently
Choose the best store for the job
Lightweight communication between services
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos9
The help of microservices (2/2)
Organized around technology layers
Dev is dev, Ops is ops
Server-side state, sessions
Java is the superman
Organized around business capabilities
Dev have Ops responsibilities, and vice-versa
Stateless instances, use shared store if needed
Right technology for the task at hand
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos10
The help of microservices (2/2)
Organized around technology layers
Dev is dev, Ops is ops
Server-side state, sessions
Java is the superman
Organized around business capabilities
Dev have Ops responsibilities, and vice-versa
Stateless instances, use shared store if needed
Right technology for the task at hand
Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the
Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are
registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned
by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced,
copied, circulated and/or distributed nor quoted without prior written approval from Atos.
Microservices Overview
Microservices Definitions
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos12
Microservices Definitions (1/4)
In short, the microservice architectural style is an approach to developing a single application as a suite of
small services, each running in its own process and communicating with lightweight mechanisms, often
an HTTP resource API. These services are built around business capabilities and independently
deployable by fully automated deployment machinery. There is a bare minimum of centralized
management of these services, which may be written in different programming languages and use different
data storage technologies.
James Lewis and Martin Fowler
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos13
Microservices Definitions (2/4)
Microservices are architectural style and development method that structure an application as a
collection of units of business functionality. Each of these units is technically a service that is:
v Highly maintainable
v Highly testable
v Loosely coupled
v Independently deployable
v Owned by a small team
Cheikh Ahmadou Bamba DIOP
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos14
Microservices Definitions (3/4)
Service
Service
Service
Service
Service
Service
Platform Components
Monitoring
Health
Provisioning
HA/Tolerance
Service
Discovery
Load
Balancing
Gateways
DevOps
HTTP or HTTPS HTTP or HTTPS
A B D
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos15
Microservices Definitions (4/4)
Service
Service
Service
Service
Service
Service
Platform Components
Monitoring
Health
Provisioning
HA/Tolerance
Service
Discovery
Load
Balancing
Gateways
DevOps
HTTP or HTTPS HTTP or HTTPS
X
A B D
Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the
Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are
registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned
by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced,
copied, circulated and/or distributed nor quoted without prior written approval from Atos.
Monolith vs Microservices
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos17
Monolith vs Microservices
Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the
Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are
registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned
by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced,
copied, circulated and/or distributed nor quoted without prior written approval from Atos.
Microservices vs SOA
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos19
Microservices vs SOA (1/3)
SOA
SOA
MICROSERVERVICES
Common Principes
• Boundaries are explicit
• No class shared by services but schema and contract
• A policy determines service compatibility
• Services are autonomous
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos20
Microservices vs SOA (1/2)
SOA
SOA Specifics
1. Follows “share-as-much-as-possible” architecture approach
2. Importance is on business functionality reuse
3. They have common governance and standards
4. Uses Enterprise Service Bus (ESB) for communication
5. They support multiple message protocols
6. Multi-threaded with more overheads to handle I/O
7. Maximizes application service reusability
8. Traditional Relational Databases are more often used
9. A systematic change requires modifying the monolith
10.DevOps / Continuous Delivery is becoming popular, but not yet
mainstream
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos21
Microservices vs SOA (1/3)
MICROSERVERVICES
Microservices Specifics
1. Follows “share-as-little-as-possible” architecture approach
2. Importance is on the concept of “bounded context”
3. Focus on people, collaboration and freedom of other options
4. Simple messaging system
5. Uses lightweight protocols such as HTTP/REST etc.
6. Single-threaded usually with the use of Event Loop features for
non-locking I/O handling
7. Focuses on decoupling
8. Modern Relational Databases are more often used
9. A systematic change is to create a new service
10.Strong focus on DevOps / Continuous Delivery
Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the
Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are
registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned
by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced,
copied, circulated and/or distributed nor quoted without prior written approval from Atos.
Design Patterns for microservices
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos23
Design Pattern for microservices (1/2)
Decomposition Pattern:
• How do we decompose an application into small
services by making services loosely coupled, and
applying the single responsibility principle?
Database Pattern:
• how to define database architecture for
microservices?
Integration Pattern:
• How do the clients of microservices-based application
access the individual services?
• How can I request information from multiple
microservices?
• How to transform data according to the consumer
requirement from reusable Microservices?
• How to handle multiple protocol requests?
• How to manage Different UI requiring different data to
respond to the same backend database service?
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos24
Design Pattern for microservices (2/2)
Cross-Cutting Concern Pattern:
• How do we avoid code modification for configuration
changes?
Observability Pattern:
How can we understand the application behavior through
logs for a particular request?
Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the
Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are
registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned
by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced,
copied, circulated and/or distributed nor quoted without prior written approval from Atos.
Microservices components
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos26
Microservices components
The often common components of microservices are :
• Business Microservices
• API Gateway
• Discovery Server
• Configuration Server
• Identity Management Server
• Authentication Server
• Logs Aggregator Server
• Logs Analyzer
• Admin Server
• Databases
• Message Queues
• Load Balancers
• Reverse Proxies
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos27
Microservices components
Business microservices
• Purpose
This is a self-contained application that focuses only on business
concern.
• Implementation
Implement a new microservice using Spring Boot project from
https://start.spring.io, and enable configuration server, eureka
client, sleuth, and actuator.
• Technologies
Spring Boot with Spring framework modules, Spring Cloud
Services, Spring Cloud Netflix ...
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos28
Microservices components
Api Gateway
• Purpose
This is a single entry point for all API calls from clients. It
routes these API calls to the appropriate microservice with
request routing / proxiing, composition, protocol securing and
translation at any scale.
• Implementation
Implement a new microservice using Spring Boot project and
enable Zuul support. Also implement filters for JWT where
OAuth2 token will get verified.
• Technologies
Netflix Zuul provided by Spring Cloud Netflix project …
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos29
Microservices components
Discover Server
• Purpose
This is how applications and (micro)services are located each other
on a network. Service discovery implementations include both
ü a central server (or servers) that maintain a global view
of addresses
ü clients that connect to the central server to update and
retrieve addresses.
• Implementation
Implement a new microservice using Spring Boot project and
enable Eureka support.
• Technologies
Netflix Eureka server, Zookeeper, Consul, ...
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos30
Microservices components
Configuration Server
• Purpose
Often available as third party software or framework, it
provides centralized, secured and role based access
configuration store to the business microservices.
• Implementation
Implement a new microservice using Spring Boot project and
enable Configuration support. Make sure to define bootstrap
property for every business service.
• Technologies
Spring Cloud Config …
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos31
Microservices components
Identity Management Server
• Purpose
It manages users, applications, groups, devices, and APIs from
one central location. It connects customers to their IT resources,
while giving IT admins centralized control over their
authentication and authorization services.
• Implementation
Install the server on a separated machine/instance, and
configure it using its UI. The API gateway will be configured to
contact the identity provider on login/logout requests.
• Technologies
Keycloak, uaa, okta …
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos32
Microservices components
Authentication server
• Purpose
This is usually implemented as a microservice, and provides login,
logout, and refresh APIs. It can implement any standard or custom
protocol for authentication, and session creation.
• Implementation
Implement a new microservice using Spring Boot project . In
addition, implement security configuration, context, other required
beans, login, logout, and refresh APIs.
• Technologies
Spring Security, Spring Boot Security, JWT, OAuth2 …
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos33
Microservices components
Logs Aggregator Server
• Purpose
This is usually a third party service that captures all the logs
streaming from the business microservices and transform it into
structure records, and store them in a database.
• Implementation
Make sure each and every business microservice has sleuth
dependency added to the project. For the server, install the
prebuild binary for the Zipkin server, and configure its access path
in all the business services' application properties.
• Technologies
Zipkin, Spring Cloud Sleuth, Logstash, Fluentd, DataDog, PinPoint,
New Relic, etc.
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos34
Microservices components
Logs Analyzer
• Purpose
This is a third party application that works on the logs aggregation
server database. It’s based on the prepared views, generate
reports and analytical data.
• Implementation
Deploy prebuild Zipkin. Use its UI for the logs view. Save
aggregated logs on ElasticSearch, and then use Kibana to view
analysis.
• Technologies
Zipkin, Kibana, Splunk, PaperTrail, Timber.io, etc ...
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos35
Microservices components
Admin Server
• Purpose
It can be an external server or a custom build one. It takes
performance metrics from all the business microservices, and has
them display in a single dashboard. It can also generate
compressed logs, reports and analytical data.
• Implementation
Create a new microservice with admin server enabled. Add
required properties in the properties file. Make sure to add
actuator and admin-client dependency in each business
microservice, and define the admin server access path in each
service properties.
• Technologies
Spring Boot Actuator, Spring Boot Admin Server, Spring Boot
Admin Client
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos36
Microservices components
Databases
• Purpose
SQL, non-SQL, or simple fast caches this third party system,
should follow Domain Driven Design and have bounded contexts.
They should be also treated as private to each microservice
• Implementation
Install and deploy binary package as a single entity on the
machine/instance. Keeping in mind the possibility to have
replications in the form of cluster or pair, so as to provide fault
tolerance, and load balancing.
• Technologies
SQL: MySQL, Oracle, PostgreSQL
NoSQL: MongoDB, Cassandra, Redis, ...
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos37
Microservices components
Message Queues
• Purpose
In microservices architecture, they provide communication and
coordination for distributed applications, they can significantly
simplify coding of decoupled applications, while improving
performance, reliability and scalability.
• Implementation
Install and deploy binary package on the machine/instance.
• Technologies
Kafka, ActiveMQ, RabbitMQ, ...
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos38
Microservices components
Load Balancers
• Purpose
It shares load evenly across nodes to provide high availability,
good horizontal scaling, load distribution for application
performance and better end-user experience.
• Implementation
Build a microservice application that uses Spring Cloud
LoadBalancer to provide client-side load-balancing in calls to
another microservice.
• Technology in java Stack
NginX, Seesaw, Neutrino, Ribbon, HAProxy, ...
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos39
Microservices components
Reverse proxy
• Purpose
It can be used as a load balancer, however, its main function is to
retrieve the information from a server behind a secured zone (or
fire-wall), where internet isn't present for an internet user. It can
assist microservices in many different ways as filtering, protecting,
or monitoring content.
• Implementation
Install and deploy binary package on the machine/instance.
• Technologies
NginX, HAProxy, Squid, Vulcand, Apache Traffic Server, Isto,
Linkerd ...
Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the
Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are
registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned
by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced,
copied, circulated and/or distributed nor quoted without prior written approval from Atos.
Spring Cloud Netflix & Netflix Open
Sources Software (OSS)
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos41
Spring Cloud Netflix & Netflix OSS
Spring Cloud Netflix provide Netflix OSS integration for Spring
Boot. It is a collection of frameworks and tools that allow and
facilitate a spring boot application to become a part of a
microservice architecture [in cloud environment].
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos42
Some Spring Cloud Services Projects (1/3)
• Spring Cloud Alibaba: With only some annotations and a small amount of configurations you can connect Spring Cloud
applications to the distributed solutions of Alibaba, and build a distributed application system with Alibaba middleware
• Spring Cloud Amazon Web Services: Eases the integration with hosted Amazon Web Services. It offers a convenient way to
interact with AWS provided services using well-known Spring idioms and APIs, such as the messaging or caching API
• Spring Cloud CLI: It’s a plugin for creating Spring Cloud compenents applications quickly using Groovy
• Spring Cloud for Cloud Foundary: Integrates application with Cloud Foundary and provides a service discovery implementation
• Spring Cloud Cloud – Cloud Foundary Service Broker: Provides a framework for building a Spring Boot project to quickly
implement a service broker for Cloud Foundry.
• Spring Cloud Cluster: Offers a set of primitives for building "cluster" features into a distributed system. Examples are leadership
election, consistent storage of cluster state, global locks and one-time tokens.
• Spring Cloud Commons: Delivers Spring Cloud Context that provides utilities and special services for the ApplicationContext of
a Spring Cloud application (bootstrap context, encryption, refresh scope and environment endpoints) and Spring Cloud Commons
which is a set of abstractions and common classes used in different Spring Cloud implementations (eg. Spring Cloud Netflix vs.
Spring Cloud Consul).
• Spring Cloud Connector: Simplifies the process of connecting to services and gains operating environment awareness in cloud
platforms such as Cloud Foundry and Heroku, especially for Spring applications
• Spring Cloud Consul: Service discovery and configuration management with Hashicorp Consul
• Spring Cloud Contract: Spring Cloud Contract is an umbrella project holding solutions that helps users in successfully
implementing the Consumer Driven Contracts approach
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos43
Some Spring Cloud Services Projects (2/3)
• Spring Cloud Config: By using a Git repository, it centralizes external configuration management of microservices. It can be used
by both Spring and non Spring application
• Spring Cloud Bus: An event bus for linking services and service instance together with distributed messaging.
• Spring Cloud Vault: Manages static and dynamic secrets such as username/password for remote applications/resources and
provides credentials for external services such as MySQL, PostgreSQL, Apache Cassandra, MongoDB, Consul, AWS and more.
• Spring Cloud Zookeeper: Service discovery and configuration management with Apache Zookeeper
• Spring Cloud Cloud App Broker: Provides for building Spring Boot applications that implement the Open Service Broker API to
deploy applications to a platform
• Spring Cloud Circuit Breaker: Provides an abstraction across different circuit breaker implementations (Netfix Hystrix,
Resilience4J, Sentinel, Spring Retry)
• Spring Cloud Kubernetes: Facilitates the integration of Spring Cloud and Spring Boot applications running inside Kubernetes
• Spring Cloud OpenFeign: Provides integrations for Spring Boot apps through autoconfiguration and binds to the Spring
Environment and other Spring programming model idioms.
• Spring Cloud Function: Decouples the development lifecycle of business logic from any specific runtime target so that the same
code can run as a web endpoint, a stream processor, or a task.
• Spring Cloud Stream: Provides for building highly scalable event-driven microservices connected with shared messaging systems.
• Spring Cloud Azure: Allows developers to adopt a Spring-idiomatic way to take advantage of managed services on Azure, with only
few lines of configuration and minimal code changes.
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos44
Some Spring Cloud Services Projects (3/3)
• Spring Cloud Gateway: Provides a simple, yet effective way to route to APIs and cross cutting concerns to them such as: security,
monitoring/metrics, and resiliency
• Spring Cloud GCP: Spring Cloud GCP offers a wide collection of libraries that make it easier to use Google Cloud Platform from
Spring Framework applications
• Spring Cloud Netflix: It facilitates the integration of many Netflix OSS components (Eureka, Zuul, Archaius, Histrix…)
• Spring Cloud Open Service Broker : Provides a staring point for building a service broker that implements Open Service Broker
API
• Spring Cloud Security: Povides relay SSO tokens from a front end to a back end service in a Zuul proxy and tokens between
server’s resources
• Spring Cloud Skipper: Integrates Skipper which is a tool that allows discovering Spring Boot applications and manages their
lifecycle on multiple Cloud Platforms. We can use Skipper standalone or integrate it with Continuous Integration pipelines to help
achieve Continuous Deployment of applications.
• Spring Cloud Sleuth : It allows distributed tracing for spring cloud application and it’s compatible with Zipkin, HTrace and log-
based tracing (ElasticSearch, Logstash, Kibana)
• Spring Cloud Stream Applications: They are standalone executable applications that communicate over messaging middleware
such as Apache Kafka and RabbitMQ.
• Spring Cloud Stream App Starters: They are Spring boot based spring integration application that facilitate integration with
external systems
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos45
Netflix OSS
The main purpose is to solve some interesting distributed-
system problems at scale like below:
• Service Discovery: Eureka Clients
• Service Discovery: Eureka Server
• Circuit Breaker: Hystrix Clients
• Circuit Breaker: Hystrix Dashboard
• Client Side Load Balancer: Ribbon
• Declarative REST Client: Feign
• Router and Filter: Zuul
• External Configuration: Archaius
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos46
Some Netflix OSS Projects (1/2)
• Zuul: It's a gateway service that provides dynamic routing, monitoring, resiliency, security, and more.
• Eureka: It's an AWS Service registry for resilient mid-tier load balancing and failover.
• Ribbon: It's an 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.
• Hystrix: It's a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party
libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable.
• Dispatch: It’s all of the ad-hoc things we're doing to manage incidents today, done for us, and much more!
• Conductor: It's a microservices orchestration engine
• Spectator: It's a client library for collecting metrics.
• Hollow: It's a java library and toolset for disseminating in-memory datasets from a single producer to many consumers for high
performance read-only access.
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos47
Some Netflix OSS Projects (2/2)
• Security Monkey: monitors AWS, GCP, OpenStack, and GitHub orgs for assets and their changes over time.
• Dynomite: is a generic dynamo implementation for different k-v storage engines
• Archaius: is a library for configuration management API
• Sketchy: is a task based API for taking screenshots and scraping text from websites.
• Denominator: is a portably control DNS clouds using java or bash
• Raigad: represents co-process for backup/recovery, Auto Deployments and Centralized Configuration management for
ElasticSearch
• Falcor-http-datasource: is a data source for Falcor (is middleware) that can be use to retrieve JSON Graph data from an HTTP
server.
• Karyon: is the nucleus or the base container for applications and services built using the NetflixOSS ecosystem
• Genie: is a distributed Big Data Orchestration Service
• Metaflow: facilitates building and managing real-life data science projects with ease.
Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the
Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are
registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned
by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced,
copied, circulated and/or distributed nor quoted without prior written approval from Atos.
Perspectives
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos49
Next step - Deep in Dive
In a second presentation, I plan to address the following points in
depth
• What is it « Domain Driven Design »?
• What is it « Event Sourcing »?
• What are the commun communication type and concerns in MSA?
• How to implement strong security with MSA?
• How to implement different Resilience patterns?
• Focus on monitoring microservices
• Deployment activities of MSA
Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the
Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are
registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned
by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced,
copied, circulated and/or distributed nor quoted without prior written approval from Atos.
Source and references
| April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos51
Source and references
• https://microservices.io/patterns/apigateway.html
• https://dzone.com/articles/design-patterns-for-microservices
• http://cloud.spring.io/spring-cloud-netflix/spring-cloud-netflix.html
• https://spring.io/projects
• https://martinfowler.com/microservices/
Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the
Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are
registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned
by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced,
copied, circulated and/or distributed nor quoted without prior written approval from Atos.
Thank You
For more information please contact:
Cheikh Ahmadou Bamba DIOP (xadimouSALIH)
+221 77 423 89 62
Cheikh-Ahmadou-bamba.diop@atos.net

More Related Content

What's hot

CIF Pro member Oct16 Final
CIF Pro member Oct16 FinalCIF Pro member Oct16 Final
CIF Pro member Oct16 FinalJason Wyatt
 
Cisco Powered Presentation - For Customers
Cisco Powered Presentation - For CustomersCisco Powered Presentation - For Customers
Cisco Powered Presentation - For CustomersCisco Powered
 
Extreme Secure Automated Smart Factory
Extreme Secure Automated Smart FactoryExtreme Secure Automated Smart Factory
Extreme Secure Automated Smart FactoryExtreme Networks
 
Manufacturing Sector - Building The Industry 4.0 Environment
Manufacturing Sector - Building The Industry 4.0 EnvironmentManufacturing Sector - Building The Industry 4.0 Environment
Manufacturing Sector - Building The Industry 4.0 EnvironmentTata Tele Business Services
 
Ten Type of Innovation - Universitas Indonesia
Ten Type of Innovation - Universitas Indonesia Ten Type of Innovation - Universitas Indonesia
Ten Type of Innovation - Universitas Indonesia PT Datacomm Diangraha
 
NTT i3 Point of View: Network Infrastructure Elasticity
NTT i3 Point of View:  Network Infrastructure ElasticityNTT i3 Point of View:  Network Infrastructure Elasticity
NTT i3 Point of View: Network Infrastructure ElasticityNTT Innovation Institute Inc.
 
Bonding Your Private Network to Salesforce Clouds
Bonding Your Private Network to Salesforce CloudsBonding Your Private Network to Salesforce Clouds
Bonding Your Private Network to Salesforce CloudsSalesforce Developers
 
Cisco tec surya panditi - service provider
Cisco tec   surya panditi - service providerCisco tec   surya panditi - service provider
Cisco tec surya panditi - service providerCisco Public Relations
 
(NET202) Connectivity Using Software-Defined Networking & Advanced API
(NET202) Connectivity Using Software-Defined Networking & Advanced API(NET202) Connectivity Using Software-Defined Networking & Advanced API
(NET202) Connectivity Using Software-Defined Networking & Advanced APIAmazon Web Services
 
Sariya it 2019
Sariya it 2019Sariya it 2019
Sariya it 2019Sariya IT
 
Presentation cisco cloud security
Presentation   cisco cloud securityPresentation   cisco cloud security
Presentation cisco cloud securityxKinAnx
 
Interoperable cloud storage with the cdmi standard
Interoperable cloud storage with the cdmi standardInteroperable cloud storage with the cdmi standard
Interoperable cloud storage with the cdmi standardWalter Moriconi
 

What's hot (20)

Universal Motors Agencies
Universal Motors AgenciesUniversal Motors Agencies
Universal Motors Agencies
 
Business Solutions Seminar Series
Business Solutions Seminar Series Business Solutions Seminar Series
Business Solutions Seminar Series
 
Cloud asia 2012
Cloud asia 2012Cloud asia 2012
Cloud asia 2012
 
Mankiewicz Gebr & Co
Mankiewicz Gebr & Co Mankiewicz Gebr & Co
Mankiewicz Gebr & Co
 
Bauer
Bauer Bauer
Bauer
 
CIF Pro member Oct16 Final
CIF Pro member Oct16 FinalCIF Pro member Oct16 Final
CIF Pro member Oct16 Final
 
Cisco Powered Presentation - For Customers
Cisco Powered Presentation - For CustomersCisco Powered Presentation - For Customers
Cisco Powered Presentation - For Customers
 
Extreme Secure Automated Smart Factory
Extreme Secure Automated Smart FactoryExtreme Secure Automated Smart Factory
Extreme Secure Automated Smart Factory
 
NTT i3 at OpenStack Summit - May 20th, 2015
NTT i3 at OpenStack Summit - May 20th, 2015NTT i3 at OpenStack Summit - May 20th, 2015
NTT i3 at OpenStack Summit - May 20th, 2015
 
Seeberger
Seeberger Seeberger
Seeberger
 
Acronis for SAP
Acronis for SAPAcronis for SAP
Acronis for SAP
 
Manufacturing Sector - Building The Industry 4.0 Environment
Manufacturing Sector - Building The Industry 4.0 EnvironmentManufacturing Sector - Building The Industry 4.0 Environment
Manufacturing Sector - Building The Industry 4.0 Environment
 
Ten Type of Innovation - Universitas Indonesia
Ten Type of Innovation - Universitas Indonesia Ten Type of Innovation - Universitas Indonesia
Ten Type of Innovation - Universitas Indonesia
 
NTT i3 Point of View: Network Infrastructure Elasticity
NTT i3 Point of View:  Network Infrastructure ElasticityNTT i3 Point of View:  Network Infrastructure Elasticity
NTT i3 Point of View: Network Infrastructure Elasticity
 
Bonding Your Private Network to Salesforce Clouds
Bonding Your Private Network to Salesforce CloudsBonding Your Private Network to Salesforce Clouds
Bonding Your Private Network to Salesforce Clouds
 
Cisco tec surya panditi - service provider
Cisco tec   surya panditi - service providerCisco tec   surya panditi - service provider
Cisco tec surya panditi - service provider
 
(NET202) Connectivity Using Software-Defined Networking & Advanced API
(NET202) Connectivity Using Software-Defined Networking & Advanced API(NET202) Connectivity Using Software-Defined Networking & Advanced API
(NET202) Connectivity Using Software-Defined Networking & Advanced API
 
Sariya it 2019
Sariya it 2019Sariya it 2019
Sariya it 2019
 
Presentation cisco cloud security
Presentation   cisco cloud securityPresentation   cisco cloud security
Presentation cisco cloud security
 
Interoperable cloud storage with the cdmi standard
Interoperable cloud storage with the cdmi standardInteroperable cloud storage with the cdmi standard
Interoperable cloud storage with the cdmi standard
 

Similar to Overview of micro services architecture with spring cloud

Blockchain Ethereum Solutions with AWS & ConsenSys
Blockchain Ethereum Solutions with AWS & ConsenSysBlockchain Ethereum Solutions with AWS & ConsenSys
Blockchain Ethereum Solutions with AWS & ConsenSysAmazon Web Services
 
WebRTC Global Summit Summary 2015
WebRTC Global Summit Summary 2015WebRTC Global Summit Summary 2015
WebRTC Global Summit Summary 2015Alan Quayle
 
WSO2 Integration Platform: Vision and Roadmap
WSO2 Integration Platform: Vision and RoadmapWSO2 Integration Platform: Vision and Roadmap
WSO2 Integration Platform: Vision and RoadmapWSO2
 
USolutions - SOA and the Cloud
USolutions - SOA and the CloudUSolutions - SOA and the Cloud
USolutions - SOA and the Cloudusolutions
 
TADSummit 2020 Open Source Telecom Software Survey 2020
TADSummit 2020 Open Source Telecom Software Survey 2020TADSummit 2020 Open Source Telecom Software Survey 2020
TADSummit 2020 Open Source Telecom Software Survey 2020Alan Quayle
 
How to Utilize Cloud in Your Corporate IT Strategy
How to Utilize Cloud in Your Corporate IT StrategyHow to Utilize Cloud in Your Corporate IT Strategy
How to Utilize Cloud in Your Corporate IT StrategyVISIHOSTING
 
Which use-cases and XaaS services are growing? IaaS, hybrid cloud & Kubernetes
Which use-cases and XaaS services are growing? IaaS, hybrid cloud & KubernetesWhich use-cases and XaaS services are growing? IaaS, hybrid cloud & Kubernetes
Which use-cases and XaaS services are growing? IaaS, hybrid cloud & KubernetesSally Laouacheria
 
How to utilize cloud in your corporate IT strategy
How to utilize cloud in your corporate IT strategy How to utilize cloud in your corporate IT strategy
How to utilize cloud in your corporate IT strategy Jason Baker
 
How to utilize cloud in your corporate it strategy
How to utilize cloud in your corporate it strategyHow to utilize cloud in your corporate it strategy
How to utilize cloud in your corporate it strategyRedpath Consulting Group
 
« Le cloud pour les médias en 10 points : clés de lecture pour producteurs, d...
« Le cloud pour les médias en 10 points : clés de lecture pour producteurs, d...« Le cloud pour les médias en 10 points : clés de lecture pour producteurs, d...
« Le cloud pour les médias en 10 points : clés de lecture pour producteurs, d...Mesclado
 
Cloud Foundry - How Service broker integrates with AppDirect to provide catal...
Cloud Foundry - How Service broker integrates with AppDirect to provide catal...Cloud Foundry - How Service broker integrates with AppDirect to provide catal...
Cloud Foundry - How Service broker integrates with AppDirect to provide catal...Nima Badiey
 
The Road to Cloud Portability - An Atos Scientific Community White Paper
The Road to Cloud Portability - An Atos Scientific Community White PaperThe Road to Cloud Portability - An Atos Scientific Community White Paper
The Road to Cloud Portability - An Atos Scientific Community White PaperCarlos Veira Lorenzo
 
Fujitsu Hybrid IT and Multicloud Service Startegy
Fujitsu Hybrid IT and Multicloud Service StartegyFujitsu Hybrid IT and Multicloud Service Startegy
Fujitsu Hybrid IT and Multicloud Service StartegyAlessandro Guli
 
Fujitsu Hybrid IT & Multi Cloud Services
Fujitsu Hybrid IT & Multi Cloud ServicesFujitsu Hybrid IT & Multi Cloud Services
Fujitsu Hybrid IT & Multi Cloud ServicesAlessandro Guli
 
apidays LIVE Australia 2021 - Building an agile foundation for your Enterpris...
apidays LIVE Australia 2021 - Building an agile foundation for your Enterpris...apidays LIVE Australia 2021 - Building an agile foundation for your Enterpris...
apidays LIVE Australia 2021 - Building an agile foundation for your Enterpris...apidays
 
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...Eduardo Pelegri-Llopart
 
IOTprotocols and overview (SSI)
IOTprotocols and overview (SSI)IOTprotocols and overview (SSI)
IOTprotocols and overview (SSI)Dania Rashid
 
Implementing cloud based devops for distributed agile projects
Implementing cloud based devops for distributed agile projectsImplementing cloud based devops for distributed agile projects
Implementing cloud based devops for distributed agile projectsTom Stiehm
 
Msp deck charles- final mb 2020 - Multicloud overview
Msp deck   charles- final mb 2020 - Multicloud overviewMsp deck   charles- final mb 2020 - Multicloud overview
Msp deck charles- final mb 2020 - Multicloud overviewCharles Keatts
 

Similar to Overview of micro services architecture with spring cloud (20)

Blockchain Ethereum Solutions with AWS & ConsenSys
Blockchain Ethereum Solutions with AWS & ConsenSysBlockchain Ethereum Solutions with AWS & ConsenSys
Blockchain Ethereum Solutions with AWS & ConsenSys
 
WebRTC Global Summit Summary 2015
WebRTC Global Summit Summary 2015WebRTC Global Summit Summary 2015
WebRTC Global Summit Summary 2015
 
WSO2 Integration Platform: Vision and Roadmap
WSO2 Integration Platform: Vision and RoadmapWSO2 Integration Platform: Vision and Roadmap
WSO2 Integration Platform: Vision and Roadmap
 
USolutions - SOA and the Cloud
USolutions - SOA and the CloudUSolutions - SOA and the Cloud
USolutions - SOA and the Cloud
 
TADSummit 2020 Open Source Telecom Software Survey 2020
TADSummit 2020 Open Source Telecom Software Survey 2020TADSummit 2020 Open Source Telecom Software Survey 2020
TADSummit 2020 Open Source Telecom Software Survey 2020
 
How to Utilize Cloud in Your Corporate IT Strategy
How to Utilize Cloud in Your Corporate IT StrategyHow to Utilize Cloud in Your Corporate IT Strategy
How to Utilize Cloud in Your Corporate IT Strategy
 
Which use-cases and XaaS services are growing? IaaS, hybrid cloud & Kubernetes
Which use-cases and XaaS services are growing? IaaS, hybrid cloud & KubernetesWhich use-cases and XaaS services are growing? IaaS, hybrid cloud & Kubernetes
Which use-cases and XaaS services are growing? IaaS, hybrid cloud & Kubernetes
 
How to utilize cloud in your corporate IT strategy
How to utilize cloud in your corporate IT strategy How to utilize cloud in your corporate IT strategy
How to utilize cloud in your corporate IT strategy
 
How to utilize cloud in your corporate it strategy
How to utilize cloud in your corporate it strategyHow to utilize cloud in your corporate it strategy
How to utilize cloud in your corporate it strategy
 
« Le cloud pour les médias en 10 points : clés de lecture pour producteurs, d...
« Le cloud pour les médias en 10 points : clés de lecture pour producteurs, d...« Le cloud pour les médias en 10 points : clés de lecture pour producteurs, d...
« Le cloud pour les médias en 10 points : clés de lecture pour producteurs, d...
 
Cloud Foundry - How Service broker integrates with AppDirect to provide catal...
Cloud Foundry - How Service broker integrates with AppDirect to provide catal...Cloud Foundry - How Service broker integrates with AppDirect to provide catal...
Cloud Foundry - How Service broker integrates with AppDirect to provide catal...
 
The Road to Cloud Portability - An Atos Scientific Community White Paper
The Road to Cloud Portability - An Atos Scientific Community White PaperThe Road to Cloud Portability - An Atos Scientific Community White Paper
The Road to Cloud Portability - An Atos Scientific Community White Paper
 
Fujitsu Hybrid IT and Multicloud Service Startegy
Fujitsu Hybrid IT and Multicloud Service StartegyFujitsu Hybrid IT and Multicloud Service Startegy
Fujitsu Hybrid IT and Multicloud Service Startegy
 
Fujitsu Hybrid IT & Multi Cloud Services
Fujitsu Hybrid IT & Multi Cloud ServicesFujitsu Hybrid IT & Multi Cloud Services
Fujitsu Hybrid IT & Multi Cloud Services
 
Sap Technology Outlook
Sap Technology OutlookSap Technology Outlook
Sap Technology Outlook
 
apidays LIVE Australia 2021 - Building an agile foundation for your Enterpris...
apidays LIVE Australia 2021 - Building an agile foundation for your Enterpris...apidays LIVE Australia 2021 - Building an agile foundation for your Enterpris...
apidays LIVE Australia 2021 - Building an agile foundation for your Enterpris...
 
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
 
IOTprotocols and overview (SSI)
IOTprotocols and overview (SSI)IOTprotocols and overview (SSI)
IOTprotocols and overview (SSI)
 
Implementing cloud based devops for distributed agile projects
Implementing cloud based devops for distributed agile projectsImplementing cloud based devops for distributed agile projects
Implementing cloud based devops for distributed agile projects
 
Msp deck charles- final mb 2020 - Multicloud overview
Msp deck   charles- final mb 2020 - Multicloud overviewMsp deck   charles- final mb 2020 - Multicloud overview
Msp deck charles- final mb 2020 - Multicloud overview
 

Recently uploaded

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 

Recently uploaded (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Overview of micro services architecture with spring cloud

  • 1. April 2020 Cheikh Ahmadou Bamba DIOP (xadimouSALIH) Software Architect (Senegal) ATOS Expert Community Member © Atos Overview of Microservices Architectures (MSA) with Spring Cloud
  • 2. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos2 Who Am I? Cheikh Ahmadou Bamba DIOP (xadimouSALIH) ü DevOps | SRE | Solution Architect Manager ü Principal Consultant - Electronic Signature Solutions ü Oracle Application Framework Consultant Email: cheikh-ahmadou-bamba.diop@atos.net Phone: +221 77 423 89 62 ATOS SENEGAL
  • 3. Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced, copied, circulated and/or distributed nor quoted without prior written approval from Atos. Agenda
  • 4. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos4 Agenda Microservices Overview Monolithvs Microservices SOAvsMicroservices DesignPatterns Microservices Microservices Components SpringCloud Netflix& NetflixOSS Perspectives Sources& References
  • 5. Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced, copied, circulated and/or distributed nor quoted without prior written approval from Atos. Microservices Overview Points of pain in contemporary architecture
  • 6. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos6 Common points of pain in contemporary architecture c) No Ownershipf) Very Slow b) No Specializationa) Very Complex d) Inefficient Testing e) Vulnerable a) Over time, applications become too large and complicated for a developer to understand. b) Different parts of applications have different needs c) The code is a victim of the "tragedy of the commons". d) Each change requires a full cycle of testing. e) One bug will quickly bring down an entire application. Low resilience f) Teams are organized by function - user interface, application, middleware, database, etc.
  • 7. Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced, copied, circulated and/or distributed nor quoted without prior written approval from Atos. Microservices Overview The help of microservices
  • 8. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos8 The help of microservices (1/2) Applications as monoliths Deploy everything, every time One data store to rule them all Intra-process communication Many, smaller, loosely coupled services Each service can be deployed independently Choose the best store for the job Lightweight communication between services
  • 9. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos9 The help of microservices (2/2) Organized around technology layers Dev is dev, Ops is ops Server-side state, sessions Java is the superman Organized around business capabilities Dev have Ops responsibilities, and vice-versa Stateless instances, use shared store if needed Right technology for the task at hand
  • 10. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos10 The help of microservices (2/2) Organized around technology layers Dev is dev, Ops is ops Server-side state, sessions Java is the superman Organized around business capabilities Dev have Ops responsibilities, and vice-versa Stateless instances, use shared store if needed Right technology for the task at hand
  • 11. Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced, copied, circulated and/or distributed nor quoted without prior written approval from Atos. Microservices Overview Microservices Definitions
  • 12. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos12 Microservices Definitions (1/4) In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies. James Lewis and Martin Fowler
  • 13. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos13 Microservices Definitions (2/4) Microservices are architectural style and development method that structure an application as a collection of units of business functionality. Each of these units is technically a service that is: v Highly maintainable v Highly testable v Loosely coupled v Independently deployable v Owned by a small team Cheikh Ahmadou Bamba DIOP
  • 14. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos14 Microservices Definitions (3/4) Service Service Service Service Service Service Platform Components Monitoring Health Provisioning HA/Tolerance Service Discovery Load Balancing Gateways DevOps HTTP or HTTPS HTTP or HTTPS A B D
  • 15. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos15 Microservices Definitions (4/4) Service Service Service Service Service Service Platform Components Monitoring Health Provisioning HA/Tolerance Service Discovery Load Balancing Gateways DevOps HTTP or HTTPS HTTP or HTTPS X A B D
  • 16. Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced, copied, circulated and/or distributed nor quoted without prior written approval from Atos. Monolith vs Microservices
  • 17. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos17 Monolith vs Microservices
  • 18. Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced, copied, circulated and/or distributed nor quoted without prior written approval from Atos. Microservices vs SOA
  • 19. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos19 Microservices vs SOA (1/3) SOA SOA MICROSERVERVICES Common Principes • Boundaries are explicit • No class shared by services but schema and contract • A policy determines service compatibility • Services are autonomous
  • 20. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos20 Microservices vs SOA (1/2) SOA SOA Specifics 1. Follows “share-as-much-as-possible” architecture approach 2. Importance is on business functionality reuse 3. They have common governance and standards 4. Uses Enterprise Service Bus (ESB) for communication 5. They support multiple message protocols 6. Multi-threaded with more overheads to handle I/O 7. Maximizes application service reusability 8. Traditional Relational Databases are more often used 9. A systematic change requires modifying the monolith 10.DevOps / Continuous Delivery is becoming popular, but not yet mainstream
  • 21. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos21 Microservices vs SOA (1/3) MICROSERVERVICES Microservices Specifics 1. Follows “share-as-little-as-possible” architecture approach 2. Importance is on the concept of “bounded context” 3. Focus on people, collaboration and freedom of other options 4. Simple messaging system 5. Uses lightweight protocols such as HTTP/REST etc. 6. Single-threaded usually with the use of Event Loop features for non-locking I/O handling 7. Focuses on decoupling 8. Modern Relational Databases are more often used 9. A systematic change is to create a new service 10.Strong focus on DevOps / Continuous Delivery
  • 22. Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced, copied, circulated and/or distributed nor quoted without prior written approval from Atos. Design Patterns for microservices
  • 23. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos23 Design Pattern for microservices (1/2) Decomposition Pattern: • How do we decompose an application into small services by making services loosely coupled, and applying the single responsibility principle? Database Pattern: • how to define database architecture for microservices? Integration Pattern: • How do the clients of microservices-based application access the individual services? • How can I request information from multiple microservices? • How to transform data according to the consumer requirement from reusable Microservices? • How to handle multiple protocol requests? • How to manage Different UI requiring different data to respond to the same backend database service?
  • 24. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos24 Design Pattern for microservices (2/2) Cross-Cutting Concern Pattern: • How do we avoid code modification for configuration changes? Observability Pattern: How can we understand the application behavior through logs for a particular request?
  • 25. Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced, copied, circulated and/or distributed nor quoted without prior written approval from Atos. Microservices components
  • 26. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos26 Microservices components The often common components of microservices are : • Business Microservices • API Gateway • Discovery Server • Configuration Server • Identity Management Server • Authentication Server • Logs Aggregator Server • Logs Analyzer • Admin Server • Databases • Message Queues • Load Balancers • Reverse Proxies
  • 27. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos27 Microservices components Business microservices • Purpose This is a self-contained application that focuses only on business concern. • Implementation Implement a new microservice using Spring Boot project from https://start.spring.io, and enable configuration server, eureka client, sleuth, and actuator. • Technologies Spring Boot with Spring framework modules, Spring Cloud Services, Spring Cloud Netflix ...
  • 28. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos28 Microservices components Api Gateway • Purpose This is a single entry point for all API calls from clients. It routes these API calls to the appropriate microservice with request routing / proxiing, composition, protocol securing and translation at any scale. • Implementation Implement a new microservice using Spring Boot project and enable Zuul support. Also implement filters for JWT where OAuth2 token will get verified. • Technologies Netflix Zuul provided by Spring Cloud Netflix project …
  • 29. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos29 Microservices components Discover Server • Purpose This is how applications and (micro)services are located each other on a network. Service discovery implementations include both ü a central server (or servers) that maintain a global view of addresses ü clients that connect to the central server to update and retrieve addresses. • Implementation Implement a new microservice using Spring Boot project and enable Eureka support. • Technologies Netflix Eureka server, Zookeeper, Consul, ...
  • 30. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos30 Microservices components Configuration Server • Purpose Often available as third party software or framework, it provides centralized, secured and role based access configuration store to the business microservices. • Implementation Implement a new microservice using Spring Boot project and enable Configuration support. Make sure to define bootstrap property for every business service. • Technologies Spring Cloud Config …
  • 31. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos31 Microservices components Identity Management Server • Purpose It manages users, applications, groups, devices, and APIs from one central location. It connects customers to their IT resources, while giving IT admins centralized control over their authentication and authorization services. • Implementation Install the server on a separated machine/instance, and configure it using its UI. The API gateway will be configured to contact the identity provider on login/logout requests. • Technologies Keycloak, uaa, okta …
  • 32. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos32 Microservices components Authentication server • Purpose This is usually implemented as a microservice, and provides login, logout, and refresh APIs. It can implement any standard or custom protocol for authentication, and session creation. • Implementation Implement a new microservice using Spring Boot project . In addition, implement security configuration, context, other required beans, login, logout, and refresh APIs. • Technologies Spring Security, Spring Boot Security, JWT, OAuth2 …
  • 33. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos33 Microservices components Logs Aggregator Server • Purpose This is usually a third party service that captures all the logs streaming from the business microservices and transform it into structure records, and store them in a database. • Implementation Make sure each and every business microservice has sleuth dependency added to the project. For the server, install the prebuild binary for the Zipkin server, and configure its access path in all the business services' application properties. • Technologies Zipkin, Spring Cloud Sleuth, Logstash, Fluentd, DataDog, PinPoint, New Relic, etc.
  • 34. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos34 Microservices components Logs Analyzer • Purpose This is a third party application that works on the logs aggregation server database. It’s based on the prepared views, generate reports and analytical data. • Implementation Deploy prebuild Zipkin. Use its UI for the logs view. Save aggregated logs on ElasticSearch, and then use Kibana to view analysis. • Technologies Zipkin, Kibana, Splunk, PaperTrail, Timber.io, etc ...
  • 35. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos35 Microservices components Admin Server • Purpose It can be an external server or a custom build one. It takes performance metrics from all the business microservices, and has them display in a single dashboard. It can also generate compressed logs, reports and analytical data. • Implementation Create a new microservice with admin server enabled. Add required properties in the properties file. Make sure to add actuator and admin-client dependency in each business microservice, and define the admin server access path in each service properties. • Technologies Spring Boot Actuator, Spring Boot Admin Server, Spring Boot Admin Client
  • 36. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos36 Microservices components Databases • Purpose SQL, non-SQL, or simple fast caches this third party system, should follow Domain Driven Design and have bounded contexts. They should be also treated as private to each microservice • Implementation Install and deploy binary package as a single entity on the machine/instance. Keeping in mind the possibility to have replications in the form of cluster or pair, so as to provide fault tolerance, and load balancing. • Technologies SQL: MySQL, Oracle, PostgreSQL NoSQL: MongoDB, Cassandra, Redis, ...
  • 37. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos37 Microservices components Message Queues • Purpose In microservices architecture, they provide communication and coordination for distributed applications, they can significantly simplify coding of decoupled applications, while improving performance, reliability and scalability. • Implementation Install and deploy binary package on the machine/instance. • Technologies Kafka, ActiveMQ, RabbitMQ, ...
  • 38. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos38 Microservices components Load Balancers • Purpose It shares load evenly across nodes to provide high availability, good horizontal scaling, load distribution for application performance and better end-user experience. • Implementation Build a microservice application that uses Spring Cloud LoadBalancer to provide client-side load-balancing in calls to another microservice. • Technology in java Stack NginX, Seesaw, Neutrino, Ribbon, HAProxy, ...
  • 39. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos39 Microservices components Reverse proxy • Purpose It can be used as a load balancer, however, its main function is to retrieve the information from a server behind a secured zone (or fire-wall), where internet isn't present for an internet user. It can assist microservices in many different ways as filtering, protecting, or monitoring content. • Implementation Install and deploy binary package on the machine/instance. • Technologies NginX, HAProxy, Squid, Vulcand, Apache Traffic Server, Isto, Linkerd ...
  • 40. Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced, copied, circulated and/or distributed nor quoted without prior written approval from Atos. Spring Cloud Netflix & Netflix Open Sources Software (OSS)
  • 41. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos41 Spring Cloud Netflix & Netflix OSS Spring Cloud Netflix provide Netflix OSS integration for Spring Boot. It is a collection of frameworks and tools that allow and facilitate a spring boot application to become a part of a microservice architecture [in cloud environment].
  • 42. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos42 Some Spring Cloud Services Projects (1/3) • Spring Cloud Alibaba: With only some annotations and a small amount of configurations you can connect Spring Cloud applications to the distributed solutions of Alibaba, and build a distributed application system with Alibaba middleware • Spring Cloud Amazon Web Services: Eases the integration with hosted Amazon Web Services. It offers a convenient way to interact with AWS provided services using well-known Spring idioms and APIs, such as the messaging or caching API • Spring Cloud CLI: It’s a plugin for creating Spring Cloud compenents applications quickly using Groovy • Spring Cloud for Cloud Foundary: Integrates application with Cloud Foundary and provides a service discovery implementation • Spring Cloud Cloud – Cloud Foundary Service Broker: Provides a framework for building a Spring Boot project to quickly implement a service broker for Cloud Foundry. • Spring Cloud Cluster: Offers a set of primitives for building "cluster" features into a distributed system. Examples are leadership election, consistent storage of cluster state, global locks and one-time tokens. • Spring Cloud Commons: Delivers Spring Cloud Context that provides utilities and special services for the ApplicationContext of a Spring Cloud application (bootstrap context, encryption, refresh scope and environment endpoints) and Spring Cloud Commons which is a set of abstractions and common classes used in different Spring Cloud implementations (eg. Spring Cloud Netflix vs. Spring Cloud Consul). • Spring Cloud Connector: Simplifies the process of connecting to services and gains operating environment awareness in cloud platforms such as Cloud Foundry and Heroku, especially for Spring applications • Spring Cloud Consul: Service discovery and configuration management with Hashicorp Consul • Spring Cloud Contract: Spring Cloud Contract is an umbrella project holding solutions that helps users in successfully implementing the Consumer Driven Contracts approach
  • 43. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos43 Some Spring Cloud Services Projects (2/3) • Spring Cloud Config: By using a Git repository, it centralizes external configuration management of microservices. It can be used by both Spring and non Spring application • Spring Cloud Bus: An event bus for linking services and service instance together with distributed messaging. • Spring Cloud Vault: Manages static and dynamic secrets such as username/password for remote applications/resources and provides credentials for external services such as MySQL, PostgreSQL, Apache Cassandra, MongoDB, Consul, AWS and more. • Spring Cloud Zookeeper: Service discovery and configuration management with Apache Zookeeper • Spring Cloud Cloud App Broker: Provides for building Spring Boot applications that implement the Open Service Broker API to deploy applications to a platform • Spring Cloud Circuit Breaker: Provides an abstraction across different circuit breaker implementations (Netfix Hystrix, Resilience4J, Sentinel, Spring Retry) • Spring Cloud Kubernetes: Facilitates the integration of Spring Cloud and Spring Boot applications running inside Kubernetes • Spring Cloud OpenFeign: Provides integrations for Spring Boot apps through autoconfiguration and binds to the Spring Environment and other Spring programming model idioms. • Spring Cloud Function: Decouples the development lifecycle of business logic from any specific runtime target so that the same code can run as a web endpoint, a stream processor, or a task. • Spring Cloud Stream: Provides for building highly scalable event-driven microservices connected with shared messaging systems. • Spring Cloud Azure: Allows developers to adopt a Spring-idiomatic way to take advantage of managed services on Azure, with only few lines of configuration and minimal code changes.
  • 44. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos44 Some Spring Cloud Services Projects (3/3) • Spring Cloud Gateway: Provides a simple, yet effective way to route to APIs and cross cutting concerns to them such as: security, monitoring/metrics, and resiliency • Spring Cloud GCP: Spring Cloud GCP offers a wide collection of libraries that make it easier to use Google Cloud Platform from Spring Framework applications • Spring Cloud Netflix: It facilitates the integration of many Netflix OSS components (Eureka, Zuul, Archaius, Histrix…) • Spring Cloud Open Service Broker : Provides a staring point for building a service broker that implements Open Service Broker API • Spring Cloud Security: Povides relay SSO tokens from a front end to a back end service in a Zuul proxy and tokens between server’s resources • Spring Cloud Skipper: Integrates Skipper which is a tool that allows discovering Spring Boot applications and manages their lifecycle on multiple Cloud Platforms. We can use Skipper standalone or integrate it with Continuous Integration pipelines to help achieve Continuous Deployment of applications. • Spring Cloud Sleuth : It allows distributed tracing for spring cloud application and it’s compatible with Zipkin, HTrace and log- based tracing (ElasticSearch, Logstash, Kibana) • Spring Cloud Stream Applications: They are standalone executable applications that communicate over messaging middleware such as Apache Kafka and RabbitMQ. • Spring Cloud Stream App Starters: They are Spring boot based spring integration application that facilitate integration with external systems
  • 45. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos45 Netflix OSS The main purpose is to solve some interesting distributed- system problems at scale like below: • Service Discovery: Eureka Clients • Service Discovery: Eureka Server • Circuit Breaker: Hystrix Clients • Circuit Breaker: Hystrix Dashboard • Client Side Load Balancer: Ribbon • Declarative REST Client: Feign • Router and Filter: Zuul • External Configuration: Archaius
  • 46. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos46 Some Netflix OSS Projects (1/2) • Zuul: It's a gateway service that provides dynamic routing, monitoring, resiliency, security, and more. • Eureka: It's an AWS Service registry for resilient mid-tier load balancing and failover. • Ribbon: It's an 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. • Hystrix: It's a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable. • Dispatch: It’s all of the ad-hoc things we're doing to manage incidents today, done for us, and much more! • Conductor: It's a microservices orchestration engine • Spectator: It's a client library for collecting metrics. • Hollow: It's a java library and toolset for disseminating in-memory datasets from a single producer to many consumers for high performance read-only access.
  • 47. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos47 Some Netflix OSS Projects (2/2) • Security Monkey: monitors AWS, GCP, OpenStack, and GitHub orgs for assets and their changes over time. • Dynomite: is a generic dynamo implementation for different k-v storage engines • Archaius: is a library for configuration management API • Sketchy: is a task based API for taking screenshots and scraping text from websites. • Denominator: is a portably control DNS clouds using java or bash • Raigad: represents co-process for backup/recovery, Auto Deployments and Centralized Configuration management for ElasticSearch • Falcor-http-datasource: is a data source for Falcor (is middleware) that can be use to retrieve JSON Graph data from an HTTP server. • Karyon: is the nucleus or the base container for applications and services built using the NetflixOSS ecosystem • Genie: is a distributed Big Data Orchestration Service • Metaflow: facilitates building and managing real-life data science projects with ease.
  • 48. Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced, copied, circulated and/or distributed nor quoted without prior written approval from Atos. Perspectives
  • 49. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos49 Next step - Deep in Dive In a second presentation, I plan to address the following points in depth • What is it « Domain Driven Design »? • What is it « Event Sourcing »? • What are the commun communication type and concerns in MSA? • How to implement strong security with MSA? • How to implement different Resilience patterns? • Focus on monitoring microservices • Deployment activities of MSA
  • 50. Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced, copied, circulated and/or distributed nor quoted without prior written approval from Atos. Source and references
  • 51. | April 2020 | Cheikh Ahmadou Bamba DIOP | © Atos51 Source and references • https://microservices.io/patterns/apigateway.html • https://dzone.com/articles/design-patterns-for-microservices • http://cloud.spring.io/spring-cloud-netflix/spring-cloud-netflix.html • https://spring.io/projects • https://martinfowler.com/microservices/
  • 52. Atos, the Atos logo, Atos Codex, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and The Zero Email Company are registered trademarks of the Atos group. February 2020. © 2020 Atos. Confidential information owned by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced, copied, circulated and/or distributed nor quoted without prior written approval from Atos. Thank You For more information please contact: Cheikh Ahmadou Bamba DIOP (xadimouSALIH) +221 77 423 89 62 Cheikh-Ahmadou-bamba.diop@atos.net