Cost Control Across Containers, Cloud, On- Premise, and VMs Mark Lavi Technology Evangelist [email protected]
Feb 17, 2017
Cost Control Across Containers, Cloud, On-Premise, and VMs
Mark LaviTechnology [email protected]
Problems:• Explosive
Growth• Cost Control
Challenges
Agenda
Strategies:• Controlling
Costs• How Much
Can You Save?
Solutions:• Using Calm to
Save• Calm Demo
@booth G10
Market leader implicates industry wide consumptionExplosive Cloud Growth
Cost Control Challenges
• Lack of Visibility
• Transferring Real-world Budgets and Controls
• Application Architecture Issues
Cost Control ChallengesWhy do we have monthly sticker shock?
• Teams provision resources by hand and never turn them off or release associated resources
• Resource ownership unknown:• No meta data or naming convention enforcement• Tracking and allocation of resources using spreadsheets
• Resource overview requires credentials to each account in every provider
Lack of VisibilityWithout oversight, we react to problems.
It worked before, why not now?
• Tool fragmentation prevents global project, team, or department controls; people consume as much as they want
• Management would like to predict and enforce cloud spend so that budgets can be planned by project, team, or department
• Multiple clouds and hybrid infrastructure prevent consistent charge back model
Transferring Real-world Budgets
Can’t we have universal governance?
How do we enable global notification and approval policies for any:
• Business property, e.g.:team, budget, provider account, etc.
• Application life cycle event, e.g.:deployment, maintenance, upgrade, restart, etc.
Transferring Real-world Controls
Carrying forward traditional approaches = technical debt!
Traditional resource planning sizes for maximum capacity:• Some to most capacity wasted every day• Static populations adjusted manually, reactively• You pay for your consumption and waste!
Traditional architectures represent friction on engineering delivery:• Time to market for new features + problem fixes is critical• Monolithic resources remain underutilized and require change
control windows, human error, and downtime• Slow delivery causes customers to go elsewhere!
Application Architecture Issues
Controlling Costs
• Governance and Compliance• Team Budgets• Application Expiration• Elastic Scale and Containerization
Controlling CostsFrom lack of visibility & controls to reinforcing dynamic policies.
We want to manage our people and operations.
1. Role Based Access Control (RBAC):• Administrators versus Designers versus Consumers
2. Audit Trails:• Who did what, where, and when?• How long did it take, how much did it cost?
Expected Results:• Self-service deployments, democratizing operations• Delegatable, point in time forensics and troubleshooting• Streaming Logs for real-time analysis, predictive resource analytics• Integration of all people, tools, and platforms
Governance and Compliance
A team is as strong as its weakest link.
1. Teams + user roles can govern deployments and life cycle operations2. Team budgets can control consumption3. Dashboard overview of the current team spend
Expected Results:• Budgets = quotas: no more unchecked team deployments• Visibility of team and application consumption• Savings: a fixed amount constrains spending
Team Budgets
Dynamic policy enforcement for apps!
1. Configure application deployments to expire2. Restrict application deployments to Developer & QA teams3. Configure policies for team notification and approval
Expected Results:• Self-service deployments and notifications, democratizing operations• Expiration controls deployment lifecycle, sooner than team budgets!• Evolution to ephemeral infrastructure for ephemeral deployments• Savings: variable compared to perpetual deployments
Application Expiration
Dynamic policy enforcement for resources!
1. Infrastructure population should be controlled via monitoring to trigger application tier provisioning operations
2. Application density should increase to resource capacity
Expected Results:• Resource capacity becomes dynamic, elastic based on demand• Containers enable new architectural practices:
• Immutable infrastructure and micro-services• Transition from monolithic hosts to multiple applications per host
• Savings: variable with demand and co-location
Elastic Scale & Containerization
How Much Can You Save?
Fixed Savings:• Governance and Compliance• Team Budgets
Variable % Savings:• Application Expiration• Elastic Scale• Containerization
How Much Money Can You Save?Why do we not have monthly savings sticker shock?
Policy communication is priceless.
Notifications across projects, teams, and providers can give visibility to spend and lifecycle events for teams or management. Examples:
• Notify when overall spend exceeds US$30K on AWS• Require operations approval every time someone resets a VM in
production• Require VP Engineering approval for a hotfix update to production • Notify sales, marketing, support departments when an upgrade
completesSavings depends on controlled versus uncontrolled cost delta per period
Savings: Global Governance
Let’s measure this period and plan the next.
Budgets can help the team and management discuss remaining and adjust next period resource quotas across hybrid IT
Set and forget per period example budget:
• Trigger a notification at 85% spend• Team cannot exceed US$10K deployment costs
Savings depends on controlled versus uncontrolled cost delta per period
Savings: Team Budgets
Stretch your saving!
Using a typical sinusoidal demand model for each local region:• weekday vs. weekend cycle: 30% off is typical• business hour vs off-business hours on weekdays: 50% typical
We can achieve 40+% regional savings (resolution dependent)!( (50% * 5 days/week * 4 weeks * 2/3 day) +(70% * 2 days/week * 4 weeks)) / (30 days/month) = (6.66 + 5.6) / 30= 40.86% monthly savings
Savings: Elastic Scale
Contain your saving!
Assuming a multi-tiered application architecture, e.g.:1. web tier 2. business logic tier
We can co-locate both application tiers on each container host. By placing both tiers per container host, we can achieve 50% savings compared to monolithic tiers
Application dependent savings can increase using container workload schedulers!
Savings: Containerization
Automate the end of the day.
Expiration can control unchecked deployments, encouraging evolution to ephemeral infrastructure
Simply re-deploying each day and expiring 8 business hours later would equal 66% daily savings compared to perpetual deployments for non-production work
When we count weekends off, savings increase further!
Savings: Application Expiration
Using Calm to Save
Show me the money!
Fixed savings compared to uncontrolled (can vary):• Governance and Compliance• Team Budgets
Variable % savings per team, period, and work load:• 66%+ = Application Expiration• 50% = Containerization• 40%+ = Elastic Scale
Usage is exploding: save money before it is spent!
Using Calm to Save
Ready for the demo? Please visit Booth G10!
Calm is a DevOps automation platform that bring together people, tools, and providers via visual infrastructure as code that orchestrates life cycle operations and policies.
Calm Demo: Role Based Access Controlof a hybrid app deployment (containers and VMs)under a team budget with expiration
More demos at Booth G10 including Docker Swarm + K8s!
Visit Calm.io to Save
Calm: Cost Controls
• Budgets: for team/project/etc.• Visibility: for deployments • Policy: lifecycle event approval
Calm: Audits and Analytics
Calm: Hybrid Deployment• Visual infrastructure-as-code• Model your app architecture and
orchestrate dependencies• Span across containers, VMs,
bare metal on public & private clouds and data centers
• Refactor and migrate traditional workloads to containers!
Calm: Lifecycle Management• Run book automation• Orchestrate complex ops• Rolling/Canary updates• Flexible autoscale
Thank [email protected] || @calm_mark || Booth G10Free 50 node/200 container license =https://calm.io/
Slide subtitle if needed
The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
• Bulleted list one• List item two• And item number three
Body Slide
Slide subtitle if needed
The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
• Bulleted list one• List item two• And item number three
Alt Background Body Slide
Demo Slide
~/src/docker/expressApp$ docker build -t chrisdias/expressappSending build context to Docker daemon 72.18mbStep 0 : FROM node:latest–––> 8e20baae42c8Step 1: COPY . /src–––> 8e20baae42c8Removing intermediate container afdcd49c779Step 0 : FROM node:latest–––> 8e20baae42c8Step 1: COPY . /src–––> 8e20baae42c
“Quote Slide!”— Moby