SlideShare une entreprise Scribd logo
1  sur  23
Save 42% off Microservices in
Action with code slbruce at
manning.com.
Imagine that you’re a developer for SimpleBank.
You have designed a feature for SimpleBank that involves the
interaction of multiple services, an event queue, and an API
gateway.
Let’s say you’ve taken the next step, built those services, and
now the CEO is pushing you to get those into production.
When using public clouds like AWS or GCE, the obvious
solution is to deploy each service to a group of virtual
machines.
Load balancers would be used to spread load evenly across
instances of each web-facing service, while a managed event
queue, such as AWS’s Simple Queue Service, could be used
to distribute events between services.
Long story short, let’s say that you compiled that code, ftp’d it
onto those VMs, got the databases up and running, and tried
some test requests.
This all took about a week.
The next slide depicts what your production infrastructure
might look like.
This arrangement worked well enough… for a while.
Over the next few weeks, you made a few changes and
pushed out the new code.
But soon, you started to run into trouble. It was hard to tell if
the services were working as expected.
A few problems soon reared their ugly heads:
you were the only person at SimpleBank who knew how to
release a new version
the person who wrote the Transaction service went on
holiday for a few weeks, and no one else knew how that was
deployed
These services won’t survive the disappearance of team
members – we’re going to be in a pickle soon!
From the info at hand, it’s probably safe to say that your
feature was deployed prematurely.
How can we ensure that a microservice feature is production-
ready, without having to resort to rounds of time-consuming
debates (which slow down deployment) within the
development team?
We need to consider the following:
Reliability: is our service available and error-free? Can we
rely on our deployment process?
Scalability: do we understand the resource and capacity
needs of a service? How will we maintain responsiveness
under load?
Transparency: can we observe a service in operation
through logs and metrics? If something goes wrong, is
someone notified?
Fault-tolerance: have we mitigated single points of failure?
How do we cope with the failure of other service
dependencies?
At this early stage in the lifetime of our microservice
application, it is most important to establish the following two
fundamentals:
stable, automated deployments
transparent operation
Let’s see how we can address these issues in the scope of
your work at SimpleBank.
The greater development speed that comes with using the
microservice architecture won’t be of much use if you can’t get
services to production reliably and rapidly.
The pain of unstable deployments – such as introducing a
serious error – will eliminate any gains in velocity.
Companies are often tempted to impose change control and
approval processes – to avoid problematic deployments.
In a microservice architecture, however, this won’t work. The
system will be in a state of continuous evolution, which
allows fast and tangible innovation.
This is likely the reason you’re using microservices in
the first place!
To ensure that developmental freedom and flexibility, and to
minimize the occurrence of errors and outages, we need two
things:
we need to ensure that we can trust our development and
deployment processes
we need to minimize the effort required to release or
change a new service
We can achieve stability through standardization and
automation:
The development process should be standardized: code
changes should be reviewed, appropriate tests should be
written, and source should be version-controlled.
The deployment process should be standardized and
automated: the delivery of a code change to production
should be thoroughly validated and require minimal
intervention from an engineer.
This is called a deployment pipeline.
A microservice should be transparent: at any point in time, we
should be able to determine whether the service is healthy
and whether it’s processing its workload in the way that we
expect.
If something isn’t working correctly, an alert should be going
out to an engineer automatically.
Last week, there was an
outage at SimpleBank that
affected every customer. This
image shows the possible
points of failure within the
service.
A quick investigation turned up that requests made to our
order creation service were timing out.
At this point, it was clear that we had a major operational
problem, but we lacked logging to determine exactly what
went wrong and where things were falling apart.
Through a combination of manual testing, we managed to
isolate the problem: the Account Transaction service was
unresponsive.
The damage, however, was done. Customers had been
unable to place orders for several hours and they weren’t
happy about it.
To stop this from happening again, we decided to make a
change:
we set up infrastructure to aggregate the basic logs that our
services produced, sending them to a service that allowed
them to be tagged and searched
This will allow the engineering team to quickly identify and
diagnose problems.
A logging collection agent is
installed on each instance. This
ships application log data to a
central repository where they
can be indexed, searched and
analyzed further.
However, inadequate logging wasn’t the only problem. It was
embarrassing that SimpleBank only identified an issue once
a customer called.
We should have had alerting in place to ensure that each
service was meeting its responsibilities and service goals.
This could be achieved with a recurring heartbeat check,
which would alert the team if a service becomes
unresponsive.
Building thorough monitoring for a microservice application is
a complex task. The level of depth of monitoring that you apply
will evolve as your system increases in complexity and
number of services. As well as the operational metrics and
logging we’ve described, a mature microservice monitoring
solution will address business metrics, inter-service tracing
and infrastructure metrics.
To be able to trust your services, you’ll need to constantly
work at making sense of that data.
Save 42% off Microservices in
Action with code slbruce at
manning.com.
Also see:

Contenu connexe

Tendances

Managing Microservices with Neo4j
Managing Microservices with Neo4jManaging Microservices with Neo4j
Managing Microservices with Neo4jAshley Chloe
 
Application Architecture Summit - Monitoring the Dynamic Cloud
Application Architecture Summit - Monitoring the Dynamic Cloud Application Architecture Summit - Monitoring the Dynamic Cloud
Application Architecture Summit - Monitoring the Dynamic Cloud New Relic
 
Advanced design patterns in action
Advanced design patterns in actionAdvanced design patterns in action
Advanced design patterns in actionChristopher Anderson
 
Browser Diagnostics using dynatrace Ajax Edition
Browser Diagnostics using dynatrace Ajax EditionBrowser Diagnostics using dynatrace Ajax Edition
Browser Diagnostics using dynatrace Ajax EditionDeepak Kaul
 
Metrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
Metrics Driven DevOps - Automate Scalability and Performance Into your PipelineMetrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
Metrics Driven DevOps - Automate Scalability and Performance Into your PipelineAndreas Grabner
 
A Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOpsA Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOpsAndreas Grabner
 
How Dealertrack Optimizes the DevOps Toolchain, FutureStack17
How Dealertrack Optimizes the DevOps Toolchain, FutureStack17How Dealertrack Optimizes the DevOps Toolchain, FutureStack17
How Dealertrack Optimizes the DevOps Toolchain, FutureStack17New Relic
 
Data Driven DevOps: from Culture to Gamification
Data Driven DevOps: from Culture to GamificationData Driven DevOps: from Culture to Gamification
Data Driven DevOps: from Culture to GamificationBrian McCallion
 
PayPal's Private Cloud @ Scale
PayPal's Private Cloud @ ScalePayPal's Private Cloud @ Scale
PayPal's Private Cloud @ ScalePayPal
 
Increasing agility with php and kafka
Increasing agility with php and kafkaIncreasing agility with php and kafka
Increasing agility with php and kafkaMike Bywater
 
Product Training: SeeClickFix Work
Product Training: SeeClickFix WorkProduct Training: SeeClickFix Work
Product Training: SeeClickFix WorkMargaret Lee
 
Microservices? Dynamic Infrastructure? - Adventures in Keeping Your Applicati...
Microservices? Dynamic Infrastructure? - Adventures in Keeping Your Applicati...Microservices? Dynamic Infrastructure? - Adventures in Keeping Your Applicati...
Microservices? Dynamic Infrastructure? - Adventures in Keeping Your Applicati...New Relic
 
WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...
WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...
WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...WinOps Conf
 
AI-Powered DevOps: Injecting Speed & Quality Across Verizon’s Cloud Pipelines
AI-Powered DevOps: Injecting Speed & Quality Across Verizon’s Cloud PipelinesAI-Powered DevOps: Injecting Speed & Quality Across Verizon’s Cloud Pipelines
AI-Powered DevOps: Injecting Speed & Quality Across Verizon’s Cloud PipelinesDynatrace
 
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYCDraftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYCNew Relic
 
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysDevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysAndreas Grabner
 
How to explain DevOps to your mom
How to explain DevOps to your momHow to explain DevOps to your mom
How to explain DevOps to your momAndreas Grabner
 
Do DevOps Right with New Relic
Do DevOps Right with New RelicDo DevOps Right with New Relic
Do DevOps Right with New RelicNew Relic
 

Tendances (20)

Managing Microservices with Neo4j
Managing Microservices with Neo4jManaging Microservices with Neo4j
Managing Microservices with Neo4j
 
Application Architecture Summit - Monitoring the Dynamic Cloud
Application Architecture Summit - Monitoring the Dynamic Cloud Application Architecture Summit - Monitoring the Dynamic Cloud
Application Architecture Summit - Monitoring the Dynamic Cloud
 
Advanced design patterns in action
Advanced design patterns in actionAdvanced design patterns in action
Advanced design patterns in action
 
Browser Diagnostics using dynatrace Ajax Edition
Browser Diagnostics using dynatrace Ajax EditionBrowser Diagnostics using dynatrace Ajax Edition
Browser Diagnostics using dynatrace Ajax Edition
 
Devops is all greek
Devops is all greekDevops is all greek
Devops is all greek
 
Metrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
Metrics Driven DevOps - Automate Scalability and Performance Into your PipelineMetrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
Metrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
 
A Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOpsA Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOps
 
How Dealertrack Optimizes the DevOps Toolchain, FutureStack17
How Dealertrack Optimizes the DevOps Toolchain, FutureStack17How Dealertrack Optimizes the DevOps Toolchain, FutureStack17
How Dealertrack Optimizes the DevOps Toolchain, FutureStack17
 
Data Driven DevOps: from Culture to Gamification
Data Driven DevOps: from Culture to GamificationData Driven DevOps: from Culture to Gamification
Data Driven DevOps: from Culture to Gamification
 
PayPal's Private Cloud @ Scale
PayPal's Private Cloud @ ScalePayPal's Private Cloud @ Scale
PayPal's Private Cloud @ Scale
 
Increasing agility with php and kafka
Increasing agility with php and kafkaIncreasing agility with php and kafka
Increasing agility with php and kafka
 
Product Training: SeeClickFix Work
Product Training: SeeClickFix WorkProduct Training: SeeClickFix Work
Product Training: SeeClickFix Work
 
Microservices? Dynamic Infrastructure? - Adventures in Keeping Your Applicati...
Microservices? Dynamic Infrastructure? - Adventures in Keeping Your Applicati...Microservices? Dynamic Infrastructure? - Adventures in Keeping Your Applicati...
Microservices? Dynamic Infrastructure? - Adventures in Keeping Your Applicati...
 
New relic
New relicNew relic
New relic
 
WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...
WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...
WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...
 
AI-Powered DevOps: Injecting Speed & Quality Across Verizon’s Cloud Pipelines
AI-Powered DevOps: Injecting Speed & Quality Across Verizon’s Cloud PipelinesAI-Powered DevOps: Injecting Speed & Quality Across Verizon’s Cloud Pipelines
AI-Powered DevOps: Injecting Speed & Quality Across Verizon’s Cloud Pipelines
 
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYCDraftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
 
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysDevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
 
How to explain DevOps to your mom
How to explain DevOps to your momHow to explain DevOps to your mom
How to explain DevOps to your mom
 
Do DevOps Right with New Relic
Do DevOps Right with New RelicDo DevOps Right with New Relic
Do DevOps Right with New Relic
 

Similaire à Microservices in Action: putting microservice-based applications into production

NagiosDocumentation-ROUGH
NagiosDocumentation-ROUGHNagiosDocumentation-ROUGH
NagiosDocumentation-ROUGHNolan Cretney
 
Best Practices for Microservices & API.pdf
Best Practices for Microservices & API.pdfBest Practices for Microservices & API.pdf
Best Practices for Microservices & API.pdfBahaa Al Zubaidi
 
Consul: Service-oriented at Scale
Consul: Service-oriented at ScaleConsul: Service-oriented at Scale
Consul: Service-oriented at ScaleC4Media
 
RabbitMQ in Microservice Architecture.docx
RabbitMQ in Microservice Architecture.docxRabbitMQ in Microservice Architecture.docx
RabbitMQ in Microservice Architecture.docxShakuro
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitectureABDEL RAHMAN KARIM
 
All you need to know about yelowsofts new version update
All you need to know about yelowsofts new version updateAll you need to know about yelowsofts new version update
All you need to know about yelowsofts new version updateYelowsoft
 
APM for Enterprise WhitePaper from New Relic
APM for Enterprise WhitePaper from New RelicAPM for Enterprise WhitePaper from New Relic
APM for Enterprise WhitePaper from New RelicNew Relic
 
Why not let apm do all the heavy lifting beyond the basics of monitoring | Sw...
Why not let apm do all the heavy lifting beyond the basics of monitoring | Sw...Why not let apm do all the heavy lifting beyond the basics of monitoring | Sw...
Why not let apm do all the heavy lifting beyond the basics of monitoring | Sw...Swatantra Kumar
 
10 tips for enterprise cloud migration
10 tips for enterprise cloud migration10 tips for enterprise cloud migration
10 tips for enterprise cloud migrationJeferson Rodrigues
 
The Complete Guide to Service Mesh
The Complete Guide to Service MeshThe Complete Guide to Service Mesh
The Complete Guide to Service MeshAspen Mesh
 
Root Cause Detection in a Service-Oriented Architecture
Root Cause Detection in a Service-Oriented ArchitectureRoot Cause Detection in a Service-Oriented Architecture
Root Cause Detection in a Service-Oriented ArchitectureSam Shah
 
Simplex Software helps major dating app to increas 158% its market value
Simplex Software helps major dating app to increas 158% its market valueSimplex Software helps major dating app to increas 158% its market value
Simplex Software helps major dating app to increas 158% its market valueAnabella Losada
 
Iac evolutions
Iac evolutionsIac evolutions
Iac evolutionsPrancer Io
 
The Newgistics Digital Transformation Journey
The Newgistics Digital Transformation JourneyThe Newgistics Digital Transformation Journey
The Newgistics Digital Transformation JourneyZenoss
 
Building Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityBuilding Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityAll Things Open
 
7 Essential Steps to Cloud Adoption.pdf
7 Essential Steps to Cloud Adoption.pdf7 Essential Steps to Cloud Adoption.pdf
7 Essential Steps to Cloud Adoption.pdfAnil
 
Building Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityBuilding Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityAll Things Open
 
Emvigo Data Visualization - E Commerce Deck
Emvigo Data Visualization - E Commerce DeckEmvigo Data Visualization - E Commerce Deck
Emvigo Data Visualization - E Commerce DeckEmvigo Technologies
 
The Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD PipelineThe Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD PipelineDevOps.com
 

Similaire à Microservices in Action: putting microservice-based applications into production (20)

NagiosDocumentation-ROUGH
NagiosDocumentation-ROUGHNagiosDocumentation-ROUGH
NagiosDocumentation-ROUGH
 
Best Practices for Microservices & API.pdf
Best Practices for Microservices & API.pdfBest Practices for Microservices & API.pdf
Best Practices for Microservices & API.pdf
 
Consul: Service-oriented at Scale
Consul: Service-oriented at ScaleConsul: Service-oriented at Scale
Consul: Service-oriented at Scale
 
RabbitMQ in Microservice Architecture.docx
RabbitMQ in Microservice Architecture.docxRabbitMQ in Microservice Architecture.docx
RabbitMQ in Microservice Architecture.docx
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitecture
 
All you need to know about yelowsofts new version update
All you need to know about yelowsofts new version updateAll you need to know about yelowsofts new version update
All you need to know about yelowsofts new version update
 
APM for Enterprise WhitePaper from New Relic
APM for Enterprise WhitePaper from New RelicAPM for Enterprise WhitePaper from New Relic
APM for Enterprise WhitePaper from New Relic
 
Why not let apm do all the heavy lifting beyond the basics of monitoring | Sw...
Why not let apm do all the heavy lifting beyond the basics of monitoring | Sw...Why not let apm do all the heavy lifting beyond the basics of monitoring | Sw...
Why not let apm do all the heavy lifting beyond the basics of monitoring | Sw...
 
10 tips for enterprise cloud migration
10 tips for enterprise cloud migration10 tips for enterprise cloud migration
10 tips for enterprise cloud migration
 
The Complete Guide to Service Mesh
The Complete Guide to Service MeshThe Complete Guide to Service Mesh
The Complete Guide to Service Mesh
 
Root Cause Detection in a Service-Oriented Architecture
Root Cause Detection in a Service-Oriented ArchitectureRoot Cause Detection in a Service-Oriented Architecture
Root Cause Detection in a Service-Oriented Architecture
 
Simplex Software helps major dating app to increas 158% its market value
Simplex Software helps major dating app to increas 158% its market valueSimplex Software helps major dating app to increas 158% its market value
Simplex Software helps major dating app to increas 158% its market value
 
Iac evolutions
Iac evolutionsIac evolutions
Iac evolutions
 
The Newgistics Digital Transformation Journey
The Newgistics Digital Transformation JourneyThe Newgistics Digital Transformation Journey
The Newgistics Digital Transformation Journey
 
Building Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityBuilding Reliability - The Realities of Observability
Building Reliability - The Realities of Observability
 
Microservices
MicroservicesMicroservices
Microservices
 
7 Essential Steps to Cloud Adoption.pdf
7 Essential Steps to Cloud Adoption.pdf7 Essential Steps to Cloud Adoption.pdf
7 Essential Steps to Cloud Adoption.pdf
 
Building Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityBuilding Reliability - The Realities of Observability
Building Reliability - The Realities of Observability
 
Emvigo Data Visualization - E Commerce Deck
Emvigo Data Visualization - E Commerce DeckEmvigo Data Visualization - E Commerce Deck
Emvigo Data Visualization - E Commerce Deck
 
The Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD PipelineThe Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD Pipeline
 

Plus de Manning Publications

Privacy-Preserving Machine Learning: secure user data without sacrificing mod...
Privacy-Preserving Machine Learning: secure user data without sacrificing mod...Privacy-Preserving Machine Learning: secure user data without sacrificing mod...
Privacy-Preserving Machine Learning: secure user data without sacrificing mod...Manning Publications
 
Inside Deep Learning: theory and practice of modern deep learning
Inside Deep Learning: theory and practice of modern deep learningInside Deep Learning: theory and practice of modern deep learning
Inside Deep Learning: theory and practice of modern deep learningManning Publications
 
Data-Oriented Programming: making data a first-class citizen
Data-Oriented Programming: making data a first-class citizenData-Oriented Programming: making data a first-class citizen
Data-Oriented Programming: making data a first-class citizenManning Publications
 
Automated Machine Learning in Action
Automated Machine Learning in ActionAutomated Machine Learning in Action
Automated Machine Learning in ActionManning Publications
 
The Programmer's Brain: improve the way you learn and think about code
The Programmer's Brain: improve the way you learn and think about codeThe Programmer's Brain: improve the way you learn and think about code
The Programmer's Brain: improve the way you learn and think about codeManning Publications
 
Pipeline as Code: building a great deployment pipeline
Pipeline as Code: building a great deployment pipelinePipeline as Code: building a great deployment pipeline
Pipeline as Code: building a great deployment pipelineManning Publications
 
Tuning Up: keep your systems running smoothly
Tuning Up: keep your systems running smoothlyTuning Up: keep your systems running smoothly
Tuning Up: keep your systems running smoothlyManning Publications
 
Kubernetes Native Microservices with Quarkus and MicroProfile
Kubernetes Native Microservices with Quarkus and MicroProfileKubernetes Native Microservices with Quarkus and MicroProfile
Kubernetes Native Microservices with Quarkus and MicroProfileManning Publications
 
Crafting interactive troubleshooting guides and team documentation for your K...
Crafting interactive troubleshooting guides and team documentation for your K...Crafting interactive troubleshooting guides and team documentation for your K...
Crafting interactive troubleshooting guides and team documentation for your K...Manning Publications
 
Entity Framework Core in Action, Second Edtion
Entity Framework Core in Action, Second EdtionEntity Framework Core in Action, Second Edtion
Entity Framework Core in Action, Second EdtionManning Publications
 
Microservices in .NET Core, Second Edition
Microservices in .NET Core, Second EditionMicroservices in .NET Core, Second Edition
Microservices in .NET Core, Second EditionManning Publications
 
Kubernetes in Action, Second Edition
Kubernetes in Action, Second EditionKubernetes in Action, Second Edition
Kubernetes in Action, Second EditionManning Publications
 
Machine Learning with TensorFlow, Second Edition
Machine Learning with TensorFlow, Second EditionMachine Learning with TensorFlow, Second Edition
Machine Learning with TensorFlow, Second EditionManning Publications
 
Spring Microservices in Action, Second Edition
Spring Microservices in Action, Second EditionSpring Microservices in Action, Second Edition
Spring Microservices in Action, Second EditionManning Publications
 

Plus de Manning Publications (20)

Privacy-Preserving Machine Learning: secure user data without sacrificing mod...
Privacy-Preserving Machine Learning: secure user data without sacrificing mod...Privacy-Preserving Machine Learning: secure user data without sacrificing mod...
Privacy-Preserving Machine Learning: secure user data without sacrificing mod...
 
Inside Deep Learning: theory and practice of modern deep learning
Inside Deep Learning: theory and practice of modern deep learningInside Deep Learning: theory and practice of modern deep learning
Inside Deep Learning: theory and practice of modern deep learning
 
Data-Oriented Programming: making data a first-class citizen
Data-Oriented Programming: making data a first-class citizenData-Oriented Programming: making data a first-class citizen
Data-Oriented Programming: making data a first-class citizen
 
Automated Machine Learning in Action
Automated Machine Learning in ActionAutomated Machine Learning in Action
Automated Machine Learning in Action
 
The Programmer's Brain: improve the way you learn and think about code
The Programmer's Brain: improve the way you learn and think about codeThe Programmer's Brain: improve the way you learn and think about code
The Programmer's Brain: improve the way you learn and think about code
 
Pipeline as Code: building a great deployment pipeline
Pipeline as Code: building a great deployment pipelinePipeline as Code: building a great deployment pipeline
Pipeline as Code: building a great deployment pipeline
 
Tuning Up: keep your systems running smoothly
Tuning Up: keep your systems running smoothlyTuning Up: keep your systems running smoothly
Tuning Up: keep your systems running smoothly
 
Kubernetes Native Microservices with Quarkus and MicroProfile
Kubernetes Native Microservices with Quarkus and MicroProfileKubernetes Native Microservices with Quarkus and MicroProfile
Kubernetes Native Microservices with Quarkus and MicroProfile
 
Cloud Native Machine Learning
Cloud Native Machine Learning Cloud Native Machine Learning
Cloud Native Machine Learning
 
Spring in Action, Sixth Edition
Spring in Action, Sixth EditionSpring in Action, Sixth Edition
Spring in Action, Sixth Edition
 
Crafting interactive troubleshooting guides and team documentation for your K...
Crafting interactive troubleshooting guides and team documentation for your K...Crafting interactive troubleshooting guides and team documentation for your K...
Crafting interactive troubleshooting guides and team documentation for your K...
 
Entity Framework Core in Action, Second Edtion
Entity Framework Core in Action, Second EdtionEntity Framework Core in Action, Second Edtion
Entity Framework Core in Action, Second Edtion
 
Code like a Pro in C#
Code like a Pro in C#Code like a Pro in C#
Code like a Pro in C#
 
Microservices in .NET Core, Second Edition
Microservices in .NET Core, Second EditionMicroservices in .NET Core, Second Edition
Microservices in .NET Core, Second Edition
 
Kubernetes in Action, Second Edition
Kubernetes in Action, Second EditionKubernetes in Action, Second Edition
Kubernetes in Action, Second Edition
 
Core Kubernetes
Core KubernetesCore Kubernetes
Core Kubernetes
 
Machine Learning Bookcamp
Machine Learning BookcampMachine Learning Bookcamp
Machine Learning Bookcamp
 
Machine Learning with TensorFlow, Second Edition
Machine Learning with TensorFlow, Second EditionMachine Learning with TensorFlow, Second Edition
Machine Learning with TensorFlow, Second Edition
 
Spring Security in Action
Spring Security in ActionSpring Security in Action
Spring Security in Action
 
Spring Microservices in Action, Second Edition
Spring Microservices in Action, Second EditionSpring Microservices in Action, Second Edition
Spring Microservices in Action, Second Edition
 

Dernier

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456KiaraTiradoMicha
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxalwaysnagaraju26
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedDelhi Call girls
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfayushiqss
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...Nitya salvi
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 

Dernier (20)

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 

Microservices in Action: putting microservice-based applications into production

  • 1. Save 42% off Microservices in Action with code slbruce at manning.com.
  • 2. Imagine that you’re a developer for SimpleBank. You have designed a feature for SimpleBank that involves the interaction of multiple services, an event queue, and an API gateway. Let’s say you’ve taken the next step, built those services, and now the CEO is pushing you to get those into production.
  • 3. When using public clouds like AWS or GCE, the obvious solution is to deploy each service to a group of virtual machines. Load balancers would be used to spread load evenly across instances of each web-facing service, while a managed event queue, such as AWS’s Simple Queue Service, could be used to distribute events between services.
  • 4. Long story short, let’s say that you compiled that code, ftp’d it onto those VMs, got the databases up and running, and tried some test requests. This all took about a week. The next slide depicts what your production infrastructure might look like.
  • 5.
  • 6. This arrangement worked well enough… for a while. Over the next few weeks, you made a few changes and pushed out the new code. But soon, you started to run into trouble. It was hard to tell if the services were working as expected.
  • 7. A few problems soon reared their ugly heads: you were the only person at SimpleBank who knew how to release a new version the person who wrote the Transaction service went on holiday for a few weeks, and no one else knew how that was deployed These services won’t survive the disappearance of team members – we’re going to be in a pickle soon!
  • 8. From the info at hand, it’s probably safe to say that your feature was deployed prematurely. How can we ensure that a microservice feature is production- ready, without having to resort to rounds of time-consuming debates (which slow down deployment) within the development team?
  • 9. We need to consider the following: Reliability: is our service available and error-free? Can we rely on our deployment process? Scalability: do we understand the resource and capacity needs of a service? How will we maintain responsiveness under load? Transparency: can we observe a service in operation through logs and metrics? If something goes wrong, is someone notified? Fault-tolerance: have we mitigated single points of failure? How do we cope with the failure of other service dependencies?
  • 10. At this early stage in the lifetime of our microservice application, it is most important to establish the following two fundamentals: stable, automated deployments transparent operation Let’s see how we can address these issues in the scope of your work at SimpleBank.
  • 11. The greater development speed that comes with using the microservice architecture won’t be of much use if you can’t get services to production reliably and rapidly. The pain of unstable deployments – such as introducing a serious error – will eliminate any gains in velocity.
  • 12. Companies are often tempted to impose change control and approval processes – to avoid problematic deployments. In a microservice architecture, however, this won’t work. The system will be in a state of continuous evolution, which allows fast and tangible innovation. This is likely the reason you’re using microservices in the first place!
  • 13. To ensure that developmental freedom and flexibility, and to minimize the occurrence of errors and outages, we need two things: we need to ensure that we can trust our development and deployment processes we need to minimize the effort required to release or change a new service
  • 14. We can achieve stability through standardization and automation: The development process should be standardized: code changes should be reviewed, appropriate tests should be written, and source should be version-controlled. The deployment process should be standardized and automated: the delivery of a code change to production should be thoroughly validated and require minimal intervention from an engineer. This is called a deployment pipeline.
  • 15. A microservice should be transparent: at any point in time, we should be able to determine whether the service is healthy and whether it’s processing its workload in the way that we expect. If something isn’t working correctly, an alert should be going out to an engineer automatically.
  • 16. Last week, there was an outage at SimpleBank that affected every customer. This image shows the possible points of failure within the service.
  • 17. A quick investigation turned up that requests made to our order creation service were timing out. At this point, it was clear that we had a major operational problem, but we lacked logging to determine exactly what went wrong and where things were falling apart.
  • 18. Through a combination of manual testing, we managed to isolate the problem: the Account Transaction service was unresponsive. The damage, however, was done. Customers had been unable to place orders for several hours and they weren’t happy about it.
  • 19. To stop this from happening again, we decided to make a change: we set up infrastructure to aggregate the basic logs that our services produced, sending them to a service that allowed them to be tagged and searched This will allow the engineering team to quickly identify and diagnose problems.
  • 20. A logging collection agent is installed on each instance. This ships application log data to a central repository where they can be indexed, searched and analyzed further.
  • 21. However, inadequate logging wasn’t the only problem. It was embarrassing that SimpleBank only identified an issue once a customer called. We should have had alerting in place to ensure that each service was meeting its responsibilities and service goals. This could be achieved with a recurring heartbeat check, which would alert the team if a service becomes unresponsive.
  • 22. Building thorough monitoring for a microservice application is a complex task. The level of depth of monitoring that you apply will evolve as your system increases in complexity and number of services. As well as the operational metrics and logging we’ve described, a mature microservice monitoring solution will address business metrics, inter-service tracing and infrastructure metrics. To be able to trust your services, you’ll need to constantly work at making sense of that data.
  • 23. Save 42% off Microservices in Action with code slbruce at manning.com. Also see: