During this practical presentation, you will learn:
* Our approach to cloud architecture and optimisation
* Understanding your total cost of ownership (TCO)
* 3 techniques to reduce your cloud bill
* Open source tools you can use to accelerate your path to success
Learn more at https://dius.com.au/cloud-optimisation/
2. Introduction
CLOUD OPTIMISATION
● Welcome
● Who we are
● What you will learn
○ How we approach cloud architecture and deployments
○ TCO and ROI considerations
○ 3 techniques for good cloud hygiene
○ 3 tips reducing your bill
5. Problem (Start with the customer!)
● Understand the context
● What are the project objectives
Solution (Architecture)
● Operational excellence
● Security
● Reliability
● Performance efficiency
● Cost
Total cost of ownership
● Do we need to build for now or the future?
● How do we view the performance of existing investments?
Approach to cloud architecture
CLOUD OPTIMISATION
6. Start with the customer!
● Understand the context
● What are the project objectives
Architecture
● Operational excellence
● Security
● Reliability
● Performance efficiency
● Cost
Total cost of ownership
● Investment decisions: do we need to build for now or the future?
Approach to cloud architecture
CLOUD OPTIMISATION
8. Scenario
As a result of COVID-19, there has been an increase in demand for our signature fidget
spinner product and there is an opportunity to create a digital version.
Our innovation team has created a web-based product that allows school-aged
children to distract each other during recess, addressing a key pain point for parents
working from home.
Mission
Compare TCO of internal ECS platform build with a Beanstalk (PaaS) deployment to
release this new app to market.
Example TCO: Internal Platform v PaaS
CLOUD OPTIMISATION
9. Assumptions
● Cost of delay of $5k a week
● $1k per day engineer labour cost
● 5% monthly growth in usage
Model over 3 year investment period
Example TCO: Internal Platform v PaaS
CLOUD OPTIMISATION
10. Example TCO: Internal Platform v PaaS
CLOUD OPTIMISATION
Internal Platform
● 8 weeks to create an initial platform (2 developers)
● 2 days a month of maintenance (tuning, tools etc.)
● $500 monthly AWS bill (assume flat costs)
PaaS
● 1 week to setup initial platform (2 developers)
● ½ day a month of platform maintenance
● $1.5k monthly AWS bill
● 5% monthly growth in bill as new workloads
12. Lessons
CLOUD OPTIMISATION
● Operational economics vary significantly on key decisions
● Understanding CD3 and initial build costs
● Understand ongoing maintenance
Platforms often take years to yield a return on investment (ROI)
14. Landing zones are a way for customers
to rapidly set up a secure account
structure and workload environment
based on best practices, without
compromising on security and
governance.
CLOUD OPTIMISATION
#1 Setting up your landing zone
Source: https://aws.amazon.com/solutions/implementations/aws-landing-zone/
15. CLOUD OPTIMISATION
#2 Tagging resources
Tags are one of the key ways to
organise, group and manage resources
within your cloud environment.
Source: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html
16. CLOUD OPTIMISATION
Why tag resources?
Cost Management
● Visibility
● Accountability
● Target costs and measure more effectively
Automation
● Prevent orphaned / unmanaged resources
● Automate common activities for resources
of certain types and tag
Security, Governance & Compliance
● Apply general security or other policies to
resources with
Source: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html
18. CLOUD OPTIMISATION
#3 Shutdown environments
when not in use
Non-prod environments often account
for the greater portion of cloud bills.
Save up to 70% of our cloud bill by
turning them off when not in use.
19. #3 Shut down non-prod environments
when not in use
CLOUD OPTIMISATION
Challenges
● Impact to development team
● It optimises in broad strokes, not
granular
● Load balancing groups!
● What time(zone) is the server in?
How to do it
● Tag your resources
● Schedule / on-demand shutdowns
● SlackOps
● On first build of the day
Tools
● https://github.com/srbartlett/ec2-blackout
● https://github.com/nib-health-funds/hamm
ertime
20. CLOUD OPTIMISATION
#4 Use spot instances
Cloud providers have a large capacity of
unused servers that are able to be used
at a fraction of their listed price.
Save up to 80% or 90% of your bill.
Source: https://cloud.google.com/preemptible-vms
21. Why it’s good
● Save up to 80 or 90% on cloud bills
How to do it
● Great for offline / non-critical
workloads
○ non-prod environments
○ Batch processing
○ Ad-hoc
#4 Use spot instances (cloud spare capacity)
CLOUD OPTIMISATION
Tools
● Autospotting
Challenges
● Workloads need to be carefully
selected
● Handling instance removal
22. CLOUD OPTIMISATION
#5 Terminate untagged resources
Resources that do not confirm to your tagging (or other) policies can be terminated
to prevent cost leaks.
23. Why it’s good
● Enforces good hygiene
● Enables compliance & governance
● Reduces accidental costs
How to do it
● Tagging
● Configuration policies
● Automation
#5 Terminate untagged resources
CLOUD OPTIMISATION
Challenges
● Production 😱!
● Communicating to teams
24. CLOUD OPTIMISATION
#6 Automate with Infrastructure as Code (IaC)
DevOps practices such as continuous
integration (CI) and IaC ensures you get
the most out of your cloud optimisation
efforts.
25. Why it’s good
● Faster
● Safer
● Reliable
How to do it
● Tools:
○ Cloudformation
○ Terraform
○ Ansible/Puppet/Chef
○ Lots!
#6 Automate with Infrastructure as Code
CLOUD OPTIMISATION
Levels of maturity
● ClickOps
● CLI/API instead of console
● Scripts
● IaC tools
● Source control
● Only run it in a pipeline
27. Summary
CLOUD OPTIMISATION
● Cloud architecture and best practices is contextual
● Think about your TCO
● Landing Zone and Tagging (form the basis)
● Cost techniques
○ Shutdown environments
○ Use spot instances
○ Terminate non-conforming resources
● Use DevOps practices such as IaC