More Related Content Similar to Completing the Microservices Puzzle: Kubernetes, Prometheus and FreshTracks.io (20) More from CA Technologies (20) Completing the Microservices Puzzle: Kubernetes, Prometheus and FreshTracks.io1. Completing the Microservices Puzzle:
Kubernetes, Prometheus and FreshTracks.io
Bob Cotton
ACT38T
CA ACCELERATOR ZONE
Co-Founder
FreshTracks.io
Co-Founder
FreshTracks.io
Marc Chipouras
2. 2 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
© 2017 CA. All rights reserved. All trademarks referenced herein belong to their respective companies.
The content provided in this CA World 2017 presentation is intended for informational purposes only and does not form any type
of warranty. The information provided by a CA partner and/or CA customer has not been reviewed for accuracy by CA.
For Informational Purposes Only
Terms of This Presentation
3. 3 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Abstract
DevOps encourages teams to move from monoliths to
microservices. Cloud native architectures demand new
technologies to implement and run those microservices
smoothly. The open source community has solutions to
many of the problems microservices generate. Docker,
Kubernetes and Prometheus are small subset of this
constantly changing ecosystem.
This session will discuss how to monitor your cloud native
applications. This session will dive into the strengths and
weaknesses of the existing open source tools and
highlight how FreshTracks.io is uniquely positioned to
add value within your monitoring suite. After attending
this session, you will be able to speak knowledgeably
about how to weave these technologies together to
enhance microservice observability and implement new
monitoring strategies for your own DevOps teams.
Bob
Cotton
FreshTracks.io
Founder
Marc
Chipouras
FreshTracks.io
Founder
4. 4 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Behind the Scenes
With over two decades of combined data wrangling at CA Agile Central,
Marc Chipouras and Bob Cotton developed a deep understanding of the power of
information to transform decision making. Infrastructure and application metrics
combined with detailed user-level trace information empowered everyone to make better
decisions. System and customer behavior influenced how and what to build next.
With this experience Marc and Bob found themselves increasingly frustrated with the
current state of both commercial and open-source application and infrastructure
monitoring tools. Specifically how these tools were not designed to handle the
ephemeral nature of cloud infrastructure and orchestrated container environments.
The technology landscape is changing in new and exciting ways. As is often the case,
new technologies lead to new problems. New problems demand new solutions.
5. 5 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Agenda
WHY MICROSERVICES?
WHY CONTAINERS?
FRESHTRACKS.IO - THE NEW SOLUTION
WHY ORCHESTRATION?
THE NEW MONITORING PROBLEM
OPEN SOURCE MONITORING SOLUTIONS
1
2
3
4
5
6
6. 6 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
New Problems Demand New Solutions
Containers enable
Developer productivity
and simplicity.
Kubernetes
standardizes a fractured
DevOps practice.
Dynamic
Application
Monitoring
FreshTracks.io provides
insights to ensure systems
are stable and available.
Deployment and
Lifecycle
Management
Microservice
Architectures
7. 7 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Why Microservices?
8. 8 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Benefits of Microservices
▪ Developer Productivity
▪ Separation of Concerns
▪ Independently Deployable
▪ Independently Scalable
9. 9 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Microservice Complexity
▪ More Moving Pieces
▪ Logging
▪ Debugging
▪ Balancing Load
▪ Multiple/Rolling Deployment
▪ Monitoring
10. 10 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Why Containers?
11. 11 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Application Dependencies on the Machine
Kernel Kernel
Shared Libraries
Application Dependencies
Application
12. 12 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Application Dependencies in the Container
Kernel
Shared Libraries
Application
Dependencies
Application
Shared Libraries
Application
Dependencies
Application
Shared Libraries
Application
Dependencies
Application
Shared Libraries
Application
Dependencies
Application
Shared Libraries
Application
Dependencies
Application
13. 13 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Same Container Runs Everywhere
Kernel
Shared Libraries
Application
Dependencies
Application
Shared Libraries
Application
Dependencies
Application
Shared Libraries
Application
Dependencies
Application
Shared Libraries
Application
Dependencies
Application
Dev Test Prod
Kernel
Shared Libraries
Application
Dependencies
Application
Shared Libraries
Application
Dependencies
Application
Shared Libraries
Application
Dependencies
Application
Shared Libraries
Application
Dependencies
Application
Kernel
Shared Libraries
Application
Dependencies
Application
Shared Libraries
Application
Dependencies
Application
Shared Libraries
Application
Dependencies
Application
Shared Libraries
Application
Dependencies
Application
14. 14 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Container Benefits
▪ Dependencies managed at
development time
▪ Build once, run everywhere
▪ Lighter than VMs
– Startup in 10ths of seconds
In the end, deploy and test faster
15. 15 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Why Orchestration?
16. 16 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Automated Deployment Is
Custom Code
▪ DevOps says to “automate all the
things." However, we usually
re-create all things.
▪ All varies by technology
(Java, Ruby, Python etc)
– Polyglot shop? Good luck!
17. 17 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Lifecycle Management Is
Custom Code
▪ Manage the number of instances
▪ Rolling deployment
▪ Graceful rollbacks
▪ Auto scaling
▪ Hybrid cloud abstractions
18. 18 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Orchestration Is a Solution
19. 19 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Container Orchestration Is a Solution
▪ Standardized solution for:
– Packaging
▪ Containers
– Deployments
▪ Declarative manifests
– Lifecycle Management
▪ Declarative manifests
▪ Rolling deployments
– Infrastructure Interfacing
▪ Cloud storage
▪ GPUs
20. 20 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Container orchestration use is doubling annually.*
53% of teams using container orchestration
are using Kubernetes.**
Container Orchestration Is Growing
* DataDog
**Cloud Foundry
21. 21 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
The New Monitoring Problem
22. 22 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Quick Definition of “Monitoring”
▪ Aggregated measures
▪ Collected periodically from hosts and applications
▪ Drawn on a chart
▪ Time on the x axis
▪ Monitoring is the source
for most alerting
23. 23 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Monitoring - “The Old Way”
▪ Host based
– A known collection of machines with names
▪ Simple metric names
– Prone to abuse by embedding meaning in the name
region.az.hostname.appname.metricname = 10
24. 24 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Monitoring Challenged by New Technologies
▪ The move from the data center to the cloud
25. 25 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Monitoring Challenged by New Technologies
26. 26 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Monitoring Evolved
▪ Metrics 2.0
– label/value pairs on metrics
metric = “load1”
value = 5
host = “fecaed1.aws.com”
ip = “192.168.1.1”
role = “appserver”
...
27. 27 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Monitoring Evolved - Labeled Metrics on Hosts
metric = “load1”
value = 5
host = “fecaed1.aws.com”
ip = “192.168.1.1”
role = “appserver”
metric = “load1”
value = 3
host = “e9dghf.aws.com”
ip = “192.168.1.2”
role = “appserver”
metric = “load1”
value = 2.5
host = “ha7fsd.aws.com”
ip = “192.168.1.3”
role = “appserver”
metric = “load1”
value = 5
host = “fecaed1.aws.com”
ip = “192.168.1.1”
role = “appserver”
metric = “load1”
value = 3
host = “e9dghf.aws.com”
ip = “192.168.1.2”
role = “appserver”
metric = “load1”
value = 2.5
host = “ha7fsd.aws.com”
ip = “192.168.1.3”
role = “appserver”
metric = “load1”
value = 2.5
host = “deh2ia.aws.com”
ip = “192.168.1.4”
role = “appserver”
metric = “load1”
value = 2.5
host = “fhd1ea.aws.com”
ip = “192.168.1.5”
role = “appserver”
metric = “load1”
value = 2.5
host = “ha7fsd.aws.com”
ip = “192.168.1.3”
role = “appserver”
metric = “load1”
value = 2.5
host = “deh2ia.aws.com”
ip = “192.168.1.4”
role = “appserver”
metric = “load1”
value = 2.5
host = “fhd1ea.aws.com”
ip = “192.168.1.5”
role = “appserver”
28. 28 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Monitoring Evolved - Labeled Metrics
metric = “load1”
value = 5
host = “fecaed1.aws.com”
ip = “192.168.1.1”
role = “appserver”
metric = “http_response_time”
value = 200
host = “fecaed1.aws.com”
ip = “192.168.1.1”
container = “business_app:latest”
metric = “load1”
value = 5
host = “fecaed1.aws.com”
ip = “192.168.1.1”
role = “appserver”
metric = “load1”
value = 5
host = “fecaed1.aws.com”
ip = “192.168.1.1”
role = “appserver”
metric = “load1”
value = 5
host = “fecaed1.aws.com”
ip = “192.168.1.1”
role = “appserver”
metric = “load1”
value = 5
host = “fecaed1.aws.com”
ip = “192.168.1.1”
role = “appserver”
metric = “load1”
value = 5
host = “fecaed1.aws.com”
ip = “192.168.1.1”
role = “appserver”
metric = “load1”
value = 5
host = “fecaed1.aws.com”
ip = “192.168.1.1”
role = “appserver”
metric = “http_response_time”
value = 200
host = “fecaed1.aws.com”
ip = “192.168.1.1”
container = “business_app:latest”
metric = “http_response_time”
value = 200
host = “fecaed1.aws.com”
ip = “192.168.1.1”
container = “business_app:latest”
metric = “http_response_time”
value = 200
host = “fecaed1.aws.com”
ip = “192.168.1.1”
container = “business_app:latest”
metric = “http_response_time”
value = 200
host = “fecaed1.aws.com”
ip = “192.168.1.1”
container = “business_app:latest”
metric = “http_response_time”
value = 200
host = “fecaed1.aws.com”
ip = “192.168.1.1”
container = “business_app:latest”
metric = “http_response_time”
value = 200
host = “fecaed1.aws.com”
ip = “192.168.1.1”
container = “business_app:latest”
29. 29 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Open Source Solutions to
New Monitoring Problems
30. 30 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Prometheus
▪ Based on monitoring patterns at Google
▪ High-performance timeseries database
▪ Alert definition and generation
▪ Open sourced by SoundCloud
▪ Second project admitted to the
Cloud Native Computing Foundation after Kubernetes
▪ Adoption surge is tracking Kubernetes
31. 31 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
63% of teams using Kubernetes are
monitoring with Prometheus
Prometheus Adoption Is Surging
TheNewStack.io
32. 32 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Prometheus' Strengths
▪ Designed to support orchestration and containers
▪ Best open source Monitoring 2.0 solution
▪ Active development and support community
▪ Highly performant
▪ Alert manager included
▪ Can be federated
33. 33 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Prometheus Is Not a Complete Solution
▪ No adaptive thresholds
▪ No anomaly detection
▪ No advanced analytics for alerting
▪ Does not connect the relationships between
application and infrastructure metrics
▪ Manual dashboard creation
34. 34 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
FreshTracks.io
The New Monitoring Solution
FreshTracks.io adds machine learning to Prometheus
FreshTracks.io provides deep Kubernetes analytics
35. 35 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
FreshTracks.io
Extends Prometheus
36. 36 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
FreshTracks Adds Machine Learning to Prometheus
▪ Learn adaptive thresholds for your changing metrics
▪ Identify anomalies across your system
▪ Important and actionable alerts ensure engineers
spend more time where it matters
37. 37 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Aggregate Metrics Across Containers
▪ All metrics are anomalous some of the time
▪ Aberrations are important or interesting
▪ Individual anomalies may not impact customers
By aggregating metrics across containers
FreshTracks.io alerts only when services and
customers are impacted
38. 38 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
FreshTracks Designed
for Kubernetes
39. 39 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Correlate Infrastructure
With Applications
Kubernetes models the internals of a cluster
– Cluster : Deployment : Pod : Container : Service
FreshTracks Correlates metrics gathered from
– Kubernetes infrastructure
– Kubernetes orchestration layer
– Application metrics
40. 40 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
System Events at the
Heart of FreshTracks Analytics
▪ Workload deployment events
▪ Kubernetes orchestration events
▪ Kubernetes topology
▪ Feature toggle and application events
FreshTracks analyzes anomalies
in context of events, ensuring alerts
are important and actionable.
41. 41 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Putting It All Together
▪ FreshTracks adds machine learning to Prometheus
– Adaptive thresholds and anomaly detection
– Metrics correlated across ephemeral containers
▪ FreshTracks provides deep Kubernetes analytics
– Metrics analyzed in context of Kubernetes topology
– System events native to anomaly detection
FreshTracks' actionable alerts on the events that matter most.
42. 42 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
New Problems Demand New Solutions
Deployment and
Lifecycle
Management
Microservice
Architectures
Containers enable
Developer Productivity
and Simplicity.
Kubernetes standardizes a
fractured DevOps practice.
FreshTracks provides
insights to ensure systems
are stable and available.
Dynamic
Application
Monitoring
43. 43 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
New Solutions to
New Problems
44. 44 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
FreshTracks.io
Join the Beta
45. 45 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
CA Accelerator
For more information on CA Accelerator,
please visit: ca.com/accelerator