Whether you're a manager planning for a product launch, or an IT professional or developer considering your app infrastructure options, it's a great time to use cloud computing to meet your objectives. In this series of posts, I'm going to discuss some reasons for choosing a cloud platform.
So, how can you take advantage of the benefits of utility computing? Use the following rules as guidelines and you’ll be set:
Rule 1: Compare Your Costs
Saving money on infrastructure is one of the most touted advantages by cloud providers. Carefully planned use of cloud resources can reduce operating costs significantly. But the cloud is not an automatic cost-saver. The capabilities granted by using an IaaS (infrastructure as a service) provider are a double-edged sword and can quickly spiral out of control. However, proper application of techniques and tools can help you realize real savings.
Planning and estimating costs using tools such as the AWS TCO calculator are crucial. IaaS providers grant you the option to defer upfront costs of owning infrastructure and combine them with upkeep. Each provider has their own strengths to consider. Some have cheaper storage; others are cheaper for compute. Always weigh your plans against an on-premise or hybrid solution.
Rule 2: Set Good Limits
IaaS providers offer configurable dashboards (shown below), to provide cost reporting and alerts. The reports can give you a fine grained view of what parts of your application are costing you the most money. (Photo Credit: Amazon Web Services)
The alert capabilities allow your services to engage slowdowns or cutoffs as needed to restrict your costs. Always design to scale up and down as demand fluctuates. Upward scaling should have software-defined caps where your use-case allows.
Rule 3: Leverage Managed Services
IaaS providers offer managed services which are double cost savers. The AWS EMR service is a prime example. Compute clusters are complex and take time to setup and test. An EMR cluster can be started in less than an hour, configured to work out of the box and the servers cost almost half what they do individually. The now-popular "serverless design" gives faster development, finer control of costs, and a more optimized scaling behavior.
Cloud computing can be a great way to manage costs in a "bridging" capacity during development and launch, to build an accurate picture of what the real-world long-term needs of an app are, and during short-term spikes generated by marketing or event traffic. Rather than pay upfront for infrastructure that may or may not be adequate or necessary, cloud computing gives you the option to pay as you go.
Stay tuned for more “Reasons to Deploy in the Cloud” posts, and let us know if you have any questions or thoughts on how the cloud is becoming increasingly more important!