Here are five steps to reduce your cloud costs… (not in order of priority).
1. Ephemeral machines everywhere
The true power of autoscaling. Modern architectures today have the ability to scale up and down. Take the master-slave architecture as an example, all corporate organisations I have worked use this for ETL orchestration and data processing. Apache Airflow, Hadoop, Spark can have a persistent master cluster. Why not tear them down only to spin them up as dictated by demand?
If the time to provision resources is too long, serverless architecture becomes key. The more you can use serverless or ephemeral, the better because you only pay for what you use.
2. Constructive code reviews
Often overlooked, yet critical to reducing long term cost inflation.
Key aspects of a merge request should:
- Provide a friendly description of what the merge request does for context (i.e. no code mentioned in the description)
- A checklist of what has happened, essentially an acceptance criteria & implementation plan
- Detail what feature(s) or issue(s) the code changes resolve
- Key changes to signpost where the reviewer should focus their attention
A good code review could look like the below.
There are several benefits for in-depth code reviews:
- Encourages personal growth from feedback
- Ensures code maintainability and readability
- Knowledge sharing as part of the development lifecycle
- Improve code quality resulting in less bugs
- Reduced technical debt by addressing code design earlier on
- Less costly as it’s less likely for something to go wrong
- Code ownership and accountability
The list goes on but I have conveyed my point…