SlideShare a Scribd company logo
From Project To Product Transformation
Microservice Design
Canada DevOps Community of Practice Meetup (16 April 2020 )
Steve Zheng ❖ Focus on Agile and DevOps, Agile & AWS
❖ Two decades of experience in:
- IT Industry
- Java Development
- Project Management
❖ Entrepreneur - 5 years of experience in building
and operating a company that has grown from 5
employees to 1600 today
DevOps Coach
What advantages can we obtain from
Microservice
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 contac
Simulated Data Flow
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
Simulated Data Flow
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
Simulated Data Flow
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
Simulated Data Flow
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
Simulated Data Flow
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
Simulated Data Flow
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
Simulated Data Flow
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
Simulated Data Flow
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
DB
Simulated Data Flow
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
Simulated Data Flow
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
Simulated Data Flow
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
Simulated Data Flow
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
Simulated Data Flow
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
Simulated Data Flow
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
Simulated Data Flow
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
Simulated Data Flow
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
You’re the PHAC Technical Architect,
What’s your design?
PHAC
You’re the PHAC Technical Architect,
What’s your design?
PHAC
Features
1. Data collection
1. From 10 Provinces & 3 Territories
2. Support API, DB, CSV, etc.
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
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
3 Scenarios
Monolithic
Design
Microservice
Design
3 Scenarios
Monolithic
Design
1. A province changes its data format
Microservice
Design
3 Scenarios
Monolithic
Design
1. A province changes its data format
1. Change the “XX Province MS”, test and deploy
Microservice
Design
3 Scenarios
Monolithic
Design
1. A province changes its data format
1. Change the “XX Province MS”, test and deploy
1. Modify the package, test EVERYTHING and deploy
Microservice
Design
3 Scenarios
Monolithic
Design
1. A province changes its data format
2. PHAC adds a new index
e.g. Asymptomatic infection
1. Change the “XX Province MS”, test and deploy
1. Modify the package, test EVERYTHING and deploy
Microservice
Design
3 Scenarios
Monolithic
Design
1. A province changes its data format
2. PHAC adds a new index
e.g. Asymptomatic infection
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)
1. Modify the package, test EVERYTHING and deploy
Microservice
Design
3 Scenarios
Monolithic
Design
1. A province changes its data format
2. PHAC adds a new index
e.g. Asymptomatic infection
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)
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
Microservice
Design
3 Scenarios
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)
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
Microservice
Design
3 Scenarios
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
Microservice
Design
3 Scenarios
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
Microservice Advantages
When change happens:
➢ MS has more flexibility to tune each part
of the system
Metaphor of Microservice and Monolithic
Monolithic = One-man Band
• 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
Microservice = Orchestra
“Violin” Microservice
Deployed in 16
Docker instance
Microservice = Orchestra
“Violin” Microservice
Deployed in 16
Docker instance
“Cello” Microservice
Deployed in 8
Docker instances
Microservice = Orchestra
The Stage -> Cloud or
Kubernetes Container
“Violin” Microservice
Deployed in 16
Docker instance
“Cello” Microservice
Deployed in 8
Docker instances
Microservice = Orchestra
The Stage -> Cloud or
Kubernetes Container
“Violin” Microservice
Deployed in 16
Docker instance
“Cello” Microservice
Deployed in 8
Docker instances
Conductor -> DevOps
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
DevOps is the way to Microservice
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
Questions
From Project To Product Transformation
Thank You
@SteveZhengCA
stevezheng

More Related Content

Similar to Microservices Introduce for DevOps meetup

Open Data - Past, Present and Future
Open Data - Past, Present and FutureOpen Data - Past, Present and Future
Open Data - Past, Present and Future
pezholio
 
cse6339-spring15-02.pptx
cse6339-spring15-02.pptxcse6339-spring15-02.pptx
cse6339-spring15-02.pptx
Paul832
 
Manchester Business School Nov 2010
Manchester Business School Nov 2010Manchester Business School Nov 2010
Manchester Business School Nov 2010
johnkayebl
 
Linked data and applications
Linked data and applicationsLinked data and applications
Linked data and applications
Yves Raimond
 
Web of Data and its Status on Persian Web Data Space
Web of Data and its Status on Persian Web Data SpaceWeb of Data and its Status on Persian Web Data Space
Web of Data and its Status on Persian Web Data Space
Ali Khalili
 
Introduction to Linked Data
Introduction to Linked DataIntroduction to Linked Data
Introduction to Linked Data
Oscar Corcho
 
The State of the Data Warehouse in 2017 and Beyond
The State of the Data Warehouse in 2017 and BeyondThe State of the Data Warehouse in 2017 and Beyond
The State of the Data Warehouse in 2017 and Beyond
SingleStore
 
HL7 FHIR For Medical Professionals.pdf
HL7 FHIR For Medical Professionals.pdfHL7 FHIR For Medical Professionals.pdf
HL7 FHIR For Medical Professionals.pdf
Janaka Peiris
 
Idescat on the Google Public Data Explorer
Idescat on the Google Public Data ExplorerIdescat on the Google Public Data Explorer
Idescat on the Google Public Data Explorer
Xavier Badosa
 
US EPA Resource Conservation and Recovery Act published as Linked Open Data
US EPA Resource Conservation and Recovery Act published as Linked Open DataUS EPA Resource Conservation and Recovery Act published as Linked Open Data
US EPA Resource Conservation and Recovery Act published as Linked Open Data
3 Round Stones
 
BDE SC6-hang out - technology part-SWC - Martin
BDE SC6-hang out - technology part-SWC - MartinBDE SC6-hang out - technology part-SWC - Martin
BDE SC6-hang out - technology part-SWC - Martin
BigData_Europe
 
BBC Backstage: APIs & Feeds 2009
BBC Backstage: APIs & Feeds 2009BBC Backstage: APIs & Feeds 2009
BBC Backstage: APIs & Feeds 2009
Rain Ashford
 
Presentation project healthdata.be for hospitals in Limburg (dd. 2015.11.30.)...
Presentation project healthdata.be for hospitals in Limburg (dd. 2015.11.30.)...Presentation project healthdata.be for hospitals in Limburg (dd. 2015.11.30.)...
Presentation project healthdata.be for hospitals in Limburg (dd. 2015.11.30.)...
healthdata be
 
Where to Find Data Sets
Where to Find Data SetsWhere to Find Data Sets
Where to Find Data Sets
AnnaCave2
 
NHS Choices: Managing complex infrastructure to deliver critical online services
NHS Choices: Managing complex infrastructure to deliver critical online servicesNHS Choices: Managing complex infrastructure to deliver critical online services
NHS Choices: Managing complex infrastructure to deliver critical online services
Splunk
 
Best Hospital and Healthcare Website Work Done by E Vision Technologies - India
Best Hospital and Healthcare Website Work Done by E Vision Technologies - IndiaBest Hospital and Healthcare Website Work Done by E Vision Technologies - India
Best Hospital and Healthcare Website Work Done by E Vision Technologies - India
tej_chopra
 
Data Management Systems for Government Agencies - with CKAN
Data Management Systems for Government Agencies - with CKANData Management Systems for Government Agencies - with CKAN
Data Management Systems for Government Agencies - with CKAN
Steven De Costa
 
Data as a service
Data as a serviceData as a service
Data as a service
Zoltan Nagy
 
Information Systems - Lecture C
Information Systems - Lecture CInformation Systems - Lecture C
Information Systems - Lecture C
CMDLearning
 
Open Source Leadership Management Dashboard Powerpoint
Open Source Leadership Management Dashboard Powerpoint Open Source Leadership Management Dashboard Powerpoint
Open Source Leadership Management Dashboard Powerpoint
Joe Barbano
 

Similar to Microservices Introduce for DevOps meetup (20)

Open Data - Past, Present and Future
Open Data - Past, Present and FutureOpen Data - Past, Present and Future
Open Data - Past, Present and Future
 
cse6339-spring15-02.pptx
cse6339-spring15-02.pptxcse6339-spring15-02.pptx
cse6339-spring15-02.pptx
 
Manchester Business School Nov 2010
Manchester Business School Nov 2010Manchester Business School Nov 2010
Manchester Business School Nov 2010
 
Linked data and applications
Linked data and applicationsLinked data and applications
Linked data and applications
 
Web of Data and its Status on Persian Web Data Space
Web of Data and its Status on Persian Web Data SpaceWeb of Data and its Status on Persian Web Data Space
Web of Data and its Status on Persian Web Data Space
 
Introduction to Linked Data
Introduction to Linked DataIntroduction to Linked Data
Introduction to Linked Data
 
The State of the Data Warehouse in 2017 and Beyond
The State of the Data Warehouse in 2017 and BeyondThe State of the Data Warehouse in 2017 and Beyond
The State of the Data Warehouse in 2017 and Beyond
 
HL7 FHIR For Medical Professionals.pdf
HL7 FHIR For Medical Professionals.pdfHL7 FHIR For Medical Professionals.pdf
HL7 FHIR For Medical Professionals.pdf
 
Idescat on the Google Public Data Explorer
Idescat on the Google Public Data ExplorerIdescat on the Google Public Data Explorer
Idescat on the Google Public Data Explorer
 
US EPA Resource Conservation and Recovery Act published as Linked Open Data
US EPA Resource Conservation and Recovery Act published as Linked Open DataUS EPA Resource Conservation and Recovery Act published as Linked Open Data
US EPA Resource Conservation and Recovery Act published as Linked Open Data
 
BDE SC6-hang out - technology part-SWC - Martin
BDE SC6-hang out - technology part-SWC - MartinBDE SC6-hang out - technology part-SWC - Martin
BDE SC6-hang out - technology part-SWC - Martin
 
BBC Backstage: APIs & Feeds 2009
BBC Backstage: APIs & Feeds 2009BBC Backstage: APIs & Feeds 2009
BBC Backstage: APIs & Feeds 2009
 
Presentation project healthdata.be for hospitals in Limburg (dd. 2015.11.30.)...
Presentation project healthdata.be for hospitals in Limburg (dd. 2015.11.30.)...Presentation project healthdata.be for hospitals in Limburg (dd. 2015.11.30.)...
Presentation project healthdata.be for hospitals in Limburg (dd. 2015.11.30.)...
 
Where to Find Data Sets
Where to Find Data SetsWhere to Find Data Sets
Where to Find Data Sets
 
NHS Choices: Managing complex infrastructure to deliver critical online services
NHS Choices: Managing complex infrastructure to deliver critical online servicesNHS Choices: Managing complex infrastructure to deliver critical online services
NHS Choices: Managing complex infrastructure to deliver critical online services
 
Best Hospital and Healthcare Website Work Done by E Vision Technologies - India
Best Hospital and Healthcare Website Work Done by E Vision Technologies - IndiaBest Hospital and Healthcare Website Work Done by E Vision Technologies - India
Best Hospital and Healthcare Website Work Done by E Vision Technologies - India
 
Data Management Systems for Government Agencies - with CKAN
Data Management Systems for Government Agencies - with CKANData Management Systems for Government Agencies - with CKAN
Data Management Systems for Government Agencies - with CKAN
 
Data as a service
Data as a serviceData as a service
Data as a service
 
Information Systems - Lecture C
Information Systems - Lecture CInformation Systems - Lecture C
Information Systems - Lecture C
 
Open Source Leadership Management Dashboard Powerpoint
Open Source Leadership Management Dashboard Powerpoint Open Source Leadership Management Dashboard Powerpoint
Open Source Leadership Management Dashboard Powerpoint
 

Recently uploaded

Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
saastr
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 

Recently uploaded (20)

Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 

Microservices Introduce for DevOps meetup

  • 1. From Project To Product Transformation Microservice Design Canada DevOps Community of Practice Meetup (16 April 2020 )
  • 2. Steve Zheng ❖ Focus on Agile and DevOps, Agile & AWS ❖ Two decades of experience in: - IT Industry - Java Development - Project Management ❖ Entrepreneur - 5 years of experience in building and operating a company that has grown from 5 employees to 1600 today DevOps Coach
  • 3. What advantages can we obtain from Microservice
  • 4. This was last week’s Covid-19 report. Let's start from here
  • 5. The data is published by PHAC - Public Health Agency of Canada. Now suppose you are the technical architect of PHAC.
  • 6. 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 contac
  • 7. Simulated Data Flow 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
  • 8. Simulated Data Flow 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
  • 9. Simulated Data Flow 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
  • 10. Simulated Data Flow 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
  • 11. Simulated Data Flow 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
  • 12. Simulated Data Flow 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
  • 13. Simulated Data Flow 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
  • 14. Simulated Data Flow 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 DB
  • 15. Simulated Data Flow 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
  • 16. Simulated Data Flow 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
  • 17. Simulated Data Flow 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
  • 18. Simulated Data Flow 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
  • 19. Simulated Data Flow 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
  • 20. Simulated Data Flow 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
  • 21. Simulated Data Flow 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
  • 22. Simulated Data Flow 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
  • 23. PHAC
  • 24. You’re the PHAC Technical Architect, What’s your design? PHAC
  • 25. You’re the PHAC Technical Architect, What’s your design? PHAC Features 1. Data collection 1. From 10 Provinces & 3 Territories 2. Support API, DB, CSV, etc. 2. Data clean and correction 3. Data Aggregation 4. Data Loading 5. Data Export 1. Support for API, PDF, HTML, CSV etc.
  • 26. 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
  • 27. 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
  • 29. Microservice Design 3 Scenarios Monolithic Design 1. A province changes its data format
  • 30. Microservice Design 3 Scenarios Monolithic Design 1. A province changes its data format 1. Change the “XX Province MS”, test and deploy
  • 31. Microservice Design 3 Scenarios Monolithic Design 1. A province changes its data format 1. Change the “XX Province MS”, test and deploy 1. Modify the package, test EVERYTHING and deploy
  • 32. Microservice Design 3 Scenarios Monolithic Design 1. A province changes its data format 2. PHAC adds a new index e.g. Asymptomatic infection 1. Change the “XX Province MS”, test and deploy 1. Modify the package, test EVERYTHING and deploy
  • 33. Microservice Design 3 Scenarios Monolithic Design 1. A province changes its data format 2. PHAC adds a new index e.g. Asymptomatic infection 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) 1. Modify the package, test EVERYTHING and deploy
  • 34. Microservice Design 3 Scenarios Monolithic Design 1. A province changes its data format 2. PHAC adds a new index e.g. Asymptomatic infection 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) 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
  • 35. Microservice Design 3 Scenarios 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) 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
  • 36. Microservice Design 3 Scenarios 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
  • 37. Microservice Design 3 Scenarios 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
  • 38. Microservice Advantages When change happens: ➢ MS has more flexibility to tune each part of the system
  • 39. Metaphor of Microservice and Monolithic
  • 40. Monolithic = One-man Band • 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?
  • 42. Microservice = Orchestra “Violin” Microservice Deployed in 16 Docker instance
  • 43. Microservice = Orchestra “Violin” Microservice Deployed in 16 Docker instance “Cello” Microservice Deployed in 8 Docker instances
  • 44. Microservice = Orchestra The Stage -> Cloud or Kubernetes Container “Violin” Microservice Deployed in 16 Docker instance “Cello” Microservice Deployed in 8 Docker instances
  • 45. Microservice = Orchestra The Stage -> Cloud or Kubernetes Container “Violin” Microservice Deployed in 16 Docker instance “Cello” Microservice Deployed in 8 Docker instances Conductor -> DevOps
  • 46. 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
  • 47. DevOps is the way to Microservice 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
  • 49. From Project To Product Transformation Thank You @SteveZhengCA stevezheng