SlideShare a Scribd company logo
PUNE
Microservices Design and BestPractices on
AWS
ArifAmirani
CTO&Co-Founderat MetroGuild Inc.
Monoliths bad
Microservices good
Interview friendly presentation. Lot of buzzwords.
You already have a good microservice if…
• Scoped (Biz/Function)
• Decentralized
• Loosely coupled
• Autonomous
• Blackbox – Public API
• Shared nothing*
• Deployed independently
• Welltested
Whathappens
• Services aredeployed using traditional models
• Costscales linearly orin worst case exponentially as new
services areadded
• Dead ordefunct services keep consuming resources
Reduceoperational complexity
Whatto do
• Assume minimal infrastructure responsibility
• Encourage small teams – Two Pizzateams
• Containers take away a lotof deployment pain and
inherently givefault tolerance
• Leverage a goodcontrol plane
AWSto therescue ECS,EKS,Fargate, API Gateway, Lambda, Beanstalk
Whathappens
• Service clusters areregistered manually (e.g. /etc/hosts or
manual DNS entries)
• ELB is almost always the answer (cost)
• Lotofplumbing code which is not maintainable e.g. user-
data on EC2
Ease ServiceDiscovery
Whatto do
• DNS based discovery
• Stronglyconsistent key value datastores (consul, etcd)
• Netflix Eureka
• Message bus architecture (pubsub)
• ECSautoregisters toELB
• ELBwith host rules forreuse
AWSto therescue Route53, AWS ECSService Discovery
Whathappens
• Developers forced touse same DB/framework across all
services
• Unnecessary optimizations need tobe done
• Developers moving across functions/roles repeat what
was done
Polyglot Persistence & Frameworks
Whatto do
• Pick the righttool for the job
• Decide on DB or frameworkon use case
• Administrators need toencourage multiple data stores
AWSto therescue NoSQL, RDBMSstack
Whathappens
• Each service repeatedly reads the same data asthe flow
progresses
• TTLs varyor arenon existent
• Output becomes unpredictable anduntraceable
Avoid duplicate reads and state conflict
Whatto do
• Use shared caches
• Write services should dowrite through caching with
appropriateTTLs
AWSto therescue ElastiCache
Whathappens
• Distributed transactions arehard
• Developers assume requirements
• Services get consolidated without much deliberation or
thought
Beasynchronous
Whatto do
• Avoid strong SLAs IF yourdomain allows
• Addfull context while message passing
AWSto therescue AmazonMQ, SQS,SNS
Whathappens
• Service explosion
• Services chat with each other continuously tocomplete
request
• High network usage
• As loadincreases, cluster grows exponentially
Avoid gossip(Its a goodlife choicetoo)
Whatto do
• Continuously evaluate service consolidation
• Use caching layers toreduce loadon primarydata stores
• Pass context when possible
AWSto therescue ElastiCache
Whathappens
• Single service does coordination
• Codeeither gets stuck in one service orbecomes too
complicated
Avoid codeorchestration
Whatto do
• Distribute logic
• Avoid dependency
• Use a more resilient service tomanage orchestration
• Include all stakeholders
AWSto therescue Amazon Chime –talk toeach other
Whathappens
• Administrators give same security levels toeach service
• Services leak information
• Responsibility toaccess mapping is notdone
Security Earlyin the game
Whatto do
• Bringin admins early while discussing service templates
• Sharedomain knowledge
• Use IAM at EC2/host level
• E.g.S3 write access toonly services that need towrite
• Separate VPCs/clusters/security groupsper service
AWSto therescue IAM,VPC, Security Groups
Whathappens
• Services donotmeet SLA
• Unintended services may be involved in the request
• Which service is doing the most work?
• Stack traces may be deceiving
Distributed monitoring, logging & tracing
Whatto do
• Keep a common indicator (e.g. message id)
• Clean logs with lots of context
• Human readable (not developer readable)
• Decay logs to reduce cost
AWSto therescue X-Ray, ELKstack
Thank you!
Wearehiring!
careers@metroguild.com
Find me:
https://www.linkedin.com/in/arifamirani/

More Related Content

What's hot

Meetup #3: Migrate a fast scale system to AWS
Meetup #3: Migrate a fast scale system to AWSMeetup #3: Migrate a fast scale system to AWS
Meetup #3: Migrate a fast scale system to AWS
AWS Vietnam Community
 
Modern Cloud Fundamentals: Misconceptions and Industry Trends
Modern Cloud Fundamentals: Misconceptions and Industry TrendsModern Cloud Fundamentals: Misconceptions and Industry Trends
Modern Cloud Fundamentals: Misconceptions and Industry Trends
Christopher Bennage
 
Docker in the Cloud
Docker in the CloudDocker in the Cloud
Docker in the Cloud
Sascha Möllering
 
DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop
Sascha Möllering
 
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWSCloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
AWS Vietnam Community
 
Sas 2015 event_driven
Sas 2015 event_drivenSas 2015 event_driven
Sas 2015 event_driven
Sascha Möllering
 
Bosh - Configuring Services
Bosh - Configuring ServicesBosh - Configuring Services
Bosh - Configuring Services
Andrew Shafer
 
Lessons Learned Running The Largest OpenStack Clouds
Lessons Learned Running The Largest OpenStack CloudsLessons Learned Running The Largest OpenStack Clouds
Lessons Learned Running The Largest OpenStack Clouds
Kenneth Hui
 
How to Report and Optimize Cloud Costs Across All Your Clouds by RightScale
 How to Report and Optimize Cloud Costs Across All Your Clouds by RightScale How to Report and Optimize Cloud Costs Across All Your Clouds by RightScale
How to Report and Optimize Cloud Costs Across All Your Clouds by RightScale
RightScale
 
Introduction to Windows Azure Service Bus Relay Service
Introduction to Windows Azure Service Bus Relay ServiceIntroduction to Windows Azure Service Bus Relay Service
Introduction to Windows Azure Service Bus Relay Service
Tamir Dresher
 
Custom coded projects
Custom coded projectsCustom coded projects
Custom coded projects
Marko Heijnen
 
Container Orchestration with Traefk on Docker Swarm
Container Orchestration with Traefk on Docker SwarmContainer Orchestration with Traefk on Docker Swarm
Container Orchestration with Traefk on Docker Swarm
Jakub Hajek
 
Cloud patterns
Cloud patternsCloud patterns
Cloud patterns
Nicolas De Loof
 
The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engine...
The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engine...The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engine...
The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engine...
VMware Tanzu
 
Azure Service Bus Brokered Messaging
Azure Service Bus Brokered MessagingAzure Service Bus Brokered Messaging
Azure Service Bus Brokered Messaging
BizTalk360
 
Banff Summit 2011 Cloud Camp: OSSM Lightening Talk -- Dave Nielsen, Cloud Camp
Banff Summit 2011 Cloud Camp: OSSM Lightening Talk -- Dave Nielsen, Cloud CampBanff Summit 2011 Cloud Camp: OSSM Lightening Talk -- Dave Nielsen, Cloud Camp
Banff Summit 2011 Cloud Camp: OSSM Lightening Talk -- Dave Nielsen, Cloud Camp
Cybera Inc.
 
How to Manage VMware vSphere Like AWS and Azure
How to Manage VMware vSphere Like AWS and AzureHow to Manage VMware vSphere Like AWS and Azure
How to Manage VMware vSphere Like AWS and Azure
RightScale
 
Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
Doug Vanderweide
 
Cloud Trends for 2017 and Actions You Can Take Now
Cloud Trends for 2017 and Actions You Can Take NowCloud Trends for 2017 and Actions You Can Take Now
Cloud Trends for 2017 and Actions You Can Take Now
RightScale
 

What's hot (19)

Meetup #3: Migrate a fast scale system to AWS
Meetup #3: Migrate a fast scale system to AWSMeetup #3: Migrate a fast scale system to AWS
Meetup #3: Migrate a fast scale system to AWS
 
Modern Cloud Fundamentals: Misconceptions and Industry Trends
Modern Cloud Fundamentals: Misconceptions and Industry TrendsModern Cloud Fundamentals: Misconceptions and Industry Trends
Modern Cloud Fundamentals: Misconceptions and Industry Trends
 
Docker in the Cloud
Docker in the CloudDocker in the Cloud
Docker in the Cloud
 
DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop
 
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWSCloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
 
Sas 2015 event_driven
Sas 2015 event_drivenSas 2015 event_driven
Sas 2015 event_driven
 
Bosh - Configuring Services
Bosh - Configuring ServicesBosh - Configuring Services
Bosh - Configuring Services
 
Lessons Learned Running The Largest OpenStack Clouds
Lessons Learned Running The Largest OpenStack CloudsLessons Learned Running The Largest OpenStack Clouds
Lessons Learned Running The Largest OpenStack Clouds
 
How to Report and Optimize Cloud Costs Across All Your Clouds by RightScale
 How to Report and Optimize Cloud Costs Across All Your Clouds by RightScale How to Report and Optimize Cloud Costs Across All Your Clouds by RightScale
How to Report and Optimize Cloud Costs Across All Your Clouds by RightScale
 
Introduction to Windows Azure Service Bus Relay Service
Introduction to Windows Azure Service Bus Relay ServiceIntroduction to Windows Azure Service Bus Relay Service
Introduction to Windows Azure Service Bus Relay Service
 
Custom coded projects
Custom coded projectsCustom coded projects
Custom coded projects
 
Container Orchestration with Traefk on Docker Swarm
Container Orchestration with Traefk on Docker SwarmContainer Orchestration with Traefk on Docker Swarm
Container Orchestration with Traefk on Docker Swarm
 
Cloud patterns
Cloud patternsCloud patterns
Cloud patterns
 
The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engine...
The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engine...The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engine...
The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engine...
 
Azure Service Bus Brokered Messaging
Azure Service Bus Brokered MessagingAzure Service Bus Brokered Messaging
Azure Service Bus Brokered Messaging
 
Banff Summit 2011 Cloud Camp: OSSM Lightening Talk -- Dave Nielsen, Cloud Camp
Banff Summit 2011 Cloud Camp: OSSM Lightening Talk -- Dave Nielsen, Cloud CampBanff Summit 2011 Cloud Camp: OSSM Lightening Talk -- Dave Nielsen, Cloud Camp
Banff Summit 2011 Cloud Camp: OSSM Lightening Talk -- Dave Nielsen, Cloud Camp
 
How to Manage VMware vSphere Like AWS and Azure
How to Manage VMware vSphere Like AWS and AzureHow to Manage VMware vSphere Like AWS and Azure
How to Manage VMware vSphere Like AWS and Azure
 
Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
 
Cloud Trends for 2017 and Actions You Can Take Now
Cloud Trends for 2017 and Actions You Can Take NowCloud Trends for 2017 and Actions You Can Take Now
Cloud Trends for 2017 and Actions You Can Take Now
 

Similar to Microservices Design and Best Practices on AWS

Micro services and Containers
Micro services and ContainersMicro services and Containers
Micro services and Containers
Richard Harvey
 
QConSF-MicroServices-IPC-Netflix-Sudhir-2014.pptx
QConSF-MicroServices-IPC-Netflix-Sudhir-2014.pptxQConSF-MicroServices-IPC-Netflix-Sudhir-2014.pptx
QConSF-MicroServices-IPC-Netflix-Sudhir-2014.pptx
VimalKumar143058
 
JavaOne: Efficiently building and deploying microservices
JavaOne: Efficiently building and deploying microservicesJavaOne: Efficiently building and deploying microservices
JavaOne: Efficiently building and deploying microservices
Bart Blommaerts
 
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
Amazon Web Services
 
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20....Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...
Javier García Magna
 
The move-to-hybrid-cloud-itsmf-april2015
The move-to-hybrid-cloud-itsmf-april2015The move-to-hybrid-cloud-itsmf-april2015
The move-to-hybrid-cloud-itsmf-april2015
Eduserv
 
AWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig Dickson
AWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig DicksonAWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig Dickson
AWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig Dickson
Amazon Web Services Korea
 
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
 
AWS Summit Auckland - Smaller is Better - Microservices on AWS
AWS Summit Auckland - Smaller is Better - Microservices on AWSAWS Summit Auckland - Smaller is Better - Microservices on AWS
AWS Summit Auckland - Smaller is Better - Microservices on AWS
Amazon Web Services
 
IT Talk «Microservices & Serverless Architectures», Alexander Chichenin (Solu...
IT Talk «Microservices & Serverless Architectures», Alexander Chichenin (Solu...IT Talk «Microservices & Serverless Architectures», Alexander Chichenin (Solu...
IT Talk «Microservices & Serverless Architectures», Alexander Chichenin (Solu...
DataArt
 
HSBC and AWS Day - Microservices and Serverless
HSBC and AWS Day - Microservices and ServerlessHSBC and AWS Day - Microservices and Serverless
HSBC and AWS Day - Microservices and Serverless
Amazon Web Services
 
Microservices for java architects it-symposium-2015-09-15
Microservices for java architects it-symposium-2015-09-15Microservices for java architects it-symposium-2015-09-15
Microservices for java architects it-symposium-2015-09-15
Derek Ashmore
 
Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services Architecture
Ranjan Baisak
 
Introducing to serverless computing and AWS lambda - Israel Clouds Meetup
Introducing to serverless computing and AWS lambda - Israel Clouds MeetupIntroducing to serverless computing and AWS lambda - Israel Clouds Meetup
Introducing to serverless computing and AWS lambda - Israel Clouds Meetup
Boaz Ziniman
 
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...
Startupfest
 
Iot cloud service v2.0
Iot cloud service v2.0Iot cloud service v2.0
Iot cloud service v2.0
Vinod Wilson
 
Microservices Gone Wrong!
Microservices Gone Wrong!Microservices Gone Wrong!
Microservices Gone Wrong!
Bert Ertman
 
SOA to Microservices
SOA to MicroservicesSOA to Microservices
SOA to Microservices
Christian Posta
 
Microservices: Yes or not?
Microservices: Yes or not?Microservices: Yes or not?
Microservices: Yes or not?
Eduard Tomàs
 
Give your microservices a bus ride with MassTransit
Give your microservices a bus ride with MassTransitGive your microservices a bus ride with MassTransit
Give your microservices a bus ride with MassTransit
Alexey Zimarev
 

Similar to Microservices Design and Best Practices on AWS (20)

Micro services and Containers
Micro services and ContainersMicro services and Containers
Micro services and Containers
 
QConSF-MicroServices-IPC-Netflix-Sudhir-2014.pptx
QConSF-MicroServices-IPC-Netflix-Sudhir-2014.pptxQConSF-MicroServices-IPC-Netflix-Sudhir-2014.pptx
QConSF-MicroServices-IPC-Netflix-Sudhir-2014.pptx
 
JavaOne: Efficiently building and deploying microservices
JavaOne: Efficiently building and deploying microservicesJavaOne: Efficiently building and deploying microservices
JavaOne: Efficiently building and deploying microservices
 
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
 
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20....Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...
 
The move-to-hybrid-cloud-itsmf-april2015
The move-to-hybrid-cloud-itsmf-april2015The move-to-hybrid-cloud-itsmf-april2015
The move-to-hybrid-cloud-itsmf-april2015
 
AWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig Dickson
AWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig DicksonAWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig Dickson
AWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig Dickson
 
Integration in the Age of DevOps
Integration in the Age of DevOpsIntegration in the Age of DevOps
Integration in the Age of DevOps
 
AWS Summit Auckland - Smaller is Better - Microservices on AWS
AWS Summit Auckland - Smaller is Better - Microservices on AWSAWS Summit Auckland - Smaller is Better - Microservices on AWS
AWS Summit Auckland - Smaller is Better - Microservices on AWS
 
IT Talk «Microservices & Serverless Architectures», Alexander Chichenin (Solu...
IT Talk «Microservices & Serverless Architectures», Alexander Chichenin (Solu...IT Talk «Microservices & Serverless Architectures», Alexander Chichenin (Solu...
IT Talk «Microservices & Serverless Architectures», Alexander Chichenin (Solu...
 
HSBC and AWS Day - Microservices and Serverless
HSBC and AWS Day - Microservices and ServerlessHSBC and AWS Day - Microservices and Serverless
HSBC and AWS Day - Microservices and Serverless
 
Microservices for java architects it-symposium-2015-09-15
Microservices for java architects it-symposium-2015-09-15Microservices for java architects it-symposium-2015-09-15
Microservices for java architects it-symposium-2015-09-15
 
Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services Architecture
 
Introducing to serverless computing and AWS lambda - Israel Clouds Meetup
Introducing to serverless computing and AWS lambda - Israel Clouds MeetupIntroducing to serverless computing and AWS lambda - Israel Clouds Meetup
Introducing to serverless computing and AWS lambda - Israel Clouds Meetup
 
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...
 
Iot cloud service v2.0
Iot cloud service v2.0Iot cloud service v2.0
Iot cloud service v2.0
 
Microservices Gone Wrong!
Microservices Gone Wrong!Microservices Gone Wrong!
Microservices Gone Wrong!
 
SOA to Microservices
SOA to MicroservicesSOA to Microservices
SOA to Microservices
 
Microservices: Yes or not?
Microservices: Yes or not?Microservices: Yes or not?
Microservices: Yes or not?
 
Give your microservices a bus ride with MassTransit
Give your microservices a bus ride with MassTransitGive your microservices a bus ride with MassTransit
Give your microservices a bus ride with MassTransit
 

Recently uploaded

OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
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
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
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
 
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
 
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
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
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
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
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
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
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
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 

Recently uploaded (20)

OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
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
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
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
 
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
 
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
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
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
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
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
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
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
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 

Microservices Design and Best Practices on AWS

  • 2. Microservices Design and BestPractices on AWS ArifAmirani CTO&Co-Founderat MetroGuild Inc.
  • 3. Monoliths bad Microservices good Interview friendly presentation. Lot of buzzwords.
  • 4. You already have a good microservice if… • Scoped (Biz/Function) • Decentralized • Loosely coupled • Autonomous • Blackbox – Public API • Shared nothing* • Deployed independently • Welltested
  • 5. Whathappens • Services aredeployed using traditional models • Costscales linearly orin worst case exponentially as new services areadded • Dead ordefunct services keep consuming resources Reduceoperational complexity Whatto do • Assume minimal infrastructure responsibility • Encourage small teams – Two Pizzateams • Containers take away a lotof deployment pain and inherently givefault tolerance • Leverage a goodcontrol plane AWSto therescue ECS,EKS,Fargate, API Gateway, Lambda, Beanstalk
  • 6. Whathappens • Service clusters areregistered manually (e.g. /etc/hosts or manual DNS entries) • ELB is almost always the answer (cost) • Lotofplumbing code which is not maintainable e.g. user- data on EC2 Ease ServiceDiscovery Whatto do • DNS based discovery • Stronglyconsistent key value datastores (consul, etcd) • Netflix Eureka • Message bus architecture (pubsub) • ECSautoregisters toELB • ELBwith host rules forreuse AWSto therescue Route53, AWS ECSService Discovery
  • 7. Whathappens • Developers forced touse same DB/framework across all services • Unnecessary optimizations need tobe done • Developers moving across functions/roles repeat what was done Polyglot Persistence & Frameworks Whatto do • Pick the righttool for the job • Decide on DB or frameworkon use case • Administrators need toencourage multiple data stores AWSto therescue NoSQL, RDBMSstack
  • 8. Whathappens • Each service repeatedly reads the same data asthe flow progresses • TTLs varyor arenon existent • Output becomes unpredictable anduntraceable Avoid duplicate reads and state conflict Whatto do • Use shared caches • Write services should dowrite through caching with appropriateTTLs AWSto therescue ElastiCache
  • 9. Whathappens • Distributed transactions arehard • Developers assume requirements • Services get consolidated without much deliberation or thought Beasynchronous Whatto do • Avoid strong SLAs IF yourdomain allows • Addfull context while message passing AWSto therescue AmazonMQ, SQS,SNS
  • 10. Whathappens • Service explosion • Services chat with each other continuously tocomplete request • High network usage • As loadincreases, cluster grows exponentially Avoid gossip(Its a goodlife choicetoo) Whatto do • Continuously evaluate service consolidation • Use caching layers toreduce loadon primarydata stores • Pass context when possible AWSto therescue ElastiCache
  • 11. Whathappens • Single service does coordination • Codeeither gets stuck in one service orbecomes too complicated Avoid codeorchestration Whatto do • Distribute logic • Avoid dependency • Use a more resilient service tomanage orchestration • Include all stakeholders AWSto therescue Amazon Chime –talk toeach other
  • 12. Whathappens • Administrators give same security levels toeach service • Services leak information • Responsibility toaccess mapping is notdone Security Earlyin the game Whatto do • Bringin admins early while discussing service templates • Sharedomain knowledge • Use IAM at EC2/host level • E.g.S3 write access toonly services that need towrite • Separate VPCs/clusters/security groupsper service AWSto therescue IAM,VPC, Security Groups
  • 13. Whathappens • Services donotmeet SLA • Unintended services may be involved in the request • Which service is doing the most work? • Stack traces may be deceiving Distributed monitoring, logging & tracing Whatto do • Keep a common indicator (e.g. message id) • Clean logs with lots of context • Human readable (not developer readable) • Decay logs to reduce cost AWSto therescue X-Ray, ELKstack