SlideShare une entreprise Scribd logo
1  sur  22
Fabio Giannetti and Ken Owens
CloudNative Con - November 8, 2016
How to Monitor Application
Performance in a
Container-Based World
• Problem Statement and Motivations
• Proposed Solution
• Takeways and Next Steps
Agenda
Problem Statement and
Motivations
As a Application Owner
In order to run my application in the best possible
way
I want to express an application intent and monitor
how it stacks to it in real time
Problem statement (requirement)
Motivations
Ability to influence application performance through scale and
micro-service (re-)distribution (a.k.a. Application Intent)
Visualize aggregated monitoring data for microservice to clearly
point at application bottlenecks.
Provide a real time feedback that unifies several sources and
allows the system to take multiple simultaneous corrective
actions.
Policies
Limits
Actions
1
Micro-service
Deployment Environments
Number of Running Containers
Monitoring Data
2
cAdvisor
µService Metrics
Measurements Bus
Host Metrics
Load Balancer
3
AppIntent
Engine
Scheduling Actions
Security Actions
Compound Metrics Actions
Alarm/Notificattion Actions
Kubernetes /
Marathon
IDM
Proposed Solution
• Unified Measurements Format
• Using a unified format with a handful of pre-set user labels we can correlate data
coming from several sources
• Measurements Bus
• Having a bus allows us to have an ecosystem of producers and consumers that can
act independently, at their own pace and needs, e.g. alarms vs. persisters
• Compound Measurements
• Compound Measurements allows us to combine several metrics and generate new
ones that are re-inserted in the bus, we can also use alarms to generate new
measurements.
Solution Pillars
Unified Measurement Model (based on Monasca)
{ "metric":
{ "name": "container.cpu.usage.total",
"dimensions": {
”project_id": ”this is the application id",
”service_id": ”unique id of the microservice being part of the app”,
"env_id": ”this would indicate production, staging, dev etc…",
“container_id“: “123…”,
"hostName": ”host1" ,
“any_other_label”: “vvv”},
"timestamp": 1458749286,
"value": 6455776114 },
"meta": {
"tenantId": ”…..",
"region": ”…." },
"creation_time": 1458749286
}
Measurement Bus and µServices
Worker Node
cAdvisor
Marathon+Mesos or Kubernetes Cluster
schedule
container
Worker Node Worker Node
µService Metrics
Measurements Bus
Monasca
Persister
Tenant
Container
Dimensions
become tags,
so queries
are fast, and
are efficiently
stored.
Visualization
using Grafana
µService Metrics
Measurements Bus
Monasca
Persister
Compound
Measurements
µService Metrics
Measurements BusAppIntent
Engine
IF diskWrite GTE 1.4
netSent GTE 2.0
MEASUREMENT(Label, Value)
Adding Load Balancer (Traefik)
{ "metric": {
"name":"elapsedMs-traefik",
"dimensions": {
”project_id": ”this is the application id",
”service_id": ”unique id of the microservice being part of the app”,
"env_id": ”this would indicate production, staging, dev etc…”
},
"timestamp":1461198662000,
"value":161 },
"meta":{ "tenantId":"19c60964-0621-11e6-bd9b-0242ac110003", "region":"" },
"creation_time":1461198662000 }
NOTE: Traefik has no access to the ContainerID and HostName
Load Balancer
Metrics
µService Metrics
Measurements Bus
Monasca
Persister
Load
Balancer
Adding Security Scans (Cisco Norad)
{ "metric": {
"name":”norad_security_scan",
"dimensions": {
"hostName": ”host1" },
"timestamp":1461198662030,
"value":0 },
"meta":{ "tenantId":"19c60964-0621-11e6-bd9b-0242ac110003", "region":"" },
"creation_time":1461198662000 }
NOTE: A Host security scan may not have knowledge of the containers
Engine
cAdvisor
µService Metrics
Measurements Bus
Host Metrics IaaS Metrics
Load
Balancer
Actions Engine
Threadshold
Engine
Proxy Agent
AppIntent
Complete Solution
Container
Vulnerability Scan
Host Vulnerability
Scan
Takeways and Next Steps
• Using a Measurement Bus is possible to create real time alarms
based on threadsholds, it is also possible to enable 3rd parties to
inject metrics and have them all correlated together: root cause
analysis? Not really, but we went a long way with that little …
• Take corrective actions using the scheduler to adjust µServices:
• Scaling (Up and Down) in order to address increase/decrease in load
• Move (affinity/anti-affinity) to avoid issues with noisy neighbors, infected hosts or
potential faulty hardware
• Suspend Execution (security) to eliminate the risk of compromised containers but
leaving them available for forensics.
• Let the Application Owner decide what to watch for and how to
respond to it
Takeaways
• These concepts are to be considered proof of concepts and are an
illustration of where we would like to see the industry move in term of
supporting application intent.
• Some of these features are still not fully implemented (and/or tested),
but some are available at ciscoshipped.io
• We would like to explore interest in the Prometheus community in
supporting/extending some of these concepts.
Next Steps
How to Monitor Application Performance in a Container-Based World

Contenu connexe

En vedette

En vedette (20)

Openstack Summit Container Day Keynote
Openstack Summit Container Day KeynoteOpenstack Summit Container Day Keynote
Openstack Summit Container Day Keynote
 
Turning Containers into Cattle
Turning Containers into CattleTurning Containers into Cattle
Turning Containers into Cattle
 
Managing Container Clusters in OpenStack Native Way
Managing Container Clusters in OpenStack Native WayManaging Container Clusters in OpenStack Native Way
Managing Container Clusters in OpenStack Native Way
 
Webinar container management in OpenStack
Webinar container management in OpenStackWebinar container management in OpenStack
Webinar container management in OpenStack
 
Cloud init and cloud provisioning [openstack summit vancouver]
Cloud init and cloud provisioning [openstack summit vancouver]Cloud init and cloud provisioning [openstack summit vancouver]
Cloud init and cloud provisioning [openstack summit vancouver]
 
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
 
Architecting Ceph Solutions
Architecting Ceph SolutionsArchitecting Ceph Solutions
Architecting Ceph Solutions
 
Who carries your container? Zun or Magnum?
Who carries your container? Zun or Magnum?Who carries your container? Zun or Magnum?
Who carries your container? Zun or Magnum?
 
KubeCon EU 2016: Multi-Tenant Kubernetes
KubeCon EU 2016: Multi-Tenant KubernetesKubeCon EU 2016: Multi-Tenant Kubernetes
KubeCon EU 2016: Multi-Tenant Kubernetes
 
My SQL and Ceph: Head-to-Head Performance Lab
My SQL and Ceph: Head-to-Head Performance LabMy SQL and Ceph: Head-to-Head Performance Lab
My SQL and Ceph: Head-to-Head Performance Lab
 
OpenStack Neutron Behind The Senes
OpenStack Neutron Behind The SenesOpenStack Neutron Behind The Senes
OpenStack Neutron Behind The Senes
 
Zun presentation (OpenStack Barcelona summit)
Zun presentation (OpenStack Barcelona summit)Zun presentation (OpenStack Barcelona summit)
Zun presentation (OpenStack Barcelona summit)
 
TUT18972: Unleash the power of Ceph across the Data Center
TUT18972: Unleash the power of Ceph across the Data CenterTUT18972: Unleash the power of Ceph across the Data Center
TUT18972: Unleash the power of Ceph across the Data Center
 
[Container world 2017] The Questions You're Afraid to Ask about Containers
[Container world 2017] The Questions You're Afraid to Ask about Containers[Container world 2017] The Questions You're Afraid to Ask about Containers
[Container world 2017] The Questions You're Afraid to Ask about Containers
 
State of Containers in OpenStack
State of Containers in OpenStackState of Containers in OpenStack
State of Containers in OpenStack
 
Automating OpenStack Deployment with Fuel
Automating OpenStack Deployment with FuelAutomating OpenStack Deployment with Fuel
Automating OpenStack Deployment with Fuel
 
OpenStack Magnum
OpenStack MagnumOpenStack Magnum
OpenStack Magnum
 
Neutron Network Namespaces and IPtables--A Technical Deep Dive
Neutron Network Namespaces and IPtables--A Technical Deep DiveNeutron Network Namespaces and IPtables--A Technical Deep Dive
Neutron Network Namespaces and IPtables--A Technical Deep Dive
 
OpenStack Best Practices and Considerations - terasky tech day
OpenStack Best Practices and Considerations  - terasky tech dayOpenStack Best Practices and Considerations  - terasky tech day
OpenStack Best Practices and Considerations - terasky tech day
 
Container World 2017!
Container World 2017!Container World 2017!
Container World 2017!
 

Similaire à How to Monitor Application Performance in a Container-Based World

AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...
AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...
AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...
Amazon Web Services
 
Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...
Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...
Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...
Tony Erwin
 
Final_Poster
Final_PosterFinal_Poster
Final_Poster
Accenture
 
Second review presentation
Second review presentationSecond review presentation
Second review presentation
Arvind Krishnaa
 
Flink Forward San Francisco 2018: David Reniz & Dahyr Vergara - "Real-time m...
Flink Forward San Francisco 2018:  David Reniz & Dahyr Vergara - "Real-time m...Flink Forward San Francisco 2018:  David Reniz & Dahyr Vergara - "Real-time m...
Flink Forward San Francisco 2018: David Reniz & Dahyr Vergara - "Real-time m...
Flink Forward
 
Nx ray etisalatnigeria
Nx ray etisalatnigeriaNx ray etisalatnigeria
Nx ray etisalatnigeria
Owoeye Opeyemi
 

Similaire à How to Monitor Application Performance in a Container-Based World (20)

MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
 
Large scale data capture and experimentation platform at Grab
Large scale data capture and experimentation platform at GrabLarge scale data capture and experimentation platform at Grab
Large scale data capture and experimentation platform at Grab
 
Keynote: Trends in Modern Application Development - Gilly Dekel, IBM
Keynote: Trends in Modern Application Development - Gilly Dekel, IBMKeynote: Trends in Modern Application Development - Gilly Dekel, IBM
Keynote: Trends in Modern Application Development - Gilly Dekel, IBM
 
MongoDB.local Atlanta: Introduction to Serverless MongoDB
MongoDB.local Atlanta: Introduction to Serverless MongoDBMongoDB.local Atlanta: Introduction to Serverless MongoDB
MongoDB.local Atlanta: Introduction to Serverless MongoDB
 
AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...
AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...
AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...
 
Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...
Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...
Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...
 
Final_Poster
Final_PosterFinal_Poster
Final_Poster
 
Final_Poster
Final_PosterFinal_Poster
Final_Poster
 
Monitoring with Prometheus
Monitoring with PrometheusMonitoring with Prometheus
Monitoring with Prometheus
 
Second review presentation
Second review presentationSecond review presentation
Second review presentation
 
VAS - VMware CMP
VAS - VMware CMPVAS - VMware CMP
VAS - VMware CMP
 
Shceduling iot application on cloud computing
Shceduling iot application on cloud computingShceduling iot application on cloud computing
Shceduling iot application on cloud computing
 
Evolving your Data Access with MongoDB Stitch - Drew Di Palma
Evolving your Data Access with MongoDB Stitch - Drew Di PalmaEvolving your Data Access with MongoDB Stitch - Drew Di Palma
Evolving your Data Access with MongoDB Stitch - Drew Di Palma
 
Flink Forward San Francisco 2018: David Reniz & Dahyr Vergara - "Real-time m...
Flink Forward San Francisco 2018:  David Reniz & Dahyr Vergara - "Real-time m...Flink Forward San Francisco 2018:  David Reniz & Dahyr Vergara - "Real-time m...
Flink Forward San Francisco 2018: David Reniz & Dahyr Vergara - "Real-time m...
 
MongoDB Stitch Introduction
MongoDB Stitch IntroductionMongoDB Stitch Introduction
MongoDB Stitch Introduction
 
observability pre-release: using prometheus to test and fix new software
observability pre-release: using prometheus to test and fix new softwareobservability pre-release: using prometheus to test and fix new software
observability pre-release: using prometheus to test and fix new software
 
Nx ray etisalatnigeria
Nx ray etisalatnigeriaNx ray etisalatnigeria
Nx ray etisalatnigeria
 
Simplify and Scale Enterprise Spring Apps in the Cloud | March 23, 2023
Simplify and Scale Enterprise Spring Apps in the Cloud | March 23, 2023Simplify and Scale Enterprise Spring Apps in the Cloud | March 23, 2023
Simplify and Scale Enterprise Spring Apps in the Cloud | March 23, 2023
 
ISTIO Deep Dive
ISTIO Deep DiveISTIO Deep Dive
ISTIO Deep Dive
 
Monitoring as Software Validation
Monitoring as Software ValidationMonitoring as Software Validation
Monitoring as Software Validation
 

Plus de Ken Owens

Plus de Ken Owens (8)

Cloud nativecon kubecon final
Cloud nativecon kubecon finalCloud nativecon kubecon final
Cloud nativecon kubecon final
 
Cloud native
Cloud nativeCloud native
Cloud native
 
Enabling application portability with the greatest of ease!
Enabling application portability with the greatest of ease!Enabling application portability with the greatest of ease!
Enabling application portability with the greatest of ease!
 
Enabling Microservices Frameworks to Solve Business Problems
Enabling Microservices Frameworks to Solve  Business ProblemsEnabling Microservices Frameworks to Solve  Business Problems
Enabling Microservices Frameworks to Solve Business Problems
 
StampedeCon 2015 Keynote
StampedeCon 2015 KeynoteStampedeCon 2015 Keynote
StampedeCon 2015 Keynote
 
Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015
 
Application Centric Microservices Architecture
Application Centric Microservices ArchitectureApplication Centric Microservices Architecture
Application Centric Microservices Architecture
 
Keynote upload
Keynote uploadKeynote upload
Keynote upload
 

Dernier

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Dernier (20)

Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
%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
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
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...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
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 🔝✔️✔️
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%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
 
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...
 

How to Monitor Application Performance in a Container-Based World

  • 1. Fabio Giannetti and Ken Owens CloudNative Con - November 8, 2016 How to Monitor Application Performance in a Container-Based World
  • 2. • Problem Statement and Motivations • Proposed Solution • Takeways and Next Steps Agenda
  • 4. As a Application Owner In order to run my application in the best possible way I want to express an application intent and monitor how it stacks to it in real time Problem statement (requirement)
  • 5. Motivations Ability to influence application performance through scale and micro-service (re-)distribution (a.k.a. Application Intent) Visualize aggregated monitoring data for microservice to clearly point at application bottlenecks. Provide a real time feedback that unifies several sources and allows the system to take multiple simultaneous corrective actions.
  • 7. Micro-service Deployment Environments Number of Running Containers Monitoring Data 2
  • 8. cAdvisor µService Metrics Measurements Bus Host Metrics Load Balancer 3 AppIntent Engine Scheduling Actions Security Actions Compound Metrics Actions Alarm/Notificattion Actions Kubernetes / Marathon IDM
  • 10. • Unified Measurements Format • Using a unified format with a handful of pre-set user labels we can correlate data coming from several sources • Measurements Bus • Having a bus allows us to have an ecosystem of producers and consumers that can act independently, at their own pace and needs, e.g. alarms vs. persisters • Compound Measurements • Compound Measurements allows us to combine several metrics and generate new ones that are re-inserted in the bus, we can also use alarms to generate new measurements. Solution Pillars
  • 11. Unified Measurement Model (based on Monasca) { "metric": { "name": "container.cpu.usage.total", "dimensions": { ”project_id": ”this is the application id", ”service_id": ”unique id of the microservice being part of the app”, "env_id": ”this would indicate production, staging, dev etc…", “container_id“: “123…”, "hostName": ”host1" , “any_other_label”: “vvv”}, "timestamp": 1458749286, "value": 6455776114 }, "meta": { "tenantId": ”…..", "region": ”…." }, "creation_time": 1458749286 }
  • 12. Measurement Bus and µServices Worker Node cAdvisor Marathon+Mesos or Kubernetes Cluster schedule container Worker Node Worker Node µService Metrics Measurements Bus Monasca Persister Tenant Container Dimensions become tags, so queries are fast, and are efficiently stored.
  • 14. Compound Measurements µService Metrics Measurements BusAppIntent Engine IF diskWrite GTE 1.4 netSent GTE 2.0 MEASUREMENT(Label, Value)
  • 15. Adding Load Balancer (Traefik) { "metric": { "name":"elapsedMs-traefik", "dimensions": { ”project_id": ”this is the application id", ”service_id": ”unique id of the microservice being part of the app”, "env_id": ”this would indicate production, staging, dev etc…” }, "timestamp":1461198662000, "value":161 }, "meta":{ "tenantId":"19c60964-0621-11e6-bd9b-0242ac110003", "region":"" }, "creation_time":1461198662000 } NOTE: Traefik has no access to the ContainerID and HostName
  • 16. Load Balancer Metrics µService Metrics Measurements Bus Monasca Persister Load Balancer
  • 17. Adding Security Scans (Cisco Norad) { "metric": { "name":”norad_security_scan", "dimensions": { "hostName": ”host1" }, "timestamp":1461198662030, "value":0 }, "meta":{ "tenantId":"19c60964-0621-11e6-bd9b-0242ac110003", "region":"" }, "creation_time":1461198662000 } NOTE: A Host security scan may not have knowledge of the containers
  • 18. Engine cAdvisor µService Metrics Measurements Bus Host Metrics IaaS Metrics Load Balancer Actions Engine Threadshold Engine Proxy Agent AppIntent Complete Solution Container Vulnerability Scan Host Vulnerability Scan
  • 20. • Using a Measurement Bus is possible to create real time alarms based on threadsholds, it is also possible to enable 3rd parties to inject metrics and have them all correlated together: root cause analysis? Not really, but we went a long way with that little … • Take corrective actions using the scheduler to adjust µServices: • Scaling (Up and Down) in order to address increase/decrease in load • Move (affinity/anti-affinity) to avoid issues with noisy neighbors, infected hosts or potential faulty hardware • Suspend Execution (security) to eliminate the risk of compromised containers but leaving them available for forensics. • Let the Application Owner decide what to watch for and how to respond to it Takeaways
  • 21. • These concepts are to be considered proof of concepts and are an illustration of where we would like to see the industry move in term of supporting application intent. • Some of these features are still not fully implemented (and/or tested), but some are available at ciscoshipped.io • We would like to explore interest in the Prometheus community in supporting/extending some of these concepts. Next Steps