Optimized tools utilization on the cloud
When we're approaching the exciting assignment of deploying our infrastructure on the cloud, we often face a great number of technical possibilities to do so. When the sentence you keep hearing is “anything is technically possible” it is sometimes very hard to understand what is the right architecture for you. The most common use-cases over the cloud are to choose between dozens of instance types and sizes, several storage options, different network architectures based on regions and availability zones, and much more.
Surprisingly, when we add the cost factor to our architecture sometimes things become a lot clearer when choosing which tools we want to use in order to reach our goal of deploying a functional data center on the cloud.
Let’s look at some example on AWS Choosing the right EBS volumes – when you need fast storage to your instance, many go to provisioned IOPS SSD (io1) volumes. If you require only the IOPs and you can live with less throughput, you can pay less than half the price for General Purpose SSD (gp2) with the same amount of IOS and a lot more storage.
Choosing the right type – Sometimes with all the huge selection of instances, we can get lost in choosing the right one for us. Things even get more complicated when we’re not just looking at the general information of the instance (number of cores, RAM, IO..) but the actual hardware and performance metrics to check how well it performs. When AWS released the c5 family we got really excited as it was not only more affordable by 15%, it also came with Skylake CPUs, more memory compared to c4 and better IO. Just to understand the scale of saving: for 1k hosts deployed, we can save over on-demand prices around $40k monthly. That’s without talking about reserved instances. Another example we can talk about is the recent release of the c5n type that can reach up to 25 Gbps, something that was reachable only by the biggest sizes of previous generations. Here the savings are absolutely astronomical, comparing c4.8xlarge to c5n.large for instances handling traffic can save more than $1k/month per instance.
Choosing the right locations – Here things get a bit trickier, as it’s no longer only depended on your technical and financial factors, but also additional ones like how close you are to your users, GDPR regulations, Privacy, security, on-premises locations that need a connection to the cloud and more. Most cloud providers are offering several “regions” we can deploy, but each region mostly has different pricing attached to it. Sometimes choosing the right region to deploy means saving thousands of dollars each month. There are several architectures you can decide to use, such as “single AZ multiple regions”, “multiple AZ single region”, “multiple AZ multiple regions” – you got the idea. When you’re deploying your infrastructure based on that architecture you need to also consider the availability of your services, how fast you can shift traffic, hardware capacity of AZ (if you’re using a specific type of spot instances you might not want to run on single AZ to avoid capacity limit) and more. But the financial benefits can be really great as the traffic in the same AZ is free – definitely something to consider.
Summary
This is just the basic overview of the most common questions you need to ask yourself when deploying the architecture. It’s not just to know what will solve your problem technically, it is also asking what is the best cost-effective solution we can choose, as we can see that the combination options between different types, volumes, locations and more are endless, but when we choose a cost-oriented architecture the decisions sometimes much clearer and a bit more obvious.