SlideShare a Scribd company logo
1 of 32
StackWatch	
  
Monitoring-­‐as-­‐a-­‐service	
  for	
  Apache	
  
CloudStack	
  
(actually	
  an	
  explora=on	
  around	
  the	
  
edges	
  of	
  Apache	
  CloudStack)	
  
@chiradeep	
  
Disclaimer	
  
•  Developer	
  talk	
  
•  No	
  demo	
  
•  Designed	
  to	
  make	
  you	
  think	
  
	
  
Agenda	
  
•  Introduc=on	
  to	
  StackWatch	
  
•  The	
  design	
  of	
  StackWatch	
  
•  Lessons	
  learned	
  
•  Tips	
  for	
  building	
  your	
  own	
  service	
  
What	
  is	
  StackWatch?	
  
Monitoring-­‐as-­‐a-­‐service	
  for	
  the	
  users	
  of	
  a	
  
CloudStack	
  Cloud	
  
(like	
  AWS	
  CloudWatch)	
  
✔ Store	
  metrics	
  at	
  high	
  fidelity	
  
✔ Retrieve	
  metric	
  sta=s=cs	
  
✔ Graph	
  metrics	
  
✔ Alarms	
  on	
  threshold	
  crossings	
  
✔ Alarm	
  and	
  metric	
  manipula=on	
  
✔ Large	
  Scale	
  (>100k	
  metrics	
  /	
  min)	
  
✔ Mul=-­‐tenant	
  
StackWatch	
  Mo=va=on	
  
•  AutoScale	
  implementa=on	
  
in	
  Apache	
  CloudStack	
  is	
  
adequate	
  but	
  limi=ng	
  
•  Either	
  	
  
– requires	
  Netscaler	
  as	
  a	
  Load	
  
balancer	
  
OR	
  
– Uses	
  hypervisor	
  metrics	
  (and	
  
s=ll	
  requires	
  HAProxy)	
  
AutoScale	
  poten=al	
  improvements	
  
•  Use	
  applica=on	
  metrics	
  
–  BeWer	
  indica=on	
  of	
  applica=on	
  load	
  
•  Scalable	
  implementa=on	
  	
  
–  No	
  polling	
  
–  Alarm	
  driven	
  
•  Fidelity	
  to	
  AWS	
  Autoscale	
  API	
  
•  Independent	
  of	
  LB	
  
•  Flexible	
  scaling	
  ac=on	
  (not	
  just	
  add	
  /	
  remove	
  VM)	
  
Works	
  be)er	
  with	
  Monitoring-­‐as-­‐a-­‐Service	
  
	
  
Non-­‐func=onal	
  requirements	
  
•  Develop	
  in	
  a	
  different	
  (i.e.,	
  not	
  Java)	
  language	
  
– More	
  on	
  this	
  later	
  
•  Testable	
  independent	
  of	
  ACS	
  
– Faster	
  development	
  =me	
  
•  Limited	
  changes	
  to	
  ACS	
  
– Master	
  branch	
  is	
  hard	
  to	
  keep	
  up	
  with,	
  especially	
  
if	
  you	
  code	
  just	
  a	
  few	
  hours	
  every	
  week!	
  
Digression	
  
•  Apache	
  CloudStack	
  can	
  be	
  in=mida=ng	
  
– Lots	
  of	
  features	
  baked	
  in	
  
– Limited	
  test	
  cases	
  
– Requirements	
  behind	
  every	
  logic	
  point	
  
– Well	
  defined	
  extensibility	
  but	
  hard	
  to	
  go	
  beyond	
  
the	
  plugin	
  API	
  
•  Java	
  is	
  the	
  lingua	
  franca	
  
– What	
  if	
  I	
  want	
  to	
  use	
  something	
  else?	
  
The	
  Narrow	
  Waist	
  Model	
  
of	
  the	
  Internet	
  	
  
Innova=on	
  
Innova=on	
  
Hard	
  to	
  change	
  
Apache	
  CloudStack	
  Narrow	
  Waist	
  
ACS	
  Core	
  
XenServer	
   KVM	
   Hyper-­‐V	
   vSphere	
  
NFS	
  	
   ISCSI	
   FC	
   VLAN	
   Overlay	
   CPU	
  
vCenter	
   libVirt	
   WMI	
   SDN	
  
StackMate	
  
DbaaS	
  
LBaaS	
  
MRaaS	
  
PaaS	
  
FWaaS	
  
Technology	
  
Applica=ons	
  
Innova=on	
  
Innova=on	
  
Harder	
  to	
  change	
  
Where	
  do	
  StackWatch	
  and	
  AutoScale	
  belong?	
  
Should	
  network	
  services	
  be	
  applica=ons?	
  
Analy=cs*aaS	
   MLaaS	
  
Example:	
  The	
  VR	
  model	
  inside-­‐out	
  
ACS	
  
1.	
  create	
  network	
  
2.	
  create	
  VR	
  
Hyperv
isor	
  3.	
  create	
  VR	
  VM	
  
VR	
  
4.	
  Program	
  rules	
  
ACS	
  
1.	
  create	
  network	
  
Hyperv
isor	
  3.	
  create	
  VR	
  VM	
  
VR	
  
4.	
  Program	
  rules	
  
2.	
  create	
  VR	
  VM	
  
VR	
  
Service	
  
•  Easier	
  to	
  consume	
  
•  Just	
  works	
  
•  Harder	
  to	
  change	
  
•  Harder	
  to	
  test	
  VR	
  opera=ons	
  
in	
  isola=on	
  
•  Requires	
  developer	
  discipline	
  
to	
  not	
  leak	
  concerns	
  between	
  
internal	
  layers	
  
•  Easier	
  to	
  change	
  
•  Requires	
  more	
  work	
  from	
  
consumer	
  (addi=onal	
  orchestra=on)	
  
•  Opera=onal	
  challenges	
  (HA,	
  state	
  
storage,	
  failure	
  model)	
  
Current	
  model	
  
vs.	
  
Inside	
  out	
  
Micro	
  Services?	
  
a	
  par=cular	
  way	
  of	
  designing	
  sogware	
  
applica=ons	
  as	
  suites	
  of	
  independently	
  
deployable	
  services.	
  	
  
common	
  characteris=cs	
  around	
  organiza=on	
  
around	
  business	
  capability,	
  automated	
  
deployment,	
  intelligence	
  in	
  the	
  endpoints,	
  and	
  
decentralized	
  control	
  of	
  languages	
  and	
  data.	
  	
  
-­‐	
  Mar$n	
  Fowler	
  hWp://mar=nfowler.com/ar=cles/microservices.html	
  
Monolith	
  vs.	
  Microservice	
  
•  Monolith:	
  
–  Change	
  is	
  hard	
  (-­‐)	
  
–  Service	
  automa=cally	
  gets	
  horizontal	
  scale,	
  HA,	
  throWling,	
  
monitoring	
  (+)	
  
–  Easy	
  refactoring	
  (+)	
  
•  Microservice:	
  
–  Easier	
  to	
  change/rewrite	
  and	
  test	
  and	
  deploy	
  (+)	
  
–  Developer	
  falls	
  to	
  Distributed	
  Compu=ng	
  fallacies	
  (-­‐)	
  
•  hWp://en.wikipedia.org/wiki/Fallacies_of_Distributed_Compu=ng	
  
–  Fuzzy	
  service	
  boundaries	
  (-­‐)	
  
–  Service	
  boundaries	
  are	
  harder	
  to	
  change	
  /	
  refactor	
  (-­‐)	
  
AWS	
  Example	
  
•  Service	
  boundaries	
  are	
  defined	
  by	
  API	
  
endpoints.	
  
•  Separate	
  API	
  endpoints	
  for	
  
– EC2	
  
– AutoScale	
  
– CloudWatch	
  
– ELB	
  
– But	
  not	
  VPC,	
  Elas=c	
  IP,	
  etc.	
  
StackWatch	
  Architecture	
  
CloudStack	
  
StackWatch	
  
Riemann	
  
OpenTSDB	
  
PutMetrics/CreateAlarm/	
  
GetStats	
  
Cache	
  
DB	
  
Alarms	
  
Metric	
  Info	
  
AlarmHistory	
  
MetricData	
  +	
  Alarm	
  Cfgè	
  çThreshold	
  Alarm	
  
Creden=al	
  Cache	
  
GetUser	
  
✔ Insert	
  metrics	
  
✔ Retrieve	
  metric	
  sta=s=cs
✔ Graph	
  metrics	
  
✔ Real-­‐=me	
  alarms	
  
Components	
  -­‐	
  OpenTSDB	
  
•  Open	
  Time	
  Series	
  Database	
  
– Front-­‐end	
  to	
  Apache	
  HBase	
  
– OSS	
  project	
  (LGPL	
  license)	
  
•  Store	
  billions	
  of	
  data	
  points	
  
– Indefinitely	
  without	
  losing	
  resolu=on	
  
– Reliable	
  (HDFS	
  replica=on)	
  
– Scalable	
  (HBase)	
  
•  Simple	
  API	
  to	
  store	
  /	
  query	
  data	
  
Component:	
  Riemann	
  
•  High	
  performance	
  stream	
  processor	
  designed	
  for	
  monitoring	
  
infrastructure	
  
–  Flexible,	
  powerful	
  DSL	
  
–  Open	
  Source	
  (Eclipse	
  License)	
  
–  WriWen	
  in	
  Clojure	
  
•  Used	
  to	
  generate	
  Alarms	
  for	
  StackWatch	
  
	
  
Riemann	
  DSL	
  Example	
  
Send	
  an	
  email	
  whenever	
  the	
  average	
  web	
  applica=on	
  latency	
  exceeds	
  6	
  ms	
  over	
  3	
  
periods	
  of	
  3	
  seconds.	
  	
  
	
  
(streams	
  
	
  	
  	
  	
  (where	
  (not	
  (expired?	
  event))	
  
	
  	
  	
  	
  	
  	
  	
  ;;	
  over	
  =me	
  windows	
  of	
  3	
  seconds...	
  
	
  	
  	
  	
  	
  	
  	
  (fixed-­‐$me-­‐window	
  3	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ;;	
  calculate	
  the	
  average	
  value	
  of	
  the	
  metric	
  and	
  emit	
  an	
  average	
  (summary)	
  event	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  (combine	
  folds/mean	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ;;	
  if	
  there	
  are	
  no	
  events	
  in	
  the	
  window,	
  we	
  can	
  get	
  nil	
  events	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  (where	
  (not	
  (nil?	
  event))	
  
	
  	
  	
  	
  	
  	
  ;;	
  collect	
  the	
  summary	
  event	
  over	
  the	
  last	
  3	
  fixed-­‐=me-­‐windows	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  (moving-­‐event-­‐window	
  3	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ;;find	
  the	
  summary	
  event	
  with	
  the	
  minimum	
  average	
  metric	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  (combine	
  folds/minimum	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ;;	
  see	
  if	
  it	
  breached	
  the	
  threshold	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  (where	
  (>	
  metric	
  6.0)	
  
	
   	
  ;;	
  send	
  the	
  event	
  in	
  an	
  email	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  (email	
  ”me@myself.com"))))))	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ))	
  
)	
  
Component:	
  StackWatch	
  
•  API	
  frontend	
  to	
  CloudWatch-­‐like	
  API	
  
•  Stores	
  metric	
  metadata,	
  alarm	
  history	
  in	
  
MySQL	
  
•  API	
  authen=ca=on	
  using	
  signatures	
  	
  
– Authen=cated	
  using	
  secret	
  key	
  from	
  CloudStack	
  
•  WriWen	
  in	
  Clojure	
  
Event-­‐based	
  	
  integra=on	
  
•  CloudWatch	
  API	
  (HTTP	
  Query)	
  
mon-put-data --metric-name RequestLatency --namespace ”WebFrontEnd" --
dimensions ”host=i-2c9e85,Stack=Test" --timestamp 2014-03-25T00:00:00.000Z
--value 4
•  OpenTSDB	
  API	
  (telnet	
  /	
  REST)	
  
put RequestLatency 1395705600 6 host=i-2c9e85 Stack=Test
namespace=WebFrontEnd acct_uuid=56A17202-36C2-46E8-8905-90423040AAA
•  Riemann	
  event	
  (ProtoBuf)	
  
{service: “RequestLatency”, metric: 4, time: 1395705600, host: i-2c9e85,
stack: Test, namespace: “WebFrontEnd”,
acct_uuid:’56A17202-36C2-46E8-8905-90423040AAA’ }
	
   StackWatch	
  
Riemann	
  
OpenTSDB	
  
PutMetrics	
  
MetricDataè	
  
MetricData	
  è	
  
CloudStack	
  Integra=on	
  
•  Need	
  secret	
  key	
  from	
  CloudStack	
  DB	
  
–  GetUser	
  Admin	
  API	
  returns	
  
•  Secret	
  key	
  
•  UUID	
  of	
  Account	
  
•  Secret	
  Key	
  used	
  to	
  authen=cate	
  query	
  API	
  
•  Account	
  UUID	
  usage:	
  
–  Tag	
  metric	
  events	
  sent	
  to	
  OpenTSDB	
  and	
  Riemann	
  
–  Part	
  of	
  primary	
  key	
  in	
  DB	
  
–  E.g.,	
  metric	
  table	
  has	
  columns	
  account_uuid,	
  namespace	
  and	
  
metric_name. Primary	
  key	
  is	
  composite	
  of	
  these	
  columns.	
  
•  User	
  informa=on	
  cached	
  inside	
  app	
  for	
  speed	
  
–  Call	
  GetUser	
  API	
  on	
  cache	
  miss	
  
StackWatch	
  Current	
  Status	
  
•  Clojure	
  Web	
  App	
  
– Uses	
  Ring	
  web	
  framework	
  
– Easy	
  to	
  scale	
  up.	
  E.g.,	
  1000	
  tenants	
  send	
  1000	
  
events	
  per	
  minute	
  =	
  1	
  million	
  events	
  per	
  minute	
  
•  API	
  elements	
  that	
  work	
  
– PutMetricData	
  
– ListMetrics	
  
– GetStats	
  
•  No	
  Web	
  UI	
  
What	
  about	
  AutoScale?	
  
•  CloudStack	
  AutoScale	
  API	
  not	
  fully	
  compa=ble	
  
with	
  AWS	
  
•  AutoScaling	
  service	
  concept	
  
– StackScaler	
  Service	
  (Ruby-­‐on-­‐Rails	
  app)	
  
– Concept	
  only,	
  not	
  implemented	
  
StackScaler	
  Architecture	
  
CloudStack	
  
StackScaler	
  
(RoR	
  app)	
  
AutoScaling	
  API	
  
Create	
  autoscale	
  
group/create-­‐
launch-­‐config	
  /	
  etc.	
  
Cache	
  
DB	
  
AutoScale	
  Groups	
  
Instance	
  Info	
  
Launch	
  Config	
  
History	
  
Alarm	
  Configè	
  
Creden=al	
  Cache	
  
GetUser	
  
StackWatch	
  
(Clojure)	
  
deployVM	
  /	
  
listVM	
  
çThreshold	
  Alarm	
  
Service	
  interac=ons	
  
always	
  use	
  the	
  Public	
  
API	
  
Lessons	
  learnt	
  
•  Service	
  oriented	
  architecture	
  is	
  useful	
  for	
  
– Rapid	
  prototyping	
  /	
  evolu=on	
  
– Using	
  your	
  favorite	
  language	
  
– Using	
  the	
  appropriate	
  frameworks	
  
•  E.g.,	
  undesirable	
  to	
  throw	
  a	
  million	
  PutMetricData	
  API	
  
requests/minute	
  at	
  CloudStack	
  
•  Riemann	
  and	
  OpenTSDB	
  both	
  have	
  incompa=ble	
  
licenses	
  
Lessons	
  learnt	
  
•  But	
  
– Reinvent	
  API	
  parsing,	
  valida=on	
  and	
  
authen=ca=on	
  
– Reinvent	
  clustering,	
  DB	
  abstrac=ons,	
  etc.	
  
– Key	
  management	
  problem	
  (admin	
  keys	
  
distributed	
  to	
  each	
  service)	
  
– Mul=tude	
  of	
  moving	
  parts	
  requires	
  automated	
  
deployment	
  and	
  opera=on	
  
– Unified	
  UI	
  ques=on	
  	
  
	
  
Future	
  
•  Test	
  metric	
  inser=on	
  at	
  scale	
  	
  
– Validate	
  architecture	
  
•  Support	
  complete	
  CloudWatch	
  API	
  
•  Start	
  working	
  on	
  AutoScale	
  service	
  triggered	
  
by	
  StackWatch	
  
The	
  case	
  for	
  a	
  separate	
  service	
  
•  You	
  don’t	
  want	
  to	
  code	
  in	
  Java	
  
•  Your	
  requirements	
  aren’t	
  clear	
  and	
  you	
  want	
  to	
  iterate	
  
quickly	
  
•  Your	
  audience	
  is	
  different	
  (e.g.,	
  DBaaS	
  vs	
  IAAS)	
  
•  CloudStack	
  Public	
  API	
  is	
  perfectly	
  adequate	
  for	
  your	
  
service	
  
•  Your	
  service	
  serves	
  a	
  niche	
  need	
  
–  E.g.,	
  you	
  want	
  to	
  evaluate	
  hypervisors	
  for	
  patching	
  
•  The	
  opera=onal	
  envelope	
  is	
  sufficiently	
  different	
  
–  E.g.,	
  performance,	
  API	
  rate,	
  DB	
  needs,	
  HA,	
  	
  
•  License	
  issues	
  
The	
  case	
  for	
  an	
  in-­‐process	
  service	
  
•  Community	
  advantages	
  
– Many	
  eyes,	
  many	
  users	
  
•  General	
  purpose	
  service	
  with	
  clear-­‐cut	
  
requirements	
  
•  Similar	
  opera=onal	
  envelope	
  to	
  CloudStack	
  
•  Public	
  API	
  is	
  insufficient,	
  need	
  access	
  to	
  
internal	
  APIs	
  
– Consider	
  enhancing	
  the	
  public	
  API	
  first	
  
Weaker	
  case	
  for	
  in-­‐process	
  service	
  
•  To	
  use	
  CloudStack	
  clustering	
  logic	
  
•  To	
  use	
  UI	
  plugin	
  infrastructure	
  	
  
•  To	
  use	
  database	
  layer	
  but	
  only	
  for	
  new	
  tables	
  
•  Joins	
  with	
  exis=ng	
  tables	
  (account	
  /	
  host	
  /	
  etc.)	
  
–  uuid	
  column	
  is	
  your	
  friend.	
  
•  To	
  use	
  API	
  framework	
  
– Perhaps	
  this	
  needs	
  to	
  be	
  an	
  independent	
  component	
  
Niche	
  service	
  examples	
  
•  Hypervisor	
  patching	
  service	
  
– Use	
  admin	
  API	
  to	
  list	
  hypervisors	
  and	
  work	
  off	
  
that	
  list	
  
•  Integrate	
  with	
  your	
  datacenter	
  monitoring	
  /	
  
alarm	
  /	
  CMDB	
  
•  Real-­‐=me	
  repor=ng	
  and	
  correla=on	
  
•  Spot	
  pricing	
  
References	
  
•  OpenTSDB	
  hWp://opentsdb.net/	
  
•  Riemann	
  hWp://riemann.io/index.html	
  
•  Micro	
  Services	
  
hWp://mar=nfowler.com/ar=cles/microservices.html	
  
•  hWp://en.wikipedia.org/wiki/Fallacies_of_Distributed_Compu=ng	
  	
  
	
  

More Related Content

What's hot

Akka Streams - From Zero to Kafka
Akka Streams - From Zero to KafkaAkka Streams - From Zero to Kafka
Akka Streams - From Zero to KafkaMark Harrison
 
Reactive Streams 1.0 and Akka Streams
Reactive Streams 1.0 and Akka StreamsReactive Streams 1.0 and Akka Streams
Reactive Streams 1.0 and Akka StreamsDean Wampler
 
Service Stampede: Surviving a Thousand Services
Service Stampede: Surviving a Thousand ServicesService Stampede: Surviving a Thousand Services
Service Stampede: Surviving a Thousand ServicesAnil Gursel
 
Building Serverless APIs on AWS
Building Serverless APIs on AWSBuilding Serverless APIs on AWS
Building Serverless APIs on AWSJulien SIMON
 
Back-Pressure in Action: Handling High-Burst Workloads with Akka Streams & Kafka
Back-Pressure in Action: Handling High-Burst Workloads with Akka Streams & KafkaBack-Pressure in Action: Handling High-Burst Workloads with Akka Streams & Kafka
Back-Pressure in Action: Handling High-Burst Workloads with Akka Streams & KafkaAkara Sucharitakul
 
Journey into Reactive Streams and Akka Streams
Journey into Reactive Streams and Akka StreamsJourney into Reactive Streams and Akka Streams
Journey into Reactive Streams and Akka StreamsKevin Webber
 
Lessons learned from writing over 300,000 lines of infrastructure code
Lessons learned from writing over 300,000 lines of infrastructure codeLessons learned from writing over 300,000 lines of infrastructure code
Lessons learned from writing over 300,000 lines of infrastructure codeYevgeniy Brikman
 
How to manage large amounts of data with akka streams
How to manage large amounts of data with akka streamsHow to manage large amounts of data with akka streams
How to manage large amounts of data with akka streamsIgor Mielientiev
 
Bootstrapping Microservices with Kafka, Akka and Spark
Bootstrapping Microservices with Kafka, Akka and SparkBootstrapping Microservices with Kafka, Akka and Spark
Bootstrapping Microservices with Kafka, Akka and SparkAlex Silva
 
Akka Streams and HTTP
Akka Streams and HTTPAkka Streams and HTTP
Akka Streams and HTTPRoland Kuhn
 
Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)Julien SIMON
 
Reactive Jersey Client
Reactive Jersey ClientReactive Jersey Client
Reactive Jersey ClientMichal Gajdos
 
Asynchronous stream processing with Akka Streams
Asynchronous stream processing with Akka StreamsAsynchronous stream processing with Akka Streams
Asynchronous stream processing with Akka StreamsJohan Andrén
 
Real World Serverless
Real World ServerlessReal World Serverless
Real World ServerlessPetr Zapletal
 
Netflix Keystone Pipeline at Samza Meetup 10-13-2015
Netflix Keystone Pipeline at Samza Meetup 10-13-2015Netflix Keystone Pipeline at Samza Meetup 10-13-2015
Netflix Keystone Pipeline at Samza Meetup 10-13-2015Monal Daxini
 
(ARC348) Seagull: How Yelp Built A System For Task Execution
(ARC348) Seagull: How Yelp Built A System For Task Execution(ARC348) Seagull: How Yelp Built A System For Task Execution
(ARC348) Seagull: How Yelp Built A System For Task ExecutionAmazon Web Services
 
Specs2 whirlwind tour at Scaladays 2014
Specs2 whirlwind tour at Scaladays 2014Specs2 whirlwind tour at Scaladays 2014
Specs2 whirlwind tour at Scaladays 2014Eric Torreborre
 
Deep Learning at Extreme Scale (in the Cloud) 
with the Apache Kafka Open Sou...
Deep Learning at Extreme Scale (in the Cloud) 
with the Apache Kafka Open Sou...Deep Learning at Extreme Scale (in the Cloud) 
with the Apache Kafka Open Sou...
Deep Learning at Extreme Scale (in the Cloud) 
with the Apache Kafka Open Sou...Kai Wähner
 

What's hot (20)

Akka Streams - From Zero to Kafka
Akka Streams - From Zero to KafkaAkka Streams - From Zero to Kafka
Akka Streams - From Zero to Kafka
 
Reactive Streams 1.0 and Akka Streams
Reactive Streams 1.0 and Akka StreamsReactive Streams 1.0 and Akka Streams
Reactive Streams 1.0 and Akka Streams
 
Reactive Design Patterns
Reactive Design PatternsReactive Design Patterns
Reactive Design Patterns
 
Service Stampede: Surviving a Thousand Services
Service Stampede: Surviving a Thousand ServicesService Stampede: Surviving a Thousand Services
Service Stampede: Surviving a Thousand Services
 
Building Serverless APIs on AWS
Building Serverless APIs on AWSBuilding Serverless APIs on AWS
Building Serverless APIs on AWS
 
Back-Pressure in Action: Handling High-Burst Workloads with Akka Streams & Kafka
Back-Pressure in Action: Handling High-Burst Workloads with Akka Streams & KafkaBack-Pressure in Action: Handling High-Burst Workloads with Akka Streams & Kafka
Back-Pressure in Action: Handling High-Burst Workloads with Akka Streams & Kafka
 
Journey into Reactive Streams and Akka Streams
Journey into Reactive Streams and Akka StreamsJourney into Reactive Streams and Akka Streams
Journey into Reactive Streams and Akka Streams
 
Lessons learned from writing over 300,000 lines of infrastructure code
Lessons learned from writing over 300,000 lines of infrastructure codeLessons learned from writing over 300,000 lines of infrastructure code
Lessons learned from writing over 300,000 lines of infrastructure code
 
Akka streams kafka kinesis
Akka streams kafka kinesisAkka streams kafka kinesis
Akka streams kafka kinesis
 
How to manage large amounts of data with akka streams
How to manage large amounts of data with akka streamsHow to manage large amounts of data with akka streams
How to manage large amounts of data with akka streams
 
Bootstrapping Microservices with Kafka, Akka and Spark
Bootstrapping Microservices with Kafka, Akka and SparkBootstrapping Microservices with Kafka, Akka and Spark
Bootstrapping Microservices with Kafka, Akka and Spark
 
Akka Streams and HTTP
Akka Streams and HTTPAkka Streams and HTTP
Akka Streams and HTTP
 
Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)
 
Reactive Jersey Client
Reactive Jersey ClientReactive Jersey Client
Reactive Jersey Client
 
Asynchronous stream processing with Akka Streams
Asynchronous stream processing with Akka StreamsAsynchronous stream processing with Akka Streams
Asynchronous stream processing with Akka Streams
 
Real World Serverless
Real World ServerlessReal World Serverless
Real World Serverless
 
Netflix Keystone Pipeline at Samza Meetup 10-13-2015
Netflix Keystone Pipeline at Samza Meetup 10-13-2015Netflix Keystone Pipeline at Samza Meetup 10-13-2015
Netflix Keystone Pipeline at Samza Meetup 10-13-2015
 
(ARC348) Seagull: How Yelp Built A System For Task Execution
(ARC348) Seagull: How Yelp Built A System For Task Execution(ARC348) Seagull: How Yelp Built A System For Task Execution
(ARC348) Seagull: How Yelp Built A System For Task Execution
 
Specs2 whirlwind tour at Scaladays 2014
Specs2 whirlwind tour at Scaladays 2014Specs2 whirlwind tour at Scaladays 2014
Specs2 whirlwind tour at Scaladays 2014
 
Deep Learning at Extreme Scale (in the Cloud) 
with the Apache Kafka Open Sou...
Deep Learning at Extreme Scale (in the Cloud) 
with the Apache Kafka Open Sou...Deep Learning at Extreme Scale (in the Cloud) 
with the Apache Kafka Open Sou...
Deep Learning at Extreme Scale (in the Cloud) 
with the Apache Kafka Open Sou...
 

Viewers also liked

Zabbix na Globo.com: implementação e integrações
Zabbix na Globo.com: implementação e integraçõesZabbix na Globo.com: implementação e integrações
Zabbix na Globo.com: implementação e integraçõesFilipe Paternot
 
Zabbix at Globo.com: setup and integrations
Zabbix at Globo.com: setup and integrationsZabbix at Globo.com: setup and integrations
Zabbix at Globo.com: setup and integrationsFilipe Paternot
 
Zabbix para iniciantes
Zabbix para iniciantesZabbix para iniciantes
Zabbix para iniciantesWerneck Costa
 
Monitoring all Elements of Your Database Operations With Zabbix
Monitoring all Elements of Your Database Operations With ZabbixMonitoring all Elements of Your Database Operations With Zabbix
Monitoring all Elements of Your Database Operations With ZabbixZabbix
 
Zabbix meetup RJ: Integrações e opensource
Zabbix meetup RJ: Integrações e opensourceZabbix meetup RJ: Integrações e opensource
Zabbix meetup RJ: Integrações e opensourceFilipe Paternot
 
Zabbix meetup RJ: Infra, tuning e documentação
Zabbix meetup RJ: Infra, tuning e documentaçãoZabbix meetup RJ: Infra, tuning e documentação
Zabbix meetup RJ: Infra, tuning e documentaçãoFilipe Paternot
 
Alexei Vladishev - Zabbix - Monitoring Solution for Everyone
Alexei Vladishev - Zabbix - Monitoring Solution for EveryoneAlexei Vladishev - Zabbix - Monitoring Solution for Everyone
Alexei Vladishev - Zabbix - Monitoring Solution for EveryoneZabbix
 

Viewers also liked (7)

Zabbix na Globo.com: implementação e integrações
Zabbix na Globo.com: implementação e integraçõesZabbix na Globo.com: implementação e integrações
Zabbix na Globo.com: implementação e integrações
 
Zabbix at Globo.com: setup and integrations
Zabbix at Globo.com: setup and integrationsZabbix at Globo.com: setup and integrations
Zabbix at Globo.com: setup and integrations
 
Zabbix para iniciantes
Zabbix para iniciantesZabbix para iniciantes
Zabbix para iniciantes
 
Monitoring all Elements of Your Database Operations With Zabbix
Monitoring all Elements of Your Database Operations With ZabbixMonitoring all Elements of Your Database Operations With Zabbix
Monitoring all Elements of Your Database Operations With Zabbix
 
Zabbix meetup RJ: Integrações e opensource
Zabbix meetup RJ: Integrações e opensourceZabbix meetup RJ: Integrações e opensource
Zabbix meetup RJ: Integrações e opensource
 
Zabbix meetup RJ: Infra, tuning e documentação
Zabbix meetup RJ: Infra, tuning e documentaçãoZabbix meetup RJ: Infra, tuning e documentação
Zabbix meetup RJ: Infra, tuning e documentação
 
Alexei Vladishev - Zabbix - Monitoring Solution for Everyone
Alexei Vladishev - Zabbix - Monitoring Solution for EveryoneAlexei Vladishev - Zabbix - Monitoring Solution for Everyone
Alexei Vladishev - Zabbix - Monitoring Solution for Everyone
 

Similar to StackWatch: A prototype CloudWatch service for CloudStack

Monitoring Weave Cloud with Prometheus
Monitoring Weave Cloud with PrometheusMonitoring Weave Cloud with Prometheus
Monitoring Weave Cloud with PrometheusWeaveworks
 
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECS
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECSWeaveworks at AWS re:Invent 2016: Operations Management with Amazon ECS
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECSWeaveworks
 
Nagios Conference 2014 - Konstantin Benz - Monitoring Openstack The Relations...
Nagios Conference 2014 - Konstantin Benz - Monitoring Openstack The Relations...Nagios Conference 2014 - Konstantin Benz - Monitoring Openstack The Relations...
Nagios Conference 2014 - Konstantin Benz - Monitoring Openstack The Relations...Nagios
 
Planning to Fail #phpne13
Planning to Fail #phpne13Planning to Fail #phpne13
Planning to Fail #phpne13Dave Gardner
 
Apache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's NextApache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's NextPrateek Maheshwari
 
An Introduction to OpenStack Heat
An Introduction to OpenStack HeatAn Introduction to OpenStack Heat
An Introduction to OpenStack HeatMirantis
 
오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015
오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015
오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015Amazon Web Services Korea
 
DevOps, Microservices and Serverless Architecture
DevOps, Microservices and Serverless ArchitectureDevOps, Microservices and Serverless Architecture
DevOps, Microservices and Serverless ArchitectureMikhail Prudnikov
 
RMG203 Cloud Infrastructure and Application Monitoring with Amazon CloudWatch...
RMG203 Cloud Infrastructure and Application Monitoring with Amazon CloudWatch...RMG203 Cloud Infrastructure and Application Monitoring with Amazon CloudWatch...
RMG203 Cloud Infrastructure and Application Monitoring with Amazon CloudWatch...Amazon Web Services
 
An Application Centric Approach to Devops
An Application Centric Approach to DevopsAn Application Centric Approach to Devops
An Application Centric Approach to Devopsdfilppi
 
Netflix Cloud Platform and Open Source
Netflix Cloud Platform and Open SourceNetflix Cloud Platform and Open Source
Netflix Cloud Platform and Open Sourceaspyker
 
Training AWS: Module 9 - CloudWatch
Training AWS: Module 9 - CloudWatchTraining AWS: Module 9 - CloudWatch
Training AWS: Module 9 - CloudWatchBùi Quang Lâm
 
A 60-minute tour of AWS Compute (November 2016)
A 60-minute tour of AWS Compute (November 2016)A 60-minute tour of AWS Compute (November 2016)
A 60-minute tour of AWS Compute (November 2016)Julien SIMON
 
Giles Sirett: Introduction and CloudStack news
Giles Sirett: Introduction and CloudStack news   Giles Sirett: Introduction and CloudStack news
Giles Sirett: Introduction and CloudStack news ShapeBlue
 
AWS Canberra WWPS Summit 2013 - Cloud Computing with AWS: Introduction to AWS
AWS Canberra WWPS Summit 2013 - Cloud Computing with AWS: Introduction to AWSAWS Canberra WWPS Summit 2013 - Cloud Computing with AWS: Introduction to AWS
AWS Canberra WWPS Summit 2013 - Cloud Computing with AWS: Introduction to AWSAmazon Web Services
 
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...MSDEVMTL
 

Similar to StackWatch: A prototype CloudWatch service for CloudStack (20)

Monitoring Weave Cloud with Prometheus
Monitoring Weave Cloud with PrometheusMonitoring Weave Cloud with Prometheus
Monitoring Weave Cloud with Prometheus
 
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECS
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECSWeaveworks at AWS re:Invent 2016: Operations Management with Amazon ECS
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECS
 
Nagios Conference 2014 - Konstantin Benz - Monitoring Openstack The Relations...
Nagios Conference 2014 - Konstantin Benz - Monitoring Openstack The Relations...Nagios Conference 2014 - Konstantin Benz - Monitoring Openstack The Relations...
Nagios Conference 2014 - Konstantin Benz - Monitoring Openstack The Relations...
 
Planning to Fail #phpne13
Planning to Fail #phpne13Planning to Fail #phpne13
Planning to Fail #phpne13
 
Serverless Microservices
Serverless MicroservicesServerless Microservices
Serverless Microservices
 
Apache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's NextApache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's Next
 
VAaaS
VAaaSVAaaS
VAaaS
 
An Introduction to OpenStack Heat
An Introduction to OpenStack HeatAn Introduction to OpenStack Heat
An Introduction to OpenStack Heat
 
App fabric introduction
App fabric introductionApp fabric introduction
App fabric introduction
 
오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015
오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015
오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015
 
DevOps, Microservices and Serverless Architecture
DevOps, Microservices and Serverless ArchitectureDevOps, Microservices and Serverless Architecture
DevOps, Microservices and Serverless Architecture
 
RMG203 Cloud Infrastructure and Application Monitoring with Amazon CloudWatch...
RMG203 Cloud Infrastructure and Application Monitoring with Amazon CloudWatch...RMG203 Cloud Infrastructure and Application Monitoring with Amazon CloudWatch...
RMG203 Cloud Infrastructure and Application Monitoring with Amazon CloudWatch...
 
Cloud Management with vRealize Operations
Cloud Management with vRealize OperationsCloud Management with vRealize Operations
Cloud Management with vRealize Operations
 
An Application Centric Approach to Devops
An Application Centric Approach to DevopsAn Application Centric Approach to Devops
An Application Centric Approach to Devops
 
Netflix Cloud Platform and Open Source
Netflix Cloud Platform and Open SourceNetflix Cloud Platform and Open Source
Netflix Cloud Platform and Open Source
 
Training AWS: Module 9 - CloudWatch
Training AWS: Module 9 - CloudWatchTraining AWS: Module 9 - CloudWatch
Training AWS: Module 9 - CloudWatch
 
A 60-minute tour of AWS Compute (November 2016)
A 60-minute tour of AWS Compute (November 2016)A 60-minute tour of AWS Compute (November 2016)
A 60-minute tour of AWS Compute (November 2016)
 
Giles Sirett: Introduction and CloudStack news
Giles Sirett: Introduction and CloudStack news   Giles Sirett: Introduction and CloudStack news
Giles Sirett: Introduction and CloudStack news
 
AWS Canberra WWPS Summit 2013 - Cloud Computing with AWS: Introduction to AWS
AWS Canberra WWPS Summit 2013 - Cloud Computing with AWS: Introduction to AWSAWS Canberra WWPS Summit 2013 - Cloud Computing with AWS: Introduction to AWS
AWS Canberra WWPS Summit 2013 - Cloud Computing with AWS: Introduction to AWS
 
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
 

More from Chiradeep Vittal

Loadbalancers: The fabric for your micro services
Loadbalancers: The fabric for your micro servicesLoadbalancers: The fabric for your micro services
Loadbalancers: The fabric for your micro servicesChiradeep Vittal
 
Load Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native ArchitectureLoad Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native ArchitectureChiradeep Vittal
 
Load Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native ArchitectureLoad Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native ArchitectureChiradeep Vittal
 
Directions for CloudStack Networking
Directions for CloudStack  NetworkingDirections for CloudStack  Networking
Directions for CloudStack NetworkingChiradeep Vittal
 
Private cloud networking_cloudstack_days_austin
Private cloud networking_cloudstack_days_austinPrivate cloud networking_cloudstack_days_austin
Private cloud networking_cloudstack_days_austinChiradeep Vittal
 
Network Functions Virtualization and CloudStack
Network Functions Virtualization and CloudStackNetwork Functions Virtualization and CloudStack
Network Functions Virtualization and CloudStackChiradeep Vittal
 
CloudStack Networking Deepdive CCCEU13
CloudStack Networking Deepdive CCCEU13CloudStack Networking Deepdive CCCEU13
CloudStack Networking Deepdive CCCEU13Chiradeep Vittal
 
StackMate - CloudFormation for CloudStack
StackMate - CloudFormation for CloudStackStackMate - CloudFormation for CloudStack
StackMate - CloudFormation for CloudStackChiradeep Vittal
 
SDN in Apache CloudStack (ApacheCon NA 2013)
SDN in Apache CloudStack (ApacheCon NA 2013)SDN in Apache CloudStack (ApacheCon NA 2013)
SDN in Apache CloudStack (ApacheCon NA 2013)Chiradeep Vittal
 
Scalable Object Storage with Apache CloudStack and Apache Hadoop
Scalable Object Storage with Apache CloudStack and Apache HadoopScalable Object Storage with Apache CloudStack and Apache Hadoop
Scalable Object Storage with Apache CloudStack and Apache HadoopChiradeep Vittal
 
Networking in the Cloud Age (LISA 2012 Tutorial)
Networking in the Cloud Age (LISA 2012 Tutorial)Networking in the Cloud Age (LISA 2012 Tutorial)
Networking in the Cloud Age (LISA 2012 Tutorial)Chiradeep Vittal
 
The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)
The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)
The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)Chiradeep Vittal
 
Evolution of CloudStack Architecture (Collab 2012)
Evolution of CloudStack Architecture (Collab 2012)Evolution of CloudStack Architecture (Collab 2012)
Evolution of CloudStack Architecture (Collab 2012)Chiradeep Vittal
 
Scalable networking in Apache CloudStack
Scalable networking in Apache CloudStackScalable networking in Apache CloudStack
Scalable networking in Apache CloudStackChiradeep Vittal
 

More from Chiradeep Vittal (15)

Loadbalancers: The fabric for your micro services
Loadbalancers: The fabric for your micro servicesLoadbalancers: The fabric for your micro services
Loadbalancers: The fabric for your micro services
 
Load Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native ArchitectureLoad Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native Architecture
 
Load Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native ArchitectureLoad Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native Architecture
 
Directions for CloudStack Networking
Directions for CloudStack  NetworkingDirections for CloudStack  Networking
Directions for CloudStack Networking
 
Private cloud networking_cloudstack_days_austin
Private cloud networking_cloudstack_days_austinPrivate cloud networking_cloudstack_days_austin
Private cloud networking_cloudstack_days_austin
 
Network Functions Virtualization and CloudStack
Network Functions Virtualization and CloudStackNetwork Functions Virtualization and CloudStack
Network Functions Virtualization and CloudStack
 
CloudStack Networking Deepdive CCCEU13
CloudStack Networking Deepdive CCCEU13CloudStack Networking Deepdive CCCEU13
CloudStack Networking Deepdive CCCEU13
 
StackMate - CloudFormation for CloudStack
StackMate - CloudFormation for CloudStackStackMate - CloudFormation for CloudStack
StackMate - CloudFormation for CloudStack
 
SDN in Apache CloudStack (ApacheCon NA 2013)
SDN in Apache CloudStack (ApacheCon NA 2013)SDN in Apache CloudStack (ApacheCon NA 2013)
SDN in Apache CloudStack (ApacheCon NA 2013)
 
Scalable Object Storage with Apache CloudStack and Apache Hadoop
Scalable Object Storage with Apache CloudStack and Apache HadoopScalable Object Storage with Apache CloudStack and Apache Hadoop
Scalable Object Storage with Apache CloudStack and Apache Hadoop
 
Networking in the Cloud Age (LISA 2012 Tutorial)
Networking in the Cloud Age (LISA 2012 Tutorial)Networking in the Cloud Age (LISA 2012 Tutorial)
Networking in the Cloud Age (LISA 2012 Tutorial)
 
The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)
The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)
The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)
 
Evolution of CloudStack Architecture (Collab 2012)
Evolution of CloudStack Architecture (Collab 2012)Evolution of CloudStack Architecture (Collab 2012)
Evolution of CloudStack Architecture (Collab 2012)
 
Scalable networking in Apache CloudStack
Scalable networking in Apache CloudStackScalable networking in Apache CloudStack
Scalable networking in Apache CloudStack
 
CloudStack + SDN
CloudStack + SDNCloudStack + SDN
CloudStack + SDN
 

Recently uploaded

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 

Recently uploaded (20)

Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 

StackWatch: A prototype CloudWatch service for CloudStack

  • 1. StackWatch   Monitoring-­‐as-­‐a-­‐service  for  Apache   CloudStack   (actually  an  explora=on  around  the   edges  of  Apache  CloudStack)   @chiradeep  
  • 2. Disclaimer   •  Developer  talk   •  No  demo   •  Designed  to  make  you  think    
  • 3. Agenda   •  Introduc=on  to  StackWatch   •  The  design  of  StackWatch   •  Lessons  learned   •  Tips  for  building  your  own  service  
  • 4. What  is  StackWatch?   Monitoring-­‐as-­‐a-­‐service  for  the  users  of  a   CloudStack  Cloud   (like  AWS  CloudWatch)   ✔ Store  metrics  at  high  fidelity   ✔ Retrieve  metric  sta=s=cs   ✔ Graph  metrics   ✔ Alarms  on  threshold  crossings   ✔ Alarm  and  metric  manipula=on   ✔ Large  Scale  (>100k  metrics  /  min)   ✔ Mul=-­‐tenant  
  • 5. StackWatch  Mo=va=on   •  AutoScale  implementa=on   in  Apache  CloudStack  is   adequate  but  limi=ng   •  Either     – requires  Netscaler  as  a  Load   balancer   OR   – Uses  hypervisor  metrics  (and   s=ll  requires  HAProxy)  
  • 6. AutoScale  poten=al  improvements   •  Use  applica=on  metrics   –  BeWer  indica=on  of  applica=on  load   •  Scalable  implementa=on     –  No  polling   –  Alarm  driven   •  Fidelity  to  AWS  Autoscale  API   •  Independent  of  LB   •  Flexible  scaling  ac=on  (not  just  add  /  remove  VM)   Works  be)er  with  Monitoring-­‐as-­‐a-­‐Service    
  • 7. Non-­‐func=onal  requirements   •  Develop  in  a  different  (i.e.,  not  Java)  language   – More  on  this  later   •  Testable  independent  of  ACS   – Faster  development  =me   •  Limited  changes  to  ACS   – Master  branch  is  hard  to  keep  up  with,  especially   if  you  code  just  a  few  hours  every  week!  
  • 8. Digression   •  Apache  CloudStack  can  be  in=mida=ng   – Lots  of  features  baked  in   – Limited  test  cases   – Requirements  behind  every  logic  point   – Well  defined  extensibility  but  hard  to  go  beyond   the  plugin  API   •  Java  is  the  lingua  franca   – What  if  I  want  to  use  something  else?  
  • 9. The  Narrow  Waist  Model   of  the  Internet     Innova=on   Innova=on   Hard  to  change  
  • 10. Apache  CloudStack  Narrow  Waist   ACS  Core   XenServer   KVM   Hyper-­‐V   vSphere   NFS     ISCSI   FC   VLAN   Overlay   CPU   vCenter   libVirt   WMI   SDN   StackMate   DbaaS   LBaaS   MRaaS   PaaS   FWaaS   Technology   Applica=ons   Innova=on   Innova=on   Harder  to  change   Where  do  StackWatch  and  AutoScale  belong?   Should  network  services  be  applica=ons?   Analy=cs*aaS   MLaaS  
  • 11. Example:  The  VR  model  inside-­‐out   ACS   1.  create  network   2.  create  VR   Hyperv isor  3.  create  VR  VM   VR   4.  Program  rules   ACS   1.  create  network   Hyperv isor  3.  create  VR  VM   VR   4.  Program  rules   2.  create  VR  VM   VR   Service   •  Easier  to  consume   •  Just  works   •  Harder  to  change   •  Harder  to  test  VR  opera=ons   in  isola=on   •  Requires  developer  discipline   to  not  leak  concerns  between   internal  layers   •  Easier  to  change   •  Requires  more  work  from   consumer  (addi=onal  orchestra=on)   •  Opera=onal  challenges  (HA,  state   storage,  failure  model)   Current  model   vs.   Inside  out  
  • 12. Micro  Services?   a  par=cular  way  of  designing  sogware   applica=ons  as  suites  of  independently   deployable  services.     common  characteris=cs  around  organiza=on   around  business  capability,  automated   deployment,  intelligence  in  the  endpoints,  and   decentralized  control  of  languages  and  data.     -­‐  Mar$n  Fowler  hWp://mar=nfowler.com/ar=cles/microservices.html  
  • 13. Monolith  vs.  Microservice   •  Monolith:   –  Change  is  hard  (-­‐)   –  Service  automa=cally  gets  horizontal  scale,  HA,  throWling,   monitoring  (+)   –  Easy  refactoring  (+)   •  Microservice:   –  Easier  to  change/rewrite  and  test  and  deploy  (+)   –  Developer  falls  to  Distributed  Compu=ng  fallacies  (-­‐)   •  hWp://en.wikipedia.org/wiki/Fallacies_of_Distributed_Compu=ng   –  Fuzzy  service  boundaries  (-­‐)   –  Service  boundaries  are  harder  to  change  /  refactor  (-­‐)  
  • 14. AWS  Example   •  Service  boundaries  are  defined  by  API   endpoints.   •  Separate  API  endpoints  for   – EC2   – AutoScale   – CloudWatch   – ELB   – But  not  VPC,  Elas=c  IP,  etc.  
  • 15. StackWatch  Architecture   CloudStack   StackWatch   Riemann   OpenTSDB   PutMetrics/CreateAlarm/   GetStats   Cache   DB   Alarms   Metric  Info   AlarmHistory   MetricData  +  Alarm  Cfgè  çThreshold  Alarm   Creden=al  Cache   GetUser   ✔ Insert  metrics   ✔ Retrieve  metric  sta=s=cs ✔ Graph  metrics   ✔ Real-­‐=me  alarms  
  • 16. Components  -­‐  OpenTSDB   •  Open  Time  Series  Database   – Front-­‐end  to  Apache  HBase   – OSS  project  (LGPL  license)   •  Store  billions  of  data  points   – Indefinitely  without  losing  resolu=on   – Reliable  (HDFS  replica=on)   – Scalable  (HBase)   •  Simple  API  to  store  /  query  data  
  • 17. Component:  Riemann   •  High  performance  stream  processor  designed  for  monitoring   infrastructure   –  Flexible,  powerful  DSL   –  Open  Source  (Eclipse  License)   –  WriWen  in  Clojure   •  Used  to  generate  Alarms  for  StackWatch    
  • 18. Riemann  DSL  Example   Send  an  email  whenever  the  average  web  applica=on  latency  exceeds  6  ms  over  3   periods  of  3  seconds.       (streams          (where  (not  (expired?  event))                ;;  over  =me  windows  of  3  seconds...                (fixed-­‐$me-­‐window  3                      ;;  calculate  the  average  value  of  the  metric  and  emit  an  average  (summary)  event                      (combine  folds/mean                          ;;  if  there  are  no  events  in  the  window,  we  can  get  nil  events                          (where  (not  (nil?  event))              ;;  collect  the  summary  event  over  the  last  3  fixed-­‐=me-­‐windows                                  (moving-­‐event-­‐window  3                                        ;;find  the  summary  event  with  the  minimum  average  metric                                        (combine  folds/minimum                                              ;;  see  if  it  breached  the  threshold                                              (where  (>  metric  6.0)      ;;  send  the  event  in  an  email                                                (email  ”me@myself.com"))))))                          ))   )  
  • 19. Component:  StackWatch   •  API  frontend  to  CloudWatch-­‐like  API   •  Stores  metric  metadata,  alarm  history  in   MySQL   •  API  authen=ca=on  using  signatures     – Authen=cated  using  secret  key  from  CloudStack   •  WriWen  in  Clojure  
  • 20. Event-­‐based    integra=on   •  CloudWatch  API  (HTTP  Query)   mon-put-data --metric-name RequestLatency --namespace ”WebFrontEnd" -- dimensions ”host=i-2c9e85,Stack=Test" --timestamp 2014-03-25T00:00:00.000Z --value 4 •  OpenTSDB  API  (telnet  /  REST)   put RequestLatency 1395705600 6 host=i-2c9e85 Stack=Test namespace=WebFrontEnd acct_uuid=56A17202-36C2-46E8-8905-90423040AAA •  Riemann  event  (ProtoBuf)   {service: “RequestLatency”, metric: 4, time: 1395705600, host: i-2c9e85, stack: Test, namespace: “WebFrontEnd”, acct_uuid:’56A17202-36C2-46E8-8905-90423040AAA’ }   StackWatch   Riemann   OpenTSDB   PutMetrics   MetricDataè   MetricData  è  
  • 21. CloudStack  Integra=on   •  Need  secret  key  from  CloudStack  DB   –  GetUser  Admin  API  returns   •  Secret  key   •  UUID  of  Account   •  Secret  Key  used  to  authen=cate  query  API   •  Account  UUID  usage:   –  Tag  metric  events  sent  to  OpenTSDB  and  Riemann   –  Part  of  primary  key  in  DB   –  E.g.,  metric  table  has  columns  account_uuid,  namespace  and   metric_name. Primary  key  is  composite  of  these  columns.   •  User  informa=on  cached  inside  app  for  speed   –  Call  GetUser  API  on  cache  miss  
  • 22. StackWatch  Current  Status   •  Clojure  Web  App   – Uses  Ring  web  framework   – Easy  to  scale  up.  E.g.,  1000  tenants  send  1000   events  per  minute  =  1  million  events  per  minute   •  API  elements  that  work   – PutMetricData   – ListMetrics   – GetStats   •  No  Web  UI  
  • 23. What  about  AutoScale?   •  CloudStack  AutoScale  API  not  fully  compa=ble   with  AWS   •  AutoScaling  service  concept   – StackScaler  Service  (Ruby-­‐on-­‐Rails  app)   – Concept  only,  not  implemented  
  • 24. StackScaler  Architecture   CloudStack   StackScaler   (RoR  app)   AutoScaling  API   Create  autoscale   group/create-­‐ launch-­‐config  /  etc.   Cache   DB   AutoScale  Groups   Instance  Info   Launch  Config   History   Alarm  Configè   Creden=al  Cache   GetUser   StackWatch   (Clojure)   deployVM  /   listVM   çThreshold  Alarm   Service  interac=ons   always  use  the  Public   API  
  • 25. Lessons  learnt   •  Service  oriented  architecture  is  useful  for   – Rapid  prototyping  /  evolu=on   – Using  your  favorite  language   – Using  the  appropriate  frameworks   •  E.g.,  undesirable  to  throw  a  million  PutMetricData  API   requests/minute  at  CloudStack   •  Riemann  and  OpenTSDB  both  have  incompa=ble   licenses  
  • 26. Lessons  learnt   •  But   – Reinvent  API  parsing,  valida=on  and   authen=ca=on   – Reinvent  clustering,  DB  abstrac=ons,  etc.   – Key  management  problem  (admin  keys   distributed  to  each  service)   – Mul=tude  of  moving  parts  requires  automated   deployment  and  opera=on   – Unified  UI  ques=on      
  • 27. Future   •  Test  metric  inser=on  at  scale     – Validate  architecture   •  Support  complete  CloudWatch  API   •  Start  working  on  AutoScale  service  triggered   by  StackWatch  
  • 28. The  case  for  a  separate  service   •  You  don’t  want  to  code  in  Java   •  Your  requirements  aren’t  clear  and  you  want  to  iterate   quickly   •  Your  audience  is  different  (e.g.,  DBaaS  vs  IAAS)   •  CloudStack  Public  API  is  perfectly  adequate  for  your   service   •  Your  service  serves  a  niche  need   –  E.g.,  you  want  to  evaluate  hypervisors  for  patching   •  The  opera=onal  envelope  is  sufficiently  different   –  E.g.,  performance,  API  rate,  DB  needs,  HA,     •  License  issues  
  • 29. The  case  for  an  in-­‐process  service   •  Community  advantages   – Many  eyes,  many  users   •  General  purpose  service  with  clear-­‐cut   requirements   •  Similar  opera=onal  envelope  to  CloudStack   •  Public  API  is  insufficient,  need  access  to   internal  APIs   – Consider  enhancing  the  public  API  first  
  • 30. Weaker  case  for  in-­‐process  service   •  To  use  CloudStack  clustering  logic   •  To  use  UI  plugin  infrastructure     •  To  use  database  layer  but  only  for  new  tables   •  Joins  with  exis=ng  tables  (account  /  host  /  etc.)   –  uuid  column  is  your  friend.   •  To  use  API  framework   – Perhaps  this  needs  to  be  an  independent  component  
  • 31. Niche  service  examples   •  Hypervisor  patching  service   – Use  admin  API  to  list  hypervisors  and  work  off   that  list   •  Integrate  with  your  datacenter  monitoring  /   alarm  /  CMDB   •  Real-­‐=me  repor=ng  and  correla=on   •  Spot  pricing  
  • 32. References   •  OpenTSDB  hWp://opentsdb.net/   •  Riemann  hWp://riemann.io/index.html   •  Micro  Services   hWp://mar=nfowler.com/ar=cles/microservices.html   •  hWp://en.wikipedia.org/wiki/Fallacies_of_Distributed_Compu=ng