SlideShare a Scribd company logo
DEPLOYING
MICROSERVICES
ON AWS
MICHAEL HABERMAN
FOUNDER @ APPLICALLS
TODAY
What is microservices?
How to host microservices?
Deployment aspect of
microservices
GENERAL CONCEPT
Instance
User logic
Payment logic
Analytics logic
Reporting logic
Monolith
User logic
Payment logic
Analytics logic
Reporting logic
WHY IT IS GOOD FOR US?
• Large project are hard to maintain
• Easy to test
• Safe to deploy
• Can use different programming languages
• Can use different databases
WHY IT IS GOOD FOR US?
Who is us…?
WHY IT IS BAD FOR THEM?
• Multiple instance to handle
• Complicated deployment
• A lot of automation
• So many logs…
• Complicated monitoring and alerts
• Configuration….
WHY IT IS BAD FOR THEM?
Who is them…?
MICROSERVICES TAG LINE
TODAY
• What is microservices?
• How to host microservices?
• Deployment aspect of microservices
HOSTING OPTIONS IN AWS
• EC2 – Elastic Cloud Compute
• Elastic beanstalk
• ECS – Elastic Container Service (Docker…)
• Lambda Function - Serverless
EC2
• Simple VM in the cloud
• Image as base installation
• Manual maintenance (updates, backup)
• Elastic beanstalk is fully managed
• Auto Scaling defined by you
• Pay per hour
• Ideally instance per application / service
EC2 – CLOUD DIAGRAM
Load
balancer
Service 1
Service 2
EC2
EC2
EC2
EC2
EC2 - PROS AND CONS
• Pros
• Easy to migrate
• Better for different OS (Linux and Windows)
• Cons
• Expensive (Compute & storage)
• Hard to maintain
• Auto scaling may take time
ECS
• Managed Docker by AWS
Docker Host (EC2)
DOCKER
Docker Host (EC2)
Container 1
Container 2
Container 3
Container 4
Container 3
OS
Web Server
App code
ECS
• Managed Docker by AWS
• Container ”image” as Code (Docker)
• Cluster image managed by AWS
• Two level auto scale, cluster & container
• High resources utilization
• Container == service (or in javascript container === service)
ECS – CLOUD DIAGRAM
Load
balancer
EC2 #1
EC2 #2
Service 1
Service 2
Service 1
Service 2
ECS - PROS AND CONS
• Pros
• Easy to move from AWS
• Easy to run locally
• Good utilization of resources
• Easy and fast auto scale
• Easy to maintain the containers
• Cons
• Another technology knowledge (Docker)
• Windows Docker container is problematic
LAMBDA FUNCTION
• Serverless – no underlying infrastructure
• No maintenance
• Pay only of runtime
• Focus on the code
LAMBDA – CLOUD DIAGRAM
API Gateway
Lambda 1
Lambda 2
LAMBDA - PROS AND CONS
• Pros
• Cheap at low – medium scale
• Much less maintenance
• Fully managed by AWS (scaling)
• Cons
• Hard to develop locally
• Specific programing languages
• No file system
• Limited installations
• Not mature enough
COMPARISON
EC2 ECS Lambda
Maintenance High Medium Low
Cost Effective Low High Depends on scale
Flexibility Low High High
Auto scaling A lot of work Some work Managed by AWS
Coupled with AWS None Low High
Local development Easy Easy Complex
HOSTING
We will use ECS
TODAY
• What is microservices?
• How to host microservices?
• Deployment aspect of microservices
DEPLOYMENT
• Source control
• Build
• Test
• Deploy
• Test & rollback
• Monitor
• Alerts
SOURCE CONTROL
• What do we need:
• Allow multiple developers to work in parallel
• Easy way to merge
• Easy way to get specific version code
• Support multiple environments
SOURCE CONTROL
GIT FLOW ENV BASED
Master Dev Feature
LAMBDA - PROS AND CONS
What would you choose?
SOURCE CONTROL
• Why git flow?
• Docker image should be build once
• Same image moves between envs freely
• Use tags to indicate image usage
• Don’t rebuild images between envs
• It is a new app (npm install….)
BUILD
• Independent build server!
• Jenkins, CodeBuild
• Don’t set configuration at this point
• Build should include tests (more on that later)
• Push to repository with matching tag (latest stable build)
TEST
• Static
• No need to run the service, but specific parts
• Dynamic
• Need to run the service, but doesn’t communicate
• Depended dynamic
• Need to run the service and it’s dependencies
DEPLOY
• Deploy single service vs Entire cluster
• Retag
• Live testing
• rollback
Docker Host (EC2)
SINGLE CONTAINER DEPLOYMENT
Docker Host (EC2)
Container 1
Container 2
Container 3
Container 1
Container 2
Container 3
Container 3 new Container 3 new
Traffic
routed to
new
Killed
after no
traffic
Tested
Docker Host (EC2)
CLUSTER DEPLOYMENT
Docker Host (EC2)
Container 1
Container 2
Container 3
Container 1
Container 2
Container 3 new
Traffic
routed to
newKilled
after no
traffic
Tested
DEPLOY SINGLE SERVICE VS ENTIRE CLUSTER
• Entire Cluster
• Easier to deploy few services together
• Single Container
• Simpler
LIVE TESTING
• Once deployed
• Run E2E / API testing
• Rollback if needed
MONITORING
• Application monitoring
• Logs
• Configuration
• Infrastructure monitoring
• Logs
• Metrics
• Automatic actions
• Cost
ALERTS
• Based on metrics and events
• Should support: Email, SMS, Phone calls, Slack, and APIs
• Should support alerts based on logs
TODAY
• What is microservices?
• How to host microservices?
• Deployment aspect of microservices
THANK
YOU!
MICHAEL@APPLICALLS.IO
Ad

More Related Content

What's hot (20)

DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop
Sascha Möllering
 
Securing Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupSecuring Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad Meetup
Kumar Ashwin
 
Amazon Cloud Overview
Amazon Cloud OverviewAmazon Cloud Overview
Amazon Cloud Overview
Yulian Slobodyan
 
ASP.NET vNext
ASP.NET vNextASP.NET vNext
ASP.NET vNext
Alex Thissen
 
Serverless
ServerlessServerless
Serverless
Daniel Cottone
 
Containerize all the things!
Containerize all the things!Containerize all the things!
Containerize all the things!
Mike Melusky
 
Ph.D. Defense
Ph.D. DefensePh.D. Defense
Ph.D. Defense
Chris Bunch
 
104 meets cloud
104 meets cloud104 meets cloud
104 meets cloud
Cliff Chao-kuan Lu
 
Intro to Serverless
Intro to ServerlessIntro to Serverless
Intro to Serverless
Cliff Chao-kuan Lu
 
Surati Tech Talks 2022 / Build reliable Svelte applications using Cypress
Surati Tech Talks 2022 / Build reliable Svelte applications using CypressSurati Tech Talks 2022 / Build reliable Svelte applications using Cypress
Surati Tech Talks 2022 / Build reliable Svelte applications using Cypress
Maurice De Beijer [MVP]
 
Amazon EC2 to Amazon VPC: A case study
Amazon EC2 to Amazon VPC: A case studyAmazon EC2 to Amazon VPC: A case study
Amazon EC2 to Amazon VPC: A case study
Matthew Barlocker
 
Kubernetes and elixir
Kubernetes and elixirKubernetes and elixir
Kubernetes and elixir
Jeffrey Chan
 
Greetings from AWS User Group Taiwan
Greetings from AWS User Group TaiwanGreetings from AWS User Group Taiwan
Greetings from AWS User Group Taiwan
Cliff Chao-kuan Lu
 
AppScale Talk at SBonRails
AppScale Talk at SBonRailsAppScale Talk at SBonRails
AppScale Talk at SBonRails
Chris Bunch
 
Sebastien goasguen cloud stack and docker
Sebastien goasguen   cloud stack and dockerSebastien goasguen   cloud stack and docker
Sebastien goasguen cloud stack and docker
ShapeBlue
 
Sebastien goasguen cloud stack the next year
Sebastien goasguen   cloud stack the next yearSebastien goasguen   cloud stack the next year
Sebastien goasguen cloud stack the next year
ShapeBlue
 
Serverless in azure
Serverless in azureServerless in azure
Serverless in azure
Veresh Jain
 
Python and Docker
Python and DockerPython and Docker
Python and Docker
Adam Englander
 
AWS Serverless solution for developers
AWS Serverless solution for developersAWS Serverless solution for developers
AWS Serverless solution for developers
Michael Haberman
 
Run your Dockerized ASP.NET application on Windows and Linux!
Run your Dockerized ASP.NET application on Windows and Linux!Run your Dockerized ASP.NET application on Windows and Linux!
Run your Dockerized ASP.NET application on Windows and Linux!
Alex Thissen
 
Securing Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupSecuring Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad Meetup
Kumar Ashwin
 
Containerize all the things!
Containerize all the things!Containerize all the things!
Containerize all the things!
Mike Melusky
 
Surati Tech Talks 2022 / Build reliable Svelte applications using Cypress
Surati Tech Talks 2022 / Build reliable Svelte applications using CypressSurati Tech Talks 2022 / Build reliable Svelte applications using Cypress
Surati Tech Talks 2022 / Build reliable Svelte applications using Cypress
Maurice De Beijer [MVP]
 
Amazon EC2 to Amazon VPC: A case study
Amazon EC2 to Amazon VPC: A case studyAmazon EC2 to Amazon VPC: A case study
Amazon EC2 to Amazon VPC: A case study
Matthew Barlocker
 
Kubernetes and elixir
Kubernetes and elixirKubernetes and elixir
Kubernetes and elixir
Jeffrey Chan
 
Greetings from AWS User Group Taiwan
Greetings from AWS User Group TaiwanGreetings from AWS User Group Taiwan
Greetings from AWS User Group Taiwan
Cliff Chao-kuan Lu
 
AppScale Talk at SBonRails
AppScale Talk at SBonRailsAppScale Talk at SBonRails
AppScale Talk at SBonRails
Chris Bunch
 
Sebastien goasguen cloud stack and docker
Sebastien goasguen   cloud stack and dockerSebastien goasguen   cloud stack and docker
Sebastien goasguen cloud stack and docker
ShapeBlue
 
Sebastien goasguen cloud stack the next year
Sebastien goasguen   cloud stack the next yearSebastien goasguen   cloud stack the next year
Sebastien goasguen cloud stack the next year
ShapeBlue
 
Serverless in azure
Serverless in azureServerless in azure
Serverless in azure
Veresh Jain
 
AWS Serverless solution for developers
AWS Serverless solution for developersAWS Serverless solution for developers
AWS Serverless solution for developers
Michael Haberman
 
Run your Dockerized ASP.NET application on Windows and Linux!
Run your Dockerized ASP.NET application on Windows and Linux!Run your Dockerized ASP.NET application on Windows and Linux!
Run your Dockerized ASP.NET application on Windows and Linux!
Alex Thissen
 

Similar to Deploying microservices on AWS (20)

Rami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with Docker
Web à Québec
 
Kubernetes Manchester - 6th December 2018
Kubernetes Manchester - 6th December 2018Kubernetes Manchester - 6th December 2018
Kubernetes Manchester - 6th December 2018
David Stockton
 
Containers, Serverless and Functions in a nutshell
Containers, Serverless and Functions in a nutshellContainers, Serverless and Functions in a nutshell
Containers, Serverless and Functions in a nutshell
Eugene Fedorenko
 
Building Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with DockerBuilding Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with Docker
Laura Frank Tacho
 
A Tail of Two Containers: How docker made ci great again
A Tail of Two Containers: How docker made ci great againA Tail of Two Containers: How docker made ci great again
A Tail of Two Containers: How docker made ci great again
Kyle Rames
 
Integration in the Age of DevOps
Integration in the Age of DevOpsIntegration in the Age of DevOps
Integration in the Age of DevOps
Brian Ashburn
 
Innovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXCInnovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXC
kscaldef
 
Docker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud ApplicationsDocker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud Applications
RightScale
 
Serverless Architectures on AWS Lambda
Serverless Architectures on AWS LambdaServerless Architectures on AWS Lambda
Serverless Architectures on AWS Lambda
Serhat Can
 
Leverage LXC/LXD with Kubernetes
Leverage LXC/LXD with KubernetesLeverage LXC/LXD with Kubernetes
Leverage LXC/LXD with Kubernetes
Lin Sun
 
Docker-Intro
Docker-IntroDocker-Intro
Docker-Intro
Sujai Sivasamy
 
Serverless applications
Serverless applicationsServerless applications
Serverless applications
mbaric
 
SQL Server: Now It's Everywhere You Want to Be
SQL Server: Now It's Everywhere You Want to BeSQL Server: Now It's Everywhere You Want to Be
SQL Server: Now It's Everywhere You Want to Be
Ed Leighton-Dick
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
dotCloud
 
Docker
DockerDocker
Docker
Codeister Technolgoies
 
The impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves GoelevenThe impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves Goeleven
Particular Software
 
Container Orchestration
Container OrchestrationContainer Orchestration
Container Orchestration
dfilppi
 
Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services Architecture
Ranjan Baisak
 
Serverless Node.js
Serverless Node.jsServerless Node.js
Serverless Node.js
The Software House
 
How to grow your own Microservice?
How to grow your own Microservice?How to grow your own Microservice?
How to grow your own Microservice?
Dmitry Buzdin
 
Rami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with Docker
Web à Québec
 
Kubernetes Manchester - 6th December 2018
Kubernetes Manchester - 6th December 2018Kubernetes Manchester - 6th December 2018
Kubernetes Manchester - 6th December 2018
David Stockton
 
Containers, Serverless and Functions in a nutshell
Containers, Serverless and Functions in a nutshellContainers, Serverless and Functions in a nutshell
Containers, Serverless and Functions in a nutshell
Eugene Fedorenko
 
Building Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with DockerBuilding Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with Docker
Laura Frank Tacho
 
A Tail of Two Containers: How docker made ci great again
A Tail of Two Containers: How docker made ci great againA Tail of Two Containers: How docker made ci great again
A Tail of Two Containers: How docker made ci great again
Kyle Rames
 
Integration in the Age of DevOps
Integration in the Age of DevOpsIntegration in the Age of DevOps
Integration in the Age of DevOps
Brian Ashburn
 
Innovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXCInnovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXC
kscaldef
 
Docker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud ApplicationsDocker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud Applications
RightScale
 
Serverless Architectures on AWS Lambda
Serverless Architectures on AWS LambdaServerless Architectures on AWS Lambda
Serverless Architectures on AWS Lambda
Serhat Can
 
Leverage LXC/LXD with Kubernetes
Leverage LXC/LXD with KubernetesLeverage LXC/LXD with Kubernetes
Leverage LXC/LXD with Kubernetes
Lin Sun
 
Serverless applications
Serverless applicationsServerless applications
Serverless applications
mbaric
 
SQL Server: Now It's Everywhere You Want to Be
SQL Server: Now It's Everywhere You Want to BeSQL Server: Now It's Everywhere You Want to Be
SQL Server: Now It's Everywhere You Want to Be
Ed Leighton-Dick
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
dotCloud
 
The impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves GoelevenThe impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves Goeleven
Particular Software
 
Container Orchestration
Container OrchestrationContainer Orchestration
Container Orchestration
dfilppi
 
Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services Architecture
Ranjan Baisak
 
How to grow your own Microservice?
How to grow your own Microservice?How to grow your own Microservice?
How to grow your own Microservice?
Dmitry Buzdin
 
Ad

More from Michael Haberman (14)

Angular universal
Angular universalAngular universal
Angular universal
Michael Haberman
 
React in production
React in productionReact in production
React in production
Michael Haberman
 
Multiplayer game with angular and firebase
Multiplayer game with angular and firebaseMultiplayer game with angular and firebase
Multiplayer game with angular and firebase
Michael Haberman
 
How to: node js & micro-services
How to: node js & micro-servicesHow to: node js & micro-services
How to: node js & micro-services
Michael Haberman
 
Javascript issues and tools in production for developers
Javascript issues and tools in production for developersJavascript issues and tools in production for developers
Javascript issues and tools in production for developers
Michael Haberman
 
Angular 4 - quick view
Angular 4 - quick viewAngular 4 - quick view
Angular 4 - quick view
Michael Haberman
 
React vs angular (mobile first battle)
React vs angular (mobile first battle)React vs angular (mobile first battle)
React vs angular (mobile first battle)
Michael Haberman
 
React vs-angular-mobile
React vs-angular-mobileReact vs-angular-mobile
React vs-angular-mobile
Michael Haberman
 
MEAN.js Workshop
MEAN.js WorkshopMEAN.js Workshop
MEAN.js Workshop
Michael Haberman
 
AWS intro
AWS introAWS intro
AWS intro
Michael Haberman
 
Angular Unit Test
Angular Unit TestAngular Unit Test
Angular Unit Test
Michael Haberman
 
Unit-testing and E2E testing in JS
Unit-testing and E2E testing in JSUnit-testing and E2E testing in JS
Unit-testing and E2E testing in JS
Michael Haberman
 
XAML/C# to HTML/JS
XAML/C# to HTML/JSXAML/C# to HTML/JS
XAML/C# to HTML/JS
Michael Haberman
 
XAML/C# to HTML5/JS
XAML/C#  to HTML5/JS XAML/C#  to HTML5/JS
XAML/C# to HTML5/JS
Michael Haberman
 
Ad

Recently uploaded (20)

Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Automation Hour 1/28/2022: Capture User Feedback from Anywhere
Automation Hour 1/28/2022: Capture User Feedback from AnywhereAutomation Hour 1/28/2022: Capture User Feedback from Anywhere
Automation Hour 1/28/2022: Capture User Feedback from Anywhere
Lynda Kane
 
Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.
gregtap1
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Datastucture-Unit 4-Linked List Presentation.pptx
Datastucture-Unit 4-Linked List Presentation.pptxDatastucture-Unit 4-Linked List Presentation.pptx
Datastucture-Unit 4-Linked List Presentation.pptx
kaleeswaric3
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Leading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael JidaelLeading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael Jidael
Michael Jidael
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
Lynda Kane
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Automation Hour 1/28/2022: Capture User Feedback from Anywhere
Automation Hour 1/28/2022: Capture User Feedback from AnywhereAutomation Hour 1/28/2022: Capture User Feedback from Anywhere
Automation Hour 1/28/2022: Capture User Feedback from Anywhere
Lynda Kane
 
Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.
gregtap1
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Datastucture-Unit 4-Linked List Presentation.pptx
Datastucture-Unit 4-Linked List Presentation.pptxDatastucture-Unit 4-Linked List Presentation.pptx
Datastucture-Unit 4-Linked List Presentation.pptx
kaleeswaric3
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Leading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael JidaelLeading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael Jidael
Michael Jidael
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
Lynda Kane
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 

Deploying microservices on AWS

  • 2. TODAY What is microservices? How to host microservices? Deployment aspect of microservices
  • 3. GENERAL CONCEPT Instance User logic Payment logic Analytics logic Reporting logic Monolith User logic Payment logic Analytics logic Reporting logic
  • 4. WHY IT IS GOOD FOR US? • Large project are hard to maintain • Easy to test • Safe to deploy • Can use different programming languages • Can use different databases
  • 5. WHY IT IS GOOD FOR US? Who is us…?
  • 6. WHY IT IS BAD FOR THEM? • Multiple instance to handle • Complicated deployment • A lot of automation • So many logs… • Complicated monitoring and alerts • Configuration….
  • 7. WHY IT IS BAD FOR THEM? Who is them…?
  • 9. TODAY • What is microservices? • How to host microservices? • Deployment aspect of microservices
  • 10. HOSTING OPTIONS IN AWS • EC2 – Elastic Cloud Compute • Elastic beanstalk • ECS – Elastic Container Service (Docker…) • Lambda Function - Serverless
  • 11. EC2 • Simple VM in the cloud • Image as base installation • Manual maintenance (updates, backup) • Elastic beanstalk is fully managed • Auto Scaling defined by you • Pay per hour • Ideally instance per application / service
  • 12. EC2 – CLOUD DIAGRAM Load balancer Service 1 Service 2 EC2 EC2 EC2 EC2
  • 13. EC2 - PROS AND CONS • Pros • Easy to migrate • Better for different OS (Linux and Windows) • Cons • Expensive (Compute & storage) • Hard to maintain • Auto scaling may take time
  • 15. Docker Host (EC2) DOCKER Docker Host (EC2) Container 1 Container 2 Container 3 Container 4 Container 3 OS Web Server App code
  • 16. ECS • Managed Docker by AWS • Container ”image” as Code (Docker) • Cluster image managed by AWS • Two level auto scale, cluster & container • High resources utilization • Container == service (or in javascript container === service)
  • 17. ECS – CLOUD DIAGRAM Load balancer EC2 #1 EC2 #2 Service 1 Service 2 Service 1 Service 2
  • 18. ECS - PROS AND CONS • Pros • Easy to move from AWS • Easy to run locally • Good utilization of resources • Easy and fast auto scale • Easy to maintain the containers • Cons • Another technology knowledge (Docker) • Windows Docker container is problematic
  • 19. LAMBDA FUNCTION • Serverless – no underlying infrastructure • No maintenance • Pay only of runtime • Focus on the code
  • 20. LAMBDA – CLOUD DIAGRAM API Gateway Lambda 1 Lambda 2
  • 21. LAMBDA - PROS AND CONS • Pros • Cheap at low – medium scale • Much less maintenance • Fully managed by AWS (scaling) • Cons • Hard to develop locally • Specific programing languages • No file system • Limited installations • Not mature enough
  • 22. COMPARISON EC2 ECS Lambda Maintenance High Medium Low Cost Effective Low High Depends on scale Flexibility Low High High Auto scaling A lot of work Some work Managed by AWS Coupled with AWS None Low High Local development Easy Easy Complex
  • 24. TODAY • What is microservices? • How to host microservices? • Deployment aspect of microservices
  • 25. DEPLOYMENT • Source control • Build • Test • Deploy • Test & rollback • Monitor • Alerts
  • 26. SOURCE CONTROL • What do we need: • Allow multiple developers to work in parallel • Easy way to merge • Easy way to get specific version code • Support multiple environments
  • 27. SOURCE CONTROL GIT FLOW ENV BASED Master Dev Feature
  • 28. LAMBDA - PROS AND CONS What would you choose?
  • 29. SOURCE CONTROL • Why git flow? • Docker image should be build once • Same image moves between envs freely • Use tags to indicate image usage • Don’t rebuild images between envs • It is a new app (npm install….)
  • 30. BUILD • Independent build server! • Jenkins, CodeBuild • Don’t set configuration at this point • Build should include tests (more on that later) • Push to repository with matching tag (latest stable build)
  • 31. TEST • Static • No need to run the service, but specific parts • Dynamic • Need to run the service, but doesn’t communicate • Depended dynamic • Need to run the service and it’s dependencies
  • 32. DEPLOY • Deploy single service vs Entire cluster • Retag • Live testing • rollback
  • 33. Docker Host (EC2) SINGLE CONTAINER DEPLOYMENT Docker Host (EC2) Container 1 Container 2 Container 3 Container 1 Container 2 Container 3 Container 3 new Container 3 new Traffic routed to new Killed after no traffic Tested
  • 34. Docker Host (EC2) CLUSTER DEPLOYMENT Docker Host (EC2) Container 1 Container 2 Container 3 Container 1 Container 2 Container 3 new Traffic routed to newKilled after no traffic Tested
  • 35. DEPLOY SINGLE SERVICE VS ENTIRE CLUSTER • Entire Cluster • Easier to deploy few services together • Single Container • Simpler
  • 36. LIVE TESTING • Once deployed • Run E2E / API testing • Rollback if needed
  • 37. MONITORING • Application monitoring • Logs • Configuration • Infrastructure monitoring • Logs • Metrics • Automatic actions • Cost
  • 38. ALERTS • Based on metrics and events • Should support: Email, SMS, Phone calls, Slack, and APIs • Should support alerts based on logs
  • 39. TODAY • What is microservices? • How to host microservices? • Deployment aspect of microservices