Credits are a wonderful way for a startup to begin their journey into the cloud. It gives businesses a soft-landing to avoid the huge cost of starting on the cloud. In the early stages of a startup, infrastructure setup is usually still a trial and error phase where the business needs time to understand the actual services they need and how to navigate the hundreds of services the cloud provider offers.
I have created a guide that can help any startups navigate these difficult times, and how to choose the right type of services for the different phases of a startup.
However, using these cloud credits in-effectively can lead to infrastructure management issues, engineering burnout, and product instability. Understand that credits are for a short while and using them wisely for your startup is key to getting the most value out of them. Even if the cloud provider offers you $100,000, it will either get exhausted or it will expire some day. Your ability to plan with the available credits and build a resilient system during the validity of the cloud credits will be key to business continuity. When this is taken into consideration, you will not only effectively use the credits, but after the credit is expired you do not get a bill shock because no systems or process were created to monitor credit consumption. Below are a few things to avoid and watch out for when you are running Cloud Credits on any cloud provider.
Don’t hop around cloud providers
Moving from one provider to the other has a huge OpEx (operational expense), even when there is IaC (Infrastructure as Code) script to improve the setup time. Different cloud providers have very different nuances in their setup and management. For example, Amazon EKS and GCP GKE are both Kubernetes, but work differently.
One basic example is the EKS auto-mode, GKE has something similar called the “Auto-pilot Mode”. Though similar, but they operate differently. Another difference is in the cluster upgrade. While EKS requires a manual trigger for upgrade of the worker nodes and control plane, GKE supports automatic node and control plane upgrades.
This means the team needs some time to re-learn the new cloud environment, which can cost man-hours. If there is no IaC it has to be written from scratch. The engineers will need a clear understanding of the cloud environment before they can
In some cases, re-architecting might be involved because no two cloud providers are the same in configuration, deployment model, and management practices. Most people decide to go the cloud-native way of deployment with the hope to get the same user experience across cloud providers, which makes them feel it is an opportunity to move around. This “lazy” way of saving cost does not only damage technology processes, it also impacts delivery processes, recovery time and the stability of the service.
To avoid hopping from one cloud provider to another, the next point explains how to manage credits effectively and how to manage expiration gracefully.
Architecture for After-Credit Expiration
When credits have been allocated to be applied to your cloud account, the first step is not to declare open season on indiscriminate use of services. Rather, the first thing to do is to get an architect involved to help with choosing the best set of services to be used in the cloud provider’s environment. This first step saves a lot in the long run.
Do not get carried away by the credits, they will not last forever, ensure your architecture is at its barest minimum using services that are not very expensive. “You must not use Kubernetes as a startup”. There is no rule book that the 4 services in your company must run on Kubernetes. No. Instead, go for more affordable deployment options that will not exhaust the credits quickly.
For example, you are given a $10,000 credit on AWS and the next step is to start setting up 32GB EC2 instances in the first few days, thinking the application will scale. No. It just started, there is no way 1 million users will start rushing to your application instantly. Traffic to an application or service grows over time. Use a smaller instance type like a 4GB RAM or even 2GB RAM to start with and build up from there. Instead of using EC2 instances that prices vary from month, why not go for Amazon Lightsail that has a more predictable pricing strategy. I have curated in this article strategies, startups can use to optimize cloud spend when starting up.
When these principles are applied, the $10,000 credit that has been allocated will last longer and not quickly get exhausted.
Continuous Cost Optimization Activities
Cost Optimization is a way to avoid waste, just like saving power in your homes. Turning off an EC2 not in use, or doing a start and stop for staging EC2 instances can go a long way to save energy and save some quick bucks on your infrastructure. These practices should not stop because you got a $100,000 credit. It should continue because it does not only help your psychology for when the credit is exhausted, but it also helps to keep the bills at the minimum, and makes you gain more value from the credits because they do not get to run out quickly. Start and Stop is one of the options for optimising cost in AWS. Bi-weekly audit of infrastructure resources to remove unused services or services that were created for testing purposes and no longer in use.
Lastly, downgrading over-provisioned services too. Use monitoring tools such as Prometheus, and CloudWatch to check resource consumption and see where less resources are used, and figure out a way to downgrade those resources. This will give more cost savings on the infrastructure.
One last process that is essential to cloud credit management is frequent balance checkin.
Frequent Credit Balance Check-In
Every month the balance of the credit that has been allotted is deducted based on the bill of the previous month. The cost of the services running in your cloud account accumulatively determines the bill for the month. Instead of your card to be billed, the amount is deducted from the credits.
Monthly infrastructure review and check credit consumption is one way to ensure the credits are not overused and find ways to optimize cost. You do not want to wake up to an unexpected bill at the end of the month because the credits are exhausted. So a bi-weekly or monthly check-in is essential to gauge how much time you need to prepare for payment.
Conclusion
Cloud Credits are a great way for any startup to quickly bootstrap for a year or more without the hassles of spending money on cloud bills. However, proper cost and infrastructure is needed for this to be achieved. This article has listed some principles that can be followed to ensure businesses get the best from cloud credits allocated to them. If you work with AWS, you can apply for AWS Activate Startup Credits here.