Public cloud services are exploding across the enterprise landscape -- bringing diverse options for building efficient...
cloud-based workloads. But a proliferation of services adds cost and confusion to public cloud application development. Here are 10 practical tactics to help small businesses embrace public cloud services while keeping cloud spending under control.
1. Select cloud resources properly.
Compute instances are available in a wide array of configurations designed to emphasize the unique processing, memory, storage and performance needs of each application. Amazon Web Services (AWS) lists 39 different Elastic Compute Cloud (EC2) instance types in the U.S. East region alone. Save money by picking "right-sizing" cloud instances or resources to avoid overbuying resources. The cloud makes it easy to scale resources later. And those additional resources waste money -- every month -- unless they're used.
2. Monitor public cloud spending.
Detailed service usage and cost reporting tools from cloud providers can help companies monitor spending and control cloud costs. Email alerts warn managers when cloud use exceeds thresholds, allowing prompt investigation and mitigation before a billing cycle ends. Third-party tools like Cloudyn assist with performance and cost monitoring for AWS, Google, Microsoft Azure and OpenStack. Watch spending closely and use that insight to drive savings.
3. Design workloads for scalability.
Scalability is a critical aspect of any public cloud. Scalability uses event-driven compute instances like AWS Lambda or containers like Google Container Engine to scale core services for important workloads, such as microservices. These approaches are designed to use more computing when it is needed. Once the spike passes, those additional resources are released for re-use.
4. Run workloads where the computing is cheaper.
Peak times and compute demands affect cloud pricing. Moving workloads to and from other service areas where demands and prices are lower can help small business shave costs. As long as common storage can service each location, the workload will see a latency difference between service areas. Security and regulatory compliance requirements may prohibit workloads from running in certain regions.
5. Study the spot instance market.
To drive higher utilization, public cloud providers may put spare compute resources out for bid -- allowing users to obtain compute resources for short durations at a discount versus on-demand pricing. Amazon refers to these bid-based instances as Spot Instances; Google offers similar service with Pre-emptible VMs, which feature fixed, discounted pricing. Prices constantly fluctuate based on instance supply and demand. The spot market can't predict long-term availability, but it is an extremely cost effective way to tackle short-term projects.
6. Use sensible instance reservations.
The public cloud is used as an "on-demand" resource; consumers expect to pay for resources or services in small increments, but extended usage can provide savings. Google Cloud allows discounts up to 30% for instances used through most or all of the month, while Amazon users can reserve EC2 instances for one to three years and save up to 75% compared to on-demand costs. Reservations can be particularly useful for more mature workloads with long-term and reasonably steady or predictable compute demands. Watch for long and short-term commitments that can be more cost effective as on-demand deployments.
7. Use policies and schedules.
Scaling in the public cloud requires automation and often relies on the use of fixed schedules or policies. Business needs change over time and scaling rules can change rapidly. Know the rules and review them frequently. Take advantage of cloud provider features like scaling tags, alarms and notifications to raise your awareness of workload activity and look for opportunities to prune excess resources.
8. Cut back on unneeded storage.
Storage instances tend to accumulate -- especially when used for data protection (resilience) or disassociated from compute instances and forgotten in the public cloud. Identify expendable storage instances and then delete them. For example, if a cloud server instance is deleted, its associated storage may become disassociated and overlooked. Tools such as Google Cloud Platform's Object Lifecycle Management and Amazon's Simple Storage Service Object Expiration can help users automatically remove unneeded data once a storage object's lifetime expires. Another option is to move the storage instance to a less expensive storage alternative.
9. Cache storage strategically.
Public cloud providers may offer memory-based caching, such as AWS ElastiCache. Caching moves important or frequently accessed data in-memory, rather than having to retrieve data from storage instances. This can improve the performance of some applications and reduce the expense of higher-tier cloud storage -- especially when performance-sensitive workloads are run in remote regions or when efficient replication is needed for resilience. By comparison, Google Cloud Storage allows users to specify where storage "buckets" are geographically stored.
10. Use available provider services.
Public cloud providers, such as AWS and Google, offer a wealth of services to handle multiple tasks. Using these services can be beneficial with unused, long-term instances that can be used to host the provider's services and get benefits from the idle compute resources that you're already paying for.
Public cloud is evolving quickly, providing an ever-expanding array of services, capabilities and competitive cost reductions. It can be confusing and the uninitiated can easily spend enormous amounts of money on unnecessary instances and services. Cost savings exist, but it takes savvy cloud experts to uncover them.
Stephen J. Bigelow is the senior technology editor of the Data Center and Virtualization Media Group. He can be reached at firstname.lastname@example.org
Watch out for hidden costs in the cloud
Optimize your cloud to cut cloud application spending
Use cost monitoring techniques to prevent overspending
30% of IT's budget goes to cloud hardware investments
Understand the risks and costs associated with public cloud