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
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 – separate single purpose services
Microservices Architecture
Load Balancer
Account Service Catalog
Service
Recommendation
Service
Customer Service
Service
Catalog
DB
API Gateway
Customer
DB
• 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.
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 ..
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
NetflixOSS
input {
tcp {
port => 9000 codec => "json"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"] index =>
"micro-%{serviceName}"
}
}
logstash-simple.conf
Thank You

More Related Content

What's hot

Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
Srinivasan Nanduri
 
Microservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and SagaMicroservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and Saga
Araf Karsh Hamid
 
Blockchain Intro to Hyperledger Fabric
Blockchain Intro to Hyperledger Fabric Blockchain Intro to Hyperledger Fabric
Blockchain Intro to Hyperledger Fabric
Araf Karsh Hamid
 
Develop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverlessDevelop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverless
Lalit Kale
 
Microservices to Scale using Azure Service Fabric
Microservices to Scale using Azure Service FabricMicroservices to Scale using Azure Service Fabric
Microservices to Scale using Azure Service Fabric
Mukul Jain
 
Containerisation and DEIS
Containerisation and DEISContainerisation and DEIS
Containerisation and DEIS
justinhennessy
 
Blockchain on the oracle cloud, the next big thing
Blockchain on the oracle cloud, the next big thingBlockchain on the oracle cloud, the next big thing
Blockchain on the oracle cloud, the next big thing
Robert van Mölken
 
Microservices Part 4: Functional Reactive Programming
Microservices Part 4: Functional Reactive ProgrammingMicroservices Part 4: Functional Reactive Programming
Microservices Part 4: Functional Reactive Programming
Araf Karsh Hamid
 
A lifecycle for microservices
A lifecycle for microservicesA lifecycle for microservices
A lifecycle for microservices
ProductCamp Boston
 
Architecture blockchain-azure
Architecture blockchain-azureArchitecture blockchain-azure
Architecture blockchain-azure
TonyEsposito19
 
Enterprise Integration in Cloud Native Microservices Architectures
Enterprise Integration in Cloud Native Microservices ArchitecturesEnterprise Integration in Cloud Native Microservices Architectures
Enterprise Integration in Cloud Native Microservices Architectures
Crishantha Nanayakkara
 
Lecture29 cc-security4
Lecture29 cc-security4Lecture29 cc-security4
Lecture29 cc-security4
Ankit Gupta
 
CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton
Araf Karsh Hamid
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
Abdelghani Azri
 
Irakli Nadareishvili - O'Reilly SACon 2018, London
Irakli Nadareishvili - O'Reilly SACon 2018, LondonIrakli Nadareishvili - O'Reilly SACon 2018, London
Irakli Nadareishvili - O'Reilly SACon 2018, London
Irakli Nadareishvili
 
Aliaksei Bahachuk - JavaScript and Solution Architecture
Aliaksei Bahachuk - JavaScript and Solution ArchitectureAliaksei Bahachuk - JavaScript and Solution Architecture
Aliaksei Bahachuk - JavaScript and Solution Architecture
Aliaksei Bahachuk
 
Microservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, KanbanMicroservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, Kanban
Araf Karsh Hamid
 
When Cloud-Native Java meets Containers, Kubernetes and Istio
When Cloud-Native Java meets Containers, Kubernetes and IstioWhen Cloud-Native Java meets Containers, Kubernetes and Istio
When Cloud-Native Java meets Containers, Kubernetes and Istio
YK Chang
 
Decentralization of internet of things with blockchain architecture
Decentralization of internet of things with blockchain architectureDecentralization of internet of things with blockchain architecture
Decentralization of internet of things with blockchain architecture
V C
 
Federation of OpenStack clouds
Federation of OpenStack cloudsFederation of OpenStack clouds
Federation of OpenStack clouds
CoreStack
 

What's hot (20)

Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
 
Microservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and SagaMicroservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and Saga
 
Blockchain Intro to Hyperledger Fabric
Blockchain Intro to Hyperledger Fabric Blockchain Intro to Hyperledger Fabric
Blockchain Intro to Hyperledger Fabric
 
Develop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverlessDevelop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverless
 
Microservices to Scale using Azure Service Fabric
Microservices to Scale using Azure Service FabricMicroservices to Scale using Azure Service Fabric
Microservices to Scale using Azure Service Fabric
 
Containerisation and DEIS
Containerisation and DEISContainerisation and DEIS
Containerisation and DEIS
 
Blockchain on the oracle cloud, the next big thing
Blockchain on the oracle cloud, the next big thingBlockchain on the oracle cloud, the next big thing
Blockchain on the oracle cloud, the next big thing
 
Microservices Part 4: Functional Reactive Programming
Microservices Part 4: Functional Reactive ProgrammingMicroservices Part 4: Functional Reactive Programming
Microservices Part 4: Functional Reactive Programming
 
A lifecycle for microservices
A lifecycle for microservicesA lifecycle for microservices
A lifecycle for microservices
 
Architecture blockchain-azure
Architecture blockchain-azureArchitecture blockchain-azure
Architecture blockchain-azure
 
Enterprise Integration in Cloud Native Microservices Architectures
Enterprise Integration in Cloud Native Microservices ArchitecturesEnterprise Integration in Cloud Native Microservices Architectures
Enterprise Integration in Cloud Native Microservices Architectures
 
Lecture29 cc-security4
Lecture29 cc-security4Lecture29 cc-security4
Lecture29 cc-security4
 
CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Irakli Nadareishvili - O'Reilly SACon 2018, London
Irakli Nadareishvili - O'Reilly SACon 2018, LondonIrakli Nadareishvili - O'Reilly SACon 2018, London
Irakli Nadareishvili - O'Reilly SACon 2018, London
 
Aliaksei Bahachuk - JavaScript and Solution Architecture
Aliaksei Bahachuk - JavaScript and Solution ArchitectureAliaksei Bahachuk - JavaScript and Solution Architecture
Aliaksei Bahachuk - JavaScript and Solution Architecture
 
Microservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, KanbanMicroservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, Kanban
 
When Cloud-Native Java meets Containers, Kubernetes and Istio
When Cloud-Native Java meets Containers, Kubernetes and IstioWhen Cloud-Native Java meets Containers, Kubernetes and Istio
When Cloud-Native Java meets Containers, Kubernetes and Istio
 
Decentralization of internet of things with blockchain architecture
Decentralization of internet of things with blockchain architectureDecentralization of internet of things with blockchain architecture
Decentralization of internet of things with blockchain architecture
 
Federation of OpenStack clouds
Federation of OpenStack cloudsFederation of OpenStack clouds
Federation of OpenStack clouds
 

Similar to Microservices Corporate Style

Containers and microservices create new performance challenges kowall - app...
Containers and microservices create new performance challenges   kowall - app...Containers and microservices create new performance challenges   kowall - app...
Containers and microservices create new performance challenges kowall - app...
Jonah Kowall
 
AppSphere 15 - Containers and Microservices Create New Performance Challenges
AppSphere 15 - Containers and Microservices Create New Performance ChallengesAppSphere 15 - Containers and Microservices Create New Performance Challenges
AppSphere 15 - Containers and Microservices Create New Performance Challenges
AppDynamics
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
Araf Karsh Hamid
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...
Kim Clark
 
Microservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsMicroservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration Patterns
Araf Karsh Hamid
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Araf Karsh Hamid
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
Markus Eisele
 
Accelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and KubernetesAccelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and Kubernetes
Rick Hightower
 
Microservices at ibotta pitfalls and learnings
Microservices at ibotta pitfalls and learningsMicroservices at ibotta pitfalls and learnings
Microservices at ibotta pitfalls and learnings
Matthew Reynolds
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
Markus Eisele
 
Microservices Patterns with GoldenGate
Microservices Patterns with GoldenGateMicroservices Patterns with GoldenGate
Microservices Patterns with GoldenGate
Jeffrey T. Pollock
 
infrastructure management at digital ages
infrastructure management at digital agesinfrastructure management at digital ages
infrastructure management at digital ages
Bernard Paques
 
Microservice Architecture JavaCro 2015
Microservice Architecture JavaCro 2015Microservice Architecture JavaCro 2015
Microservice Architecture JavaCro 2015
Nenad Pecanac
 
MicroServices-Part-1.pdf
MicroServices-Part-1.pdfMicroServices-Part-1.pdf
MicroServices-Part-1.pdf
chanhluc2112
 
Monolithic to Microservices Architecture
Monolithic to Microservices ArchitectureMonolithic to Microservices Architecture
Monolithic to Microservices Architecture
Vin Dahake
 
Architecting for Scale
Architecting for ScaleArchitecting for Scale
Architecting for Scale
Pooyan Jamshidi
 
170215 msa intro
170215 msa intro170215 msa intro
170215 msa intro
Sonic leigh
 
Evolutionary evnt-driven-architecture-for-accelerated-digital-transformation
Evolutionary evnt-driven-architecture-for-accelerated-digital-transformationEvolutionary evnt-driven-architecture-for-accelerated-digital-transformation
Evolutionary evnt-driven-architecture-for-accelerated-digital-transformation
Slobodan Sipcic
 
SoC Keynote:The State of the Art in Integration Technology
SoC Keynote:The State of the Art in Integration TechnologySoC Keynote:The State of the Art in Integration Technology
SoC Keynote:The State of the Art in Integration Technology
Srinath Perera
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2
bdemchak
 

Similar to Microservices Corporate Style (20)

Containers and microservices create new performance challenges kowall - app...
Containers and microservices create new performance challenges   kowall - app...Containers and microservices create new performance challenges   kowall - app...
Containers and microservices create new performance challenges kowall - app...
 
AppSphere 15 - Containers and Microservices Create New Performance Challenges
AppSphere 15 - Containers and Microservices Create New Performance ChallengesAppSphere 15 - Containers and Microservices Create New Performance Challenges
AppSphere 15 - Containers and Microservices Create New Performance Challenges
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...
 
Microservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsMicroservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration Patterns
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
 
Accelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and KubernetesAccelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and Kubernetes
 
Microservices at ibotta pitfalls and learnings
Microservices at ibotta pitfalls and learningsMicroservices at ibotta pitfalls and learnings
Microservices at ibotta pitfalls and learnings
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
 
Microservices Patterns with GoldenGate
Microservices Patterns with GoldenGateMicroservices Patterns with GoldenGate
Microservices Patterns with GoldenGate
 
infrastructure management at digital ages
infrastructure management at digital agesinfrastructure management at digital ages
infrastructure management at digital ages
 
Microservice Architecture JavaCro 2015
Microservice Architecture JavaCro 2015Microservice Architecture JavaCro 2015
Microservice Architecture JavaCro 2015
 
MicroServices-Part-1.pdf
MicroServices-Part-1.pdfMicroServices-Part-1.pdf
MicroServices-Part-1.pdf
 
Monolithic to Microservices Architecture
Monolithic to Microservices ArchitectureMonolithic to Microservices Architecture
Monolithic to Microservices Architecture
 
Architecting for Scale
Architecting for ScaleArchitecting for Scale
Architecting for Scale
 
170215 msa intro
170215 msa intro170215 msa intro
170215 msa intro
 
Evolutionary evnt-driven-architecture-for-accelerated-digital-transformation
Evolutionary evnt-driven-architecture-for-accelerated-digital-transformationEvolutionary evnt-driven-architecture-for-accelerated-digital-transformation
Evolutionary evnt-driven-architecture-for-accelerated-digital-transformation
 
SoC Keynote:The State of the Art in Integration Technology
SoC Keynote:The State of the Art in Integration TechnologySoC Keynote:The State of the Art in Integration Technology
SoC Keynote:The State of the Art in Integration Technology
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2
 

Recently uploaded

How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 

Recently uploaded (20)

How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 

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
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 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
  • 10.
  • 11.
  • 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
  • 14.
  • 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.
  • 16.
  • 17.
  • 18.
  • 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 ..
  • 20.
  • 21.
  • 22.
  • 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
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57. input { tcp { port => 9000 codec => "json" } } output { elasticsearch { hosts => ["localhost:9200"] index => "micro-%{serviceName}" } } logstash-simple.conf
  • 58.
  • 59.
  • 60.

Editor's Notes

  1. 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.
  2. 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.