SlideShare a Scribd company logo
Microservices and elastic resource pools with
ECS
Boyan Dimitrov,
Platform Automation Lead @ Hailo
@nathariel
Microservices intro
•  Service to service communication libs
•  Discovery
•  Configuration
•  A/B testing capabilities
•  Monitoring & Instrumentation
•  … and much more
Each service (at Hailo) gets for free:
Service	
  B	
  
Service	
  A	
  
Service	
  C	
  
Service	
  E	
  
Service	
  D	
  
Small, self-contained units of execution with
well defined API
Built around business capabilities or domain objects
Responsible for one thing and one thing only
Fully automated lifecycle
AWS Summits 2015
Monolith	
  App	
  
What do we have
AWS Summits 2015
•  Microservices ecosystem based on Go
•  Designed specifically for the cloud – different building blocks and components
will constantly be in flux, broken or unavailable
•  1000+ AWS instances spanning multiple regions
•  200+ services in production
	
  
Service interactions – not as scary as it looks!
AWS Summits 2015
Service deployment specifics
Main goals: Reliability, Ease of Use, Resource EfficiencyAWS Summits 2015
•  Each service is decoupled from the rest and deployed individually
•  We run multiple services on the same instance
•  We rely on auto scaling groups for organizing and scaling our workload
•  We use static partitioning to match a service to an auto scaling group
•  An automated deployment system takes care of all service lifecycle details
Provisioning Service
CI Pipeline
Amazon S3
Provisioning Manager
Provisioning Service
Docker Registry
Deployment overview and our journey towards containers
Instance Instance
Process Container
Auto Scaling GroupAuto Scaling Group
How hard is to deploy a service?
service name version
auto scaling group
AWS Summits 2015
Is this good enough?
Main goals: Reliability, Ease of Use, Resource Efficiency
service name version
auto scaling group
How do I figure this one out?
Would my service live there forever?
What if my team owns 20+ services ?
As a developer:
AWS Summits 2015
What about resource efficiency?
35%
Utilization
85%
Utilization
Auto Scaling Group A
Auto Scaling Group B
AZ eu-west-1a AZ eu-west-1cAZ eu-west-1b
instance instance instance instance instance instance
instance instance instance
Main goals: Reliability, Ease of Use, Resource EfficiencyAWS Summits 2015
Challenges
AWS Summits 2015
•  Our overall utilization across the services auto scaling groups is between 25%
and 50%
•  Performance of individual services is way more complex than simple CPU and
memory calculations. Accumulated interference on the instance needs to be
accounted for
•  Static partitioning of services is hard and non scalable
•  Our developers should not care about service placement or infrastructure
specifics!
	
  
So what do we want?
Elastic resource pool
75-80%
Utilization
eu-west-1a eu-west-1b eu-west-1c
One word – such difference!	
  
Main goals: Reliability, Ease of Use, Resource Efficiency
instance	
   instance	
   instance	
   instance	
   instance	
   instance	
  
Our solution – cluster management on top of an elastic resource pool
Elastic Resource Pool
ECS Agent ECS Agent ECS Agent ECS Agent ECS Agent ECS Agent
QoS Scheduler
eu-west-1a eu-west-1b eu-west-1c
AWS
Cloud Provider
ECS
Cluster Manager
instance	
   instance	
   instance	
   instance	
   instance	
   instance	
  
Why ECS?
AWS Summits 2015
•  It is a managed service!
•  It is great for storing and enforcing task state
•  Designed with custom schedulers in mind
•  The agent code is available on a public GitHub repo and … it is in GO!
•  Easy to integrate with other AWS services
	
  
Why building our own scheduler?
AWS Summits 2015
•  Service Priority
•  Service specific runtime metrics
•  Interference
•  Cloud awareness ( availability zones, pool elasticity…)
Running services in a pay as you go fashion will soon be a reality as much as todays
on demand compute
We want a cloud-native scheduler that is aware of the cloud specifics and our
microservices ecosystem:
{!
“service”: “Foo”!
”minCPU": 10,!
”minMemory": 500,!
“minInstances”: 3,!
“Priority”: “Default”!
}	
  
{!
“service”: “Baz”!
”minCPU": 50,!
”minMemory": 1500,!
“minInstances”: 3,!
“Priority”: “Critical”!
}	
  
Take Service Priority as an example
AWS Summits 2015
t0
t1
X
Star6ng	
  t2
Service criticality ma ers when resources are constrained
AWS Summits 2015
instance	
   instance	
   instance	
  
instance	
   instance	
   instance	
  
instance	
  instance	
   instance	
  
instance	
   instance	
   instance	
  
t3
Thanks!
@nathariel
boyan@hailocab.com
@HailoTech
facebook.com/HailoUK

More Related Content

What's hot

MicroServices sur AWS
MicroServices sur AWSMicroServices sur AWS
MicroServices sur AWS
Amazon Web Services
 
Pros and Cons of a MicroServices Architecture talk at AWS ReInvent
Pros and Cons of a MicroServices Architecture talk at AWS ReInventPros and Cons of a MicroServices Architecture talk at AWS ReInvent
Pros and Cons of a MicroServices Architecture talk at AWS ReInvent
Sudhir Tonse
 
Scaling from 1 to 10 million users - Hailo
Scaling from 1 to 10 million users - HailoScaling from 1 to 10 million users - Hailo
Scaling from 1 to 10 million users - HailoBoyan Dimitrov
 
Pros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitecturePros & Cons of Microservices Architecture
Pros & Cons of Microservices Architecture
Ashwini Kuntamukkala
 
How to Say Yes to Self-Service in the Cloud and Become an IT Hero (ENT217) | ...
How to Say Yes to Self-Service in the Cloud and Become an IT Hero (ENT217) | ...How to Say Yes to Self-Service in the Cloud and Become an IT Hero (ENT217) | ...
How to Say Yes to Self-Service in the Cloud and Become an IT Hero (ENT217) | ...
Amazon Web Services
 
Introduction to Serverless
Introduction to ServerlessIntroduction to Serverless
Introduction to Serverless
Nikolaus Graf
 
Microservices at Netflix
Microservices at NetflixMicroservices at Netflix
Microservices at Netflix
Katharina Probst
 
Using AWS Lambda for Infrastructure Automation and Beyond
Using AWS Lambda for Infrastructure Automation and BeyondUsing AWS Lambda for Infrastructure Automation and Beyond
Using AWS Lambda for Infrastructure Automation and Beyond
SoftServe
 
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
 
Microservices and the Cloud based future of integration final
Microservices and the Cloud based future of integration finalMicroservices and the Cloud based future of integration final
Microservices and the Cloud based future of integration final
BizTalk360
 
Continuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases WeeklyContinuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases Weekly
RightScale
 
The Application Server Platform of the Future - Container & Cloud Native and ...
The Application Server Platform of the Future - Container & Cloud Native and ...The Application Server Platform of the Future - Container & Cloud Native and ...
The Application Server Platform of the Future - Container & Cloud Native and ...
Lucas Jellema
 
Project Sherpa: How RightScale Went All in on Docker
Project Sherpa: How RightScale Went All in on DockerProject Sherpa: How RightScale Went All in on Docker
Project Sherpa: How RightScale Went All in on Docker
RightScale
 
Intro to Serverless
Intro to ServerlessIntro to Serverless
Intro to Serverless
Cliff Chao-kuan Lu
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
Michał Kurzeja
 
Simplestream
SimplestreamSimplestream
Simplestream
Amazon Web Services
 
AWS Lambda Containers - bridging the gap between serverless and containers on...
AWS Lambda Containers - bridging the gap between serverless and containers on...AWS Lambda Containers - bridging the gap between serverless and containers on...
AWS Lambda Containers - bridging the gap between serverless and containers on...
Yun Zhi Lin
 
Cloud Lessons Learned: 3 Cloud Case Studies
Cloud Lessons Learned: 3 Cloud Case StudiesCloud Lessons Learned: 3 Cloud Case Studies
Cloud Lessons Learned: 3 Cloud Case Studies
RightScale
 
RightScale Webinar: How to Cloud Enable vSphere with RightScale
RightScale Webinar: How to Cloud Enable vSphere with RightScale RightScale Webinar: How to Cloud Enable vSphere with RightScale
RightScale Webinar: How to Cloud Enable vSphere with RightScale
RightScale
 
Partner Solutions: Rackspace - Rethinking Your Migration Strategy to Maximize...
Partner Solutions: Rackspace - Rethinking Your Migration Strategy to Maximize...Partner Solutions: Rackspace - Rethinking Your Migration Strategy to Maximize...
Partner Solutions: Rackspace - Rethinking Your Migration Strategy to Maximize...
Amazon Web Services
 

What's hot (20)

MicroServices sur AWS
MicroServices sur AWSMicroServices sur AWS
MicroServices sur AWS
 
Pros and Cons of a MicroServices Architecture talk at AWS ReInvent
Pros and Cons of a MicroServices Architecture talk at AWS ReInventPros and Cons of a MicroServices Architecture talk at AWS ReInvent
Pros and Cons of a MicroServices Architecture talk at AWS ReInvent
 
Scaling from 1 to 10 million users - Hailo
Scaling from 1 to 10 million users - HailoScaling from 1 to 10 million users - Hailo
Scaling from 1 to 10 million users - Hailo
 
Pros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitecturePros & Cons of Microservices Architecture
Pros & Cons of Microservices Architecture
 
How to Say Yes to Self-Service in the Cloud and Become an IT Hero (ENT217) | ...
How to Say Yes to Self-Service in the Cloud and Become an IT Hero (ENT217) | ...How to Say Yes to Self-Service in the Cloud and Become an IT Hero (ENT217) | ...
How to Say Yes to Self-Service in the Cloud and Become an IT Hero (ENT217) | ...
 
Introduction to Serverless
Introduction to ServerlessIntroduction to Serverless
Introduction to Serverless
 
Microservices at Netflix
Microservices at NetflixMicroservices at Netflix
Microservices at Netflix
 
Using AWS Lambda for Infrastructure Automation and Beyond
Using AWS Lambda for Infrastructure Automation and BeyondUsing AWS Lambda for Infrastructure Automation and Beyond
Using AWS Lambda for Infrastructure Automation and Beyond
 
Greetings from AWS User Group Taiwan
Greetings from AWS User Group TaiwanGreetings from AWS User Group Taiwan
Greetings from AWS User Group Taiwan
 
Microservices and the Cloud based future of integration final
Microservices and the Cloud based future of integration finalMicroservices and the Cloud based future of integration final
Microservices and the Cloud based future of integration final
 
Continuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases WeeklyContinuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases Weekly
 
The Application Server Platform of the Future - Container & Cloud Native and ...
The Application Server Platform of the Future - Container & Cloud Native and ...The Application Server Platform of the Future - Container & Cloud Native and ...
The Application Server Platform of the Future - Container & Cloud Native and ...
 
Project Sherpa: How RightScale Went All in on Docker
Project Sherpa: How RightScale Went All in on DockerProject Sherpa: How RightScale Went All in on Docker
Project Sherpa: How RightScale Went All in on Docker
 
Intro to Serverless
Intro to ServerlessIntro to Serverless
Intro to Serverless
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
 
Simplestream
SimplestreamSimplestream
Simplestream
 
AWS Lambda Containers - bridging the gap between serverless and containers on...
AWS Lambda Containers - bridging the gap between serverless and containers on...AWS Lambda Containers - bridging the gap between serverless and containers on...
AWS Lambda Containers - bridging the gap between serverless and containers on...
 
Cloud Lessons Learned: 3 Cloud Case Studies
Cloud Lessons Learned: 3 Cloud Case StudiesCloud Lessons Learned: 3 Cloud Case Studies
Cloud Lessons Learned: 3 Cloud Case Studies
 
RightScale Webinar: How to Cloud Enable vSphere with RightScale
RightScale Webinar: How to Cloud Enable vSphere with RightScale RightScale Webinar: How to Cloud Enable vSphere with RightScale
RightScale Webinar: How to Cloud Enable vSphere with RightScale
 
Partner Solutions: Rackspace - Rethinking Your Migration Strategy to Maximize...
Partner Solutions: Rackspace - Rethinking Your Migration Strategy to Maximize...Partner Solutions: Rackspace - Rethinking Your Migration Strategy to Maximize...
Partner Solutions: Rackspace - Rethinking Your Migration Strategy to Maximize...
 

Viewers also liked

Pipelines for sysadmins
Pipelines for sysadminsPipelines for sysadmins
Pipelines for sysadmins
ProfFalken
 
Building microservices with docker
Building microservices with dockerBuilding microservices with docker
Building microservices with docker
Roman Melnyk
 
Delivering GOV.UK: Devops for the nation
Delivering GOV.UK: Devops for the nationDelivering GOV.UK: Devops for the nation
Delivering GOV.UK: Devops for the nation
annashipman
 
Netflix running Presto in the AWS Cloud
Netflix running Presto in the AWS CloudNetflix running Presto in the AWS Cloud
Netflix running Presto in the AWS CloudZhenxiao Luo
 
Building Cloud Native Applications
Building Cloud Native Applications Building Cloud Native Applications
Building Cloud Native Applications
Munish Gupta
 
Data Science Languages and Industry Analytics
Data Science Languages and Industry AnalyticsData Science Languages and Industry Analytics
Data Science Languages and Industry Analytics
Wes McKinney
 
Angrybirds Magento Cloud Deployment
Angrybirds Magento Cloud DeploymentAngrybirds Magento Cloud Deployment
Angrybirds Magento Cloud Deployment
AOE
 
Micro services and Containers
Micro services and ContainersMicro services and Containers
Micro services and Containers
Richard Harvey
 
DevOps Picc12 Management Talk
DevOps Picc12 Management TalkDevOps Picc12 Management Talk
DevOps Picc12 Management Talk
Michael Rembetsy
 
Proactive Cost Management for AWS Cloud
Proactive Cost Management for AWS CloudProactive Cost Management for AWS Cloud
Proactive Cost Management for AWS Cloud
Nutanix Beam
 
The Future of Finance
The Future of FinanceThe Future of Finance
The Future of Finance
Bart De Waele
 
Why Scala Is Taking Over the Big Data World
Why Scala Is Taking Over the Big Data WorldWhy Scala Is Taking Over the Big Data World
Why Scala Is Taking Over the Big Data World
Dean Wampler
 
A Coherent Discussion About Performance
A Coherent Discussion About PerformanceA Coherent Discussion About Performance
A Coherent Discussion About PerformanceTheo Schlossnagle
 
AWS for Startups
AWS for StartupsAWS for Startups
AWS for Startups
Amazon Web Services
 
Getting Started on AWS
Getting Started on AWS Getting Started on AWS
Getting Started on AWS
Amazon Web Services
 
Kapil Thangavelu - Cloud Custodian
Kapil Thangavelu - Cloud CustodianKapil Thangavelu - Cloud Custodian
Kapil Thangavelu - Cloud Custodian
ServerlessConf
 
Practical Medium Data Analytics with Python (10 Things I Hate About pandas, P...
Practical Medium Data Analytics with Python (10 Things I Hate About pandas, P...Practical Medium Data Analytics with Python (10 Things I Hate About pandas, P...
Practical Medium Data Analytics with Python (10 Things I Hate About pandas, P...
Wes McKinney
 
How To Analyze Geolocation Data with Hive and Hadoop
How To Analyze Geolocation Data with Hive and HadoopHow To Analyze Geolocation Data with Hive and Hadoop
How To Analyze Geolocation Data with Hive and Hadoop
Hortonworks
 
DevOps Kaizen: Find and Fix What is Really Behind Your Problems
DevOps Kaizen: Find and Fix What is Really Behind Your ProblemsDevOps Kaizen: Find and Fix What is Really Behind Your Problems
DevOps Kaizen: Find and Fix What is Really Behind Your Problems
dev2ops
 
AWS for Startups
AWS for StartupsAWS for Startups
AWS for Startups
Amazon Web Services
 

Viewers also liked (20)

Pipelines for sysadmins
Pipelines for sysadminsPipelines for sysadmins
Pipelines for sysadmins
 
Building microservices with docker
Building microservices with dockerBuilding microservices with docker
Building microservices with docker
 
Delivering GOV.UK: Devops for the nation
Delivering GOV.UK: Devops for the nationDelivering GOV.UK: Devops for the nation
Delivering GOV.UK: Devops for the nation
 
Netflix running Presto in the AWS Cloud
Netflix running Presto in the AWS CloudNetflix running Presto in the AWS Cloud
Netflix running Presto in the AWS Cloud
 
Building Cloud Native Applications
Building Cloud Native Applications Building Cloud Native Applications
Building Cloud Native Applications
 
Data Science Languages and Industry Analytics
Data Science Languages and Industry AnalyticsData Science Languages and Industry Analytics
Data Science Languages and Industry Analytics
 
Angrybirds Magento Cloud Deployment
Angrybirds Magento Cloud DeploymentAngrybirds Magento Cloud Deployment
Angrybirds Magento Cloud Deployment
 
Micro services and Containers
Micro services and ContainersMicro services and Containers
Micro services and Containers
 
DevOps Picc12 Management Talk
DevOps Picc12 Management TalkDevOps Picc12 Management Talk
DevOps Picc12 Management Talk
 
Proactive Cost Management for AWS Cloud
Proactive Cost Management for AWS CloudProactive Cost Management for AWS Cloud
Proactive Cost Management for AWS Cloud
 
The Future of Finance
The Future of FinanceThe Future of Finance
The Future of Finance
 
Why Scala Is Taking Over the Big Data World
Why Scala Is Taking Over the Big Data WorldWhy Scala Is Taking Over the Big Data World
Why Scala Is Taking Over the Big Data World
 
A Coherent Discussion About Performance
A Coherent Discussion About PerformanceA Coherent Discussion About Performance
A Coherent Discussion About Performance
 
AWS for Startups
AWS for StartupsAWS for Startups
AWS for Startups
 
Getting Started on AWS
Getting Started on AWS Getting Started on AWS
Getting Started on AWS
 
Kapil Thangavelu - Cloud Custodian
Kapil Thangavelu - Cloud CustodianKapil Thangavelu - Cloud Custodian
Kapil Thangavelu - Cloud Custodian
 
Practical Medium Data Analytics with Python (10 Things I Hate About pandas, P...
Practical Medium Data Analytics with Python (10 Things I Hate About pandas, P...Practical Medium Data Analytics with Python (10 Things I Hate About pandas, P...
Practical Medium Data Analytics with Python (10 Things I Hate About pandas, P...
 
How To Analyze Geolocation Data with Hive and Hadoop
How To Analyze Geolocation Data with Hive and HadoopHow To Analyze Geolocation Data with Hive and Hadoop
How To Analyze Geolocation Data with Hive and Hadoop
 
DevOps Kaizen: Find and Fix What is Really Behind Your Problems
DevOps Kaizen: Find and Fix What is Really Behind Your ProblemsDevOps Kaizen: Find and Fix What is Really Behind Your Problems
DevOps Kaizen: Find and Fix What is Really Behind Your Problems
 
AWS for Startups
AWS for StartupsAWS for Startups
AWS for Startups
 

Similar to Microservices and elastic resource pools with Amazon EC2 Container Service

Amazon ECS
Amazon ECSAmazon ECS
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
 
Managing Your Cloud Assets
Managing Your Cloud AssetsManaging Your Cloud Assets
Managing Your Cloud Assets
Amazon Web Services
 
Expanding your Data Center with Hybrid Cloud Infrastructure
Expanding your Data Center with Hybrid Cloud InfrastructureExpanding your Data Center with Hybrid Cloud Infrastructure
Expanding your Data Center with Hybrid Cloud Infrastructure
Amazon Web Services
 
Expanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud InfrastructureExpanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud Infrastructure
Amazon Web Services
 
AWS APAC Webinar Week - Introduction to Cloud Computing With Amazon Web Services
AWS APAC Webinar Week - Introduction to Cloud Computing With Amazon Web ServicesAWS APAC Webinar Week - Introduction to Cloud Computing With Amazon Web Services
AWS APAC Webinar Week - Introduction to Cloud Computing With Amazon Web Services
Amazon Web Services
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
Amazon Web Services
 
10 Pro Tips for Scaling Your Startup from 0-10M Users
10 Pro Tips for Scaling Your Startup from 0-10M Users10 Pro Tips for Scaling Your Startup from 0-10M Users
10 Pro Tips for Scaling Your Startup from 0-10M Users
Amazon Web Services
 
Benefits of Cloud Computing
Benefits of Cloud ComputingBenefits of Cloud Computing
Benefits of Cloud Computing
Amazon Web Services
 
Expanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud InfrastructureExpanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud Infrastructure
Amazon Web Services
 
Microservices Architectures on Amazon Web Services
Microservices Architectures on Amazon Web ServicesMicroservices Architectures on Amazon Web Services
Microservices Architectures on Amazon Web Services
Amazon Web Services
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
Amazon Web Services
 
AWS re:Invent 2016: Born in the Cloud; Built Like a Startup (ARC205)
AWS re:Invent 2016: Born in the Cloud; Built Like a Startup (ARC205)AWS re:Invent 2016: Born in the Cloud; Built Like a Startup (ARC205)
AWS re:Invent 2016: Born in the Cloud; Built Like a Startup (ARC205)
Amazon Web Services
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
CloudHesive
 
Introduction to AWS
Introduction to AWSIntroduction to AWS
Introduction to AWS
OSSCube
 
Best of reI:nvent Tel Aviv 2015 - Keynote
Best of reI:nvent Tel Aviv 2015 - KeynoteBest of reI:nvent Tel Aviv 2015 - Keynote
Best of reI:nvent Tel Aviv 2015 - Keynote
Amazon Web Services
 
Artificial Intelligence & Machine learning foundation topic in AWS
Artificial Intelligence & Machine learning foundation topic in AWS Artificial Intelligence & Machine learning foundation topic in AWS
Artificial Intelligence & Machine learning foundation topic in AWS
Varun Manik
 
Build on AWS: Delivering and Modernizing.
Build on AWS: Delivering and Modernizing. Build on AWS: Delivering and Modernizing.
Build on AWS: Delivering and Modernizing.
Amazon Web Services
 
Day 1 - Introduction to Cloud Computing with Amazon Web Services
Day 1 - Introduction to Cloud Computing with Amazon Web ServicesDay 1 - Introduction to Cloud Computing with Amazon Web Services
Day 1 - Introduction to Cloud Computing with Amazon Web Services
Amazon Web Services
 
Overview of AWS Services for Media Content
Overview of AWS Services for Media ContentOverview of AWS Services for Media Content
Overview of AWS Services for Media Content
Blazeclan Technologies Private Limited
 

Similar to Microservices and elastic resource pools with Amazon EC2 Container Service (20)

Amazon ECS
Amazon ECSAmazon ECS
Amazon ECS
 
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
 
Managing Your Cloud Assets
Managing Your Cloud AssetsManaging Your Cloud Assets
Managing Your Cloud Assets
 
Expanding your Data Center with Hybrid Cloud Infrastructure
Expanding your Data Center with Hybrid Cloud InfrastructureExpanding your Data Center with Hybrid Cloud Infrastructure
Expanding your Data Center with Hybrid Cloud Infrastructure
 
Expanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud InfrastructureExpanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud Infrastructure
 
AWS APAC Webinar Week - Introduction to Cloud Computing With Amazon Web Services
AWS APAC Webinar Week - Introduction to Cloud Computing With Amazon Web ServicesAWS APAC Webinar Week - Introduction to Cloud Computing With Amazon Web Services
AWS APAC Webinar Week - Introduction to Cloud Computing With Amazon Web Services
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
 
10 Pro Tips for Scaling Your Startup from 0-10M Users
10 Pro Tips for Scaling Your Startup from 0-10M Users10 Pro Tips for Scaling Your Startup from 0-10M Users
10 Pro Tips for Scaling Your Startup from 0-10M Users
 
Benefits of Cloud Computing
Benefits of Cloud ComputingBenefits of Cloud Computing
Benefits of Cloud Computing
 
Expanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud InfrastructureExpanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud Infrastructure
 
Microservices Architectures on Amazon Web Services
Microservices Architectures on Amazon Web ServicesMicroservices Architectures on Amazon Web Services
Microservices Architectures on Amazon Web Services
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
 
AWS re:Invent 2016: Born in the Cloud; Built Like a Startup (ARC205)
AWS re:Invent 2016: Born in the Cloud; Built Like a Startup (ARC205)AWS re:Invent 2016: Born in the Cloud; Built Like a Startup (ARC205)
AWS re:Invent 2016: Born in the Cloud; Built Like a Startup (ARC205)
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Introduction to AWS
Introduction to AWSIntroduction to AWS
Introduction to AWS
 
Best of reI:nvent Tel Aviv 2015 - Keynote
Best of reI:nvent Tel Aviv 2015 - KeynoteBest of reI:nvent Tel Aviv 2015 - Keynote
Best of reI:nvent Tel Aviv 2015 - Keynote
 
Artificial Intelligence & Machine learning foundation topic in AWS
Artificial Intelligence & Machine learning foundation topic in AWS Artificial Intelligence & Machine learning foundation topic in AWS
Artificial Intelligence & Machine learning foundation topic in AWS
 
Build on AWS: Delivering and Modernizing.
Build on AWS: Delivering and Modernizing. Build on AWS: Delivering and Modernizing.
Build on AWS: Delivering and Modernizing.
 
Day 1 - Introduction to Cloud Computing with Amazon Web Services
Day 1 - Introduction to Cloud Computing with Amazon Web ServicesDay 1 - Introduction to Cloud Computing with Amazon Web Services
Day 1 - Introduction to Cloud Computing with Amazon Web Services
 
Overview of AWS Services for Media Content
Overview of AWS Services for Media ContentOverview of AWS Services for Media Content
Overview of AWS Services for Media Content
 

Recently uploaded

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 

Recently uploaded (20)

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 

Microservices and elastic resource pools with Amazon EC2 Container Service

  • 1. Microservices and elastic resource pools with ECS Boyan Dimitrov, Platform Automation Lead @ Hailo @nathariel
  • 2.
  • 3. Microservices intro •  Service to service communication libs •  Discovery •  Configuration •  A/B testing capabilities •  Monitoring & Instrumentation •  … and much more Each service (at Hailo) gets for free: Service  B   Service  A   Service  C   Service  E   Service  D   Small, self-contained units of execution with well defined API Built around business capabilities or domain objects Responsible for one thing and one thing only Fully automated lifecycle AWS Summits 2015 Monolith  App  
  • 4. What do we have AWS Summits 2015 •  Microservices ecosystem based on Go •  Designed specifically for the cloud – different building blocks and components will constantly be in flux, broken or unavailable •  1000+ AWS instances spanning multiple regions •  200+ services in production  
  • 5. Service interactions – not as scary as it looks! AWS Summits 2015
  • 6. Service deployment specifics Main goals: Reliability, Ease of Use, Resource EfficiencyAWS Summits 2015 •  Each service is decoupled from the rest and deployed individually •  We run multiple services on the same instance •  We rely on auto scaling groups for organizing and scaling our workload •  We use static partitioning to match a service to an auto scaling group •  An automated deployment system takes care of all service lifecycle details
  • 7. Provisioning Service CI Pipeline Amazon S3 Provisioning Manager Provisioning Service Docker Registry Deployment overview and our journey towards containers Instance Instance Process Container Auto Scaling GroupAuto Scaling Group
  • 8. How hard is to deploy a service? service name version auto scaling group AWS Summits 2015
  • 9. Is this good enough? Main goals: Reliability, Ease of Use, Resource Efficiency service name version auto scaling group How do I figure this one out? Would my service live there forever? What if my team owns 20+ services ? As a developer: AWS Summits 2015
  • 10. What about resource efficiency? 35% Utilization 85% Utilization Auto Scaling Group A Auto Scaling Group B AZ eu-west-1a AZ eu-west-1cAZ eu-west-1b instance instance instance instance instance instance instance instance instance Main goals: Reliability, Ease of Use, Resource EfficiencyAWS Summits 2015
  • 11. Challenges AWS Summits 2015 •  Our overall utilization across the services auto scaling groups is between 25% and 50% •  Performance of individual services is way more complex than simple CPU and memory calculations. Accumulated interference on the instance needs to be accounted for •  Static partitioning of services is hard and non scalable •  Our developers should not care about service placement or infrastructure specifics!  
  • 12. So what do we want? Elastic resource pool 75-80% Utilization eu-west-1a eu-west-1b eu-west-1c One word – such difference!   Main goals: Reliability, Ease of Use, Resource Efficiency instance   instance   instance   instance   instance   instance  
  • 13. Our solution – cluster management on top of an elastic resource pool Elastic Resource Pool ECS Agent ECS Agent ECS Agent ECS Agent ECS Agent ECS Agent QoS Scheduler eu-west-1a eu-west-1b eu-west-1c AWS Cloud Provider ECS Cluster Manager instance   instance   instance   instance   instance   instance  
  • 14. Why ECS? AWS Summits 2015 •  It is a managed service! •  It is great for storing and enforcing task state •  Designed with custom schedulers in mind •  The agent code is available on a public GitHub repo and … it is in GO! •  Easy to integrate with other AWS services  
  • 15. Why building our own scheduler? AWS Summits 2015 •  Service Priority •  Service specific runtime metrics •  Interference •  Cloud awareness ( availability zones, pool elasticity…) Running services in a pay as you go fashion will soon be a reality as much as todays on demand compute We want a cloud-native scheduler that is aware of the cloud specifics and our microservices ecosystem:
  • 16. {! “service”: “Foo”! ”minCPU": 10,! ”minMemory": 500,! “minInstances”: 3,! “Priority”: “Default”! }   {! “service”: “Baz”! ”minCPU": 50,! ”minMemory": 1500,! “minInstances”: 3,! “Priority”: “Critical”! }   Take Service Priority as an example AWS Summits 2015
  • 17. t0 t1 X Star6ng  t2 Service criticality ma ers when resources are constrained AWS Summits 2015 instance   instance   instance   instance   instance   instance   instance  instance   instance   instance   instance   instance   t3

Editor's Notes

  1. Seamless user experience
  2. We built our custom provisioning system and we started by running a number of services on a single instance Initially we were running services as normal processes on the instance but this started causing noisy neighbour problems Several months ago we gradually started moving to containers aiming for isolation and resource control capabilities.
  3. Using static partitioning leaves a lot of unused resources When running many services on the same instance, using generic auto scaling group triggers is inefficient Running a lot of services together, containers or not, creates interference
  4. We want an elastic resource pool where services are scheduled on a need to basis We don’t want to manage services manually and leave that to a smart scheduler