SlideShare une entreprise Scribd logo
1  sur  53
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Director, AWS Developer Technology & Evangelism
4 March 2019
Observability for Modern Applications
Ian Massingham @IanMmmm ianm@amazon.com
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
ListenIterate
Experiment
Innovation
Flywheel
Experiments power the engine of rapid innovation
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What changes do you need to make to adopt these best practices?
Serverless
No provisioning/management
Automatic scaling
Pay for value billing
Availability and resiliency
Microservices
Componentization
Business capabilities
Products not projects
Infrastructure automation
DevOps
Cultural philosophies
Cross-disciplinary teams
CI/CD
Automation tools
DEV OPS
Architectural
patterns
Operational
Model
Software
Delivery
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Approaches to modern application development
• Simplify environment management
• Reduce the impact of code changes
• Automate operations
• Accelerate the delivery of new, high-quality services
• Gain insight across resources and applications
• Protect customers and the business
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Approaches to modern application development
• Simplify environment management with serverless technologies
• Reduce the impact of code changes with microservice architectures
• Automate operations by modeling applications & infrastructure as code
• Accelerate the delivery of new, high-quality services with CI/CD
• Gain insight across resources and applications by enabling observability
• Protect customers and the business with end-to-end security & compliance
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Approaches to modern application development
• Simplify environment management with serverless technologies
• Reduce the impact of code changes with microservice architectures
• Automate operations by modeling applications & infrastructure as code
• Accelerate the delivery of new, high-quality services with CI/CD
• Gain insight across resources and applications by enabling observability
• Protect customers and the business with end-to-end security & compliance
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Microservices increase release agility
Monolithic application Microservices
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Monolith
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Service
Service
Service
Service
Service
Service
Service
Service
Service
Service
Service
Service
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Rust
Database
DB
Database
Rust
GoNode.is
Java
Node.is
Node.is
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Containers
Database
DB
Database
Containers
λContainers
VMs
Managed
Service
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Proactive operations helps mitigate issues
Degraded state
Outage
Latency
Time (ms)
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Observability in Control Theory
On the General Theory of Control Systems
R. E. KALMAN
Introduction
In no small measure, the great technological progress in
automatic control and communication systems during the past
two decades has depended on advances and refinements in the
mathematical study of such systems. Conversely, the growth
of technology brought forth many new problems (such as those
related to using digital computers in control, etc.) to challenge
the ingenuity and competence of research workers concerned
with theoretical questions.
Despite the appearance and effective resolution of many new
problems, our understanding of fundamental aspects of control
has remained superficial. The only basic advance so far appears
to be the theory ofinformation created by Shannon 1. The chief
significance of his work in our present interpretation is the
discovery ofgeneral' laws' underlying the process ofinformation
transmission, which are quite independent of the particular
models being considered or even the methods used for the des-
cription and analysis of these models. These results could be
compared with the' laws' of physics, with the crucial difference
that the' laws' governing man-made objects cannot be discovered
by straightforward experimentation but only by a purely abstract
analysis guided by intuition gained in observing present-day
examples of technology and economic organization. We may
thus classify Shannon's result as belonging to the pure theory
of communication and control, while everything else can be
labelled as the applied theory; this terminology reflects the well-
known distinctions between pure and applied physics or
mathematics. For reasons pointed out above, in its methodo-
logy the pure theory of communication and control closely
resembles mathematics, rather than physics; however, it is not
a. branch of mathematics because at present we cannot (yet?)
d1sregard questions of physical realizability in the study of
mathematical models.
This paper initiates study of the pure theory of control
imitating the spirit of Shannon's investigations but
using entirely different techniques. Our ultimate objective is
to answer questions of the following type: What kind and how
much information is needed to achieve a desired type ofcontrol?
What intrinsic properties characterize a given unalterable plant
as far as control is concerned?
At present only superficial answers are available to these
questions, and even then only in special cases.
Initial results presented in this Note are far from the degree
of generality of Shannon's work. By contrast, however, only
metho?s are employed here, giving some hope of
beIng able to aVOld the well-known difficulty of Shannon's
theory: methods of proof which are impractical for actually
constructing practical solutions. In fact, this paper arose
fr.om the need for a better understanding of some recently
d1scovered computation methods of control-system syn-
thesis 2-s. Another by-product of the paper is a new com-
putation method for the solution of the classical Wiener
filtering problem 7.
The organization of the paper is as follows:
16
In Section 3 we introduce the models for which a fairly
complete theory is available: dynamic systems with a finite
dimensional state space and linear transition functions (i.e.
systems obeying linear differential or difference equations).
The class of random processes considered consists of such
dynamic systems excited by an uncorrelated gaussian random
process. Other assumptions, such as stationarity, discretiza-
tion, single input/single output, etc., are made only to facilitate
the presentation and will be absent in detailed future accounts
of the theory.
In Section 4 we define the concept of controllability and show
that this is the' natural' generalization of the so-called' dead-
beat' control scheme discovered by Oldenbourg and Sartorius 21
and later rederived independently by Tsypkin22 and the author17•
We then show in Section 5 that the general problem ofoptimal
regulation is solvable if and only if the plant is completely
controllable.
In Section 6 we introduce the concept of observability and
solve the problem ofreconstructing unmeasurable state variables
from the measurable ones in the minimum possible length of
time.
We formalize the similarities between controllability and
observability in Section 7 by means of the Principle of Duality
and show that the Wiener filtering problem is the natural dual
of the problem of optimal regulation.
Section 8 is a brief discussion of possible generalizations and
currently unsolved problems of the pure theory of control.
Notation and Terminology
The reader is assumed to be familiar with elements of linear
algebra, as discussed, for instance, by Halmos 8.
Consider an n-dimensional real vector space X. A basis in
X is a set of vectors at ... , all in X such that any vector x in X
can be written uniquely as
(I)
the Xi being real numbers, the components or coordinates of x.
Vectors will be denoted throughout by small bold-face letters.
The set X* of all real-valued linear functions x* (= covec-
tors) on X. with the' natural' definition of addition and scalar
multiplication, is an n-dimensional vector space. The value of
a covector y* at any vector x is denoted by [y*, x]. We call
this the inner product of y* by x. The vector space X* has a
natural basis a*1... , a*n associated with a given basis in X;
it is defined by the requirement that
[a*j, aj] = Ojj
Using the' orthogonality relation' 2, we may write
form n
X = L [a*j, x]aj
j= t
which will be used frequently.
(2)
in the
(3)
For purposes of numerical computation, a vector may be
considered a matrix with one column and a covector a matrix
481
491
J.S.I.A.M. CONTROI
Ser. A, Vol. 1, No.
Printed in U.,q.A., 1963
MATHEMATICAL DESCRIPTION OF LINEAR
DYNAMICAL SYSTEMS*
R. E. KALMAN
Abstract. There are two different ways of describing dynamical systems: (i) by
means of state w.riables and (if) by input/output relations. The first method may be
regarded as an axiomatization of Newton’s laws of mechanics and is taken to be the
basic definition of a system.
It is then shown (in the linear case) that the input/output relations determine
only one prt of a system, that which is completely observable and completely con-
trollable. Using the theory of controllability and observability, methods are given
for calculating irreducible realizations of a given impulse-response matrix. In par-
ticular, an explicit procedure is given to determine the minimal number of state
varibles necessary to realize a given transfer-function matrix. Difficulties arising
from the use of reducible realizations are discussed briefly.
1. Introduction and summary. Recent developments in optimM control
system theory are bsed on vector differential equations as models of
physical systems. In the older literature on control theory, however, the
same systems are modeled by ransfer functions (i.e., by the Laplace trans-
forms of the differential equations relating the inputs to the outputs). Two
differet languages have arisen, both of which purport to talk about the
same problem. In the new approach, we talk about state variables, tran-
sition equations, etc., and make constant use of abstract linear algebra.
In the old approach, the key words are frequency response, pole-zero pat-
terns, etc., and the main mathematical tool is complex function theory.
Is there really a difference between the new and the old? Precisely what
are the relations between (linear) vector differential equations and transfer-
functions? In the literature, this question is surrounded by confusion [1].
This is bad. Communication between research workers and engineers is
impeded. Important results of the "old theory" are not yet fully integrated
into the new theory.
In the writer’s view--which will be argued t length in this paperthe
diiIiculty is due to insufficient appreciation of the concept of a dynamical
system. Control theory is supposed to deal with physical systems, and not
merely with mathematical objects such as a differential equation or a trans-
fer function. We must therefore pay careful attention to the relationship
between physical systems and their representation via differential equations,
transfer functions, etc.
* Received by the editors July 7, 1962 and in revised form December 9, 1962.
Presented at the Symposium on Multivariable System Theory, SIAM, November 1,
1962 at Cambridge, Massachusetts.
This research was supported in part under U. S. Air Force Contracts AF 49 (638)-382
and AF 33(616)-6952 as well as NASA Contract NASr-103.
Research Institute for Advanced Studies (RIAS), Baltimore 12, Maryland.
152
Downloaded11/11/13to152.3.159.32.RedistributionsubjecttoSIAMlicenseorcopyright;seehttp://www.siam.org/journals/ojsa.php
1961-62
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Observability
In control theory, observability is a measure of
how well internal states of a system
can be inferred from knowledge
of its external outputs.
https://en.wikipedia.org/wiki/Observability
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Levels of Observability
Network
Machine (HW, OS)
Application
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
The Three Pillars of Observability
Distributed Systems Observability by Cindy Sridharan
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
The Three Pillars of Observability
Event Logs Metrics Tracing
Distributed Systems Observability by Cindy Sridharan
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Using Observability
Event Logs Metrics Tracing
Log aggregation
& analytics
VisualizationsAlerting
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Observability on AWS
CloudWatch
Logs
CloudWatch
Metrics
AWS
X-Ray
Traces
CloudWatch
Insights
CloudWatch
Dashboard
CloudWatch
Alarms
AWS X-Ray
ServiceGraph
CloudWatch
Metric Filter
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
https://www.youtube.com/watch?v=rgfww8tLM0A
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
CloudWatch API PutMetricData
const metricData = await cloudWatch.putMetricData({
MetricData: [
{
MetricName: 'My Business Metric',
Dimensions: [
{
Name: 'Location',
Value: 'Paris'
}
],
Timestamp: new Date,
Value: 123.4
}
],
Namespace: METRIC_NAMESPACE
}).promise();
• Metric name
• Dimensions
• Timestamp
• Value
• Namespace
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Add correlation IDs to logs – CloudWatch Logs + Insights
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
End-to-end tracing – AWS X-Ray Traces
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS X-Ray Key Concepts
Segments
Subsegments
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
End-to-end tracing – AWS X-Ray Service Map
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Enabling X-Ray tracing
AWS Lambda
Console
Amazon
API Gateway
Console
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Enabling X-Ray tracing in your code
const AWS = require('aws-sdk');
const AWSXRay = require('aws-xray-sdk');
const AWS = AWSXRay.captureAWS(require('aws-sdk'));
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Enabling X-Ray tracing in your code
const AWSXRay = require('aws-xray-sdk’);
const app = express();
app.use(AWSXRay.express.openSegment('my-segment'));
app.get('/send', function (req, res) {
res.setHeader('Content-Type', 'application/json’);
res.send('{"hello": "world"}');
});
app.use(AWSXRay.express.closeSegment());
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Understand performance…
Systems Performance by Brendan Gregg
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Understand performance… and latency…
Systems Performance by Brendan Gregg
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Understand performance… and latency… and percentiles!
P50
P90
P99
P100
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Choose the right integration patterns
✓
Decouple
and scale
distributed
systems
✓
Decouple
producers
from
subscribers
✓
Combine
multiple tasks
and manage
distributed state
Message
queue
Pub/sub
messaging
Workflows
Amazon
Simple Notification
Service (SNS)
Amazon
Simple Queue Service
(SQS)
AWS
Step Functions
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What is needed
Consistent
communications
management
Complete visibility Failure isolation
and protection
Fine-grained
deployment controls
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Client side traffic management
Traffic Shaping
Service discovery
Retries
Timeouts
Circuit breakers
Health checks
Routing Controls
Protocols support
Header based
Cookie based
Path based
Host based
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Instrumentation options
Microservice
Container
In-process
(SDK)
Option 1
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Option 1: In-process SDK
Java
Scala
Node.js
Python
C++
Django
.NET
GO
…
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Instrumentation options
Microservice
Container
In-process
(SDK)
Out-of-process
(sidecar proxy)
Option 1 Option 2
Microservice
Container
Proxy
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Option 2: Side-car proxy
Application CodeMicroservice
Proxy
Monitoring
Routing
Discovery
Deployment
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Option 2: Side-car proxy
Proxy runs
as a container
Task or Pod
External traffic
Application
Code
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Option 2: Proxy
Proxy
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Why service mesh proxy
vs. Libraries or app code
Overall—migrate to microservices safer and faster
Reduce work required
by developers
Follow best practices Use any language
or platform
Simplify visibility,
troubleshooting, and
deployments
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
App Mesh configures every proxy
https://www.youtube.com/watch?v=GVni3ruLSe0
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
OSS project
Wide community support, numerous integrations
Stable and production-proven
“Graduated Project” in Cloud Native Computing Foundation
Started at Lyft in 2016
App Mesh uses Envoy proxy
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Application observability
+ others
Faster
troubleshooting due
to consistent data
across services
Existing tools or
dashboards with a lot
more metrics, logs
and traces
Distinguish between
service and network
issues
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Representing your sample app in App Mesh
Elastic
Load
Balancing
Microservices App Mesh
Mesh – [myapp]
Virtual
Node A
Service
Discovery
Listener Backends
Virtual
Node B
Service
Discovery
Listener Backends
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Virtual Node
Virtual Node
Service
Discovery
BackendsListeners
Virtual Node
Logical representation
of runtime services
Backends
Set of destinations that this node
will communicate with (hostnames)
Service Discovery
Describes how its callers and locate this
node (DNS hostname or AWS Cloud Map*
namespace, serviced, and selectors)
Listeners
Policies to handle
incoming traffic
Ed: port, Health check*,
Circuit breaker*, Retries*
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Virtual routes Destination’s virtual
router and route
Virtual router: B
HTTP routes
Match
Prefix: /
Action:
Targets
B
Route B
Virtual node
destination
+ weight
Route Name: B1
Match
Action:
Route Name: B2
Other Protocol routes
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Update routes
Virtual router: B
HTTP route
targets:
prefix: /
B
B’
Route B
Virtual node
destination + weight
Route B’
New service or service
version
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Mesh – [myapp]
Virtual
Node A
Service
Discovery
BackendListener
Virtual router
Domains
action:
match: /
B
B’
Service B
Service B’
Virtual
Node B’
Service
Discovery
Listener Backends
Virtual
Node B
Service
Discovery
Listener Backends
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Virtual
Node B1
Mesh
Service A
Service B
Service C
Virtual
router
Virtual
router
Service D
Virtual
router
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Demo
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Takeaways
1. Build the instrumentation you need to understand what is happening
in your (distributed) application
2. Use technical and business metrics together to get better insights
3. Use correlation IDs in log and tracing frameworks to understand
distributed architectures (microservices)
4. Think at scale and plan for a service mesh control plane
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Director, AWS Developer Technology & Evangelism
4 March 2019
Thank You - Any Questions?
Ian Massingham @IanMmmm ianm@amazon.com

Contenu connexe

Tendances

Observability vs APM vs Monitoring Comparison
Observability vs APM vs  Monitoring ComparisonObservability vs APM vs  Monitoring Comparison
Observability vs APM vs Monitoring Comparisonjeetendra mandal
 
Monitoring and observability
Monitoring and observabilityMonitoring and observability
Monitoring and observabilityTheo Schlossnagle
 
Observability in the world of microservices
Observability in the world of microservicesObservability in the world of microservices
Observability in the world of microservicesChandresh Pancholi
 
Monitoring and observability
Monitoring and observabilityMonitoring and observability
Monitoring and observabilityTheo Schlossnagle
 
Demystifying observability
Demystifying observability Demystifying observability
Demystifying observability Abigail Bangser
 
Logging and observability
Logging and observabilityLogging and observability
Logging and observabilityAnton Drukh
 
More Than Monitoring: How Observability Takes You From Firefighting to Fire P...
More Than Monitoring: How Observability Takes You From Firefighting to Fire P...More Than Monitoring: How Observability Takes You From Firefighting to Fire P...
More Than Monitoring: How Observability Takes You From Firefighting to Fire P...DevOps.com
 
Observability, what, why and how
Observability, what, why and howObservability, what, why and how
Observability, what, why and howNeeraj Bagga
 
Cloud Monitoring with Prometheus
Cloud Monitoring with PrometheusCloud Monitoring with Prometheus
Cloud Monitoring with PrometheusQAware GmbH
 
Improve monitoring and observability for kubernetes with oss tools
Improve monitoring and observability for kubernetes with oss toolsImprove monitoring and observability for kubernetes with oss tools
Improve monitoring and observability for kubernetes with oss toolsNilesh Gule
 
Combining logs, metrics, and traces for unified observability
Combining logs, metrics, and traces for unified observabilityCombining logs, metrics, and traces for unified observability
Combining logs, metrics, and traces for unified observabilityElasticsearch
 
Monitoring using Prometheus and Grafana
Monitoring using Prometheus and GrafanaMonitoring using Prometheus and Grafana
Monitoring using Prometheus and GrafanaArvind Kumar G.S
 
Service Mesh - Observability
Service Mesh - ObservabilityService Mesh - Observability
Service Mesh - ObservabilityAraf Karsh Hamid
 
VisiQuate: Azure cloud migration case study
VisiQuate: Azure cloud migration case studyVisiQuate: Azure cloud migration case study
VisiQuate: Azure cloud migration case studyLeonid Nekhymchuk
 

Tendances (20)

Observability & Datadog
Observability & DatadogObservability & Datadog
Observability & Datadog
 
Observability
ObservabilityObservability
Observability
 
Observability vs APM vs Monitoring Comparison
Observability vs APM vs  Monitoring ComparisonObservability vs APM vs  Monitoring Comparison
Observability vs APM vs Monitoring Comparison
 
Observability
Observability Observability
Observability
 
Monitoring and observability
Monitoring and observabilityMonitoring and observability
Monitoring and observability
 
Observability
ObservabilityObservability
Observability
 
Observability in the world of microservices
Observability in the world of microservicesObservability in the world of microservices
Observability in the world of microservices
 
Monitoring and observability
Monitoring and observabilityMonitoring and observability
Monitoring and observability
 
Demystifying observability
Demystifying observability Demystifying observability
Demystifying observability
 
Logging and observability
Logging and observabilityLogging and observability
Logging and observability
 
More Than Monitoring: How Observability Takes You From Firefighting to Fire P...
More Than Monitoring: How Observability Takes You From Firefighting to Fire P...More Than Monitoring: How Observability Takes You From Firefighting to Fire P...
More Than Monitoring: How Observability Takes You From Firefighting to Fire P...
 
Observability, what, why and how
Observability, what, why and howObservability, what, why and how
Observability, what, why and how
 
Dynatrace
DynatraceDynatrace
Dynatrace
 
Shift left Observability
Shift left ObservabilityShift left Observability
Shift left Observability
 
Cloud Monitoring with Prometheus
Cloud Monitoring with PrometheusCloud Monitoring with Prometheus
Cloud Monitoring with Prometheus
 
Improve monitoring and observability for kubernetes with oss tools
Improve monitoring and observability for kubernetes with oss toolsImprove monitoring and observability for kubernetes with oss tools
Improve monitoring and observability for kubernetes with oss tools
 
Combining logs, metrics, and traces for unified observability
Combining logs, metrics, and traces for unified observabilityCombining logs, metrics, and traces for unified observability
Combining logs, metrics, and traces for unified observability
 
Monitoring using Prometheus and Grafana
Monitoring using Prometheus and GrafanaMonitoring using Prometheus and Grafana
Monitoring using Prometheus and Grafana
 
Service Mesh - Observability
Service Mesh - ObservabilityService Mesh - Observability
Service Mesh - Observability
 
VisiQuate: Azure cloud migration case study
VisiQuate: Azure cloud migration case studyVisiQuate: Azure cloud migration case study
VisiQuate: Azure cloud migration case study
 

Similaire à Observability For Modern Applications

ObservabilityForModernApplications-Oslo.pdf
ObservabilityForModernApplications-Oslo.pdfObservabilityForModernApplications-Oslo.pdf
ObservabilityForModernApplications-Oslo.pdfAmazon Web Services
 
ObservabilityForModernApplications_Stockholm.pdf
ObservabilityForModernApplications_Stockholm.pdfObservabilityForModernApplications_Stockholm.pdf
ObservabilityForModernApplications_Stockholm.pdfAmazon Web Services
 
Discrete event systems comprise of discrete state spaces and event
Discrete event systems comprise of discrete state spaces and eventDiscrete event systems comprise of discrete state spaces and event
Discrete event systems comprise of discrete state spaces and eventNitish Nagar
 
Cybernetics in supply chain management
Cybernetics in supply chain managementCybernetics in supply chain management
Cybernetics in supply chain managementLuis Cabrera
 
Literature Survey
Literature SurveyLiterature Survey
Literature Surveybutest
 
A General Framework for Electronic Circuit Verification
A General Framework for Electronic Circuit VerificationA General Framework for Electronic Circuit Verification
A General Framework for Electronic Circuit VerificationIRJET Journal
 
Performance Comparision of Machine Learning Algorithms
Performance Comparision of Machine Learning AlgorithmsPerformance Comparision of Machine Learning Algorithms
Performance Comparision of Machine Learning AlgorithmsDinusha Dilanka
 
A Model of Local Area Network Based Application for Inter-office Communication
A Model of Local Area Network Based Application for Inter-office CommunicationA Model of Local Area Network Based Application for Inter-office Communication
A Model of Local Area Network Based Application for Inter-office Communicationtheijes
 
IRJET- A Novel Approch Automatically Categorizing Software Technologies
IRJET- A Novel Approch Automatically Categorizing Software TechnologiesIRJET- A Novel Approch Automatically Categorizing Software Technologies
IRJET- A Novel Approch Automatically Categorizing Software TechnologiesIRJET Journal
 
Modeling of multiversion concurrency control
Modeling of multiversion concurrency controlModeling of multiversion concurrency control
Modeling of multiversion concurrency controlJawid Ahmad Baktash
 
Machine Learning for the System Administrator
Machine Learning for the System AdministratorMachine Learning for the System Administrator
Machine Learning for the System Administratorbutest
 
01. Birta L. G., Arbez G. - Modelling and Simulation_ (2007).pdf
01. Birta L. G., Arbez G. - Modelling and Simulation_  (2007).pdf01. Birta L. G., Arbez G. - Modelling and Simulation_  (2007).pdf
01. Birta L. G., Arbez G. - Modelling and Simulation_ (2007).pdfAftaZani1
 
Cuckoo Search: Recent Advances and Applications
Cuckoo Search: Recent Advances and ApplicationsCuckoo Search: Recent Advances and Applications
Cuckoo Search: Recent Advances and ApplicationsXin-She Yang
 
Placement management system
Placement management systemPlacement management system
Placement management systemSurya Teja
 
Essay On Fuzzy Logic
Essay On Fuzzy LogicEssay On Fuzzy Logic
Essay On Fuzzy LogicLucy Nader
 
Constructing an Office Domain Ontology using Knowledge Engineering Process
Constructing an Office Domain Ontology using Knowledge Engineering ProcessConstructing an Office Domain Ontology using Knowledge Engineering Process
Constructing an Office Domain Ontology using Knowledge Engineering ProcessBRNSSPublicationHubI
 
Hedging Predictions in Machine Learning
Hedging Predictions in Machine LearningHedging Predictions in Machine Learning
Hedging Predictions in Machine Learningbutest
 
Restructuring functions with low cohesion
Restructuring functions with low cohesionRestructuring functions with low cohesion
Restructuring functions with low cohesionAditya Kumar Ghosh
 
Use Case Modeling in Software Development: A Survey and Taxonomy
Use Case Modeling in Software Development: A Survey and TaxonomyUse Case Modeling in Software Development: A Survey and Taxonomy
Use Case Modeling in Software Development: A Survey and TaxonomyEswar Publications
 

Similaire à Observability For Modern Applications (20)

ObservabilityForModernApplications-Oslo.pdf
ObservabilityForModernApplications-Oslo.pdfObservabilityForModernApplications-Oslo.pdf
ObservabilityForModernApplications-Oslo.pdf
 
ObservabilityForModernApplications_Stockholm.pdf
ObservabilityForModernApplications_Stockholm.pdfObservabilityForModernApplications_Stockholm.pdf
ObservabilityForModernApplications_Stockholm.pdf
 
Discrete event systems comprise of discrete state spaces and event
Discrete event systems comprise of discrete state spaces and eventDiscrete event systems comprise of discrete state spaces and event
Discrete event systems comprise of discrete state spaces and event
 
Unit-1 Mod-Sim.ppt
Unit-1 Mod-Sim.pptUnit-1 Mod-Sim.ppt
Unit-1 Mod-Sim.ppt
 
Cybernetics in supply chain management
Cybernetics in supply chain managementCybernetics in supply chain management
Cybernetics in supply chain management
 
Literature Survey
Literature SurveyLiterature Survey
Literature Survey
 
A General Framework for Electronic Circuit Verification
A General Framework for Electronic Circuit VerificationA General Framework for Electronic Circuit Verification
A General Framework for Electronic Circuit Verification
 
Performance Comparision of Machine Learning Algorithms
Performance Comparision of Machine Learning AlgorithmsPerformance Comparision of Machine Learning Algorithms
Performance Comparision of Machine Learning Algorithms
 
A Model of Local Area Network Based Application for Inter-office Communication
A Model of Local Area Network Based Application for Inter-office CommunicationA Model of Local Area Network Based Application for Inter-office Communication
A Model of Local Area Network Based Application for Inter-office Communication
 
IRJET- A Novel Approch Automatically Categorizing Software Technologies
IRJET- A Novel Approch Automatically Categorizing Software TechnologiesIRJET- A Novel Approch Automatically Categorizing Software Technologies
IRJET- A Novel Approch Automatically Categorizing Software Technologies
 
Modeling of multiversion concurrency control
Modeling of multiversion concurrency controlModeling of multiversion concurrency control
Modeling of multiversion concurrency control
 
Machine Learning for the System Administrator
Machine Learning for the System AdministratorMachine Learning for the System Administrator
Machine Learning for the System Administrator
 
01. Birta L. G., Arbez G. - Modelling and Simulation_ (2007).pdf
01. Birta L. G., Arbez G. - Modelling and Simulation_  (2007).pdf01. Birta L. G., Arbez G. - Modelling and Simulation_  (2007).pdf
01. Birta L. G., Arbez G. - Modelling and Simulation_ (2007).pdf
 
Cuckoo Search: Recent Advances and Applications
Cuckoo Search: Recent Advances and ApplicationsCuckoo Search: Recent Advances and Applications
Cuckoo Search: Recent Advances and Applications
 
Placement management system
Placement management systemPlacement management system
Placement management system
 
Essay On Fuzzy Logic
Essay On Fuzzy LogicEssay On Fuzzy Logic
Essay On Fuzzy Logic
 
Constructing an Office Domain Ontology using Knowledge Engineering Process
Constructing an Office Domain Ontology using Knowledge Engineering ProcessConstructing an Office Domain Ontology using Knowledge Engineering Process
Constructing an Office Domain Ontology using Knowledge Engineering Process
 
Hedging Predictions in Machine Learning
Hedging Predictions in Machine LearningHedging Predictions in Machine Learning
Hedging Predictions in Machine Learning
 
Restructuring functions with low cohesion
Restructuring functions with low cohesionRestructuring functions with low cohesion
Restructuring functions with low cohesion
 
Use Case Modeling in Software Development: A Survey and Taxonomy
Use Case Modeling in Software Development: A Survey and TaxonomyUse Case Modeling in Software Development: A Survey and Taxonomy
Use Case Modeling in Software Development: A Survey and Taxonomy
 

Plus de Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Plus de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Observability For Modern Applications

  • 1. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Director, AWS Developer Technology & Evangelism 4 March 2019 Observability for Modern Applications Ian Massingham @IanMmmm ianm@amazon.com
  • 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. ListenIterate Experiment Innovation Flywheel Experiments power the engine of rapid innovation
  • 3. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. What changes do you need to make to adopt these best practices? Serverless No provisioning/management Automatic scaling Pay for value billing Availability and resiliency Microservices Componentization Business capabilities Products not projects Infrastructure automation DevOps Cultural philosophies Cross-disciplinary teams CI/CD Automation tools DEV OPS Architectural patterns Operational Model Software Delivery
  • 4. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Approaches to modern application development • Simplify environment management • Reduce the impact of code changes • Automate operations • Accelerate the delivery of new, high-quality services • Gain insight across resources and applications • Protect customers and the business
  • 5. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Approaches to modern application development • Simplify environment management with serverless technologies • Reduce the impact of code changes with microservice architectures • Automate operations by modeling applications & infrastructure as code • Accelerate the delivery of new, high-quality services with CI/CD • Gain insight across resources and applications by enabling observability • Protect customers and the business with end-to-end security & compliance
  • 6. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Approaches to modern application development • Simplify environment management with serverless technologies • Reduce the impact of code changes with microservice architectures • Automate operations by modeling applications & infrastructure as code • Accelerate the delivery of new, high-quality services with CI/CD • Gain insight across resources and applications by enabling observability • Protect customers and the business with end-to-end security & compliance
  • 7. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Microservices increase release agility Monolithic application Microservices
  • 8. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Monolith
  • 9. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Service Service Service Service Service Service Service Service Service Service Service Service
  • 10. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Rust Database DB Database Rust GoNode.is Java Node.is Node.is
  • 11. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Containers Database DB Database Containers λContainers VMs Managed Service
  • 12. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Proactive operations helps mitigate issues Degraded state Outage Latency Time (ms)
  • 13. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Observability in Control Theory On the General Theory of Control Systems R. E. KALMAN Introduction In no small measure, the great technological progress in automatic control and communication systems during the past two decades has depended on advances and refinements in the mathematical study of such systems. Conversely, the growth of technology brought forth many new problems (such as those related to using digital computers in control, etc.) to challenge the ingenuity and competence of research workers concerned with theoretical questions. Despite the appearance and effective resolution of many new problems, our understanding of fundamental aspects of control has remained superficial. The only basic advance so far appears to be the theory ofinformation created by Shannon 1. The chief significance of his work in our present interpretation is the discovery ofgeneral' laws' underlying the process ofinformation transmission, which are quite independent of the particular models being considered or even the methods used for the des- cription and analysis of these models. These results could be compared with the' laws' of physics, with the crucial difference that the' laws' governing man-made objects cannot be discovered by straightforward experimentation but only by a purely abstract analysis guided by intuition gained in observing present-day examples of technology and economic organization. We may thus classify Shannon's result as belonging to the pure theory of communication and control, while everything else can be labelled as the applied theory; this terminology reflects the well- known distinctions between pure and applied physics or mathematics. For reasons pointed out above, in its methodo- logy the pure theory of communication and control closely resembles mathematics, rather than physics; however, it is not a. branch of mathematics because at present we cannot (yet?) d1sregard questions of physical realizability in the study of mathematical models. This paper initiates study of the pure theory of control imitating the spirit of Shannon's investigations but using entirely different techniques. Our ultimate objective is to answer questions of the following type: What kind and how much information is needed to achieve a desired type ofcontrol? What intrinsic properties characterize a given unalterable plant as far as control is concerned? At present only superficial answers are available to these questions, and even then only in special cases. Initial results presented in this Note are far from the degree of generality of Shannon's work. By contrast, however, only metho?s are employed here, giving some hope of beIng able to aVOld the well-known difficulty of Shannon's theory: methods of proof which are impractical for actually constructing practical solutions. In fact, this paper arose fr.om the need for a better understanding of some recently d1scovered computation methods of control-system syn- thesis 2-s. Another by-product of the paper is a new com- putation method for the solution of the classical Wiener filtering problem 7. The organization of the paper is as follows: 16 In Section 3 we introduce the models for which a fairly complete theory is available: dynamic systems with a finite dimensional state space and linear transition functions (i.e. systems obeying linear differential or difference equations). The class of random processes considered consists of such dynamic systems excited by an uncorrelated gaussian random process. Other assumptions, such as stationarity, discretiza- tion, single input/single output, etc., are made only to facilitate the presentation and will be absent in detailed future accounts of the theory. In Section 4 we define the concept of controllability and show that this is the' natural' generalization of the so-called' dead- beat' control scheme discovered by Oldenbourg and Sartorius 21 and later rederived independently by Tsypkin22 and the author17• We then show in Section 5 that the general problem ofoptimal regulation is solvable if and only if the plant is completely controllable. In Section 6 we introduce the concept of observability and solve the problem ofreconstructing unmeasurable state variables from the measurable ones in the minimum possible length of time. We formalize the similarities between controllability and observability in Section 7 by means of the Principle of Duality and show that the Wiener filtering problem is the natural dual of the problem of optimal regulation. Section 8 is a brief discussion of possible generalizations and currently unsolved problems of the pure theory of control. Notation and Terminology The reader is assumed to be familiar with elements of linear algebra, as discussed, for instance, by Halmos 8. Consider an n-dimensional real vector space X. A basis in X is a set of vectors at ... , all in X such that any vector x in X can be written uniquely as (I) the Xi being real numbers, the components or coordinates of x. Vectors will be denoted throughout by small bold-face letters. The set X* of all real-valued linear functions x* (= covec- tors) on X. with the' natural' definition of addition and scalar multiplication, is an n-dimensional vector space. The value of a covector y* at any vector x is denoted by [y*, x]. We call this the inner product of y* by x. The vector space X* has a natural basis a*1... , a*n associated with a given basis in X; it is defined by the requirement that [a*j, aj] = Ojj Using the' orthogonality relation' 2, we may write form n X = L [a*j, x]aj j= t which will be used frequently. (2) in the (3) For purposes of numerical computation, a vector may be considered a matrix with one column and a covector a matrix 481 491 J.S.I.A.M. CONTROI Ser. A, Vol. 1, No. Printed in U.,q.A., 1963 MATHEMATICAL DESCRIPTION OF LINEAR DYNAMICAL SYSTEMS* R. E. KALMAN Abstract. There are two different ways of describing dynamical systems: (i) by means of state w.riables and (if) by input/output relations. The first method may be regarded as an axiomatization of Newton’s laws of mechanics and is taken to be the basic definition of a system. It is then shown (in the linear case) that the input/output relations determine only one prt of a system, that which is completely observable and completely con- trollable. Using the theory of controllability and observability, methods are given for calculating irreducible realizations of a given impulse-response matrix. In par- ticular, an explicit procedure is given to determine the minimal number of state varibles necessary to realize a given transfer-function matrix. Difficulties arising from the use of reducible realizations are discussed briefly. 1. Introduction and summary. Recent developments in optimM control system theory are bsed on vector differential equations as models of physical systems. In the older literature on control theory, however, the same systems are modeled by ransfer functions (i.e., by the Laplace trans- forms of the differential equations relating the inputs to the outputs). Two differet languages have arisen, both of which purport to talk about the same problem. In the new approach, we talk about state variables, tran- sition equations, etc., and make constant use of abstract linear algebra. In the old approach, the key words are frequency response, pole-zero pat- terns, etc., and the main mathematical tool is complex function theory. Is there really a difference between the new and the old? Precisely what are the relations between (linear) vector differential equations and transfer- functions? In the literature, this question is surrounded by confusion [1]. This is bad. Communication between research workers and engineers is impeded. Important results of the "old theory" are not yet fully integrated into the new theory. In the writer’s view--which will be argued t length in this paperthe diiIiculty is due to insufficient appreciation of the concept of a dynamical system. Control theory is supposed to deal with physical systems, and not merely with mathematical objects such as a differential equation or a trans- fer function. We must therefore pay careful attention to the relationship between physical systems and their representation via differential equations, transfer functions, etc. * Received by the editors July 7, 1962 and in revised form December 9, 1962. Presented at the Symposium on Multivariable System Theory, SIAM, November 1, 1962 at Cambridge, Massachusetts. This research was supported in part under U. S. Air Force Contracts AF 49 (638)-382 and AF 33(616)-6952 as well as NASA Contract NASr-103. Research Institute for Advanced Studies (RIAS), Baltimore 12, Maryland. 152 Downloaded11/11/13to152.3.159.32.RedistributionsubjecttoSIAMlicenseorcopyright;seehttp://www.siam.org/journals/ojsa.php 1961-62
  • 14. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Observability In control theory, observability is a measure of how well internal states of a system can be inferred from knowledge of its external outputs. https://en.wikipedia.org/wiki/Observability
  • 15. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Levels of Observability Network Machine (HW, OS) Application
  • 16. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. The Three Pillars of Observability Distributed Systems Observability by Cindy Sridharan
  • 17. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. The Three Pillars of Observability Event Logs Metrics Tracing Distributed Systems Observability by Cindy Sridharan
  • 18. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Using Observability Event Logs Metrics Tracing Log aggregation & analytics VisualizationsAlerting
  • 19. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Observability on AWS CloudWatch Logs CloudWatch Metrics AWS X-Ray Traces CloudWatch Insights CloudWatch Dashboard CloudWatch Alarms AWS X-Ray ServiceGraph CloudWatch Metric Filter
  • 20. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. https://www.youtube.com/watch?v=rgfww8tLM0A
  • 21. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. CloudWatch API PutMetricData const metricData = await cloudWatch.putMetricData({ MetricData: [ { MetricName: 'My Business Metric', Dimensions: [ { Name: 'Location', Value: 'Paris' } ], Timestamp: new Date, Value: 123.4 } ], Namespace: METRIC_NAMESPACE }).promise(); • Metric name • Dimensions • Timestamp • Value • Namespace
  • 22. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Add correlation IDs to logs – CloudWatch Logs + Insights
  • 23. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. End-to-end tracing – AWS X-Ray Traces
  • 24. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS X-Ray Key Concepts Segments Subsegments
  • 25. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. End-to-end tracing – AWS X-Ray Service Map
  • 26. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Enabling X-Ray tracing AWS Lambda Console Amazon API Gateway Console
  • 27. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Enabling X-Ray tracing in your code const AWS = require('aws-sdk'); const AWSXRay = require('aws-xray-sdk'); const AWS = AWSXRay.captureAWS(require('aws-sdk'));
  • 28. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Enabling X-Ray tracing in your code const AWSXRay = require('aws-xray-sdk’); const app = express(); app.use(AWSXRay.express.openSegment('my-segment')); app.get('/send', function (req, res) { res.setHeader('Content-Type', 'application/json’); res.send('{"hello": "world"}'); }); app.use(AWSXRay.express.closeSegment());
  • 29. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Understand performance… Systems Performance by Brendan Gregg
  • 30. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Understand performance… and latency… Systems Performance by Brendan Gregg
  • 31. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Understand performance… and latency… and percentiles! P50 P90 P99 P100
  • 32. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Choose the right integration patterns ✓ Decouple and scale distributed systems ✓ Decouple producers from subscribers ✓ Combine multiple tasks and manage distributed state Message queue Pub/sub messaging Workflows Amazon Simple Notification Service (SNS) Amazon Simple Queue Service (SQS) AWS Step Functions
  • 33. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. What is needed Consistent communications management Complete visibility Failure isolation and protection Fine-grained deployment controls
  • 34. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Client side traffic management Traffic Shaping Service discovery Retries Timeouts Circuit breakers Health checks Routing Controls Protocols support Header based Cookie based Path based Host based
  • 35. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Instrumentation options Microservice Container In-process (SDK) Option 1
  • 36. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Option 1: In-process SDK Java Scala Node.js Python C++ Django .NET GO …
  • 37. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Instrumentation options Microservice Container In-process (SDK) Out-of-process (sidecar proxy) Option 1 Option 2 Microservice Container Proxy
  • 38. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Option 2: Side-car proxy Application CodeMicroservice Proxy Monitoring Routing Discovery Deployment
  • 39. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Option 2: Side-car proxy Proxy runs as a container Task or Pod External traffic Application Code
  • 40. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Option 2: Proxy Proxy
  • 41. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Why service mesh proxy vs. Libraries or app code Overall—migrate to microservices safer and faster Reduce work required by developers Follow best practices Use any language or platform Simplify visibility, troubleshooting, and deployments
  • 42. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. App Mesh configures every proxy https://www.youtube.com/watch?v=GVni3ruLSe0
  • 43. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. OSS project Wide community support, numerous integrations Stable and production-proven “Graduated Project” in Cloud Native Computing Foundation Started at Lyft in 2016 App Mesh uses Envoy proxy
  • 44. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Application observability + others Faster troubleshooting due to consistent data across services Existing tools or dashboards with a lot more metrics, logs and traces Distinguish between service and network issues
  • 45. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Representing your sample app in App Mesh Elastic Load Balancing Microservices App Mesh Mesh – [myapp] Virtual Node A Service Discovery Listener Backends Virtual Node B Service Discovery Listener Backends
  • 46. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Virtual Node Virtual Node Service Discovery BackendsListeners Virtual Node Logical representation of runtime services Backends Set of destinations that this node will communicate with (hostnames) Service Discovery Describes how its callers and locate this node (DNS hostname or AWS Cloud Map* namespace, serviced, and selectors) Listeners Policies to handle incoming traffic Ed: port, Health check*, Circuit breaker*, Retries*
  • 47. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Virtual routes Destination’s virtual router and route Virtual router: B HTTP routes Match Prefix: / Action: Targets B Route B Virtual node destination + weight Route Name: B1 Match Action: Route Name: B2 Other Protocol routes
  • 48. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Update routes Virtual router: B HTTP route targets: prefix: / B B’ Route B Virtual node destination + weight Route B’ New service or service version
  • 49. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Mesh – [myapp] Virtual Node A Service Discovery BackendListener Virtual router Domains action: match: / B B’ Service B Service B’ Virtual Node B’ Service Discovery Listener Backends Virtual Node B Service Discovery Listener Backends
  • 50. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Virtual Node B1 Mesh Service A Service B Service C Virtual router Virtual router Service D Virtual router
  • 51. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Demo
  • 52. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Takeaways 1. Build the instrumentation you need to understand what is happening in your (distributed) application 2. Use technical and business metrics together to get better insights 3. Use correlation IDs in log and tracing frameworks to understand distributed architectures (microservices) 4. Think at scale and plan for a service mesh control plane
  • 53. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Director, AWS Developer Technology & Evangelism 4 March 2019 Thank You - Any Questions? Ian Massingham @IanMmmm ianm@amazon.com