AWS allows companies to rapidly innovate. Development can be so quick that focus is often on fast delivery rather than cost. Since resources are billed by the hour, there is little risk in bringing up new instances, if it aids development.
Costs start to mount when those instances take on production roles. Cost optimisation is normally neglected or left till last. A health check will review your
entire AWS infrastructure and identify opportunities for saving money, without negative impact to service availability or performance.
Taking into consideration factors such as automated best practice checks, cost optimization, inventory management, and utilization reporting, we build a
comparison of how much your infrastructure could cost vs the current running cost.
Load Balancing and Autoscaling give the potential for fault tolerance, but the underlying architecture (and application) needs to be designed to take advantage of this. We can help with workshopping different failure modes, to ensure that
the application infrastructure is designed to be resilient to multiple types of failure.
For customers serving applications and web endpoints to a global audience, CloudFront allows data to be cached at edge locations globally. Newer technologies such as Lambda@Edge, enable more complex application logic to be
pushed closer to end users, decreasing latency.
At the database level, we can use technologies such as Aurora to implement clusters of database servers across availability zones, and then to roll out read replica databases across multiple regions, if required.
Basic Health Check
Our basic cost optimisation health check looks at ways of reducing costs in the following areas:
- Data Transfer Costs – We analyse data transfer, ensuring that communication between instances is done via private rather than public IPs. We look at utilisation of CloudFront for content delivery.
- RDS Databases – Analysis of reserved instances and database usage
- EC2 – Analysis of reserved instances and usage
- AWS Budgets – Use of AWS budgets and resource tagging to focus spend per project
- S3 Optimisation – Examination of data usage, different S3 classes, Glacier Enhanced Health checks: Our enhanced cost optimisation health check goes far beyond the data and analysis you’d get from automated tools, and covers:
- Lambda – Could workflows be moved to Lambda to reduce fixed server costs?
- EBS Resizing – Can EBS volumes be shrunk and dynamically resized when needed? Whether IOPS requirements fluctuate by time of day, allowing the performance of volumes to be scaled as required
- Spot Instances – Whether non-time-critical batch processes can be moved to spot instances or to batch processing services
- Chef and Automation – Analysis of what other elements of cost reduction can be automated based on demand. Use of Chef to automatically provision instances when required, reducing the need to keep the instance on standby. Use of AMIs and automatic AMI production, versus instances on standby.
- Auto Scaling – Improving performance and granularity of Auto Scaling
- Instance Types – Whether instances can be optimised based on their workloads
- Elastic Container Service – Whether services can be moved to Docker.