SlideShare a Scribd company logo
1 of 23
Microservices
with Node.js
by Ashley Davis
Author of Bootstrapping Microservices
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Three part series…
1. Building a microservice with Node.js
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Three part series…
1. Building a microservice with Node.js
2. Developing microservices with Docker-
Compose
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Three part series…
1. Building a microservice with Node.js
2. Developing microservices with Docker-
Compose
3. Deploying microservices to production with
Kubernetes
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
CTO of Sortal
https://www.sortal.io
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
About Me
CTO of Sortal
https://www.sortal.io
Developer of Data-Forge Notebook
https://www.data-forge-notebook.com
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
About Me
CTO of Sortal
https://www.sortal.io
Developer of Data-Forge Notebook
https://www.data-forge-notebook.com
Author of
Data Wrangling with JavaScript
Bootstrapping Microservices
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Bootstrapping Microservices
http://bit.ly/2o0aDsP
Book giveaway and
discount code at the
end of the talk
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Bootstrapping Microservices
http://bit.ly/2o0aDsP
Book giveaway and
discount code at the
end of the talk
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Part 2
Developing microservices with
Docker-Compose
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Review: Why microservices?
• Complexity management
• Fine grained control
• Fault isolation
• Minimize deployment risk
• Scalable team structure
• Scalable performance
• Isolate technical debt
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Development needs for microservices
• Build, run & test a single microservice
• Live reload for a single microservice
• Build, run & test multiple microservices, a
microservices application
• Live reload across the microservices application
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Why Docker?
• It’s ubiquitous
• Infrastructure as code
• It’s a script for building a microservice
• Tech stack agnostic
• Standardize our environment
• Package our microservices
• Publish our microservices
• Run our microservices
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Why Docker-Compose?
• It’s convenient
• Scalable development workflow
• It converts many commands to one
• It records configuration
• Infrastructure as code
• It’s a script for building a microservices application
• Development only, Kubernetes for production
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Code time
Commence prayers to demo gods
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Testing microservices
• Manual / exploratory testing
• Automated testing
• End to end testing
• Integration testing
• Unit testing
• Output (snapshot) testing
• Contract testing (Pact)
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Testing frameworks
•Jest / Mocha
•Cypress
•Pact
•DIY
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Abstraction using microservices
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Mocking microservices
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Database fixtures
A known piece of data added to the database
for the purposes of testing
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
More code
Restart prayers to demo gods
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
To be continued…
• Part 3
• Indirect communications with RabbitMQ
• Deploying a database
• Automated continuous delivery (CD)
• Automated testing in the CD pipeline
• Deployment to Kubernetes
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Bootstrapping Microservices:
http://bit.ly/2o0aDsP
Discount code:
mtpdavis21
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75

More Related Content

What's hot

Seven Jobs You Should Be Running #sqlsat126
Seven Jobs You Should Be Running #sqlsat126Seven Jobs You Should Be Running #sqlsat126
Seven Jobs You Should Be Running #sqlsat126Mike Hillwig
 
The server is dead going serverless to create a highly scalable application y...
The server is dead going serverless to create a highly scalable application y...The server is dead going serverless to create a highly scalable application y...
The server is dead going serverless to create a highly scalable application y...Chris Love
 
Serverless integration zero code
Serverless integration zero codeServerless integration zero code
Serverless integration zero codeMichael Walmsley
 
A High-Performance Solution to Microservice UI Composition @ XConf Hamburg
A High-Performance Solution to Microservice UI Composition @ XConf HamburgA High-Performance Solution to Microservice UI Composition @ XConf Hamburg
A High-Performance Solution to Microservice UI Composition @ XConf HamburgDr. Arif Wider
 
1. Let's study web-development
1. Let's study web-development1. Let's study web-development
1. Let's study web-developmentJungwon Seo
 
New Server in an Hour
New Server in an HourNew Server in an Hour
New Server in an HourMike Hillwig
 
Site reliability in the serverless age - Serverless Boston Meetup
Site reliability in the serverless age  - Serverless Boston MeetupSite reliability in the serverless age  - Serverless Boston Meetup
Site reliability in the serverless age - Serverless Boston MeetupErik Peterson
 
Desarrollo de Aplicaciones PHP con Microsoft Azure
Desarrollo de Aplicaciones PHP con Microsoft AzureDesarrollo de Aplicaciones PHP con Microsoft Azure
Desarrollo de Aplicaciones PHP con Microsoft AzurePeter Concha
 
Brisbane DevOps Meetup - Reinvent 2015
Brisbane DevOps Meetup - Reinvent 2015Brisbane DevOps Meetup - Reinvent 2015
Brisbane DevOps Meetup - Reinvent 2015Michael Villis
 
Serverless Empowering people
Serverless Empowering peopleServerless Empowering people
Serverless Empowering peopleMarcia Villalba
 
How to run a global, cloud scale event for 10.000 people
How to run a global, cloud scale event for 10.000 peopleHow to run a global, cloud scale event for 10.000 people
How to run a global, cloud scale event for 10.000 peopleRobBos10
 
No More Cowboy Coding: Modern WordPress Development Workflow That Scales
No More Cowboy Coding: Modern WordPress Development Workflow That ScalesNo More Cowboy Coding: Modern WordPress Development Workflow That Scales
No More Cowboy Coding: Modern WordPress Development Workflow That ScalesTom Howard
 
AtlasCamp 2015: Getting your Connect add-on over the finish line
AtlasCamp 2015: Getting your Connect add-on over the finish lineAtlasCamp 2015: Getting your Connect add-on over the finish line
AtlasCamp 2015: Getting your Connect add-on over the finish lineAtlassian
 
Techorama 2019 - How to run a global, cloud scale event for 10000 people
Techorama 2019 - How to run a global, cloud scale event for 10000 peopleTechorama 2019 - How to run a global, cloud scale event for 10000 people
Techorama 2019 - How to run a global, cloud scale event for 10000 peopleRobBos10
 
Stop calling everything serverless!
Stop calling everything serverless!Stop calling everything serverless!
Stop calling everything serverless!Jeremy Daly
 
Bosh - Configuring Services
Bosh - Configuring ServicesBosh - Configuring Services
Bosh - Configuring ServicesAndrew Shafer
 
Azure Active Directory Identity
Azure Active Directory IdentityAzure Active Directory Identity
Azure Active Directory IdentityBrice McDowell
 
Intro to Serverless AWS Web Apps
Intro to Serverless AWS Web AppsIntro to Serverless AWS Web Apps
Intro to Serverless AWS Web AppsKyle McKee
 

What's hot (20)

Seven Jobs You Should Be Running #sqlsat126
Seven Jobs You Should Be Running #sqlsat126Seven Jobs You Should Be Running #sqlsat126
Seven Jobs You Should Be Running #sqlsat126
 
The server is dead going serverless to create a highly scalable application y...
The server is dead going serverless to create a highly scalable application y...The server is dead going serverless to create a highly scalable application y...
The server is dead going serverless to create a highly scalable application y...
 
Serverless integration zero code
Serverless integration zero codeServerless integration zero code
Serverless integration zero code
 
A High-Performance Solution to Microservice UI Composition @ XConf Hamburg
A High-Performance Solution to Microservice UI Composition @ XConf HamburgA High-Performance Solution to Microservice UI Composition @ XConf Hamburg
A High-Performance Solution to Microservice UI Composition @ XConf Hamburg
 
5 #aws certifications in 237 days
5 #aws certifications  in 237 days5 #aws certifications  in 237 days
5 #aws certifications in 237 days
 
1. Let's study web-development
1. Let's study web-development1. Let's study web-development
1. Let's study web-development
 
New Server in an Hour
New Server in an HourNew Server in an Hour
New Server in an Hour
 
Site reliability in the serverless age - Serverless Boston Meetup
Site reliability in the serverless age  - Serverless Boston MeetupSite reliability in the serverless age  - Serverless Boston Meetup
Site reliability in the serverless age - Serverless Boston Meetup
 
Desarrollo de Aplicaciones PHP con Microsoft Azure
Desarrollo de Aplicaciones PHP con Microsoft AzureDesarrollo de Aplicaciones PHP con Microsoft Azure
Desarrollo de Aplicaciones PHP con Microsoft Azure
 
Brisbane DevOps Meetup - Reinvent 2015
Brisbane DevOps Meetup - Reinvent 2015Brisbane DevOps Meetup - Reinvent 2015
Brisbane DevOps Meetup - Reinvent 2015
 
Serverless Empowering people
Serverless Empowering peopleServerless Empowering people
Serverless Empowering people
 
How to run a global, cloud scale event for 10.000 people
How to run a global, cloud scale event for 10.000 peopleHow to run a global, cloud scale event for 10.000 people
How to run a global, cloud scale event for 10.000 people
 
No More Cowboy Coding: Modern WordPress Development Workflow That Scales
No More Cowboy Coding: Modern WordPress Development Workflow That ScalesNo More Cowboy Coding: Modern WordPress Development Workflow That Scales
No More Cowboy Coding: Modern WordPress Development Workflow That Scales
 
WebMatrix
WebMatrixWebMatrix
WebMatrix
 
AtlasCamp 2015: Getting your Connect add-on over the finish line
AtlasCamp 2015: Getting your Connect add-on over the finish lineAtlasCamp 2015: Getting your Connect add-on over the finish line
AtlasCamp 2015: Getting your Connect add-on over the finish line
 
Techorama 2019 - How to run a global, cloud scale event for 10000 people
Techorama 2019 - How to run a global, cloud scale event for 10000 peopleTechorama 2019 - How to run a global, cloud scale event for 10000 people
Techorama 2019 - How to run a global, cloud scale event for 10000 people
 
Stop calling everything serverless!
Stop calling everything serverless!Stop calling everything serverless!
Stop calling everything serverless!
 
Bosh - Configuring Services
Bosh - Configuring ServicesBosh - Configuring Services
Bosh - Configuring Services
 
Azure Active Directory Identity
Azure Active Directory IdentityAzure Active Directory Identity
Azure Active Directory Identity
 
Intro to Serverless AWS Web Apps
Intro to Serverless AWS Web AppsIntro to Serverless AWS Web Apps
Intro to Serverless AWS Web Apps
 

Similar to Building microservices with Node.js - part 2

AWS ECS Copilot DevOps Presentation
AWS ECS Copilot DevOps PresentationAWS ECS Copilot DevOps Presentation
AWS ECS Copilot DevOps PresentationVarun Manik
 
Aws Amity University Presentation Mar-10-2022
Aws Amity University Presentation Mar-10-2022Aws Amity University Presentation Mar-10-2022
Aws Amity University Presentation Mar-10-2022Varun Manik
 
Secure Your Code Implement DevSecOps in Azure
Secure Your Code Implement DevSecOps in AzureSecure Your Code Implement DevSecOps in Azure
Secure Your Code Implement DevSecOps in Azurekloia
 
Tooling and DevOps for the Hybrid Cloud with Azure and Azure Stack
Tooling and DevOps for the Hybrid Cloud with Azure and Azure StackTooling and DevOps for the Hybrid Cloud with Azure and Azure Stack
Tooling and DevOps for the Hybrid Cloud with Azure and Azure StackMicrosoft Tech Community
 
Harnessing the power of aws using dot net core
Harnessing the power of aws using dot net coreHarnessing the power of aws using dot net core
Harnessing the power of aws using dot net coreDror Helper
 
Aws User Group Singapore Presentation Oct-21-2020
Aws User Group Singapore Presentation Oct-21-2020Aws User Group Singapore Presentation Oct-21-2020
Aws User Group Singapore Presentation Oct-21-2020Varun Manik
 
AWS Kochi User Group Presentation
AWS  Kochi User Group PresentationAWS  Kochi User Group Presentation
AWS Kochi User Group PresentationVarun Manik
 
Introduction to AWS CodeStar: Quickly develop, build, and deploy applications...
Introduction to AWS CodeStar: Quickly develop, build, and deploy applications...Introduction to AWS CodeStar: Quickly develop, build, and deploy applications...
Introduction to AWS CodeStar: Quickly develop, build, and deploy applications...Amazon Web Services
 
Spring ing apps on amazon web services
Spring ing apps on amazon web servicesSpring ing apps on amazon web services
Spring ing apps on amazon web servicesVinay Shivaswamy
 
[JAZUG Tohoku Azure DevOps] Azure DevOps
[JAZUG Tohoku Azure DevOps] Azure DevOps[JAZUG Tohoku Azure DevOps] Azure DevOps
[JAZUG Tohoku Azure DevOps] Azure DevOpsNaoki (Neo) SATO
 
Azure DevOps Day - Trivandrum
Azure DevOps Day - TrivandrumAzure DevOps Day - Trivandrum
Azure DevOps Day - TrivandrumAmal Dev
 
Microsoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOpsMicrosoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOpsJessica Deen
 
Azure DevOps Day - Kochi
Azure DevOps Day - KochiAzure DevOps Day - Kochi
Azure DevOps Day - KochiAmal Dev
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Emerson Eduardo Rodrigues Von Staffen
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...Amazon Web Services
 
DevOps para Open Source com Azure DevOps
DevOps para Open Source com Azure DevOpsDevOps para Open Source com Azure DevOps
DevOps para Open Source com Azure DevOpsEmmanuel Gomes Brandão
 
Development & Test on AWS - IP Expo 2013
Development & Test on AWS - IP Expo 2013Development & Test on AWS - IP Expo 2013
Development & Test on AWS - IP Expo 2013Amazon Web Services
 

Similar to Building microservices with Node.js - part 2 (20)

AWS ECS Copilot DevOps Presentation
AWS ECS Copilot DevOps PresentationAWS ECS Copilot DevOps Presentation
AWS ECS Copilot DevOps Presentation
 
Aws Amity University Presentation Mar-10-2022
Aws Amity University Presentation Mar-10-2022Aws Amity University Presentation Mar-10-2022
Aws Amity University Presentation Mar-10-2022
 
Secure Your Code Implement DevSecOps in Azure
Secure Your Code Implement DevSecOps in AzureSecure Your Code Implement DevSecOps in Azure
Secure Your Code Implement DevSecOps in Azure
 
Tooling and DevOps for the Hybrid Cloud with Azure and Azure Stack
Tooling and DevOps for the Hybrid Cloud with Azure and Azure StackTooling and DevOps for the Hybrid Cloud with Azure and Azure Stack
Tooling and DevOps for the Hybrid Cloud with Azure and Azure Stack
 
Harnessing the power of aws using dot net core
Harnessing the power of aws using dot net coreHarnessing the power of aws using dot net core
Harnessing the power of aws using dot net core
 
Aws User Group Singapore Presentation Oct-21-2020
Aws User Group Singapore Presentation Oct-21-2020Aws User Group Singapore Presentation Oct-21-2020
Aws User Group Singapore Presentation Oct-21-2020
 
AWS Kochi User Group Presentation
AWS  Kochi User Group PresentationAWS  Kochi User Group Presentation
AWS Kochi User Group Presentation
 
Introduction to AWS CodeStar: Quickly develop, build, and deploy applications...
Introduction to AWS CodeStar: Quickly develop, build, and deploy applications...Introduction to AWS CodeStar: Quickly develop, build, and deploy applications...
Introduction to AWS CodeStar: Quickly develop, build, and deploy applications...
 
Spring ing apps on amazon web services
Spring ing apps on amazon web servicesSpring ing apps on amazon web services
Spring ing apps on amazon web services
 
[JAZUG Tohoku Azure DevOps] Azure DevOps
[JAZUG Tohoku Azure DevOps] Azure DevOps[JAZUG Tohoku Azure DevOps] Azure DevOps
[JAZUG Tohoku Azure DevOps] Azure DevOps
 
Azure DevOps Day - Trivandrum
Azure DevOps Day - TrivandrumAzure DevOps Day - Trivandrum
Azure DevOps Day - Trivandrum
 
Microsoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOpsMicrosoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOps
 
Azure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala MeetupAzure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala Meetup
 
Tour of Azure DevOps
Tour of Azure DevOpsTour of Azure DevOps
Tour of Azure DevOps
 
Azure DevOps Day - Kochi
Azure DevOps Day - KochiAzure DevOps Day - Kochi
Azure DevOps Day - Kochi
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
 
DevOps para Open Source com Azure DevOps
DevOps para Open Source com Azure DevOpsDevOps para Open Source com Azure DevOps
DevOps para Open Source com Azure DevOps
 
Development & Test on AWS - IP Expo 2013
Development & Test on AWS - IP Expo 2013Development & Test on AWS - IP Expo 2013
Development & Test on AWS - IP Expo 2013
 

More from Ashley Davis

Live reload across the stack
Live reload across the stackLive reload across the stack
Live reload across the stackAshley Davis
 
When to reinvent the wheel / Building a query language in TypeScript
When to reinvent the wheel / Building a query language in TypeScriptWhen to reinvent the wheel / Building a query language in TypeScript
When to reinvent the wheel / Building a query language in TypeScriptAshley Davis
 
How to be a good developer
How to be a good developerHow to be a good developer
How to be a good developerAshley Davis
 
Crafting build pipelines with Docker
Crafting build pipelines with DockerCrafting build pipelines with Docker
Crafting build pipelines with DockerAshley Davis
 
How to be a good developer
How to be a good developerHow to be a good developer
How to be a good developerAshley Davis
 
Building desktop apps in java script with Electron
Building desktop apps in java script with ElectronBuilding desktop apps in java script with Electron
Building desktop apps in java script with ElectronAshley Davis
 
Testing trading strategies in JavaScript
Testing trading strategies in JavaScriptTesting trading strategies in JavaScript
Testing trading strategies in JavaScriptAshley Davis
 
Node.js memory limitations
Node.js memory limitationsNode.js memory limitations
Node.js memory limitationsAshley Davis
 
Ai and ml study group lecture 1 and 2
Ai and ml study group   lecture 1 and 2Ai and ml study group   lecture 1 and 2
Ai and ml study group lecture 1 and 2Ashley Davis
 
Data analysis in JavaScript
Data analysis in JavaScriptData analysis in JavaScript
Data analysis in JavaScriptAshley Davis
 

More from Ashley Davis (11)

Live reload across the stack
Live reload across the stackLive reload across the stack
Live reload across the stack
 
When to reinvent the wheel / Building a query language in TypeScript
When to reinvent the wheel / Building a query language in TypeScriptWhen to reinvent the wheel / Building a query language in TypeScript
When to reinvent the wheel / Building a query language in TypeScript
 
How to be a good developer
How to be a good developerHow to be a good developer
How to be a good developer
 
Crafting build pipelines with Docker
Crafting build pipelines with DockerCrafting build pipelines with Docker
Crafting build pipelines with Docker
 
How to be a good developer
How to be a good developerHow to be a good developer
How to be a good developer
 
Building desktop apps in java script with Electron
Building desktop apps in java script with ElectronBuilding desktop apps in java script with Electron
Building desktop apps in java script with Electron
 
Testing trading strategies in JavaScript
Testing trading strategies in JavaScriptTesting trading strategies in JavaScript
Testing trading strategies in JavaScript
 
Node.js memory limitations
Node.js memory limitationsNode.js memory limitations
Node.js memory limitations
 
Ai and ml study group lecture 1 and 2
Ai and ml study group   lecture 1 and 2Ai and ml study group   lecture 1 and 2
Ai and ml study group lecture 1 and 2
 
Web scraping
Web scrapingWeb scraping
Web scraping
 
Data analysis in JavaScript
Data analysis in JavaScriptData analysis in JavaScript
Data analysis in JavaScript
 

Recently uploaded

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
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
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
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
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

Building microservices with Node.js - part 2

  • 1. Microservices with Node.js by Ashley Davis Author of Bootstrapping Microservices Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 2. Three part series… 1. Building a microservice with Node.js Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 3. Three part series… 1. Building a microservice with Node.js 2. Developing microservices with Docker- Compose Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 4. Three part series… 1. Building a microservice with Node.js 2. Developing microservices with Docker- Compose 3. Deploying microservices to production with Kubernetes Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 5. CTO of Sortal https://www.sortal.io Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 6. About Me CTO of Sortal https://www.sortal.io Developer of Data-Forge Notebook https://www.data-forge-notebook.com Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 7. About Me CTO of Sortal https://www.sortal.io Developer of Data-Forge Notebook https://www.data-forge-notebook.com Author of Data Wrangling with JavaScript Bootstrapping Microservices Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 8. Bootstrapping Microservices http://bit.ly/2o0aDsP Book giveaway and discount code at the end of the talk Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 9. Bootstrapping Microservices http://bit.ly/2o0aDsP Book giveaway and discount code at the end of the talk Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 10. Part 2 Developing microservices with Docker-Compose Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 11. Review: Why microservices? • Complexity management • Fine grained control • Fault isolation • Minimize deployment risk • Scalable team structure • Scalable performance • Isolate technical debt Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 12. Development needs for microservices • Build, run & test a single microservice • Live reload for a single microservice • Build, run & test multiple microservices, a microservices application • Live reload across the microservices application Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 13. Why Docker? • It’s ubiquitous • Infrastructure as code • It’s a script for building a microservice • Tech stack agnostic • Standardize our environment • Package our microservices • Publish our microservices • Run our microservices Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 14. Why Docker-Compose? • It’s convenient • Scalable development workflow • It converts many commands to one • It records configuration • Infrastructure as code • It’s a script for building a microservices application • Development only, Kubernetes for production Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 15. Code time Commence prayers to demo gods Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 16. Testing microservices • Manual / exploratory testing • Automated testing • End to end testing • Integration testing • Unit testing • Output (snapshot) testing • Contract testing (Pact) Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 17. Testing frameworks •Jest / Mocha •Cypress •Pact •DIY Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 18. Abstraction using microservices Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 19. Mocking microservices Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 20. Database fixtures A known piece of data added to the database for the purposes of testing Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 21. More code Restart prayers to demo gods Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 22. To be continued… • Part 3 • Indirect communications with RabbitMQ • Deploying a database • Automated continuous delivery (CD) • Automated testing in the CD pipeline • Deployment to Kubernetes Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 23. Bootstrapping Microservices: http://bit.ly/2o0aDsP Discount code: mtpdavis21 Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75