SlideShare a Scribd company logo
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 1
Building a microservice with
Node.js
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
What is a monolith?
A monolith is an entire application
that runs in a single process
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
What's wrong with the monolith?
•Start simple, but will become very complex
•Difficult to scale
•Difficult to restructure
•Large deployment risk
•Large attack surface
•Once dependent, it is difficult to leave
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
What is a microservice?
It is a small independent software
process with an independent
deployment schedule
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
What is a microservices application?
It is a distributed application
composed of tiny software processes
that communicate via the network
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
Why are microservices popular now?
• Modern automatable tools
• Cheap cloud infrastructure
• DevOps + infrastructure as code
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
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
Why Node.js?
• JavaScript is the world's most practical language
• Go truly full stack
• Node.js was made for this
• Node.js is network oriented
• Microservices in Node.js are simple
• Passing data between services is easy
• Node.js has a huge community
Ashley Davis
Twitter @ashleydavis75
Email ashley@codecapers.com.au
LinkedIn www.linkedin.com/in/ashleydavis75
The basic needs of a microservice
• Communication
• Handle requests
• Make requests
• Process events
• Emit events
• Storage
• Database
• File storage
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
To be continued…
• Part 2
• Scaling up to multiple microservices
• Testing microservices
• Development using Docker-Compose
• Part 3
• 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

Kinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùng
Kinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùngKinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùng
Kinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùng
Stringee JSC
 
Báo cáo đồ họa máy tính - Computer graphics
Báo cáo đồ họa máy tính - Computer graphicsBáo cáo đồ họa máy tính - Computer graphics
Báo cáo đồ họa máy tính - Computer graphics
Nguyễn Anh
 
Nghiên cứu tìm hiểu về quản lý thiết bị ngoại vi trong hđh windows.docx
Nghiên cứu tìm hiểu về quản lý thiết bị ngoại vi trong hđh windows.docxNghiên cứu tìm hiểu về quản lý thiết bị ngoại vi trong hđh windows.docx
Nghiên cứu tìm hiểu về quản lý thiết bị ngoại vi trong hđh windows.docx
DV Viết Luận văn luanvanmaster.com ZALO 0973287149
 
Mastering PostgreSQL Administration
Mastering PostgreSQL AdministrationMastering PostgreSQL Administration
Mastering PostgreSQL Administration
EDB
 
Luận văn: Nghiên cứu hệ thống trợ lý thông minh ảo, HAY
Luận văn: Nghiên cứu hệ thống trợ lý thông minh ảo, HAYLuận văn: Nghiên cứu hệ thống trợ lý thông minh ảo, HAY
Luận văn: Nghiên cứu hệ thống trợ lý thông minh ảo, HAY
Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Hệ Thống DNS
Hệ Thống DNSHệ Thống DNS
Hệ Thống DNS
Tuấn Nguyễn Văn
 
TIM HIEU SSL VA UNG DUNG TREN WEB SERVER
TIM HIEU SSL VA UNG DUNG TREN WEB SERVERTIM HIEU SSL VA UNG DUNG TREN WEB SERVER
TIM HIEU SSL VA UNG DUNG TREN WEB SERVER
conglongit90
 
MongoDB Introduction
MongoDB IntroductionMongoDB Introduction
MongoDB Introduction
thanh can
 
Bài giảng Công Nghệ Phần Mềm
Bài giảng Công Nghệ Phần MềmBài giảng Công Nghệ Phần Mềm
Bài giảng Công Nghệ Phần Mềm
Hoài Phạm
 
Triền khai firewall thế hệ mới bảo vệ hệ thống mạng doanh nghiệp 9314760
Triền khai firewall thế hệ mới bảo vệ hệ thống mạng doanh nghiệp 9314760Triền khai firewall thế hệ mới bảo vệ hệ thống mạng doanh nghiệp 9314760
Triền khai firewall thế hệ mới bảo vệ hệ thống mạng doanh nghiệp 9314760
nataliej4
 
How to Manage Scale-Out Environments with MariaDB MaxScale
How to Manage Scale-Out Environments with MariaDB MaxScaleHow to Manage Scale-Out Environments with MariaDB MaxScale
How to Manage Scale-Out Environments with MariaDB MaxScale
MariaDB plc
 
Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Thuyet Nguyen
 
Luận văn: Xây dựng hệ thống quản lý điểm trường phổ thông, HOT
Luận văn: Xây dựng hệ thống quản lý điểm trường phổ thông, HOTLuận văn: Xây dựng hệ thống quản lý điểm trường phổ thông, HOT
Luận văn: Xây dựng hệ thống quản lý điểm trường phổ thông, HOT
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...
đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...
đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...
jackjohn45
 
Luận án: Rủi ro và hiệu quả kinh tế trong sản xuất cao su tiểu điền
Luận án: Rủi ro và hiệu quả kinh tế trong sản xuất cao su tiểu điềnLuận án: Rủi ro và hiệu quả kinh tế trong sản xuất cao su tiểu điền
Luận án: Rủi ro và hiệu quả kinh tế trong sản xuất cao su tiểu điền
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Luận văn: Xác định các ca kiểm thử và dữ liệu kiểm thử, HAY
Luận văn: Xác định các ca kiểm thử và dữ liệu kiểm thử, HAYLuận văn: Xác định các ca kiểm thử và dữ liệu kiểm thử, HAY
Luận văn: Xác định các ca kiểm thử và dữ liệu kiểm thử, HAY
Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Mona cheatsheet
Mona cheatsheetMona cheatsheet
Mona cheatsheet
Ce.Se.N.A. Security
 
Bài giảng kiểm thử xâm nhập PTIT
Bài giảng kiểm thử xâm nhập PTITBài giảng kiểm thử xâm nhập PTIT
Bài giảng kiểm thử xâm nhập PTIT
NguynMinh294
 
Đề tài: Xây dựng phần mềm quản lý nhà hàng ăn uống
Đề tài: Xây dựng phần mềm quản lý nhà hàng ăn uốngĐề tài: Xây dựng phần mềm quản lý nhà hàng ăn uống
Đề tài: Xây dựng phần mềm quản lý nhà hàng ăn uống
Dịch Vụ Viết Thuê Khóa Luận Zalo/Telegram 0917193864
 
Optimizing RocksDB for Open-Channel SSDs
Optimizing RocksDB for Open-Channel SSDsOptimizing RocksDB for Open-Channel SSDs
Optimizing RocksDB for Open-Channel SSDs
Javier González
 

What's hot (20)

Kinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùng
Kinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùngKinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùng
Kinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùng
 
Báo cáo đồ họa máy tính - Computer graphics
Báo cáo đồ họa máy tính - Computer graphicsBáo cáo đồ họa máy tính - Computer graphics
Báo cáo đồ họa máy tính - Computer graphics
 
Nghiên cứu tìm hiểu về quản lý thiết bị ngoại vi trong hđh windows.docx
Nghiên cứu tìm hiểu về quản lý thiết bị ngoại vi trong hđh windows.docxNghiên cứu tìm hiểu về quản lý thiết bị ngoại vi trong hđh windows.docx
Nghiên cứu tìm hiểu về quản lý thiết bị ngoại vi trong hđh windows.docx
 
Mastering PostgreSQL Administration
Mastering PostgreSQL AdministrationMastering PostgreSQL Administration
Mastering PostgreSQL Administration
 
Luận văn: Nghiên cứu hệ thống trợ lý thông minh ảo, HAY
Luận văn: Nghiên cứu hệ thống trợ lý thông minh ảo, HAYLuận văn: Nghiên cứu hệ thống trợ lý thông minh ảo, HAY
Luận văn: Nghiên cứu hệ thống trợ lý thông minh ảo, HAY
 
Hệ Thống DNS
Hệ Thống DNSHệ Thống DNS
Hệ Thống DNS
 
TIM HIEU SSL VA UNG DUNG TREN WEB SERVER
TIM HIEU SSL VA UNG DUNG TREN WEB SERVERTIM HIEU SSL VA UNG DUNG TREN WEB SERVER
TIM HIEU SSL VA UNG DUNG TREN WEB SERVER
 
MongoDB Introduction
MongoDB IntroductionMongoDB Introduction
MongoDB Introduction
 
Bài giảng Công Nghệ Phần Mềm
Bài giảng Công Nghệ Phần MềmBài giảng Công Nghệ Phần Mềm
Bài giảng Công Nghệ Phần Mềm
 
Triền khai firewall thế hệ mới bảo vệ hệ thống mạng doanh nghiệp 9314760
Triền khai firewall thế hệ mới bảo vệ hệ thống mạng doanh nghiệp 9314760Triền khai firewall thế hệ mới bảo vệ hệ thống mạng doanh nghiệp 9314760
Triền khai firewall thế hệ mới bảo vệ hệ thống mạng doanh nghiệp 9314760
 
How to Manage Scale-Out Environments with MariaDB MaxScale
How to Manage Scale-Out Environments with MariaDB MaxScaleHow to Manage Scale-Out Environments with MariaDB MaxScale
How to Manage Scale-Out Environments with MariaDB MaxScale
 
Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)
 
Luận văn: Xây dựng hệ thống quản lý điểm trường phổ thông, HOT
Luận văn: Xây dựng hệ thống quản lý điểm trường phổ thông, HOTLuận văn: Xây dựng hệ thống quản lý điểm trường phổ thông, HOT
Luận văn: Xây dựng hệ thống quản lý điểm trường phổ thông, HOT
 
đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...
đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...
đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...
 
Luận án: Rủi ro và hiệu quả kinh tế trong sản xuất cao su tiểu điền
Luận án: Rủi ro và hiệu quả kinh tế trong sản xuất cao su tiểu điềnLuận án: Rủi ro và hiệu quả kinh tế trong sản xuất cao su tiểu điền
Luận án: Rủi ro và hiệu quả kinh tế trong sản xuất cao su tiểu điền
 
Luận văn: Xác định các ca kiểm thử và dữ liệu kiểm thử, HAY
Luận văn: Xác định các ca kiểm thử và dữ liệu kiểm thử, HAYLuận văn: Xác định các ca kiểm thử và dữ liệu kiểm thử, HAY
Luận văn: Xác định các ca kiểm thử và dữ liệu kiểm thử, HAY
 
Mona cheatsheet
Mona cheatsheetMona cheatsheet
Mona cheatsheet
 
Bài giảng kiểm thử xâm nhập PTIT
Bài giảng kiểm thử xâm nhập PTITBài giảng kiểm thử xâm nhập PTIT
Bài giảng kiểm thử xâm nhập PTIT
 
Đề tài: Xây dựng phần mềm quản lý nhà hàng ăn uống
Đề tài: Xây dựng phần mềm quản lý nhà hàng ăn uốngĐề tài: Xây dựng phần mềm quản lý nhà hàng ăn uống
Đề tài: Xây dựng phần mềm quản lý nhà hàng ăn uống
 
Optimizing RocksDB for Open-Channel SSDs
Optimizing RocksDB for Open-Channel SSDsOptimizing RocksDB for Open-Channel SSDs
Optimizing RocksDB for Open-Channel SSDs
 

Similar to Building microservices with Node.js - part 1

Microservices with Node.js for BrisJS
Microservices with Node.js for BrisJSMicroservices with Node.js for BrisJS
Microservices with Node.js for BrisJS
Ashley Davis
 
Building microservices with Node.js - part 3
Building microservices with Node.js - part 3Building microservices with Node.js - part 3
Building microservices with Node.js - part 3
Ashley Davis
 
Building microservices with Node.js - part 2
Building microservices with Node.js - part 2Building microservices with Node.js - part 2
Building microservices with Node.js - part 2
Ashley Davis
 
Microservices with Node.js - Livestreamed for Manning
Microservices with Node.js - Livestreamed for ManningMicroservices with Node.js - Livestreamed for Manning
Microservices with Node.js - Livestreamed for Manning
Ashley Davis
 
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
Marco Parenzan
 
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
Boaz Ziniman
 
Cloud Computing101 Azure, updated june 2017
Cloud Computing101 Azure, updated june 2017Cloud Computing101 Azure, updated june 2017
Cloud Computing101 Azure, updated june 2017
Fernando Mejía
 
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
Amazon Web Services
 
Microsoft Azure Stack
Microsoft Azure StackMicrosoft Azure Stack
Microsoft Azure Stack
Tudor Damian
 
Azure Ninja Tips and Tricks
Azure Ninja Tips and TricksAzure Ninja Tips and Tricks
Azure Ninja Tips and Tricks
Todd Whitehead
 
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
 
Azure Mobile Services
Azure Mobile ServicesAzure Mobile Services
Azure Mobile Services
Anubhav Ranjan
 
Hybrid connectivity options with the microsoft cloud
Hybrid connectivity options with the microsoft cloudHybrid connectivity options with the microsoft cloud
Hybrid connectivity options with the microsoft cloud
BizTalk360
 
Infrastructure as a service to its maximum, a cultural change - S2LQ - 2016-0...
Infrastructure as a service to its maximum, a cultural change - S2LQ - 2016-0...Infrastructure as a service to its maximum, a cultural change - S2LQ - 2016-0...
Infrastructure as a service to its maximum, a cultural change - S2LQ - 2016-0...
Frédéric Harper
 
Getting Started with Containers
Getting Started with ContainersGetting Started with Containers
Getting Started with Containers
Vivek Raja P S
 
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's modern technologies
Microsoft's modern technologiesMicrosoft's modern technologies
Microsoft's modern technologies
Fisnik Doko
 
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
czw2pv
 
Building Scalable Web Applications Using Microservices Architecture and NodeJ...
Building Scalable Web Applications Using Microservices Architecture and NodeJ...Building Scalable Web Applications Using Microservices Architecture and NodeJ...
Building Scalable Web Applications Using Microservices Architecture and NodeJ...
NodejsFoundation
 
Building Scalable Web Applications using Microservices Architecture and NodeJ...
Building Scalable Web Applications using Microservices Architecture and NodeJ...Building Scalable Web Applications using Microservices Architecture and NodeJ...
Building Scalable Web Applications using Microservices Architecture and NodeJ...
Mitoc Group
 

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

Microservices with Node.js for BrisJS
Microservices with Node.js for BrisJSMicroservices with Node.js for BrisJS
Microservices with Node.js for BrisJS
 
Building microservices with Node.js - part 3
Building microservices with Node.js - part 3Building microservices with Node.js - part 3
Building microservices with Node.js - part 3
 
Building microservices with Node.js - part 2
Building microservices with Node.js - part 2Building microservices with Node.js - part 2
Building microservices with Node.js - part 2
 
Microservices with Node.js - Livestreamed for Manning
Microservices with Node.js - Livestreamed for ManningMicroservices with Node.js - Livestreamed for Manning
Microservices with Node.js - Livestreamed for Manning
 
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
 
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
 
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
 
Microsoft Azure Stack
Microsoft Azure StackMicrosoft Azure Stack
Microsoft Azure Stack
 
Azure Ninja Tips and Tricks
Azure Ninja Tips and TricksAzure Ninja Tips and Tricks
Azure Ninja Tips and Tricks
 
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
 
Azure Mobile Services
Azure Mobile ServicesAzure Mobile Services
Azure Mobile Services
 
Hybrid connectivity options with the microsoft cloud
Hybrid connectivity options with the microsoft cloudHybrid connectivity options with the microsoft cloud
Hybrid connectivity options with the microsoft cloud
 
Infrastructure as a service to its maximum, a cultural change - S2LQ - 2016-0...
Infrastructure as a service to its maximum, a cultural change - S2LQ - 2016-0...Infrastructure as a service to its maximum, a cultural change - S2LQ - 2016-0...
Infrastructure as a service to its maximum, a cultural change - S2LQ - 2016-0...
 
Getting Started with Containers
Getting Started with ContainersGetting Started with Containers
Getting Started with Containers
 
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's modern technologies
Microsoft's modern technologiesMicrosoft's modern technologies
Microsoft's modern technologies
 
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
 
Building Scalable Web Applications Using Microservices Architecture and NodeJ...
Building Scalable Web Applications Using Microservices Architecture and NodeJ...Building Scalable Web Applications Using Microservices Architecture and NodeJ...
Building Scalable Web Applications Using Microservices Architecture and NodeJ...
 
Building Scalable Web Applications using Microservices Architecture and NodeJ...
Building Scalable Web Applications using Microservices Architecture and NodeJ...Building Scalable Web Applications using Microservices Architecture and NodeJ...
Building Scalable Web Applications using Microservices Architecture and NodeJ...
 

More from Ashley Davis

Live reload across the stack
Live reload across the stackLive reload across the stack
Live reload across the stack
Ashley Davis
 
Rapid Fullstack Development
Rapid Fullstack DevelopmentRapid Fullstack Development
Rapid Fullstack Development
Ashley Davis
 
Rapid Fullstack Development
Rapid Fullstack DevelopmentRapid Fullstack Development
Rapid Fullstack Development
Ashley 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 TypeScript
Ashley Davis
 
How to be a good developer
How to be a good developerHow to be a good developer
How to be a good developer
Ashley Davis
 
Crafting build pipelines with Docker
Crafting build pipelines with DockerCrafting build pipelines with Docker
Crafting build pipelines with Docker
Ashley Davis
 
How to be a good developer
How to be a good developerHow to be a good developer
How to be a good developer
Ashley 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 Electron
Ashley Davis
 
Testing trading strategies in JavaScript
Testing trading strategies in JavaScriptTesting trading strategies in JavaScript
Testing trading strategies in JavaScript
Ashley Davis
 
Node.js memory limitations
Node.js memory limitationsNode.js memory limitations
Node.js memory limitations
Ashley 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 2
Ashley Davis
 
Web scraping
Web scrapingWeb scraping
Web scraping
Ashley Davis
 
Data analysis in JavaScript
Data analysis in JavaScriptData analysis in JavaScript
Data analysis in JavaScript
Ashley Davis
 

More from Ashley Davis (13)

Live reload across the stack
Live reload across the stackLive reload across the stack
Live reload across the stack
 
Rapid Fullstack Development
Rapid Fullstack DevelopmentRapid Fullstack Development
Rapid Fullstack Development
 
Rapid Fullstack Development
Rapid Fullstack DevelopmentRapid Fullstack Development
Rapid Fullstack Development
 
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

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
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
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
 
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
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
Federico Razzoli
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
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
 

Recently uploaded (20)

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
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
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
 
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...
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
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)
 

Building microservices with Node.js - part 1

  • 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 1 Building a microservice with Node.js Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 6. What is a monolith? A monolith is an entire application that runs in a single process Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 7. What's wrong with the monolith? •Start simple, but will become very complex •Difficult to scale •Difficult to restructure •Large deployment risk •Large attack surface •Once dependent, it is difficult to leave Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 8. What is a microservice? It is a small independent software process with an independent deployment schedule Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 9. What is a microservices application? It is a distributed application composed of tiny software processes that communicate via the network Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 10. Why are microservices popular now? • Modern automatable tools • Cheap cloud infrastructure • DevOps + infrastructure as code Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 11. 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. Why Node.js? • JavaScript is the world's most practical language • Go truly full stack • Node.js was made for this • Node.js is network oriented • Microservices in Node.js are simple • Passing data between services is easy • Node.js has a huge community Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 13. The basic needs of a microservice • Communication • Handle requests • Make requests • Process events • Emit events • Storage • Database • File storage Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 14. Code time Commence prayers to demo gods Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75
  • 15. To be continued… • Part 2 • Scaling up to multiple microservices • Testing microservices • Development using Docker-Compose • Part 3 • 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
  • 16. Bootstrapping Microservices: http://bit.ly/2o0aDsP Discount code: mtpdavis21 Ashley Davis Twitter @ashleydavis75 Email ashley@codecapers.com.au LinkedIn www.linkedin.com/in/ashleydavis75