SlideShare a Scribd company logo
1 of 16
From Project To Product Transformation
Microservice Design
Canada DevOps Community of Practice Meetup (16 April 2020 )
This was last week’s
Covid-19 report.
Let's start from here
The data is published
by PHAC - Public
Health Agency of
Canada.
Now suppose you are
the technical architect
of PHAC.
Data flow diagrams in the following slides are for
illustration purposes only.
This simulation is used to clarify the Microservices.​
Anyone working in Public Health and willing to comment the data flow is welcome to contact m
PHAC
WHO
B.C
(PPHIS)
Ontario
(iPHIS)
... …
Ottawa
(OPH)
10 Provinces
3 Territories
Hospitals
Laboratory
34 Public Health Units
… …
WHO
Canadian
Government
Websites
3rd Party
Websites
OPH: Ottawa Public Health​
iPHIS: Integrated Public Health Information System​
PPHIS: Provincial Public Health Information System​
PHAC: Public Health Agency of Canada​
WHO: World Health Organization​
Api
DB
CSV
CSV
Api
HTML, PDF
Different security policies
IOT Devices
PHAC
Features
1. Data collection
1. From 10 Provinces & 3 Territories
2. Support API, DB, CSV, etc. f
2. Data clean and correction
3. Data Aggregation
4. Data Loading
5. Data Export
1. Support for API, PDF, HTML, CSV etc.
Monolithic
Design
Microservice
Design
1 Package
1. Data collection (Support API, DB, CSV,
etc. from 10 Provinces & 3 Territories)
2. Data clean and correction
3. Data Aggregation
4. Data Loading
5. Data Export (API, PDF, HTML, CSV)
Server 3Server 2Server 1
Deploy 1 package to multiple servers
Deploy 19+ packages with 19*2 instances to Cloud
Domain 1:
Data Collection
Ontario
Data Collection MS
… …
10 + 3
B.C
Data Collection MS
Domain 2:
Data Process
Cleansing
and Correction MS​
Aggregation MS
Loading MS
Domain 3:
Data Export
API Export MS
PDF Export MS
CSV Export MS
Microservice
Design
Monolithic
Design
1. A province changes its data format
2. PHAC adds a new index
e.g. Asymptomatic infection
3. The PDF requests from 3rd Party cause the
service to slow down
1. Change the “XX Province MS”, test and deploy
2. Modify “Aggregation MS”, test and Deploy
(Keep the legacy version in the production
environment, so that 3-parties have the
window to update their platform)
3. Deploy more “PDF export MS”
1. Modify the package, test EVERYTHING and deploy
2. Modify the package, test EVERYTHING and deploy the legacy
version in new servers (VMs), notify all 3-parties, update the API to
new address before adding new index to their platform
3. More servers(VMs), deploy more packages
When change happens:
 MS has more flexibility to tune each part
of the system
• Monolithic:
• One system with everything.
when loading, load everything
when unloading, unload everything
• Fragile:
• If one instrument is broken, the whole system
will fail
• Scalable
• Can this musician hold 2x the instruments?
Microservice = Orchestra
The Stage -> Cloud or
Kubernetes Container
“Violin”
Microservice
Deployed in 16
Docker instance
“Cello” Microservice
Deployed in 8
Docker instances
Conductor -> DevOps
Melody -> DevOps
Principle and Tools
Problems of Microservice: Orchestration, as:
• 3 instances of 1 package vs 38 instances of 19+ packages;
By 2017, Netflix architecture consisted of over 700 loosely coupled microservices and it
continues to grow
• Functional calling in one platform vs API calling in multiple platforms which cause
performance and security issues
Keep away from Microservice without implementing DevOps! The following cannot be done
manually:
• Deployment (load and unload MS without shutting down the service)
• Monitoring to identify and restart unhealthy instances
From Project To Product Transformation
Thank You
Steve Zheng (steve.zheng@gmail.com)

More Related Content

Similar to Microservices Presentation from Steve

High Performance Computing and Open Source & Linux Technical Excellence Sympo...
High Performance Computing and Open Source & Linux Technical Excellence Sympo...High Performance Computing and Open Source & Linux Technical Excellence Sympo...
High Performance Computing and Open Source & Linux Technical Excellence Sympo...
Gonéri Le Bouder
 
Running Head WINDOWS AND LINUX 1WINDOWS AND LINUX12.docx
Running Head WINDOWS AND LINUX     1WINDOWS AND LINUX12.docxRunning Head WINDOWS AND LINUX     1WINDOWS AND LINUX12.docx
Running Head WINDOWS AND LINUX 1WINDOWS AND LINUX12.docx
jeffsrosalyn
 

Similar to Microservices Presentation from Steve (20)

Designing TCS e-Infrastructure: data, metadata and architecture
Designing TCS e-Infrastructure: data, metadata and architecture Designing TCS e-Infrastructure: data, metadata and architecture
Designing TCS e-Infrastructure: data, metadata and architecture
 
Dareadme
DareadmeDareadme
Dareadme
 
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...
 
Eclipse IoT: Open source technology for IoT developers
Eclipse IoT: Open source technology for IoT developersEclipse IoT: Open source technology for IoT developers
Eclipse IoT: Open source technology for IoT developers
 
20101026 ASAP Seminar
20101026 ASAP Seminar20101026 ASAP Seminar
20101026 ASAP Seminar
 
VITALISE Summer School 2023_ DAY 4 FINAL.pdf
VITALISE Summer School 2023_ DAY 4 FINAL.pdfVITALISE Summer School 2023_ DAY 4 FINAL.pdf
VITALISE Summer School 2023_ DAY 4 FINAL.pdf
 
High Performance Computing and Open Source & Linux Technical Excellence Sympo...
High Performance Computing and Open Source & Linux Technical Excellence Sympo...High Performance Computing and Open Source & Linux Technical Excellence Sympo...
High Performance Computing and Open Source & Linux Technical Excellence Sympo...
 
SC4 Workshop 2: Soren Auer BDE project Overview
SC4 Workshop 2: Soren Auer BDE project OverviewSC4 Workshop 2: Soren Auer BDE project Overview
SC4 Workshop 2: Soren Auer BDE project Overview
 
RootedCON 2014 - Kicking around SCADA!
RootedCON 2014 - Kicking around SCADA!RootedCON 2014 - Kicking around SCADA!
RootedCON 2014 - Kicking around SCADA!
 
Running Head WINDOWS AND LINUX 1WINDOWS AND LINUX12.docx
Running Head WINDOWS AND LINUX     1WINDOWS AND LINUX12.docxRunning Head WINDOWS AND LINUX     1WINDOWS AND LINUX12.docx
Running Head WINDOWS AND LINUX 1WINDOWS AND LINUX12.docx
 
EVOLVE'13 | Keynote | Roy Fielding
EVOLVE'13 | Keynote | Roy FieldingEVOLVE'13 | Keynote | Roy Fielding
EVOLVE'13 | Keynote | Roy Fielding
 
EVOLVE`13 Keynote: Scrambled Eggs
EVOLVE`13 Keynote: Scrambled EggsEVOLVE`13 Keynote: Scrambled Eggs
EVOLVE`13 Keynote: Scrambled Eggs
 
Challenges of Automating Radiology with an Open Source Solution
Challenges of Automating Radiology with an Open Source SolutionChallenges of Automating Radiology with an Open Source Solution
Challenges of Automating Radiology with an Open Source Solution
 
What is SEND?
What is SEND?What is SEND?
What is SEND?
 
Cytoscape: Now and Future
Cytoscape: Now and FutureCytoscape: Now and Future
Cytoscape: Now and Future
 
Cspro training material
Cspro training materialCspro training material
Cspro training material
 
Open source IoT
Open source IoTOpen source IoT
Open source IoT
 
Open Cloud Consortium Overview (01-10-10 V6)
Open Cloud Consortium Overview (01-10-10 V6)Open Cloud Consortium Overview (01-10-10 V6)
Open Cloud Consortium Overview (01-10-10 V6)
 
Gsoc proposal
Gsoc proposalGsoc proposal
Gsoc proposal
 
Quick start with pallaral meta on window10 virtual desktop-virtualbox linux u...
Quick start with pallaral meta on window10 virtual desktop-virtualbox linux u...Quick start with pallaral meta on window10 virtual desktop-virtualbox linux u...
Quick start with pallaral meta on window10 virtual desktop-virtualbox linux u...
 

Recently uploaded

Obat aborsi Jakarta Timur Wa 081225888346 Jual Obat aborsi Cytotec asli Di Ja...
Obat aborsi Jakarta Timur Wa 081225888346 Jual Obat aborsi Cytotec asli Di Ja...Obat aborsi Jakarta Timur Wa 081225888346 Jual Obat aborsi Cytotec asli Di Ja...
Obat aborsi Jakarta Timur Wa 081225888346 Jual Obat aborsi Cytotec asli Di Ja...
icha27638
 
Spauldings classification ppt by Dr C P PRINCE
Spauldings classification ppt by Dr C P PRINCESpauldings classification ppt by Dr C P PRINCE
Spauldings classification ppt by Dr C P PRINCE
DR.PRINCE C P
 
Tortora PRINCIPLES OF ANATOMY AND PHYSIOLOGY - Tortora - 14th Ed.pdf
Tortora PRINCIPLES OF ANATOMY AND PHYSIOLOGY - Tortora - 14th Ed.pdfTortora PRINCIPLES OF ANATOMY AND PHYSIOLOGY - Tortora - 14th Ed.pdf
Tortora PRINCIPLES OF ANATOMY AND PHYSIOLOGY - Tortora - 14th Ed.pdf
Dr. Afreen Nasir
 
Obat Aborsi Makassar WA 085226114443 Jual Obat Aborsi Cytotec Asli Di Makassar
Obat Aborsi Makassar WA 085226114443 Jual Obat Aborsi Cytotec Asli Di MakassarObat Aborsi Makassar WA 085226114443 Jual Obat Aborsi Cytotec Asli Di Makassar
Obat Aborsi Makassar WA 085226114443 Jual Obat Aborsi Cytotec Asli Di Makassar
clarintahafafa
 
Cara menggugurkan kandungan paling ampuh 08561234742
Cara menggugurkan kandungan paling ampuh 08561234742Cara menggugurkan kandungan paling ampuh 08561234742
Cara menggugurkan kandungan paling ampuh 08561234742
Jual obat penggugur 08561234742 Cara menggugurkan kandungan 08561234742
 
Cytotec 200mcg tab in Riyadh (+919101817206// Get Abortion Pills in Saudi Arabia
Cytotec 200mcg tab in Riyadh (+919101817206// Get Abortion Pills in Saudi ArabiaCytotec 200mcg tab in Riyadh (+919101817206// Get Abortion Pills in Saudi Arabia
Cytotec 200mcg tab in Riyadh (+919101817206// Get Abortion Pills in Saudi Arabia
jaanualu31
 
Abortion pills in Abu Dhabi ௵+918133066128௹Un_wandted Pregnancy Kit in Dubai UAE
Abortion pills in Abu Dhabi ௵+918133066128௹Un_wandted Pregnancy Kit in Dubai UAEAbortion pills in Abu Dhabi ௵+918133066128௹Un_wandted Pregnancy Kit in Dubai UAE
Abortion pills in Abu Dhabi ௵+918133066128௹Un_wandted Pregnancy Kit in Dubai UAE
Abortion pills in Kuwait Cytotec pills in Kuwait
 

Recently uploaded (20)

End of Response issues - Code and Rapid Response Workshop
End of Response issues - Code and Rapid Response WorkshopEnd of Response issues - Code and Rapid Response Workshop
End of Response issues - Code and Rapid Response Workshop
 
Obat aborsi Jakarta Timur Wa 081225888346 Jual Obat aborsi Cytotec asli Di Ja...
Obat aborsi Jakarta Timur Wa 081225888346 Jual Obat aborsi Cytotec asli Di Ja...Obat aborsi Jakarta Timur Wa 081225888346 Jual Obat aborsi Cytotec asli Di Ja...
Obat aborsi Jakarta Timur Wa 081225888346 Jual Obat aborsi Cytotec asli Di Ja...
 
clostridiumbotulinum- BY Muzammil Ahmed Siddiqui.pptx
clostridiumbotulinum- BY Muzammil Ahmed Siddiqui.pptxclostridiumbotulinum- BY Muzammil Ahmed Siddiqui.pptx
clostridiumbotulinum- BY Muzammil Ahmed Siddiqui.pptx
 
GENETICS and KIDNEY DISEASES /
GENETICS and KIDNEY DISEASES            /GENETICS and KIDNEY DISEASES            /
GENETICS and KIDNEY DISEASES /
 
Session-17-KANGAROO-MOTHER-CARE_final-blue.pptx
Session-17-KANGAROO-MOTHER-CARE_final-blue.pptxSession-17-KANGAROO-MOTHER-CARE_final-blue.pptx
Session-17-KANGAROO-MOTHER-CARE_final-blue.pptx
 
Spauldings classification ppt by Dr C P PRINCE
Spauldings classification ppt by Dr C P PRINCESpauldings classification ppt by Dr C P PRINCE
Spauldings classification ppt by Dr C P PRINCE
 
Antiepileptic-Drugs-and-Congenital-Anomalies copy.pptx
Antiepileptic-Drugs-and-Congenital-Anomalies copy.pptxAntiepileptic-Drugs-and-Congenital-Anomalies copy.pptx
Antiepileptic-Drugs-and-Congenital-Anomalies copy.pptx
 
Young & Hot ℂall Girls Mumbai 8250077686 WhatsApp Number Best Rates of Mumbai...
Young & Hot ℂall Girls Mumbai 8250077686 WhatsApp Number Best Rates of Mumbai...Young & Hot ℂall Girls Mumbai 8250077686 WhatsApp Number Best Rates of Mumbai...
Young & Hot ℂall Girls Mumbai 8250077686 WhatsApp Number Best Rates of Mumbai...
 
Young & Hot ℂall Girls Goa 8250077686 WhatsApp Number Best Rates of Goa ℂall ...
Young & Hot ℂall Girls Goa 8250077686 WhatsApp Number Best Rates of Goa ℂall ...Young & Hot ℂall Girls Goa 8250077686 WhatsApp Number Best Rates of Goa ℂall ...
Young & Hot ℂall Girls Goa 8250077686 WhatsApp Number Best Rates of Goa ℂall ...
 
The 2024 Outlook for Older Adults: Healthcare Consumer Survey
The 2024 Outlook for Older Adults: Healthcare Consumer SurveyThe 2024 Outlook for Older Adults: Healthcare Consumer Survey
The 2024 Outlook for Older Adults: Healthcare Consumer Survey
 
Session-1-MBFHI-A-part-of-the-Global-Strategy.ppt
Session-1-MBFHI-A-part-of-the-Global-Strategy.pptSession-1-MBFHI-A-part-of-the-Global-Strategy.ppt
Session-1-MBFHI-A-part-of-the-Global-Strategy.ppt
 
Tortora PRINCIPLES OF ANATOMY AND PHYSIOLOGY - Tortora - 14th Ed.pdf
Tortora PRINCIPLES OF ANATOMY AND PHYSIOLOGY - Tortora - 14th Ed.pdfTortora PRINCIPLES OF ANATOMY AND PHYSIOLOGY - Tortora - 14th Ed.pdf
Tortora PRINCIPLES OF ANATOMY AND PHYSIOLOGY - Tortora - 14th Ed.pdf
 
Etiology for RRT and Code Blue Workshop.
Etiology for RRT and Code Blue Workshop.Etiology for RRT and Code Blue Workshop.
Etiology for RRT and Code Blue Workshop.
 
VIP ℂall Girls Panaji 8250077686 WhatsApp: Me All Time Serviℂe Available Day ...
VIP ℂall Girls Panaji 8250077686 WhatsApp: Me All Time Serviℂe Available Day ...VIP ℂall Girls Panaji 8250077686 WhatsApp: Me All Time Serviℂe Available Day ...
VIP ℂall Girls Panaji 8250077686 WhatsApp: Me All Time Serviℂe Available Day ...
 
Mangalore * HiFi ℂall Girls Reshm@ Phone No 8250077686 Elite ℂall Serviℂe Ava...
Mangalore * HiFi ℂall Girls Reshm@ Phone No 8250077686 Elite ℂall Serviℂe Ava...Mangalore * HiFi ℂall Girls Reshm@ Phone No 8250077686 Elite ℂall Serviℂe Ava...
Mangalore * HiFi ℂall Girls Reshm@ Phone No 8250077686 Elite ℂall Serviℂe Ava...
 
Obat Aborsi Makassar WA 085226114443 Jual Obat Aborsi Cytotec Asli Di Makassar
Obat Aborsi Makassar WA 085226114443 Jual Obat Aborsi Cytotec Asli Di MakassarObat Aborsi Makassar WA 085226114443 Jual Obat Aborsi Cytotec Asli Di Makassar
Obat Aborsi Makassar WA 085226114443 Jual Obat Aborsi Cytotec Asli Di Makassar
 
Cara menggugurkan kandungan paling ampuh 08561234742
Cara menggugurkan kandungan paling ampuh 08561234742Cara menggugurkan kandungan paling ampuh 08561234742
Cara menggugurkan kandungan paling ampuh 08561234742
 
Cytotec 200mcg tab in Riyadh (+919101817206// Get Abortion Pills in Saudi Arabia
Cytotec 200mcg tab in Riyadh (+919101817206// Get Abortion Pills in Saudi ArabiaCytotec 200mcg tab in Riyadh (+919101817206// Get Abortion Pills in Saudi Arabia
Cytotec 200mcg tab in Riyadh (+919101817206// Get Abortion Pills in Saudi Arabia
 
Session-3-Promoting-Breastfeeding-During-Pregnancy.ppt
Session-3-Promoting-Breastfeeding-During-Pregnancy.pptSession-3-Promoting-Breastfeeding-During-Pregnancy.ppt
Session-3-Promoting-Breastfeeding-During-Pregnancy.ppt
 
Abortion pills in Abu Dhabi ௵+918133066128௹Un_wandted Pregnancy Kit in Dubai UAE
Abortion pills in Abu Dhabi ௵+918133066128௹Un_wandted Pregnancy Kit in Dubai UAEAbortion pills in Abu Dhabi ௵+918133066128௹Un_wandted Pregnancy Kit in Dubai UAE
Abortion pills in Abu Dhabi ௵+918133066128௹Un_wandted Pregnancy Kit in Dubai UAE
 

Microservices Presentation from Steve

  • 1. From Project To Product Transformation Microservice Design Canada DevOps Community of Practice Meetup (16 April 2020 )
  • 2.
  • 3. This was last week’s Covid-19 report. Let's start from here
  • 4. The data is published by PHAC - Public Health Agency of Canada. Now suppose you are the technical architect of PHAC.
  • 5. Data flow diagrams in the following slides are for illustration purposes only. This simulation is used to clarify the Microservices.​ Anyone working in Public Health and willing to comment the data flow is welcome to contact m
  • 6. PHAC WHO B.C (PPHIS) Ontario (iPHIS) ... … Ottawa (OPH) 10 Provinces 3 Territories Hospitals Laboratory 34 Public Health Units … … WHO Canadian Government Websites 3rd Party Websites OPH: Ottawa Public Health​ iPHIS: Integrated Public Health Information System​ PPHIS: Provincial Public Health Information System​ PHAC: Public Health Agency of Canada​ WHO: World Health Organization​ Api DB CSV CSV Api HTML, PDF Different security policies IOT Devices
  • 7. PHAC Features 1. Data collection 1. From 10 Provinces & 3 Territories 2. Support API, DB, CSV, etc. f 2. Data clean and correction 3. Data Aggregation 4. Data Loading 5. Data Export 1. Support for API, PDF, HTML, CSV etc.
  • 8. Monolithic Design Microservice Design 1 Package 1. Data collection (Support API, DB, CSV, etc. from 10 Provinces & 3 Territories) 2. Data clean and correction 3. Data Aggregation 4. Data Loading 5. Data Export (API, PDF, HTML, CSV) Server 3Server 2Server 1 Deploy 1 package to multiple servers Deploy 19+ packages with 19*2 instances to Cloud Domain 1: Data Collection Ontario Data Collection MS … … 10 + 3 B.C Data Collection MS Domain 2: Data Process Cleansing and Correction MS​ Aggregation MS Loading MS Domain 3: Data Export API Export MS PDF Export MS CSV Export MS
  • 9. Microservice Design Monolithic Design 1. A province changes its data format 2. PHAC adds a new index e.g. Asymptomatic infection 3. The PDF requests from 3rd Party cause the service to slow down 1. Change the “XX Province MS”, test and deploy 2. Modify “Aggregation MS”, test and Deploy (Keep the legacy version in the production environment, so that 3-parties have the window to update their platform) 3. Deploy more “PDF export MS” 1. Modify the package, test EVERYTHING and deploy 2. Modify the package, test EVERYTHING and deploy the legacy version in new servers (VMs), notify all 3-parties, update the API to new address before adding new index to their platform 3. More servers(VMs), deploy more packages
  • 10. When change happens:  MS has more flexibility to tune each part of the system
  • 11.
  • 12. • Monolithic: • One system with everything. when loading, load everything when unloading, unload everything • Fragile: • If one instrument is broken, the whole system will fail • Scalable • Can this musician hold 2x the instruments?
  • 13. Microservice = Orchestra The Stage -> Cloud or Kubernetes Container “Violin” Microservice Deployed in 16 Docker instance “Cello” Microservice Deployed in 8 Docker instances Conductor -> DevOps Melody -> DevOps Principle and Tools
  • 14. Problems of Microservice: Orchestration, as: • 3 instances of 1 package vs 38 instances of 19+ packages; By 2017, Netflix architecture consisted of over 700 loosely coupled microservices and it continues to grow • Functional calling in one platform vs API calling in multiple platforms which cause performance and security issues Keep away from Microservice without implementing DevOps! The following cannot be done manually: • Deployment (load and unload MS without shutting down the service) • Monitoring to identify and restart unhealthy instances
  • 15.
  • 16. From Project To Product Transformation Thank You Steve Zheng (steve.zheng@gmail.com)