SlideShare uma empresa Scribd logo
1 de 32
Micro-services
architecture
By
Farwa Abdul Hannan (16F-9006)
Saba Ghani (16F-9011)
1
Micro-Services Architecture
• Defined as:
functional system decomposition into manageable
and independently deployable components
• “micro” refers to the sizing
• a micro service must be manageable by a single
development team (5-9 developers)
• Functional system decomposition means vertical
slicing
• in contrast to horizontal slicing through layers
2
More specifically
• Each micro-service is functionally complete with
• Resource representation
• Data management
• Each micro-service handles one resource (or verb),
e.g.
• Clients
• Shop Items
• Carts
• Checkout
3
Micro-services architecture is an evolutionary design
ideal for evolutionary systems where you can’t fully
anticipate the types of devices that may one day be
accessing your application
4
5
Problems of Monolithic
Architectures
• Code complexity and maintainability
• Deployment becomes the bottleneck
• Fear to change
• Lack of ownership
• Failure dependencies
• One size doesn’t fit all (ex: relational DB)
• Hard to scale out
6
• Code complexity and maintainability
• Deployment becomes the bottleneck
• Fear to change
• Lack of ownership
• Failure dependencies
• One size doesn’t fit all (ex: relational DB)
• Hard to scale out
7
Monolithic
Micro Services
8
Components & Connectors
• Components – individual programs
• Connectors are discussed below:
• Communication between micro services is often
standardized using
• HTTP(S) – broadly available transport protocol
• REST – uniform interfaces on data as resources with
known manipulation means
• JSON – simple data representation format
• REST and JSON are convenient because they simplify
interface evolution
9
Quality Characteristics 10
Decentralization
• Micro-services decentralize data storage
decisions
• Monolithic applications prefer a single logical
database for persistent data
• Micro-services prefer letting each service
manage its own database
• either different instances or entirely different
database systems
11
Independence
• Independent deployability is key
• Each service has its own software repository
• Each micro service can be scaled
independently
• Data sharing can be applied to micro-services as
needed
• Independent evolution of Features
• Micro-services can be extended without affecting
other services
12
Black Box
• Black box testing is a type of component
interface testing
• verifies that data being passed among
components in the system is done right and it
verifies application flow
13
Polyglot
• Polyglot persistence is an approach
• Used in monolithic but frequently in micro
services
• Using multiple data storage technologies for
an individual application
• chosen based upon the best way data can be
stored and retrieved for the application
14
Over to
Farwa Abdul Hannan (16F-9006)
15
Typical Usage and Applications
• Money Transfer/Transactional processing in
Financial Systems
• Most large scale web sites including Netflix,
Amazon and eBay have evolved from a
monolithic architecture to a Micro-Service
architecture.
16
Examples
• Traditional Web Application architecture
Monolithic VS Micro-Services
17
Cont…
• Taxi Hailing Company (monolithic architecture)
18
Cont…
Taxi Hailing Company (Micro-Services Architecture)
19
Cont… 20
Constraints and Limitations
Constraints
(principles that drive desired properties)
• Elastic
• Resilient
• Composable
• Minimal
• Complete
Limitations
• Complexity
• Creational (in case of
Distributed Systems)
• Operational
• Deployment
• Increased Memory
Consumption
21
Micro-Service Constraint #1 -
Elastic
• A Micro-Service must be able to scale, up or
down, independently of other services in the
same application.
• This constraint implies that based on load, or
other factors, applications’ performance and
availability couldn’t be affected.
• Multiple instances of each micro service can
run ineffectively
22
Micro-Service Constraint #2 -
Resilient
• A Micro-Service must fail without impacting
other services in the same application.
• A failure of a single service instance should
have minimal impact on the application.
• Failure of all instances of a micro service, should
impact a single application function & users should
be able to continue using the rest of the application
without impact.
• Micro-Services are Loosely Coupled
23
Micro-Service Constraint #3 -
Composable
• A Micro-Service must offer an interface that
is uniform and is designed to support service
composition.
• Micro-Service APIs should be designed with a
common way of identifying, representing, and
manipulating resources.
24
Micro-Service Constraint #4 -
Minimal
• A Micro-Service must only contain highly cohesive entities
• In software, cohesion is a measure of whether things belong
together.
• High cohesion – all objects and functions in it are focused on
the same tasks
• A Micro-Service should perform a single business function,
which implies that all of its components are highly cohesive.
• Higher cohesion – more maintainable software.
25
Micro-Service Constraint #5 -
Complete
• A Micro-Service must be functionally
complete
• A Micro-Service must offer a complete
function, with minimal dependencies (loose
coupling) to other services in the application.
• Minimal but Complete.
26
Limitation #1 - Complexity
• Too many Micro-Services
• Developers must deal with the additional complexity of creating a
distributed system.
• Testing is more difficult
• Developers must implement the inter-service communication mechanism.
• Developers must implement mechanisms for handling
operations/functionality of many different types of services.
• Obviously, the deployment complexity will be increased – need to
deploy and manage many different service types.
27
Limitation #2 – Increased
Memory Consumption
• The micro-services approach leads to the
increased memory consumption. It simply, due
to own address space for the each service.
28
Summing Up
• Improves fault isolation
• Makes it easier for a new developer to understand the
functionality of a service.
• Developing distributed systems can be complex.
• Multiple databases and transaction management can be
painful.
• Testing a Micro-services-based application can be
cumbersome.
• Deploying Micro-Services can be complex.
• Ease of Modification – make a change/modification to a
single service and deploy it independently of the rest of
the system.
29
References
• https://aws-de-
media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/sessions/pushing_t
he_boundaries_1300_microservices_on_aws.pdf
• http://www.pst.ifi.lmu.de/Lehre/wise-14-15/mse/microservice-
architectures.pdf
• https://www.nginx.com/blog/microservices-at-netflix-architectural-best-
practices/
• https://smartbear.com/learn/api-design/what-are-microservices/
• http://www.martinfowler.com/articles/microservices.html
• https://www.smartcat.io/blog/blackbox-testing-microservices/
• http://www.jamesserra.com/archive/2015/07/what-is-polyglot-persistence/
• https://2013.nosql-matters.org/cgn/wp-content/uploads/2013/02/Engelschall-
NoSQL-Matters-Polyglot-Persistence.pdf
• http://eventuate.io/exampleapps.html
• http://microservices.io/patterns/microservices.html
30
References
• https://dzone.com/articles/microservices-five
• https://www.nginx.com/blog/microservices-at-netflix-architectural-best-practices/
• https://www.nginx.com/blog/building-microservices-inter-process-communication/
• http://www.nirmata.com/2015/02/microservices-five-architectural-constraints/
• https://netflix.github.io
• https://cdn.wp.nginx.com/wp-content/uploads/2015/05/intro-microservices.png
• http://cloudacademy.com/blog/microservices-architecture-challenge-advantage-
drawback/
• https://www.quora.com/What-are-some-disadvantages-of-a-microservice-architecture
• https://www.stackbuilders.com/news/the-hidden-costs-of-microservices
• http://cyberleninka.ru/article/n/on-micro-services-architecture
31
Thank You
32

Mais conteúdo relacionado

Mais procurados

Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitecturePaul Mooney
 
Microservices
MicroservicesMicroservices
MicroservicesSmartBear
 
Microservices Architecture for e-Commerce
Microservices Architecture for e-CommerceMicroservices Architecture for e-Commerce
Microservices Architecture for e-CommerceDivante
 
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Edureka!
 
Introduction to DevOps slides.pdf
Introduction to DevOps slides.pdfIntroduction to DevOps slides.pdf
Introduction to DevOps slides.pdfBoreVishnusai
 
Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...Amazon Web Services
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to MicroservicesMahmoudZidan41
 
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...Simplilearn
 

Mais procurados (20)

Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
 
intro to DevOps
intro to DevOpsintro to DevOps
intro to DevOps
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
 
Microservices
MicroservicesMicroservices
Microservices
 
DevOps
DevOps DevOps
DevOps
 
Microservice intro
Microservice introMicroservice intro
Microservice intro
 
Microservices Architecture for e-Commerce
Microservices Architecture for e-CommerceMicroservices Architecture for e-Commerce
Microservices Architecture for e-Commerce
 
CI CD Basics
CI CD BasicsCI CD Basics
CI CD Basics
 
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
 
Introduction to DevOps slides.pdf
Introduction to DevOps slides.pdfIntroduction to DevOps slides.pdf
Introduction to DevOps slides.pdf
 
Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
DevOps explained
DevOps explainedDevOps explained
DevOps explained
 
Cloud Native: what is it? Why?
Cloud Native: what is it? Why?Cloud Native: what is it? Why?
Cloud Native: what is it? Why?
 
DevOps and Tools
DevOps and ToolsDevOps and Tools
DevOps and Tools
 
DevOps Foundation
DevOps FoundationDevOps Foundation
DevOps Foundation
 
Dev ops using Jenkins
Dev ops using JenkinsDev ops using Jenkins
Dev ops using Jenkins
 
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
 
Devops ppt
Devops pptDevops ppt
Devops ppt
 
Nextcloud manual
Nextcloud manualNextcloud manual
Nextcloud manual
 

Semelhante a Micro-services architecture

Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...AFAS Software
 
Serverless microservices
Serverless microservicesServerless microservices
Serverless microservicesLalit Kale
 
The Overview of Microservices Architecture
The Overview of Microservices ArchitectureThe Overview of Microservices Architecture
The Overview of Microservices ArchitectureParia Heidari
 
MICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptxMICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptxMohammedShahid562503
 
Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services ArchitectureRabbani Mohideen
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to MicroservicesDavid Currie
 
Understanding Microservices
Understanding Microservices Understanding Microservices
Understanding Microservices M A Hossain Tonu
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
Developing Enterprise Applications for the Cloud, from Monolith to MicroserviceDeveloping Enterprise Applications for the Cloud, from Monolith to Microservice
Developing Enterprise Applications for the Cloud, from Monolith to MicroserviceJack-Junjie Cai
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Richard Langlois P. Eng.
 
MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.PLovababu
 
Micro service session 1
Micro service   session 1Micro service   session 1
Micro service session 1Amin Arab
 
Software Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based ArchitecturesSoftware Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based ArchitecturesAngelos Kapsimanis
 
microservices-is-it-the-holy-grail-a-perspective.pdf
microservices-is-it-the-holy-grail-a-perspective.pdfmicroservices-is-it-the-holy-grail-a-perspective.pdf
microservices-is-it-the-holy-grail-a-perspective.pdfRichieBallyears
 
DEVNET-1142 Decomposing Monolithic Applications to Microservices
DEVNET-1142	Decomposing Monolithic Applications to MicroservicesDEVNET-1142	Decomposing Monolithic Applications to Microservices
DEVNET-1142 Decomposing Monolithic Applications to MicroservicesCisco DevNet
 
Microservices Tutorial for Beginners | All You Need to Get Started
Microservices Tutorial for Beginners | All You Need to Get StartedMicroservices Tutorial for Beginners | All You Need to Get Started
Microservices Tutorial for Beginners | All You Need to Get StartedShailendra Chauhan
 
6. Microservices architecture.pptx
6. Microservices architecture.pptx6. Microservices architecture.pptx
6. Microservices architecture.pptxdatapro2
 
Microservices: Yes or not?
Microservices: Yes or not?Microservices: Yes or not?
Microservices: Yes or not?Eduard Tomàs
 
Best Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesBest Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesJim (张建军) Zhang
 

Semelhante a Micro-services architecture (20)

Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
 
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
 
Serverless microservices
Serverless microservicesServerless microservices
Serverless microservices
 
The Overview of Microservices Architecture
The Overview of Microservices ArchitectureThe Overview of Microservices Architecture
The Overview of Microservices Architecture
 
MICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptxMICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptx
 
Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services Architecture
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
 
Understanding Microservices
Understanding Microservices Understanding Microservices
Understanding Microservices
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
Developing Enterprise Applications for the Cloud, from Monolith to MicroserviceDeveloping Enterprise Applications for the Cloud, from Monolith to Microservice
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.
 
MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.
 
Micro service session 1
Micro service   session 1Micro service   session 1
Micro service session 1
 
Software Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based ArchitecturesSoftware Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based Architectures
 
microservices-is-it-the-holy-grail-a-perspective.pdf
microservices-is-it-the-holy-grail-a-perspective.pdfmicroservices-is-it-the-holy-grail-a-perspective.pdf
microservices-is-it-the-holy-grail-a-perspective.pdf
 
DEVNET-1142 Decomposing Monolithic Applications to Microservices
DEVNET-1142	Decomposing Monolithic Applications to MicroservicesDEVNET-1142	Decomposing Monolithic Applications to Microservices
DEVNET-1142 Decomposing Monolithic Applications to Microservices
 
Microservices Tutorial for Beginners | All You Need to Get Started
Microservices Tutorial for Beginners | All You Need to Get StartedMicroservices Tutorial for Beginners | All You Need to Get Started
Microservices Tutorial for Beginners | All You Need to Get Started
 
6. Microservices architecture.pptx
6. Microservices architecture.pptx6. Microservices architecture.pptx
6. Microservices architecture.pptx
 
Deploying at will - SEI
 Deploying at will - SEI Deploying at will - SEI
Deploying at will - SEI
 
Microservices: Yes or not?
Microservices: Yes or not?Microservices: Yes or not?
Microservices: Yes or not?
 
Best Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesBest Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with Microservices
 

Mais de Farwa Ansari

Energy Harvesting Techniques in Wireless Sensor Networks – A Survey
Energy Harvesting Techniques in Wireless Sensor Networks – A SurveyEnergy Harvesting Techniques in Wireless Sensor Networks – A Survey
Energy Harvesting Techniques in Wireless Sensor Networks – A SurveyFarwa Ansari
 
Software Design Patterns - An Overview
Software Design Patterns - An OverviewSoftware Design Patterns - An Overview
Software Design Patterns - An OverviewFarwa Ansari
 
Optimizing the memory management of a virtual machine monitor on a NUMA syste...
Optimizing the memory management of a virtual machine monitor on a NUMA syste...Optimizing the memory management of a virtual machine monitor on a NUMA syste...
Optimizing the memory management of a virtual machine monitor on a NUMA syste...Farwa Ansari
 
Fault Tolerance Typed Assembly Language - A graphical overview
Fault Tolerance Typed Assembly Language - A graphical overviewFault Tolerance Typed Assembly Language - A graphical overview
Fault Tolerance Typed Assembly Language - A graphical overviewFarwa Ansari
 
Comparative Analysis of Face Recognition Methodologies and Techniques
Comparative Analysis of Face Recognition Methodologies and TechniquesComparative Analysis of Face Recognition Methodologies and Techniques
Comparative Analysis of Face Recognition Methodologies and TechniquesFarwa Ansari
 
Chapter 5: Names, Bindings and Scopes (review Questions and Problem Set)
Chapter 5: Names, Bindings and Scopes (review Questions and Problem Set)Chapter 5: Names, Bindings and Scopes (review Questions and Problem Set)
Chapter 5: Names, Bindings and Scopes (review Questions and Problem Set)Farwa Ansari
 
Chapter 4: Lexical & Syntax Analysis (Programming Exercises)
Chapter 4: Lexical & Syntax Analysis (Programming Exercises)Chapter 4: Lexical & Syntax Analysis (Programming Exercises)
Chapter 4: Lexical & Syntax Analysis (Programming Exercises)Farwa Ansari
 
Business plan of a software house
Business plan of a software houseBusiness plan of a software house
Business plan of a software houseFarwa Ansari
 
Mission statement and Vision statement of 3 Different Companies
Mission statement and Vision statement of 3 Different CompaniesMission statement and Vision statement of 3 Different Companies
Mission statement and Vision statement of 3 Different CompaniesFarwa Ansari
 
Applications of Image Processing
Applications of Image ProcessingApplications of Image Processing
Applications of Image ProcessingFarwa Ansari
 
Cohen sutherland algorithm
Cohen sutherland algorithmCohen sutherland algorithm
Cohen sutherland algorithmFarwa Ansari
 
Raster images (assignment)
Raster images (assignment)Raster images (assignment)
Raster images (assignment)Farwa Ansari
 
Prefix and suffix of open gl
Prefix and suffix of open glPrefix and suffix of open gl
Prefix and suffix of open glFarwa Ansari
 
Linear combination of vector
Linear combination of vectorLinear combination of vector
Linear combination of vectorFarwa Ansari
 
Graphic display devices
Graphic display devicesGraphic display devices
Graphic display devicesFarwa Ansari
 
Implementation & Challenges of IPv6
Implementation & Challenges of IPv6Implementation & Challenges of IPv6
Implementation & Challenges of IPv6 Farwa Ansari
 
IPv6 Implementation challenges
IPv6 Implementation challengesIPv6 Implementation challenges
IPv6 Implementation challengesFarwa Ansari
 
Tomasulo Algorithm
Tomasulo AlgorithmTomasulo Algorithm
Tomasulo AlgorithmFarwa Ansari
 
Summary of Simultaneous Multithreading: Maximizing On-Chip Parallelism
Summary of Simultaneous Multithreading: Maximizing On-Chip ParallelismSummary of Simultaneous Multithreading: Maximizing On-Chip Parallelism
Summary of Simultaneous Multithreading: Maximizing On-Chip ParallelismFarwa Ansari
 

Mais de Farwa Ansari (20)

Energy Harvesting Techniques in Wireless Sensor Networks – A Survey
Energy Harvesting Techniques in Wireless Sensor Networks – A SurveyEnergy Harvesting Techniques in Wireless Sensor Networks – A Survey
Energy Harvesting Techniques in Wireless Sensor Networks – A Survey
 
Software Design Patterns - An Overview
Software Design Patterns - An OverviewSoftware Design Patterns - An Overview
Software Design Patterns - An Overview
 
Optimizing the memory management of a virtual machine monitor on a NUMA syste...
Optimizing the memory management of a virtual machine monitor on a NUMA syste...Optimizing the memory management of a virtual machine monitor on a NUMA syste...
Optimizing the memory management of a virtual machine monitor on a NUMA syste...
 
Fault Tolerance Typed Assembly Language - A graphical overview
Fault Tolerance Typed Assembly Language - A graphical overviewFault Tolerance Typed Assembly Language - A graphical overview
Fault Tolerance Typed Assembly Language - A graphical overview
 
Comparative Analysis of Face Recognition Methodologies and Techniques
Comparative Analysis of Face Recognition Methodologies and TechniquesComparative Analysis of Face Recognition Methodologies and Techniques
Comparative Analysis of Face Recognition Methodologies and Techniques
 
Chapter 5: Names, Bindings and Scopes (review Questions and Problem Set)
Chapter 5: Names, Bindings and Scopes (review Questions and Problem Set)Chapter 5: Names, Bindings and Scopes (review Questions and Problem Set)
Chapter 5: Names, Bindings and Scopes (review Questions and Problem Set)
 
Chapter 4: Lexical & Syntax Analysis (Programming Exercises)
Chapter 4: Lexical & Syntax Analysis (Programming Exercises)Chapter 4: Lexical & Syntax Analysis (Programming Exercises)
Chapter 4: Lexical & Syntax Analysis (Programming Exercises)
 
Business plan of a software house
Business plan of a software houseBusiness plan of a software house
Business plan of a software house
 
Mission statement and Vision statement of 3 Different Companies
Mission statement and Vision statement of 3 Different CompaniesMission statement and Vision statement of 3 Different Companies
Mission statement and Vision statement of 3 Different Companies
 
Applications of Image Processing
Applications of Image ProcessingApplications of Image Processing
Applications of Image Processing
 
Cohen sutherland algorithm
Cohen sutherland algorithmCohen sutherland algorithm
Cohen sutherland algorithm
 
Scaling
ScalingScaling
Scaling
 
Raster images (assignment)
Raster images (assignment)Raster images (assignment)
Raster images (assignment)
 
Prefix and suffix of open gl
Prefix and suffix of open glPrefix and suffix of open gl
Prefix and suffix of open gl
 
Linear combination of vector
Linear combination of vectorLinear combination of vector
Linear combination of vector
 
Graphic display devices
Graphic display devicesGraphic display devices
Graphic display devices
 
Implementation & Challenges of IPv6
Implementation & Challenges of IPv6Implementation & Challenges of IPv6
Implementation & Challenges of IPv6
 
IPv6 Implementation challenges
IPv6 Implementation challengesIPv6 Implementation challenges
IPv6 Implementation challenges
 
Tomasulo Algorithm
Tomasulo AlgorithmTomasulo Algorithm
Tomasulo Algorithm
 
Summary of Simultaneous Multithreading: Maximizing On-Chip Parallelism
Summary of Simultaneous Multithreading: Maximizing On-Chip ParallelismSummary of Simultaneous Multithreading: Maximizing On-Chip Parallelism
Summary of Simultaneous Multithreading: Maximizing On-Chip Parallelism
 

Último

Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerunnathinaik
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptxENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptxAnaBeatriceAblay2
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfMahmoud M. Sallam
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 

Último (20)

Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developer
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptxENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdf
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 

Micro-services architecture

  • 1. Micro-services architecture By Farwa Abdul Hannan (16F-9006) Saba Ghani (16F-9011) 1
  • 2. Micro-Services Architecture • Defined as: functional system decomposition into manageable and independently deployable components • “micro” refers to the sizing • a micro service must be manageable by a single development team (5-9 developers) • Functional system decomposition means vertical slicing • in contrast to horizontal slicing through layers 2
  • 3. More specifically • Each micro-service is functionally complete with • Resource representation • Data management • Each micro-service handles one resource (or verb), e.g. • Clients • Shop Items • Carts • Checkout 3
  • 4. Micro-services architecture is an evolutionary design ideal for evolutionary systems where you can’t fully anticipate the types of devices that may one day be accessing your application 4
  • 5. 5
  • 6. Problems of Monolithic Architectures • Code complexity and maintainability • Deployment becomes the bottleneck • Fear to change • Lack of ownership • Failure dependencies • One size doesn’t fit all (ex: relational DB) • Hard to scale out 6
  • 7. • Code complexity and maintainability • Deployment becomes the bottleneck • Fear to change • Lack of ownership • Failure dependencies • One size doesn’t fit all (ex: relational DB) • Hard to scale out 7
  • 9. Components & Connectors • Components – individual programs • Connectors are discussed below: • Communication between micro services is often standardized using • HTTP(S) – broadly available transport protocol • REST – uniform interfaces on data as resources with known manipulation means • JSON – simple data representation format • REST and JSON are convenient because they simplify interface evolution 9
  • 11. Decentralization • Micro-services decentralize data storage decisions • Monolithic applications prefer a single logical database for persistent data • Micro-services prefer letting each service manage its own database • either different instances or entirely different database systems 11
  • 12. Independence • Independent deployability is key • Each service has its own software repository • Each micro service can be scaled independently • Data sharing can be applied to micro-services as needed • Independent evolution of Features • Micro-services can be extended without affecting other services 12
  • 13. Black Box • Black box testing is a type of component interface testing • verifies that data being passed among components in the system is done right and it verifies application flow 13
  • 14. Polyglot • Polyglot persistence is an approach • Used in monolithic but frequently in micro services • Using multiple data storage technologies for an individual application • chosen based upon the best way data can be stored and retrieved for the application 14
  • 15. Over to Farwa Abdul Hannan (16F-9006) 15
  • 16. Typical Usage and Applications • Money Transfer/Transactional processing in Financial Systems • Most large scale web sites including Netflix, Amazon and eBay have evolved from a monolithic architecture to a Micro-Service architecture. 16
  • 17. Examples • Traditional Web Application architecture Monolithic VS Micro-Services 17
  • 18. Cont… • Taxi Hailing Company (monolithic architecture) 18
  • 19. Cont… Taxi Hailing Company (Micro-Services Architecture) 19
  • 21. Constraints and Limitations Constraints (principles that drive desired properties) • Elastic • Resilient • Composable • Minimal • Complete Limitations • Complexity • Creational (in case of Distributed Systems) • Operational • Deployment • Increased Memory Consumption 21
  • 22. Micro-Service Constraint #1 - Elastic • A Micro-Service must be able to scale, up or down, independently of other services in the same application. • This constraint implies that based on load, or other factors, applications’ performance and availability couldn’t be affected. • Multiple instances of each micro service can run ineffectively 22
  • 23. Micro-Service Constraint #2 - Resilient • A Micro-Service must fail without impacting other services in the same application. • A failure of a single service instance should have minimal impact on the application. • Failure of all instances of a micro service, should impact a single application function & users should be able to continue using the rest of the application without impact. • Micro-Services are Loosely Coupled 23
  • 24. Micro-Service Constraint #3 - Composable • A Micro-Service must offer an interface that is uniform and is designed to support service composition. • Micro-Service APIs should be designed with a common way of identifying, representing, and manipulating resources. 24
  • 25. Micro-Service Constraint #4 - Minimal • A Micro-Service must only contain highly cohesive entities • In software, cohesion is a measure of whether things belong together. • High cohesion – all objects and functions in it are focused on the same tasks • A Micro-Service should perform a single business function, which implies that all of its components are highly cohesive. • Higher cohesion – more maintainable software. 25
  • 26. Micro-Service Constraint #5 - Complete • A Micro-Service must be functionally complete • A Micro-Service must offer a complete function, with minimal dependencies (loose coupling) to other services in the application. • Minimal but Complete. 26
  • 27. Limitation #1 - Complexity • Too many Micro-Services • Developers must deal with the additional complexity of creating a distributed system. • Testing is more difficult • Developers must implement the inter-service communication mechanism. • Developers must implement mechanisms for handling operations/functionality of many different types of services. • Obviously, the deployment complexity will be increased – need to deploy and manage many different service types. 27
  • 28. Limitation #2 – Increased Memory Consumption • The micro-services approach leads to the increased memory consumption. It simply, due to own address space for the each service. 28
  • 29. Summing Up • Improves fault isolation • Makes it easier for a new developer to understand the functionality of a service. • Developing distributed systems can be complex. • Multiple databases and transaction management can be painful. • Testing a Micro-services-based application can be cumbersome. • Deploying Micro-Services can be complex. • Ease of Modification – make a change/modification to a single service and deploy it independently of the rest of the system. 29
  • 30. References • https://aws-de- media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/sessions/pushing_t he_boundaries_1300_microservices_on_aws.pdf • http://www.pst.ifi.lmu.de/Lehre/wise-14-15/mse/microservice- architectures.pdf • https://www.nginx.com/blog/microservices-at-netflix-architectural-best- practices/ • https://smartbear.com/learn/api-design/what-are-microservices/ • http://www.martinfowler.com/articles/microservices.html • https://www.smartcat.io/blog/blackbox-testing-microservices/ • http://www.jamesserra.com/archive/2015/07/what-is-polyglot-persistence/ • https://2013.nosql-matters.org/cgn/wp-content/uploads/2013/02/Engelschall- NoSQL-Matters-Polyglot-Persistence.pdf • http://eventuate.io/exampleapps.html • http://microservices.io/patterns/microservices.html 30
  • 31. References • https://dzone.com/articles/microservices-five • https://www.nginx.com/blog/microservices-at-netflix-architectural-best-practices/ • https://www.nginx.com/blog/building-microservices-inter-process-communication/ • http://www.nirmata.com/2015/02/microservices-five-architectural-constraints/ • https://netflix.github.io • https://cdn.wp.nginx.com/wp-content/uploads/2015/05/intro-microservices.png • http://cloudacademy.com/blog/microservices-architecture-challenge-advantage- drawback/ • https://www.quora.com/What-are-some-disadvantages-of-a-microservice-architecture • https://www.stackbuilders.com/news/the-hidden-costs-of-microservices • http://cyberleninka.ru/article/n/on-micro-services-architecture 31

Notas do Editor

  1. http://www.pst.ifi.lmu.de/Lehre/wise-14-15/mse/microservice-architectures.pdf it becomes critical to have standardized methods of communication between them. Since services don't all have to be written in the same language, the chosen communication protocols must be language and platform independent. 
  2. http://www.martinfowler.com/articles/microservices.html
  3. http://www.pst.ifi.lmu.de/Lehre/wise-14-15/mse/microservice-architectures.pdf For example, you can deploy a new version of (a part of) the UI without re-deploying the whole system
  4. when it comes to testing levels, we have unit testing, integration testing, component interface testing and system testing.
  5. Developing distributed systems can be complex. By which I mean, because everything is now an independent service, you have to carefully handle requests travelling between your modules. There can be a scenario where one of the services may not be responding, forcing you to write extra code specifically to avoid disruption. Things can get more complicated when remote calls experience latency. Testing a microservices-based application can be cumbersome. Using the monolithic approach, we would just need to launch our WAR on an application server and ensure its connectivity with the underlying database. But now, each dependent service needs to be confirmed before you can start testing. Deploying microservices can be complex. They may need coordination among multiple services, which may not be as straightforward as deploying a WAR in a container.