SlideShare a Scribd company logo
1 of 25
Microservices
Thang Nguyen
Spring 2020
BUCA’sjourney
Founded
BUCA JSC was
founded at 16th March
2013
A-BIGTIME
Deploy a product
to more than 100
embassy
TOP IT Company
Archived TOP IT
Company award
SRP
SRP eco-system
for education was
launched
Social Security
Social Security eco-
system was launched
March 2013
2009 2016
2014 2017
BUCA’sproducts
Financial
Providing accounting
software for
administrative segment
Education
SRP is an ecosystem to solve
school mangement which
contaíns multiple modules
such as school
management, library
management, equipment
management….
Smart city
support cities
implement digital
transofrmation strategy
via technical solution
inlcuding social security
ecosystem, smart
traffic, smart travel…
Monolithic
01
The Monolithic Architecture
● It is a GOOD architecture when
commencing project
● Most of technologies in stack is
EASY to implement and
SYNCHRONIZE throughout a
project
● Only one package which leads
to DEPLOY application more
EASIER
● SMALL TEAM maintains a
project
MonolithicArchitecture
Component
dependencies
Components stick hardly
which leads to side effect
on application
Lack of product
innovations
Significantly change
when apply a new
technology
Non-optimization
resources
Huge a large of server
resource to start an
application
Long time to add
new features
Waste a lot of time to add
a new feature and
restructure a project hardly
Obstacle when
deployment
mandatory deployment
an application even
slight change
Difficult to scale
application
Cann’t split service to
scale particular services
Microservices
02
Service-oriented
architecture
composed of
loosely coupled
elements
that have
bounded contexts
Adrian Cockcroft (VP of Cloud
Architecture AWS, former Cloud
Architecture at Netflix
Service-oriented
architecture
composed of
loosely coupled
elements
that have
bounded contexts
Services communicate
with each other via the
internet
Adrian Cockcroft (VP of Cloud
Architecture AWS, former Cloud
Architecture at Netflix
Service-oriented
architecture
composed of
loosely coupled
elements
that have
bounded contexts
Independent service
therefore updating one
service doesn’t impact
to other services
Adrian Cockcroft (VP of Cloud
Architecture AWS, former Cloud
Architecture at Netflix
Service-oriented
architecture
composed of
loosely coupled
elements
that have
bounded contexts
Upate features
without
understanding
anything about all
internal services
Eg: RDBMS, NoSQL,
Elastichsearch, Distributed
cache…
Data Storage
Eg: code, libraries…
Business Logic
GET /orders
POST /orders
Public APIs
DetailofaMicroservice
Payment
micro-
service
Booking micro-service Location micro-service
Golfcourse micro-service
EcosystemofMicroservice
Microservices only rely on each
other’s public API
Principle1
“
Micro-service A
Micro-service B
Public
API
Never
Secure your services
Principle2
“API
Gateway
API Gateway (“Front door”)
API Throttling
Authentication & Authorization
• Client–to–server, as well as service–
to–service
• Token-based auth (JWT token)
• IAM-based Authentication
Be a good citizen within
ecosystem
Principle3
“ Micro-service A
Distributed tracking and monitoring
• Which services were involved in a
request?
• How did downstream dependencies
platform
Micro-service B
Shared metrics
• E.g. request time, time to first byte
Distributed tracking
• E.g. Zipkin, Spring Cloud Sleuth
Social Security
Micro-services
03
SocialSecurityMicro-services
StackTechnology
Programming
Languages
01
02
Framework and
libraries
03
Databases
04
Web Servers
● This application is cross-platform for both the
server and client side which is based on .NET
Cor, it's capable of running on Linux or
Windows containers depending on your
Docker host. It also has a Flutter mobile app
that supports Android and iOS
● The architecture proposes a microservice
oriented architecture implementation with
multiple autonomous microservices
● The microservices also showcase different
approaches from simple CRUD to more
elaborate DDD/CQRS patterns
Overview
● The architecture also includes an
implementation of the API Gateway pattern, to
publish simplified APIs and include additional
security measures for hiding/securing the
internal microservices from the client apps or
outside consumers.
● Currently these API Gateways only perform
request forwarding to internal microservices
and custom aggregators, giving the clients
then experience of a single base URL
APIGateway
● There are different types of microservices
according to their internal architectural
pattern and approaches depending on their
purposes. For example
○ Identity micro-service is using ASP.NET
Core Identity & Identity security token
service
○ Core micro-service is an CRUD micro-
service using Redis cache
○ Daynghe micro-service is applying
domain-driven design using DDD pattern
InternalArchitecturePatterns
● There are eight SQL Server databases, but they
are all deployed to a single container, to keep
memory requirements as low as possible. This
is not a recommended approach for
production deployment, where you should use
high availability solutions.
● There are also one Redis, in separate
containers, as a sample of two widely used NO-
SQL databases.
Databaseserver
THANKS!
Do you have any questions?
thangnd@buca.vn
+84 974 123 098
buca.vn
Reference
http://microservice.io/
https://www.slideshare.net/AmazonWebServices/architecture-microservices
https://github.com/dotnet-architecture/eShopOnContainers
https://www.slideshare.net/DotnetOpenGroup/kinh-nghim-trin-khai-
microservices-ti-sapovn

More Related Content

Similar to Microservices Architecture

IBM Bluemix Presentation.pptx
IBM Bluemix Presentation.pptxIBM Bluemix Presentation.pptx
IBM Bluemix Presentation.pptxvishal choudhary
 
Cloud Native Architecture: Its Benefits and Key Components
Cloud Native Architecture: Its Benefits and Key ComponentsCloud Native Architecture: Its Benefits and Key Components
Cloud Native Architecture: Its Benefits and Key ComponentsAndrewHolland58
 
Exploring Cloud Native Architecture: Its Benefits And Key Components
Exploring Cloud Native Architecture: Its Benefits And Key ComponentsExploring Cloud Native Architecture: Its Benefits And Key Components
Exploring Cloud Native Architecture: Its Benefits And Key ComponentsLucy Zeniffer
 
Migrating Critical Applications to the Cloud - isaca seattle - sanitized
Migrating Critical Applications to the Cloud - isaca seattle - sanitizedMigrating Critical Applications to the Cloud - isaca seattle - sanitized
Migrating Critical Applications to the Cloud - isaca seattle - sanitizedUnifyCloud
 
Migrating Critical Applications To The Cloud - ISACA Seattle - Sanitized
Migrating Critical Applications To The Cloud - ISACA Seattle - SanitizedMigrating Critical Applications To The Cloud - ISACA Seattle - Sanitized
Migrating Critical Applications To The Cloud - ISACA Seattle - SanitizedNorm Barber
 
.conf Go 2023 - Many roads lead to Rome - this was our journey (Julius Bär)
.conf Go 2023 - Many roads lead to Rome - this was our journey (Julius Bär).conf Go 2023 - Many roads lead to Rome - this was our journey (Julius Bär)
.conf Go 2023 - Many roads lead to Rome - this was our journey (Julius Bär)Splunk
 
Cloud Computing and Service oriented Architecture (SOA)
Cloud Computing and Service oriented Architecture (SOA)Cloud Computing and Service oriented Architecture (SOA)
Cloud Computing and Service oriented Architecture (SOA)Ravindra Dastikop
 
Cloud service api design rules presentation
Cloud service api design rules presentationCloud service api design rules presentation
Cloud service api design rules presentationesebeus
 
Cloud computing
Cloud computingCloud computing
Cloud computingshethzaid
 
Mulesoft Meetups - Salesforce & Mulesoft Integrations, Anypoint Security Poli...
Mulesoft Meetups - Salesforce & Mulesoft Integrations, Anypoint Security Poli...Mulesoft Meetups - Salesforce & Mulesoft Integrations, Anypoint Security Poli...
Mulesoft Meetups - Salesforce & Mulesoft Integrations, Anypoint Security Poli...Ricardo Rodríguez
 
IRJET-Testing Uncertainty of Cyber-Physical Systems in IoT Cloud Infrastructu...
IRJET-Testing Uncertainty of Cyber-Physical Systems in IoT Cloud Infrastructu...IRJET-Testing Uncertainty of Cyber-Physical Systems in IoT Cloud Infrastructu...
IRJET-Testing Uncertainty of Cyber-Physical Systems in IoT Cloud Infrastructu...IRJET Journal
 
Software application architecture
Software application architectureSoftware application architecture
Software application architectureanwitat
 
Introduction to Cloud Computing CA03.pptx
Introduction to Cloud Computing CA03.pptxIntroduction to Cloud Computing CA03.pptx
Introduction to Cloud Computing CA03.pptxabcxyz1337
 
Application of cloud computing based on e learning teaching tool
Application of cloud computing based on e learning teaching toolApplication of cloud computing based on e learning teaching tool
Application of cloud computing based on e learning teaching tooleSAT Journals
 
Microservices: A Step Towards Modernizing Healthcare Applications
Microservices: A Step Towards Modernizing Healthcare ApplicationsMicroservices: A Step Towards Modernizing Healthcare Applications
Microservices: A Step Towards Modernizing Healthcare ApplicationsCitiusTech
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootKashif Ali Siddiqui
 

Similar to Microservices Architecture (20)

IBM Bluemix Presentation.pptx
IBM Bluemix Presentation.pptxIBM Bluemix Presentation.pptx
IBM Bluemix Presentation.pptx
 
Cloud Native Architecture: Its Benefits and Key Components
Cloud Native Architecture: Its Benefits and Key ComponentsCloud Native Architecture: Its Benefits and Key Components
Cloud Native Architecture: Its Benefits and Key Components
 
Exploring Cloud Native Architecture: Its Benefits And Key Components
Exploring Cloud Native Architecture: Its Benefits And Key ComponentsExploring Cloud Native Architecture: Its Benefits And Key Components
Exploring Cloud Native Architecture: Its Benefits And Key Components
 
Migrating Critical Applications to the Cloud - isaca seattle - sanitized
Migrating Critical Applications to the Cloud - isaca seattle - sanitizedMigrating Critical Applications to the Cloud - isaca seattle - sanitized
Migrating Critical Applications to the Cloud - isaca seattle - sanitized
 
Migrating Critical Applications To The Cloud - ISACA Seattle - Sanitized
Migrating Critical Applications To The Cloud - ISACA Seattle - SanitizedMigrating Critical Applications To The Cloud - ISACA Seattle - Sanitized
Migrating Critical Applications To The Cloud - ISACA Seattle - Sanitized
 
cloud computing
cloud computingcloud computing
cloud computing
 
.conf Go 2023 - Many roads lead to Rome - this was our journey (Julius Bär)
.conf Go 2023 - Many roads lead to Rome - this was our journey (Julius Bär).conf Go 2023 - Many roads lead to Rome - this was our journey (Julius Bär)
.conf Go 2023 - Many roads lead to Rome - this was our journey (Julius Bär)
 
Cloud Computing and Service oriented Architecture (SOA)
Cloud Computing and Service oriented Architecture (SOA)Cloud Computing and Service oriented Architecture (SOA)
Cloud Computing and Service oriented Architecture (SOA)
 
Cloud service api design rules presentation
Cloud service api design rules presentationCloud service api design rules presentation
Cloud service api design rules presentation
 
Inside CBP's Quest for the Cloud
Inside CBP's Quest for the CloudInside CBP's Quest for the Cloud
Inside CBP's Quest for the Cloud
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Mulesoft Meetups - Salesforce & Mulesoft Integrations, Anypoint Security Poli...
Mulesoft Meetups - Salesforce & Mulesoft Integrations, Anypoint Security Poli...Mulesoft Meetups - Salesforce & Mulesoft Integrations, Anypoint Security Poli...
Mulesoft Meetups - Salesforce & Mulesoft Integrations, Anypoint Security Poli...
 
Cloud Customer Architecture for Hybrid Integration
Cloud Customer Architecture for Hybrid IntegrationCloud Customer Architecture for Hybrid Integration
Cloud Customer Architecture for Hybrid Integration
 
Ellos 20141021
Ellos 20141021Ellos 20141021
Ellos 20141021
 
IRJET-Testing Uncertainty of Cyber-Physical Systems in IoT Cloud Infrastructu...
IRJET-Testing Uncertainty of Cyber-Physical Systems in IoT Cloud Infrastructu...IRJET-Testing Uncertainty of Cyber-Physical Systems in IoT Cloud Infrastructu...
IRJET-Testing Uncertainty of Cyber-Physical Systems in IoT Cloud Infrastructu...
 
Software application architecture
Software application architectureSoftware application architecture
Software application architecture
 
Introduction to Cloud Computing CA03.pptx
Introduction to Cloud Computing CA03.pptxIntroduction to Cloud Computing CA03.pptx
Introduction to Cloud Computing CA03.pptx
 
Application of cloud computing based on e learning teaching tool
Application of cloud computing based on e learning teaching toolApplication of cloud computing based on e learning teaching tool
Application of cloud computing based on e learning teaching tool
 
Microservices: A Step Towards Modernizing Healthcare Applications
Microservices: A Step Towards Modernizing Healthcare ApplicationsMicroservices: A Step Towards Modernizing Healthcare Applications
Microservices: A Step Towards Modernizing Healthcare Applications
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
 

Recently uploaded

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...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
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Recently uploaded (20)

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

Microservices Architecture