Skip to content
This repository has been archived by the owner on Aug 30, 2024. It is now read-only.

trinity 3.3 spec

Steve Jones edited this page Sep 6, 2017 · 4 revisions

Table of Contents

Trinity Use Case

Briefly, the use case is:

  1. A horizontally scalable app whose instances are managed as an autoscaling group (ASG)
  2. The ASG registers its instances w/ an ELB
  3. The ELB produces metrics that are available through CloudWatch
  4. The ELB metrics are used to compute a custom metric which factors in other values, too.
  5. The custom metric is put back into CloudWatch
  6. The custom metric is used to drive a CloudWatch alarm
  7. The CloudWatch alarm action triggers the execution of the ASG's scaling policy.

Service Implications

Autoscaling

  • Define an Autoscaling group
  • ASG definition identifies related load balancer
  • ASG can use ELB health check type
  • ASG scaling policies invokable through ExecutePolicy

CloudWatch

  • PutMetricData can be used to submit custom metric
  • GetMetricStatistics can be used on system and custom metrics
  • Alarms can be defined
  • Alarm actions are working

ELB

  • Registering instances is possible
  • Gathers AWS defined metrics for load balancers

Service Interactions

  • Autoscaling -> ELB: ASG registers member instances with ELB
  • ELB -> CW: AWS defined system metrics are submitted to CW
  • User -> CW: Can compute statistics on system metrics
  • User -> CW: Can submit custom metrics
  • CW -> Autoscaling: CW alarm action triggers scaling policy execution for autoscaling group

tag:rls-3.3 tag:trinity tag:autoscaling tag:cloudwatch tag:elb



Clone this wiki locally