SlideShare a Scribd company logo
1 of 25
Download to read offline
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
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
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
Part 3
Deploying microservices to
production with Kubernetes
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
When to go to production?
As early as possible
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Go early to production…
Because it’s easier when the
application is small
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Go early to production…
Because we need customer feedback
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Production needs for microservices
• Firstly, same as development:
• Communication
• Data management
• Additional production needs:
• A place to host
• Deployment tools
• Automated continuous delivery
• Monitoring
• Scaling
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Indirect communication
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Continuous delivery
• Be able to deploy at any time
• How we get to production
• Automated deployment
• Reliable
• Repeatable
• Efficient
• The most important feature of your product
• Feature number 1
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Continuous delivery
Just a shell script running
automatically in the cloud
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Continuous delivery
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
What is Kubernetes?
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Why Kubernetes?
• Industry standard for microservices
• Lightweight: run it on 1 VM
• Scalable: run it on 5000 computers (or more)
• Easy to setup (at least managed)
• Self healing / automated rollbacks
• Replication and load balancing
• Automatic scaling
• Automatable API
• Open source + community + eco system
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Why Terraform?
• Infrastructure as code
• Declarative
• Multi-vendor (works with any cloud)
• Universal configuration language
• It’s smart
• Open source
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
One database per microservice
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
The database
• One database per microservice
• Single or multiple server
• Keep the server separate from the cluster
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Stateless cluster
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Blue-green deployment
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Blue-green deployment
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Demo time
At mercy of the demo gods
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
A spectrum of possibilities…
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
That’s it...
•Go to production early
•Continuous delivery is just a shell script in the
cloud
•Kubernetes is awesome
•It’s not actually monolith vs microservices,
there’s a spectrum of choices.
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

DevOps for Drupal: Why We Cook With Chef
DevOps for Drupal: Why We Cook With ChefDevOps for Drupal: Why We Cook With Chef
DevOps for Drupal: Why We Cook With ChefPromet Source
 
New Server in an Hour
New Server in an HourNew Server in an Hour
New Server in an HourMike Hillwig
 
Managing your azure workloads with Chef and PSDSC
Managing your azure workloads with Chef and PSDSCManaging your azure workloads with Chef and PSDSC
Managing your azure workloads with Chef and PSDSCczw2pv
 
FL Blog Con 2015: How To Find The Best WordPress Plugins For You
FL Blog Con 2015: How To Find The Best WordPress Plugins For YouFL Blog Con 2015: How To Find The Best WordPress Plugins For You
FL Blog Con 2015: How To Find The Best WordPress Plugins For YouAdam Soucie
 
Social Sharing With IFTTT (If This Then That)
Social Sharing With IFTTT (If This Then That)Social Sharing With IFTTT (If This Then That)
Social Sharing With IFTTT (If This Then That)Zero Point Development
 
Devops : Automate Your Infrastructure with Puppet
Devops : Automate Your Infrastructure with PuppetDevops : Automate Your Infrastructure with Puppet
Devops : Automate Your Infrastructure with PuppetEdureka!
 
Advanced topics
Advanced topicsAdvanced topics
Advanced topicsCausil
 
Front End page speed performance improvements for Drupal
Front End page speed performance improvements for DrupalFront End page speed performance improvements for Drupal
Front End page speed performance improvements for DrupalAndy Kucharski
 
Automated testing DrupalCamp in Asheville
Automated testing DrupalCamp in AshevilleAutomated testing DrupalCamp in Asheville
Automated testing DrupalCamp in AshevillePromet Source
 
Performance - When, What and How
Performance - When, What and HowPerformance - When, What and How
Performance - When, What and HowAstrails
 
Saving Money by Optimizing Your Cloud Add-On Infrastructure
Saving Money by Optimizing Your Cloud Add-On InfrastructureSaving Money by Optimizing Your Cloud Add-On Infrastructure
Saving Money by Optimizing Your Cloud Add-On InfrastructureAtlassian
 
DevOps With Chef and Azure
DevOps With Chef and AzureDevOps With Chef and Azure
DevOps With Chef and AzureMatt Stratton
 
What I learned teaching programming to 150 beginners
What I learned teaching programming to 150 beginnersWhat I learned teaching programming to 150 beginners
What I learned teaching programming to 150 beginnersEtiene Dalcol
 
Is Serverless The New Swiss Cheese?
Is Serverless The New Swiss Cheese?Is Serverless The New Swiss Cheese?
Is Serverless The New Swiss Cheese?Chase Douglas
 
Serverless Empowering people
Serverless Empowering peopleServerless Empowering people
Serverless Empowering peopleMarcia Villalba
 
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
 
Quality at Speed - Penny Wyatt
Quality at Speed - Penny WyattQuality at Speed - Penny Wyatt
Quality at Speed - Penny WyattAtlassian
 

What's hot (20)

DevOps for Drupal: Why We Cook With Chef
DevOps for Drupal: Why We Cook With ChefDevOps for Drupal: Why We Cook With Chef
DevOps for Drupal: Why We Cook With Chef
 
New Server in an Hour
New Server in an HourNew Server in an Hour
New Server in an Hour
 
Managing your azure workloads with Chef and PSDSC
Managing your azure workloads with Chef and PSDSCManaging your azure workloads with Chef and PSDSC
Managing your azure workloads with Chef and PSDSC
 
FL Blog Con 2015: How To Find The Best WordPress Plugins For You
FL Blog Con 2015: How To Find The Best WordPress Plugins For YouFL Blog Con 2015: How To Find The Best WordPress Plugins For You
FL Blog Con 2015: How To Find The Best WordPress Plugins For You
 
Why Scrum
Why ScrumWhy Scrum
Why Scrum
 
Social Sharing With IFTTT (If This Then That)
Social Sharing With IFTTT (If This Then That)Social Sharing With IFTTT (If This Then That)
Social Sharing With IFTTT (If This Then That)
 
Devops : Automate Your Infrastructure with Puppet
Devops : Automate Your Infrastructure with PuppetDevops : Automate Your Infrastructure with Puppet
Devops : Automate Your Infrastructure with Puppet
 
Standardizing WordPress Workflow
Standardizing WordPress WorkflowStandardizing WordPress Workflow
Standardizing WordPress Workflow
 
Advanced topics
Advanced topicsAdvanced topics
Advanced topics
 
Front End page speed performance improvements for Drupal
Front End page speed performance improvements for DrupalFront End page speed performance improvements for Drupal
Front End page speed performance improvements for Drupal
 
Automated testing DrupalCamp in Asheville
Automated testing DrupalCamp in AshevilleAutomated testing DrupalCamp in Asheville
Automated testing DrupalCamp in Asheville
 
Performance - When, What and How
Performance - When, What and HowPerformance - When, What and How
Performance - When, What and How
 
Saving Money by Optimizing Your Cloud Add-On Infrastructure
Saving Money by Optimizing Your Cloud Add-On InfrastructureSaving Money by Optimizing Your Cloud Add-On Infrastructure
Saving Money by Optimizing Your Cloud Add-On Infrastructure
 
DevOps With Chef and Azure
DevOps With Chef and AzureDevOps With Chef and Azure
DevOps With Chef and Azure
 
What I learned teaching programming to 150 beginners
What I learned teaching programming to 150 beginnersWhat I learned teaching programming to 150 beginners
What I learned teaching programming to 150 beginners
 
Is Serverless The New Swiss Cheese?
Is Serverless The New Swiss Cheese?Is Serverless The New Swiss Cheese?
Is Serverless The New Swiss Cheese?
 
Serverless Empowering people
Serverless Empowering peopleServerless Empowering people
Serverless Empowering people
 
Devops Skills Survey
Devops Skills SurveyDevops Skills Survey
Devops Skills Survey
 
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
 
Quality at Speed - Penny Wyatt
Quality at Speed - Penny WyattQuality at Speed - Penny Wyatt
Quality at Speed - Penny Wyatt
 

Similar to Building microservices with Node.js - part 3

Aws amity university_presentation_oct-31-2020
Aws amity university_presentation_oct-31-2020Aws amity university_presentation_oct-31-2020
Aws amity university_presentation_oct-31-2020Varun Manik
 
Microsoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOpsMicrosoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOpsJessica Deen
 
Denver AWS Meetup - March 2019 slides
Denver AWS Meetup - March 2019 slidesDenver AWS Meetup - March 2019 slides
Denver AWS Meetup - March 2019 slidesDavid McDaniel
 
Getting Started with Containers
Getting Started with ContainersGetting Started with Containers
Getting Started with ContainersVivek Raja P S
 
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
 
Microservices and serverless for MegaStartups - DLD TLV 2017
Microservices and serverless for MegaStartups - DLD TLV 2017Microservices and serverless for MegaStartups - DLD TLV 2017
Microservices and serverless for MegaStartups - DLD TLV 2017Boaz Ziniman
 
Cloud Computing101 Azure, updated june 2017
Cloud Computing101 Azure, updated june 2017Cloud Computing101 Azure, updated june 2017
Cloud Computing101 Azure, updated june 2017Fernando Mejía
 
Top ways to deliver your Spring code to the cloud
Top ways to deliver your Spring code to the cloud Top ways to deliver your Spring code to the cloud
Top ways to deliver your Spring code to the cloud VMware Tanzu
 
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
 
Serverless Development To Production Pipeline
Serverless Development To Production PipelineServerless Development To Production Pipeline
Serverless Development To Production PipelineChase Douglas
 
Azure Thursday - Ring video doorbell meets Azure serverless
Azure Thursday - Ring video doorbell meets Azure serverlessAzure Thursday - Ring video doorbell meets Azure serverless
Azure Thursday - Ring video doorbell meets Azure serverlessAnco Stuij
 
Microsoft Azure News - November 2019
Microsoft Azure News - November 2019Microsoft Azure News - November 2019
Microsoft Azure News - November 2019Daniel Toomey
 
EWUG 2018 February the journey continues.....
EWUG 2018 February   the journey continues.....EWUG 2018 February   the journey continues.....
EWUG 2018 February the journey continues.....Peter Selch Dahl
 
Microsoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOpsMicrosoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOpsJessica Deen
 
2014.10.22 Building Azure Solutions with Office 365
2014.10.22 Building Azure Solutions with Office 3652014.10.22 Building Azure Solutions with Office 365
2014.10.22 Building Azure Solutions with Office 365Marco Parenzan
 
Microsoft Tech Series 2019 - Azure DevOps
Microsoft Tech Series 2019 - Azure DevOpsMicrosoft Tech Series 2019 - Azure DevOps
Microsoft Tech Series 2019 - Azure DevOpsTomasz Wisniewski
 
Microsoft's modern technologies
Microsoft's modern technologiesMicrosoft's modern technologies
Microsoft's modern technologiesFisnik Doko
 
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
 
WAZUG - Ring video doorbell meets Azure serverless
WAZUG - Ring video doorbell meets Azure serverlessWAZUG - Ring video doorbell meets Azure serverless
WAZUG - Ring video doorbell meets Azure serverlessAnco Stuij
 
Microsoft Azure Stack
Microsoft Azure StackMicrosoft Azure Stack
Microsoft Azure StackTudor Damian
 

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

Aws amity university_presentation_oct-31-2020
Aws amity university_presentation_oct-31-2020Aws amity university_presentation_oct-31-2020
Aws amity university_presentation_oct-31-2020
 
Microsoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOpsMicrosoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOps
 
Denver AWS Meetup - March 2019 slides
Denver AWS Meetup - March 2019 slidesDenver AWS Meetup - March 2019 slides
Denver AWS Meetup - March 2019 slides
 
Getting Started with Containers
Getting Started with ContainersGetting Started with Containers
Getting Started with Containers
 
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
 
Microservices and serverless for MegaStartups - DLD TLV 2017
Microservices and serverless for MegaStartups - DLD TLV 2017Microservices and serverless for MegaStartups - DLD TLV 2017
Microservices and serverless for MegaStartups - DLD TLV 2017
 
Cloud Computing101 Azure, updated june 2017
Cloud Computing101 Azure, updated june 2017Cloud Computing101 Azure, updated june 2017
Cloud Computing101 Azure, updated june 2017
 
Top ways to deliver your Spring code to the cloud
Top ways to deliver your Spring code to the cloud Top ways to deliver your Spring code to the cloud
Top ways to deliver your Spring code to the cloud
 
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
 
Serverless Development To Production Pipeline
Serverless Development To Production PipelineServerless Development To Production Pipeline
Serverless Development To Production Pipeline
 
Azure Thursday - Ring video doorbell meets Azure serverless
Azure Thursday - Ring video doorbell meets Azure serverlessAzure Thursday - Ring video doorbell meets Azure serverless
Azure Thursday - Ring video doorbell meets Azure serverless
 
Microsoft Azure News - November 2019
Microsoft Azure News - November 2019Microsoft Azure News - November 2019
Microsoft Azure News - November 2019
 
EWUG 2018 February the journey continues.....
EWUG 2018 February   the journey continues.....EWUG 2018 February   the journey continues.....
EWUG 2018 February the journey continues.....
 
Microsoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOpsMicrosoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOps
 
2014.10.22 Building Azure Solutions with Office 365
2014.10.22 Building Azure Solutions with Office 3652014.10.22 Building Azure Solutions with Office 365
2014.10.22 Building Azure Solutions with Office 365
 
Microsoft Tech Series 2019 - Azure DevOps
Microsoft Tech Series 2019 - Azure DevOpsMicrosoft Tech Series 2019 - Azure DevOps
Microsoft Tech Series 2019 - Azure DevOps
 
Microsoft's modern technologies
Microsoft's modern technologiesMicrosoft's modern technologies
Microsoft's modern technologies
 
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
 
WAZUG - Ring video doorbell meets Azure serverless
WAZUG - Ring video doorbell meets Azure serverlessWAZUG - Ring video doorbell meets Azure serverless
WAZUG - Ring video doorbell meets Azure serverless
 
Microsoft Azure Stack
Microsoft Azure StackMicrosoft Azure Stack
Microsoft Azure Stack
 

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

Introduction-to-Wazuh-and-its-integration.pptx
Introduction-to-Wazuh-and-its-integration.pptxIntroduction-to-Wazuh-and-its-integration.pptx
Introduction-to-Wazuh-and-its-integration.pptxmprakaash5
 
Dynamical Context introduction word sensibility orientation
Dynamical Context introduction word sensibility orientationDynamical Context introduction word sensibility orientation
Dynamical Context introduction word sensibility orientationBuild Intuit
 
Arti Languages Pre Seed Pitchdeck 2024.pdf
Arti Languages Pre Seed Pitchdeck 2024.pdfArti Languages Pre Seed Pitchdeck 2024.pdf
Arti Languages Pre Seed Pitchdeck 2024.pdfwill854175
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
HCI Lesson 1 - Introduction to Human-Computer Interaction.pdf
HCI Lesson 1 - Introduction to Human-Computer Interaction.pdfHCI Lesson 1 - Introduction to Human-Computer Interaction.pdf
HCI Lesson 1 - Introduction to Human-Computer Interaction.pdfROWELL MARQUINA
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
A PowerPoint Presentation on Vikram Lander pptx
A PowerPoint Presentation on Vikram Lander pptxA PowerPoint Presentation on Vikram Lander pptx
A PowerPoint Presentation on Vikram Lander pptxatharvdev2010
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneUiPathCommunity
 
Green paths: Learning from publishers’ sustainability journeys - Tech Forum 2024
Green paths: Learning from publishers’ sustainability journeys - Tech Forum 2024Green paths: Learning from publishers’ sustainability journeys - Tech Forum 2024
Green paths: Learning from publishers’ sustainability journeys - Tech Forum 2024BookNet Canada
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 

Recently uploaded (20)

Introduction-to-Wazuh-and-its-integration.pptx
Introduction-to-Wazuh-and-its-integration.pptxIntroduction-to-Wazuh-and-its-integration.pptx
Introduction-to-Wazuh-and-its-integration.pptx
 
Dynamical Context introduction word sensibility orientation
Dynamical Context introduction word sensibility orientationDynamical Context introduction word sensibility orientation
Dynamical Context introduction word sensibility orientation
 
Arti Languages Pre Seed Pitchdeck 2024.pdf
Arti Languages Pre Seed Pitchdeck 2024.pdfArti Languages Pre Seed Pitchdeck 2024.pdf
Arti Languages Pre Seed Pitchdeck 2024.pdf
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
HCI Lesson 1 - Introduction to Human-Computer Interaction.pdf
HCI Lesson 1 - Introduction to Human-Computer Interaction.pdfHCI Lesson 1 - Introduction to Human-Computer Interaction.pdf
HCI Lesson 1 - Introduction to Human-Computer Interaction.pdf
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
A PowerPoint Presentation on Vikram Lander pptx
A PowerPoint Presentation on Vikram Lander pptxA PowerPoint Presentation on Vikram Lander pptx
A PowerPoint Presentation on Vikram Lander pptx
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyone
 
Green paths: Learning from publishers’ sustainability journeys - Tech Forum 2024
Green paths: Learning from publishers’ sustainability journeys - Tech Forum 2024Green paths: Learning from publishers’ sustainability journeys - Tech Forum 2024
Green paths: Learning from publishers’ sustainability journeys - Tech Forum 2024
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 

Building microservices with Node.js - part 3

  • 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 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
  • 3. 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
  • 4. 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
  • 5. Part 3 Deploying microservices to production with Kubernetes Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 6. When to go to production? As early as possible Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 7. Go early to production… Because it’s easier when the application is small Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 8. Go early to production… Because we need customer feedback Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 9. Production needs for microservices • Firstly, same as development: • Communication • Data management • Additional production needs: • A place to host • Deployment tools • Automated continuous delivery • Monitoring • Scaling Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 10. Indirect communication Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 11. Continuous delivery • Be able to deploy at any time • How we get to production • Automated deployment • Reliable • Repeatable • Efficient • The most important feature of your product • Feature number 1 Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 12. Continuous delivery Just a shell script running automatically in the cloud Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 13. Continuous delivery Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 14. What is Kubernetes? Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 15. Why Kubernetes? • Industry standard for microservices • Lightweight: run it on 1 VM • Scalable: run it on 5000 computers (or more) • Easy to setup (at least managed) • Self healing / automated rollbacks • Replication and load balancing • Automatic scaling • Automatable API • Open source + community + eco system Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 16. Why Terraform? • Infrastructure as code • Declarative • Multi-vendor (works with any cloud) • Universal configuration language • It’s smart • Open source Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 17. One database per microservice Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 18. The database • One database per microservice • Single or multiple server • Keep the server separate from the cluster Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 19. Stateless cluster Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 20. Blue-green deployment Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 21. Blue-green deployment Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 22. Demo time At mercy of the demo gods Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 23. A spectrum of possibilities… Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 24. That’s it... •Go to production early •Continuous delivery is just a shell script in the cloud •Kubernetes is awesome •It’s not actually monolith vs microservices, there’s a spectrum of choices. Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 25. Bootstrapping Microservices: http://bit.ly/2o0aDsP Discount code: mtpdavis21 Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75