SlideShare a Scribd company logo
Microservices
By Narendranath Reddy
Name: Narendranath Reddy Thota
 d3 Whitepaper Core Team
 Trainer from Gama
 Blockchain Full Stack Developer
 Technology Analyst
 Software Developer
 Technology Speaker
MAERSK
Email: narendranath.thota@ust-global.com
P: +917288838869
Microservices Corporate Style
Microservices Corporate Style
Microservices Corporate Style
Microservices Corporate Style
Microservices Corporate Style
Monolithic Architecture
Load Balancer
Monolithic App
Account
Component
Catalog
Component
Recommendation
Component
Customer Service
Component
Database
MONOLITHIC APP (VARIOUS COMPONENTS LINKED TOGETHER)
Comparing Monolithic to MicroServices
Microservices Corporate Style
Microservices Corporate Style
MicroServices – separate single purpose services
Microservices Architecture
Load Balancer
Account Service Catalog
Service
Recommendation
Service
Customer Service
Service
Catalog
DB
API Gateway
Customer
DB
Microservices Corporate Style
• Micro service architecture (MSA) is an approach to building software systems that decomposes
business domain models into smaller, consistent, bounded-contexts implemented by services.
• Typically implemented and operated by small teams.
• Switching from SOAP to REST doesn’t make a micro services architecture.
• Micro services are not a technology-only discussion.
Microservices Corporate Style
Microservices Corporate Style
Microservices Corporate Style
Design Principles for Monoliths:
• DDD
• SoC using MVC
• High cohesion, low coupling
• DRY
• CoC
• YAGNI
Design Patterns for Micro services:
o Aggregator Pattern
o Proxy Pattern
o Chained Pattern
o Branch Pattern
o Shared Resources
o Async Messaging and etc ..
Microservices Corporate Style
Microservices Corporate Style
Microservices Corporate Style
Disadvantages of Monolith:
 Difficult to deploy and maintain
 Obstacle to frequent deployments
 Dependency between unrelated features
 Makes it difficult to try out new
technologies/framework
Advantages of micro services:
Easier to develop, understand, maintain
• Starts faster than a monolith, speeds up
deployments
• Local change can be easily deployed,
great enabler of CD
• Each service can scale on X- and Z-axis
• Improves fault isolation
• Eliminates any long-term commitment to
a technology stack
• Freedom of choice of technology, tools,
frameworks
Availability
• A single missing “;” brought down the Netflix website for many hours (~2008)
MONOLITHIC APPS – FAILURE & AVAILABILITY
Introduction to some popular technology components, how they help solve some of
the problems of developing and delivering software using a micro services
architecture.
 Spring Boot (spring cloud – Eureka, ZUUL, Hystrix, Ribbon, etc)
 Docker
 Nodejs
 Kubernetes/Openshift
 NetflixOSS
 Kafka , Rabbit MQ, CloudAMQP, Kestrel etc..
 Zipkin
 ELK stack
 Prometheus with Grafana
 AppDynamics
 Akana
 ForgeRock
 API Connect etc…
Monitoring:
 One of the most frequently mentioned challenges related to the creation of micro services-based
architecture is monitoring. Each micro service should be run in an environment isolated from the other
micro services so it does not share resources such as databases or log files with them.
 However, the essential requirement for micro services architecture is that it is relatively easy to access
the call history, including the ability to look through the request propagation between multiple micro
services. Grepping the logs is not the right solution for that problem. There are some helpful tools that
can be used when creating micro services with Spring Boot and Spring Cloud frameworks.
 Zipkin. A distributed tracing system that helps gather timing data for every request propagated between
independent services. It has simple management console where we can find a visualization of the time
statistics generated by subsequent services.
 ELK. Elasticsearch, Logstash, and Kibana — three different tools usually used together. They are
used for searching, analyzing, and visualizing log data in real-time.
 Distributed, independent micro services and centralized log monitoring make for the right solution. With tools like ELK
and Zipkin, microservices monitoring seems to not be a very difficult problem to solve. There are also some other
tools — for example, Hystrix and Turbine Prometheus with Grafana and etc.. — that provide real-time metrics for the
requests processed by micro services.
Some Tools for Service Registry/Discovery:
 Zookeeper and
 Curator
• Kubernetes
• etcd
• Consul
• OSGi
• Snoop
NoOps:
 Service replication (Kubernetes)
 Dependency resolution (Nexus)
 Failover (Circuit Breaker)
 Resiliency (Circuit Breaker)
 Service monitoring, alerts and events (ELK)
Open Source
 Commoditization of Technology
Open source is leading the charge in the technology space.
This drives communities to build things like operating systems (Linux), programming
languages (Go), message queues (Apache ActiveMQ), and web servers (httpd).
As open source and open ecosystems have become the norm, we’re starting to see a lot of
innovation in software technology coming directly from open source communities
(e.g., Apache Spark, Docker, and Kubernetes, ELK Stack, Zipkin).
Micro Services
- Challenges
CHALLENGES
Can lead to chaos if not designed right …
CHALLENGES
Requires thinking differently about how to build, deploy and operate them.
 Design for Faults
Building distributed systems is different from building shared memory, single process, monolithic applications.
Networks are inherently unreliable.
Latent network calls can be very difficult to debug.
 Design with Dependencies in Mind
Need loose coupling in our teams, in our technology, and our governance.
SERVICE DISCOVERY
• 100s of MicroServices
• Need a Service Metadata Registry (Discovery Service)
Account Service Catalog
Service
Recommendation
Service
Customer Service
Service
X
Service Y
Service
Z
Service
Registry
Service
(e.g. Netflix Eureka)
CHATTINESS (AND FAN OUT)
~2 Billion Requests per day on Edge Service
Results in ~20 Billion Fan out requests in ~100 MicroServices
1 Request 1 Request
Monolithic App MicroServices
Best Practices/Tips
Best Practice -> Loadbalancers
Choice
1. Central Loadbalancer?
OR
2. Client based Loadbalancer?
Central (Proxy) Loadbalancer
Account Service Load
Balancer
Account Service 1
Recommendation
Service 1
Customer Service
Service 1
API Gateway
Account Service N
Recommendation
Service N
Customer Service
Service N
Customer Service Load
Balancer
Reco Service
Load Balancer
Client Loadbalancer
Account Service 1
Recommendation
Service 1
Customer Service
Service 1
API Gateway
Account Service N
Recommendation
Service N
Customer Service
Service N
Account Service LB
Recommendation
Service LB
Customer Service
Service LB
Client based Smart Loadbalancer
Use Ribbon (http://github.com/netflix/ribbon)
Homogeneity in A Polyglot Ecosystem
Message Queue
Microservices Corporate Style
Microservices Corporate Style
Microservices Corporate Style
Microservices Corporate Style
Microservices Corporate Style
Microservices Corporate Style
Microservices Corporate Style
NetflixOSS
Microservices Corporate Style
Microservices Corporate Style
Microservices Corporate Style
Microservices Corporate Style
Microservices Corporate Style
Microservices Corporate Style
input {
tcp {
port => 9000 codec => "json"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"] index =>
"micro-%{serviceName}"
}
}
logstash-simple.conf
Microservices Corporate Style
Microservices Corporate Style
Microservices Corporate Style
Thank You

More Related Content

PPTX
Micro services Architecture
PPTX
Microservices Architecture & Testing Strategies
PPTX
Microservices Architecture - Bangkok 2018
PPTX
Micro services Architecture
PPTX
Microservices Architecture & Testing Strategies
PPTX
Microservices Part 3 Service Mesh and Kafka
PPTX
Microservice architecture design principles
PPTX
Blockchain solution architecture deliverable
Micro services Architecture
Microservices Architecture & Testing Strategies
Microservices Architecture - Bangkok 2018
Micro services Architecture
Microservices Architecture & Testing Strategies
Microservices Part 3 Service Mesh and Kafka
Microservice architecture design principles
Blockchain solution architecture deliverable

What's hot (20)

PDF
Microservices Architecture
PPTX
Microservices Architecture Part 2 Event Sourcing and Saga
PPTX
Blockchain Intro to Hyperledger Fabric
PPTX
Develop in ludicrous mode with azure serverless
PDF
Microservices to Scale using Azure Service Fabric
PPTX
Containerisation and DEIS
PPTX
Blockchain on the oracle cloud, the next big thing
PPTX
Microservices Part 4: Functional Reactive Programming
PDF
A lifecycle for microservices
PPTX
Architecture blockchain-azure
PDF
Enterprise Integration in Cloud Native Microservices Architectures
PDF
Lecture29 cc-security4
PPSX
CI-CD Jenkins, GitHub Actions, Tekton
PDF
Microservices architecture
PDF
Irakli Nadareishvili - O'Reilly SACon 2018, London
PPTX
Aliaksei Bahachuk - JavaScript and Solution Architecture
PPSX
Microservices, Containers, Kubernetes, Kafka, Kanban
PDF
When Cloud-Native Java meets Containers, Kubernetes and Istio
PPTX
Decentralization of internet of things with blockchain architecture
 
PPSX
Federation of OpenStack clouds
Microservices Architecture
Microservices Architecture Part 2 Event Sourcing and Saga
Blockchain Intro to Hyperledger Fabric
Develop in ludicrous mode with azure serverless
Microservices to Scale using Azure Service Fabric
Containerisation and DEIS
Blockchain on the oracle cloud, the next big thing
Microservices Part 4: Functional Reactive Programming
A lifecycle for microservices
Architecture blockchain-azure
Enterprise Integration in Cloud Native Microservices Architectures
Lecture29 cc-security4
CI-CD Jenkins, GitHub Actions, Tekton
Microservices architecture
Irakli Nadareishvili - O'Reilly SACon 2018, London
Aliaksei Bahachuk - JavaScript and Solution Architecture
Microservices, Containers, Kubernetes, Kafka, Kanban
When Cloud-Native Java meets Containers, Kubernetes and Istio
Decentralization of internet of things with blockchain architecture
 
Federation of OpenStack clouds
Ad

Similar to Microservices Corporate Style (20)

PPTX
Micro Services Architecture
PPTX
Microservices
PPTX
Spring cloud-netflix-oss-microservices
PDF
Introduction to Microservices.pdf
PDF
Microservices on a budget meetup
PDF
Changing application demands: What developers need to know
PPTX
Concurrency at Scale: Evolution to Micro-Services
PPTX
Microservices architecture
PDF
Microservices.pdf
PPTX
MicroService Architecture
PDF
Microservices and modularity with java
PPTX
An introduction to Microservices
PPTX
Ledingkart Meetup #1: Monolithic to microservices in action
PDF
Microservices for java architects it-symposium-2015-09-15
PPTX
Microservices on - Monolithic Application
PPTX
building microservices
PPTX
Service Architectures at Scale
PDF
Monolithic to Microservices Architecture
PPTX
Introduction to microservices
PPTX
Breaking down a monolith
Micro Services Architecture
Microservices
Spring cloud-netflix-oss-microservices
Introduction to Microservices.pdf
Microservices on a budget meetup
Changing application demands: What developers need to know
Concurrency at Scale: Evolution to Micro-Services
Microservices architecture
Microservices.pdf
MicroService Architecture
Microservices and modularity with java
An introduction to Microservices
Ledingkart Meetup #1: Monolithic to microservices in action
Microservices for java architects it-symposium-2015-09-15
Microservices on - Monolithic Application
building microservices
Service Architectures at Scale
Monolithic to Microservices Architecture
Introduction to microservices
Breaking down a monolith
Ad

Recently uploaded (20)

PDF
Modernizing your data center with Dell and AMD
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPT
Teaching material agriculture food technology
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
Modernizing your data center with Dell and AMD
NewMind AI Weekly Chronicles - August'25 Week I
Spectral efficient network and resource selection model in 5G networks
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Teaching material agriculture food technology
Understanding_Digital_Forensics_Presentation.pptx
Unlocking AI with Model Context Protocol (MCP)
Per capita expenditure prediction using model stacking based on satellite ima...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
MYSQL Presentation for SQL database connectivity
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
“AI and Expert System Decision Support & Business Intelligence Systems”
Reach Out and Touch Someone: Haptics and Empathic Computing
Digital-Transformation-Roadmap-for-Companies.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Building Integrated photovoltaic BIPV_UPV.pdf
Review of recent advances in non-invasive hemoglobin estimation

Microservices Corporate Style

  • 2. Name: Narendranath Reddy Thota  d3 Whitepaper Core Team  Trainer from Gama  Blockchain Full Stack Developer  Technology Analyst  Software Developer  Technology Speaker MAERSK Email: narendranath.thota@ust-global.com P: +917288838869
  • 8. Monolithic Architecture Load Balancer Monolithic App Account Component Catalog Component Recommendation Component Customer Service Component Database
  • 9. MONOLITHIC APP (VARIOUS COMPONENTS LINKED TOGETHER) Comparing Monolithic to MicroServices
  • 12. MicroServices – separate single purpose services
  • 13. Microservices Architecture Load Balancer Account Service Catalog Service Recommendation Service Customer Service Service Catalog DB API Gateway Customer DB
  • 15. • Micro service architecture (MSA) is an approach to building software systems that decomposes business domain models into smaller, consistent, bounded-contexts implemented by services. • Typically implemented and operated by small teams. • Switching from SOAP to REST doesn’t make a micro services architecture. • Micro services are not a technology-only discussion.
  • 19. Design Principles for Monoliths: • DDD • SoC using MVC • High cohesion, low coupling • DRY • CoC • YAGNI Design Patterns for Micro services: o Aggregator Pattern o Proxy Pattern o Chained Pattern o Branch Pattern o Shared Resources o Async Messaging and etc ..
  • 23. Disadvantages of Monolith:  Difficult to deploy and maintain  Obstacle to frequent deployments  Dependency between unrelated features  Makes it difficult to try out new technologies/framework Advantages of micro services: Easier to develop, understand, maintain • Starts faster than a monolith, speeds up deployments • Local change can be easily deployed, great enabler of CD • Each service can scale on X- and Z-axis • Improves fault isolation • Eliminates any long-term commitment to a technology stack • Freedom of choice of technology, tools, frameworks
  • 24. Availability • A single missing “;” brought down the Netflix website for many hours (~2008)
  • 25. MONOLITHIC APPS – FAILURE & AVAILABILITY
  • 26. Introduction to some popular technology components, how they help solve some of the problems of developing and delivering software using a micro services architecture.  Spring Boot (spring cloud – Eureka, ZUUL, Hystrix, Ribbon, etc)  Docker  Nodejs  Kubernetes/Openshift  NetflixOSS  Kafka , Rabbit MQ, CloudAMQP, Kestrel etc..  Zipkin  ELK stack  Prometheus with Grafana  AppDynamics  Akana  ForgeRock  API Connect etc…
  • 27. Monitoring:  One of the most frequently mentioned challenges related to the creation of micro services-based architecture is monitoring. Each micro service should be run in an environment isolated from the other micro services so it does not share resources such as databases or log files with them.  However, the essential requirement for micro services architecture is that it is relatively easy to access the call history, including the ability to look through the request propagation between multiple micro services. Grepping the logs is not the right solution for that problem. There are some helpful tools that can be used when creating micro services with Spring Boot and Spring Cloud frameworks.  Zipkin. A distributed tracing system that helps gather timing data for every request propagated between independent services. It has simple management console where we can find a visualization of the time statistics generated by subsequent services.
  • 28.  ELK. Elasticsearch, Logstash, and Kibana — three different tools usually used together. They are used for searching, analyzing, and visualizing log data in real-time.  Distributed, independent micro services and centralized log monitoring make for the right solution. With tools like ELK and Zipkin, microservices monitoring seems to not be a very difficult problem to solve. There are also some other tools — for example, Hystrix and Turbine Prometheus with Grafana and etc.. — that provide real-time metrics for the requests processed by micro services.
  • 29. Some Tools for Service Registry/Discovery:  Zookeeper and  Curator • Kubernetes • etcd • Consul • OSGi • Snoop NoOps:  Service replication (Kubernetes)  Dependency resolution (Nexus)  Failover (Circuit Breaker)  Resiliency (Circuit Breaker)  Service monitoring, alerts and events (ELK)
  • 30. Open Source  Commoditization of Technology Open source is leading the charge in the technology space. This drives communities to build things like operating systems (Linux), programming languages (Go), message queues (Apache ActiveMQ), and web servers (httpd). As open source and open ecosystems have become the norm, we’re starting to see a lot of innovation in software technology coming directly from open source communities (e.g., Apache Spark, Docker, and Kubernetes, ELK Stack, Zipkin).
  • 32. CHALLENGES Can lead to chaos if not designed right …
  • 33. CHALLENGES Requires thinking differently about how to build, deploy and operate them.  Design for Faults Building distributed systems is different from building shared memory, single process, monolithic applications. Networks are inherently unreliable. Latent network calls can be very difficult to debug.  Design with Dependencies in Mind Need loose coupling in our teams, in our technology, and our governance.
  • 34. SERVICE DISCOVERY • 100s of MicroServices • Need a Service Metadata Registry (Discovery Service) Account Service Catalog Service Recommendation Service Customer Service Service X Service Y Service Z Service Registry Service (e.g. Netflix Eureka)
  • 35. CHATTINESS (AND FAN OUT) ~2 Billion Requests per day on Edge Service Results in ~20 Billion Fan out requests in ~100 MicroServices 1 Request 1 Request Monolithic App MicroServices
  • 37. Best Practice -> Loadbalancers Choice 1. Central Loadbalancer? OR 2. Client based Loadbalancer?
  • 38. Central (Proxy) Loadbalancer Account Service Load Balancer Account Service 1 Recommendation Service 1 Customer Service Service 1 API Gateway Account Service N Recommendation Service N Customer Service Service N Customer Service Load Balancer Reco Service Load Balancer
  • 39. Client Loadbalancer Account Service 1 Recommendation Service 1 Customer Service Service 1 API Gateway Account Service N Recommendation Service N Customer Service Service N Account Service LB Recommendation Service LB Customer Service Service LB
  • 40. Client based Smart Loadbalancer Use Ribbon (http://github.com/netflix/ribbon)
  • 41. Homogeneity in A Polyglot Ecosystem
  • 57. input { tcp { port => 9000 codec => "json" } } output { elasticsearch { hosts => ["localhost:9200"] index => "micro-%{serviceName}" } } logstash-simple.conf

Editor's Notes

  • #34: In complex systems, things fail. Hard drives crash, network cables get unplugged, we do maintenance on the live database instead of the backups, and VMs disappear. Single faults can be propagated to other parts of the system and result in cascading failures that take an entire system down. Design with dependencies in mind: This means being able to change things as quickly as the business needs without impacting those services around you or the system at large.
  • #51: Netflix OSS: Netflix are pioneers in Microservices architecture. They were the first to successfully implement microservice architecture on a large scale. They contributed immensely to Microservices by open sourcing most of their microservice tools with Netflix Open Source Software Center. Spring took the opportunity to integrate many NetflixOSS projects such as Zuul, Ribbon, Hysterix, Eureka and Turbine.