Soumettre la recherche
Mettre en ligne
Microservice Architecture
•
97 j'aime
•
7,223 vues
Nguyen Tung
Suivre
Microservice - Concept, Why, How, What
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 57
Recommandé
Introduction to Microservices
Introduction to Microservices
Amazon Web Services
Why Microservice
Why Microservice
Kelvin Yeung
Introduction to Microservices
Introduction to Microservices
Amazon Web Services
Microservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, Kanban
Araf Karsh Hamid
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
Paul Mooney
Introduction to microservices
Introduction to microservices
Anil Allewar
Introduction To Microservices
Introduction To Microservices
Lalit Kale
Architecture: Microservices
Architecture: Microservices
Amazon Web Services
Recommandé
Introduction to Microservices
Introduction to Microservices
Amazon Web Services
Why Microservice
Why Microservice
Kelvin Yeung
Introduction to Microservices
Introduction to Microservices
Amazon Web Services
Microservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, Kanban
Araf Karsh Hamid
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
Paul Mooney
Introduction to microservices
Introduction to microservices
Anil Allewar
Introduction To Microservices
Introduction To Microservices
Lalit Kale
Architecture: Microservices
Architecture: Microservices
Amazon Web Services
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Edureka!
Microservices
Microservices
SmartBear
Introduction to Microservices
Introduction to Microservices
Roger van de Kimmenade
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
Araf Karsh Hamid
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
Araf Karsh Hamid
Introduction to microservices
Introduction to microservices
Paulo Gandra de Sousa
From Monolithic to Microservices
From Monolithic to Microservices
Amazon Web Services
Microservice Architecture
Microservice Architecture
tyrantbrian
Design patterns for microservice architecture
Design patterns for microservice architecture
The Software House
Microservice architecture design principles
Microservice architecture design principles
Sanjoy Kumar Roy
Monoliths and Microservices
Monoliths and Microservices
Bozhidar Bozhanov
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
Kashif Ali Siddiqui
Introduction to Microservices
Introduction to Microservices
Amazon Web Services
Event-driven microservices
Event-driven microservices
Andrew Schofield
Microservices in Practice
Microservices in Practice
Kasun Indrasiri
Microservices architecture
Microservices architecture
Abdelghani Azri
Microservice architecture
Microservice architecture
Žilvinas Kuusas
Microservices
Microservices
Stephan Lindauer
The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?
Codit
Azure App Service
Azure App Service
BizTalk360
The Cloud Foundry Story
The Cloud Foundry Story
VMware Tanzu
Inovacao e Arquitetura Moderna com APIs e Mulesoft
Inovacao e Arquitetura Moderna com APIs e Mulesoft
Danilo Bordini
Contenu connexe
Tendances
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Edureka!
Microservices
Microservices
SmartBear
Introduction to Microservices
Introduction to Microservices
Roger van de Kimmenade
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
Araf Karsh Hamid
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
Araf Karsh Hamid
Introduction to microservices
Introduction to microservices
Paulo Gandra de Sousa
From Monolithic to Microservices
From Monolithic to Microservices
Amazon Web Services
Microservice Architecture
Microservice Architecture
tyrantbrian
Design patterns for microservice architecture
Design patterns for microservice architecture
The Software House
Microservice architecture design principles
Microservice architecture design principles
Sanjoy Kumar Roy
Monoliths and Microservices
Monoliths and Microservices
Bozhidar Bozhanov
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
Kashif Ali Siddiqui
Introduction to Microservices
Introduction to Microservices
Amazon Web Services
Event-driven microservices
Event-driven microservices
Andrew Schofield
Microservices in Practice
Microservices in Practice
Kasun Indrasiri
Microservices architecture
Microservices architecture
Abdelghani Azri
Microservice architecture
Microservice architecture
Žilvinas Kuusas
Microservices
Microservices
Stephan Lindauer
The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?
Codit
Azure App Service
Azure App Service
BizTalk360
Tendances
(20)
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservices
Microservices
Introduction to Microservices
Introduction to Microservices
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
Introduction to microservices
Introduction to microservices
From Monolithic to Microservices
From Monolithic to Microservices
Microservice Architecture
Microservice Architecture
Design patterns for microservice architecture
Design patterns for microservice architecture
Microservice architecture design principles
Microservice architecture design principles
Monoliths and Microservices
Monoliths and Microservices
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
Introduction to Microservices
Introduction to Microservices
Event-driven microservices
Event-driven microservices
Microservices in Practice
Microservices in Practice
Microservices architecture
Microservices architecture
Microservice architecture
Microservice architecture
Microservices
Microservices
The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?
Azure App Service
Azure App Service
Similaire à Microservice Architecture
The Cloud Foundry Story
The Cloud Foundry Story
VMware Tanzu
Inovacao e Arquitetura Moderna com APIs e Mulesoft
Inovacao e Arquitetura Moderna com APIs e Mulesoft
Danilo Bordini
Synectiks Microservice Platform
Synectiks Microservice Platform
Papu Bhattacharya
Cutting Through the Disruption
Cutting Through the Disruption
OSSCube
Engineering DevOps and Cloud
Engineering DevOps and Cloud
Marc Hornbeek
Dec2020 meetup mule.pptx
Dec2020 meetup mule.pptx
Andreas Oberrauter
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
VMware Tanzu
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Matt Stine
Anypoint Platform for Pivotal Cloud Foundry
Anypoint Platform for Pivotal Cloud Foundry
MuleSoft
Innovate at speed with Devops
Innovate at speed with Devops
Eric Cattoir
Say no to microservices slideshare
Say no to microservices slideshare
Lykle Thijssen
PCF Cloud-Native Workshop Slides
PCF Cloud-Native Workshop Slides
VMware Tanzu
How IT Pros Can Get and Stay Relevant in the Cloud
How IT Pros Can Get and Stay Relevant in the Cloud
Global Knowledge Training
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
Eduardo Pelegri-Llopart
Mule soft meetup Houston 16
Mule soft meetup Houston 16
Jim Andrews
Learn mulesoft from scratch
Learn mulesoft from scratch
Nikhil More
Ten Reasons to Switch to 8.X
Ten Reasons to Switch to 8.X
Prolifics
ERP 2.0 (Cloud, New Functionality, FAH, Integration and M&A Focus)
ERP 2.0 (Cloud, New Functionality, FAH, Integration and M&A Focus)
Emtec Inc.
Innovation in the network – Adding value to voice OpenCloud Bouygues
Innovation in the network – Adding value to voice OpenCloud Bouygues
Alan Quayle
Have your cake and eat it too: adopting technologies without sacrificing - Pa...
Have your cake and eat it too: adopting technologies without sacrificing - Pa...
Internet World
Similaire à Microservice Architecture
(20)
The Cloud Foundry Story
The Cloud Foundry Story
Inovacao e Arquitetura Moderna com APIs e Mulesoft
Inovacao e Arquitetura Moderna com APIs e Mulesoft
Synectiks Microservice Platform
Synectiks Microservice Platform
Cutting Through the Disruption
Cutting Through the Disruption
Engineering DevOps and Cloud
Engineering DevOps and Cloud
Dec2020 meetup mule.pptx
Dec2020 meetup mule.pptx
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Anypoint Platform for Pivotal Cloud Foundry
Anypoint Platform for Pivotal Cloud Foundry
Innovate at speed with Devops
Innovate at speed with Devops
Say no to microservices slideshare
Say no to microservices slideshare
PCF Cloud-Native Workshop Slides
PCF Cloud-Native Workshop Slides
How IT Pros Can Get and Stay Relevant in the Cloud
How IT Pros Can Get and Stay Relevant in the Cloud
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
Mule soft meetup Houston 16
Mule soft meetup Houston 16
Learn mulesoft from scratch
Learn mulesoft from scratch
Ten Reasons to Switch to 8.X
Ten Reasons to Switch to 8.X
ERP 2.0 (Cloud, New Functionality, FAH, Integration and M&A Focus)
ERP 2.0 (Cloud, New Functionality, FAH, Integration and M&A Focus)
Innovation in the network – Adding value to voice OpenCloud Bouygues
Innovation in the network – Adding value to voice OpenCloud Bouygues
Have your cake and eat it too: adopting technologies without sacrificing - Pa...
Have your cake and eat it too: adopting technologies without sacrificing - Pa...
Dernier
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
Miki Katsuragi
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Sergiu Bodiu
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Fwdays
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
NavinnSomaal
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
null - The Open Security Community
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Patryk Bandurski
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
charlottematthew16
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
Kalema Edgar
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
charlottematthew16
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
Enterprise Knowledge
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
RankYa
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
Slibray Presentation
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Commit University
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
Fwdays
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
Ridwan Fadjar
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
Alfredo García Lavilla
Training state-of-the-art general text embedding
Training state-of-the-art general text embedding
Zilliz
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
Memoori
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
2toLead Limited
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
hariprasad279825
Dernier
(20)
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
Training state-of-the-art general text embedding
Training state-of-the-art general text embedding
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
Microservice Architecture
1.
Micro-service Architecture Style SMAC
ERA… February 5, 2015 Nguyen Quang Tung Solution Architect M: 0127 666 0909 E: tungnq@fsoft.com.vn tungnq@gmail.com
2.
2Copyright © 2014
by FPT Software WHO AM I? Nguyen Quang Tung •E1: tungnq@fsoft.com.vn •E2: tungnq@gmail.com •M: +841276660909 Professional: • Cán Bộ Công Nghệ FPT Lvl3 – System Architect •7+ Solution Architect •6+ Project Manager •11+ Java/J2EE Development Domain: •Multi-media/Video Broadcasting •Stock Market •CMS & DMS •Real Property Market. •eGovernment Bachelor of Science Master of Science Mini – MBA
3.
3Copyright © 2014
by FPT Software
4.
4Copyright © 2014
by FPT Software WHO IS BIG PLAYER IN THIS GAME! http://microservices.io/patterns/microservices.html
5.
5Copyright © 2014
by FPT Software MICROSERVICE ARCHITECTURE - CONCEPTS Concepts Why? How? What? •Concept •Technology
6.
6Copyright © 2014
by FPT Software SW Architecture in the Context of History
7.
7Copyright © 2014
by FPT Software Concepts: WHAT ARE MICRO-SERVICERS? The Micro-Service architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.
8.
8Copyright © 2014
by FPT Software Concepts: SERVICE ORENTED ARCHITECTURE (SOA)? Classic SOA •Integrates different applications as a set of services Microservices •Architect a single application as a set of services Yes, it’s SOA … but different implementation approach
9.
9Copyright © 2014
by FPT Software Concepts: CLASSIC SOA vs MICROSERVICE Classic SOA • Integrates different applications as a set of services Typical implementation solution • Heavy-weight • Orchestration • ESB • WS*/SOAP • License-driven • Intelligent Communication Layer Target Problem • Integrate (Legacy) Software
10.
10Copyright © 2014
by FPT Software Concepts: CLASSIC SOA vs MICROSERVICE MICROSERVICE • Architect a single application as a set of services Typical implementation solution • Light-weight • Choreography • HTTP/REST/JSON • Intelligent Services • Dumb Communication Layer Target Problem • Architect new Business Platform
11.
11Copyright © 2014
by FPT Software MICROSERVICE ARCHITECTURE – WHY? Concepts Why? How? What? •Concept •Technology
12.
12Copyright © 2014
by FPT Software WHY: EVOLUTION OF SOFTWARE ARCHITECTURE
13.
13Copyright © 2014
by FPT Software WHY: FROM MONOLITHIC TO CLOUD
14.
14Copyright © 2014
by FPT Software WHY: THE CURSE OF THE MONOLITH Simple to Develop Simple to Deploy Simple to Scale
15.
15Copyright © 2014
by FPT Software WHY: THE CURSE OF THE MONOLITH Hard to understand and modify Overloaded IDE Overloaded Web Container • Large Code Intimidates Developers Development Slows Down
16.
16Copyright © 2014
by FPT Software WHY: THE CURSE OF THE MONOLITH • Small Change - Big Impact Any change requires full rebuild, test and deploy Impact analysis is huge effort and takes long Obstacle for frequent changes and deployments
17.
17Copyright © 2014
by FPT Software WHY: THE CURSE OF THE MONOLITH • Big Risk for Re-Write No hard module boundaries Quality and Modularity breaks down over time this enforces eventual need for re-write Long term commitment to technology stack Change or try-out new technology implies re- write Re-write = complete re-write No partial re-write
18.
18Copyright © 2014
by FPT Software WHY: THE CURSE OF THE MONOLITH • Little Resilience to Failure Failure in monolith brings it down
19.
19Copyright © 2014
by FPT Software WHY: THE CURSE OF THE MONOLITH • Scaling can be difficult Mostly Horizontal scaling many load balanced instances Hard to scale to data growth cope with all data Different components have different resource needs Scaling development implies coordination overhead
20.
20Copyright © 2014
by FPT Software WHY: TYPES OF SCALING • The Scale Cube
21.
21Copyright © 2014
by FPT Software WHY: TYPES OF SCALING
22.
22Copyright © 2014
by FPT Software WHY: TYPES OF SCALING V1 V2 Re-write a service in 2-3 weeks
23.
23Copyright © 2014
by FPT Software WHY: ARCHITECTURAL BENEFITS Small and focused on 1 capability •Easier to understand •IDE and deployment faster for 1 service Independent •Release and deployment •Scaling •Development Loosely Coupled •Through lightweight communication Fault Isolation vs bring all down. Allows try-out of new technologies. Re-write can be limited to 1 service •Impact Analysis stops at boundary Provide firm module boundaries with explicit interface! •Less risk on re-write •Harder to violate boundary in development Decentralized choreography •vs central orchestration •vs central point of failure Decentralized data •Polyglot persistence
24.
24Copyright © 2014
by FPT Software WHY: ARCHITECTURE EVOLUTION 1 - Key (business) drivers guide architectural decisions • Micro-services are organized around business capabilities 2 - Postpone decisions to Last Responsible Moment • Micro-services allow delay of scaling and technological decisions 3 - Architect and develop for Evolvability • Micro-services support evolution in technology, scaling, and features
25.
25Copyright © 2014
by FPT Software MICROSERVICE ARCHITECTURE - HOW-TO? Concepts Why? How? What? •Concept •Technology
26.
26Copyright © 2014
by FPT Software HOW-TO: PRINCIPLES OF MICROSERVICES http://12factor.net/
27.
27Copyright © 2014
by FPT Software HOW-TO: Big Picture!
28.
28Copyright © 2014
by FPT Software HOW-TO: 7 PRINCIPLES OF MICROSERVICES Principles Of Microservices 1. Modelled Around Business Domain 2. Culture Of Automation 3. Hide Implementation Details 4. Decentralise All The Things 5. Deploy Independently 6. Isolate Failure 7. Highly Observable
29.
29Copyright © 2014
by FPT Software HOW-TO: 7 PRINCIPLES OF MICROSERVICES 1. Modelled Around Business Domain Principles Of Microservic es 1. Modelled Around Business Domain 2. Culture Of Automation 3. Hide Implementatio n Details 4. Decentralise All The Things 5. Deploy Independently 6. Isolate Failure 7. Highly Observable Benefits Domain modules can migrate independently to next version! Database schema is internal to the domain bundle, i.e. NOT part of the API! Persistence and/or database technology can differ between modules in one system!
30.
30Copyright © 2014
by FPT Software HOW-TO: 7 PRINCIPLES OF MICROSERVICES 2. Culture Of Automation Principles Of Microservic es 1. Modelled Around Business Domain 2. Culture Of Automation 3. Hide Implementatio n Details 4. Decentralise All The Things 5. Deploy Independently 6. Isolate Failure 7. Highly Observable Infrastructure Automation Automated Testing Continuous Delivery!
31.
31Copyright © 2014
by FPT Software HOW-TO: 7 PRINCIPLES OF MICROSERVICES 3. Hide Implementation Details Principles Of Microservic es 1. Modelled Around Business Domain 2. Culture Of Automation 3. Hide Implementatio n Details 4. Decentralise All The Things 5. Deploy Independently 6. Isolate Failure 7. Highly Observable Databases Business Partner Vehicle Service Business Partner Service Transport Service Databases Vehicle Databases Transport Databases Vehicle Business Partner Transport Vehicle App Business Partner App Transport App Vehicle Context Transport Context Business Partner Context Hide Your Database!
32.
32Copyright © 2014
by FPT Software HOW-TO: 7 PRINCIPLES OF MICROSERVICES 4. Decentralize All The Things Principles Of Microservic es 1. Modelled Around Business Domain 2. Culture Of Automation 3. Hide Implementatio n Details 4. Decentralise All The Things 5. Deploy Independently 6. Isolate Failure 7. Highly Observable What is autonomy? Giving people as much freedom as possible to do the job at hand Autonomy! Self Service Share Governance Owner Operator Internal Open Source Dumb- Pipes, Smart Endpoint
33.
33Copyright © 2014
by FPT Software HOW-TO: 7 PRINCIPLES OF MICROSERVICES 5. Deploy Independently Deployment One Service Per-Host Consumer- Driven Contracts Co-Exist Point Principles Of Microservic es 1. Modelled Around Business Domain 2. Culture Of Automation 3. Hide Implementatio n Details 4. Decentralise All The Things 5. Deploy Independently 6. Isolate Failure 7. Highly Observable
34.
34Copyright © 2014
by FPT Software HOW-TO: 7 PRINCIPLES OF MICROSERVICES 6. Isolate Failure Principles Of Microservic es 1. Modelled Around Business Domain 2. Culture Of Automation 3. Hide Implementatio n Details 4. Decentralise All The Things 5. Deploy Independently 6. Isolate Failure 7. Highly Observable
35.
35Copyright © 2014
by FPT Software HOW-TO: 7 PRINCIPLES OF MICROSERVICES 7. Highly Observable Principles Of Microservic es 1. Modelled Around Business Domain 2. Culture Of Automation 3. Hide Implementatio n Details 4. Decentralise All The Things 5. Deploy Independently 6. Isolate Failure 7. Highly Observable Correlation IDs Aggregation
36.
36Copyright © 2014
by FPT Software HOW-TO: MICROSERVICE CHALLENGES
37.
37Copyright © 2014
by FPT Software HOW-TO: MICROSERVICE CHALLENGES Communication Between Services • Use case: New Order Received
38.
38Copyright © 2014
by FPT Software HOW-TO: MICROSERVICE CHALLENGES Handling Failures • FALLBACK MESSAGE QUEUE • PER-SERVICE THREAD POOLS
39.
39Copyright © 2014
by FPT Software HOW-TO: MICROSERVICE CHALLENGES Minimising Communicational Overhead • API GATEWAY
40.
40Copyright © 2014
by FPT Software HOW-TO: MICROSERVICE CHALLENGES Handling Failures in Communication • CIRCUIT BREAKER
41.
41Copyright © 2014
by FPT Software MICROSERVICE ARCHITECTURE - WHAT? Concepts Why? How? What? •Concept •Technology
42.
42Copyright © 2014
by FPT Software WHAT: TECHNOLOGY Microservice Implementation Stack
43.
43Copyright © 2014
by FPT Software WHAT: DEPLOYMENT Deployment Options
44.
44Copyright © 2014
by FPT Software WHAT: DEPLOYMENT Docker - Build, Ship, and Run Any App, Anywhere
45.
45Copyright © 2014
by FPT Software WHAT: DEPLOYMENT Docker - Build, Ship, and Run Any App, Anywhere
46.
46Copyright © 2014
by FPT Software WHAT: DEPLOYMENT DOCKER SOLVES THE NxN PROBLEM
47.
47Copyright © 2014
by FPT Software WHAT: DEPLOYMENT
48.
48Copyright © 2014
by FPT Software WHAT: DEPLOYMENT CI - Continuous Integration
49.
49Copyright © 2014
by FPT Software WHAT: DEPLOYMENT Deployment Options
50.
50Copyright © 2014
by FPT Software WHAT: BALANCING LOAD
51.
51Copyright © 2014
by FPT Software WHAT: METRIC & MONITORING
52.
52Copyright © 2014
by FPT Software WHAT: METRIC & MONITORING
53.
53Copyright © 2014
by FPT Software CONCLUSION Advantages of Microservice Architecture • Each micro service is small and focused on a specific feature / business requirement. • Microservice can be developed independently by small team of developers (normally 2 to 5 developers). • Microservice is loosely coupled, means services are independent, in terms of development and deployment both. • Microservice can be developed using different programming language (Personally I don't suggest to do it). • Microservice allows easy and flexible way to integrate automatic deployment with Continuous Integration tools (for e.g: Jenkins, Hudson, bamboo etc..). • The productivity of a new team member will be quick enough. • Microservice is easy to understand, modify and maintain for a developer because separation of code,small team and focused work. • Microservice allows you to take advantage of emerging and latest technologies (framework, programming language , programming practice, etc.). • Microservice has code for business logic only, No mixup with HTML,CSS or other UI component. • Microservice is easy to scale based on demand. • Microservice can deploy on commodity hardware or low / medium configuration servers. • Easy to integrate 3rd party service. • Every microservice has it's own storage capability but it depends on the project’s requirement, you can have common database like MySQL or Oracle for all services.
54.
54Copyright © 2014
by FPT Software CONCLUSION Disadvantages of Microservice Architecture • Microservice architecture brings a lot of operations overhead. • DevOps Skill required (http://en.wikipedia.org/wiki/DevOps). • Duplication of Effort. • Distributed System is complicated to manage . • Default to trace problem because of distributed deployment. • Complicated to manage whole products when number of services increases.
55.
55Copyright © 2014
by FPT Software REFERENCE Microservices - http://martinfowler.com/articles/microservices.html Microservice architecture patterns and best practices - http://microservices.io/ InfoQ eMag: Microservices - http://www.infoq.com/minibooks/emag-microservices Micro Services: Java, the Unix Way - http://www.infoq.com/presentations/Micro-Services Microservices: Decomposing Applications for Deployability and Scalability - http://www.infoq.com/articles/microservices-intro Microservice Architecture: A Quick Guide- http://java.dzone.com/articles/microservice-architecture Making Architecture Work in Microservice Organizations - http://tech.gilt.com/post/102628539834/making-architecture-work-in-microservice Life Preservation for Adaptable Software - https://github.com/russmiles/life-preserver-introductory- article-developer-magazine The Art of Scalability - http://theartofscalability.com/
56.
56Copyright © 2014
by FPT Software Q&A
57.
57Copyright © 2014
by FPT Software