The public cloud refers to cloud services (such as virtual machines, storage, or applications) offered publicly by a commercial provider to businesses and individuals. Public cloud resources are hosted on the commercial provider’s hardware, which users access through the internet. This differs from a private cloud, in which computing infrastructure is owned and operated by a single organization for its internal use.
The public cloud is not always suitable for organizations in highly-regulated industries, such as healthcare or finance, as public cloud environments may not comply with industry regulations regarding customer data.
For more educational resources related to the public cloud, please visit:
A complete list of our educational resources related to cloud computing is available on our Cloud Computing page.
“My AWS bill last month was the price of a car.” A CIO of a Fortune 500 company in the Bay Area said this to me about five years ago. I was new to California and it seemed like everyone was driving a BMW or Mercedes, but the bill could have been equivalent to the cost of a Ferrari or Maserati for all I knew. Regardless, I concluded that the bill was high. Since then, I have been on a mission to research and identify how to help customers optimize their public cloud costs.
Shifting some of your workloads to public cloud platforms such as AWS or Microsoft Azure can seem like common-sense economics, as public cloud empowers your organization to scale resources as needed. In theory, you pay for what you use, thus saving money. Right?
Not necessarily. Unless you are vigilant and diligent, cloud spend through over provisioning, forgetting to turn off unwanted resources, not picking the right combination of instances, racking up data egress fees, and so on, can quickly make costs go awry. But public cloud cost optimization does not have to be esoteric or a long arduous road. Let’s demystify and explore ways to potentially reduce your cloud spend.
This comic got a few laughs and comments when I posted it on LinkedIn. But in all seriousness, this is a real problem, which is why I’m delving into cost optimization and the gotchas to watch out for. Source.
Optimizing Your AWS Data Transfer Costs
For some organizations, a large percentage of cloud spend can be attributed to network traffic/data transfer costs. It is prudent to be cognizant of the data transfer costs within availability zones (AZs), within regions, between regions and into and out of AWS and the internet. Pricing may vary considerably depending on your design or implementation selection.
Common Misconceptions and Things to Look Out For
Cross-AZ traffic is not free: Utilizing multiple AZs for high availability (HA) is a good idea; however cross AZ traffic costs add up. If feasible, optimize your traffic to stay within the same AZ as much as possible.
EC2 traffic between AZs is effectively the same as between regions. For example, deploying a cluster across AZs is beneficial for HA, but can hurt on network costs.
Free services? Free is good: Several AWS services offer a hidden value of free cross-AZ data transfer. Databases such as EFS, RDS, MSK and others are examples of this.
Utilizing public IPs when not required: If you use an elastic IP or public IP address of an EC2 instance, you will incur network costs, even if it is accessed locally within the AZ.
Managed NAT Gateway: Managed NAT Gateways are used to let traffic egress from private subnets—at a cost of 4.5 cents as a data processing fee layered on top of data transfer pricing. At some point, consider running your own NAT instances to optimize your cloud spend.
The figure below provides an overview:
Image source.
Other Cloud Cost Optimization Suggestions by AWS Category
Elastic Compute Cloud (EC2)
Purchase savings plans for baseline capacity
Verify that instance type still reflects the current workload
Verify that the maximum I/O performance of the instance matches with the EBS volumes
Use Spot Instances for stateless and non-production workloads
Make use of AMD or ARM based instances
Switch to Amazon Linux or any other Operating System that is Open Source
Virtual Private Cloud (VPC)
Create VPC endpoints for S3 and DynamoDB
Check costs for NAT gateways and change architecture if necessary
Check costs for traffic between AZs and reduce traffic when possible
Try to avoid VPC endpoints for other services
Simple Storage Service (S3)
Delete unnecessary objects and buckets
Consider using S3 Intelligent Tiering
Configure lifecycle policies define a retention period for objects
Use Glacier Deep Archive for long-term data archiving
Elastic Block Storage (EBS)
Delete snapshots created to backup data that are no longer needed
Check whether your backup solution deletes old snapshots
Delete snapshots belonging to unused AMI
Search for unused volumes and delete them
Alternatives to DIY Public Cloud Cost Optimization
As I’ve shown, there are more than a few ways to optimize public cloud cost on your own. And if you were to look for more information on the topic, Googling “Optimizing AWS costs” will fetch more than 50 million results, and Googling “optimizing MS Azure costs” will get you more than 58 million results. My eyes are still bleeding from sifting through just a few of them.
Do you really have time to examine 100 million articles? Do it yourself (DIY) can have some advantages if you have the time or expertise on staff. If not, there are alternatives to explore.
Third-Party Optimization Services
Several companies offer services designed to help you gain insights into expenses or lower your AWS bill, such as Cloudability, CloudHealth Technologies and ParkMyCloud. Some of these charge a percentage of your bill, which may be expensive.
Managed Cloud Service Providers
You can also opt for a trusted managed public cloud provider who staffs certified AWS and MS Azure engineers that know the ins and outs of cost optimization for these platforms.
Advantages of partnering with a Managed Cloud service provider:
Detect/investigate accidental spend or cost anomalies
Proactively design/build scalable, secure, resilient and cost-effective architecture
Reduce existing cloud spend
Report on Cloud spend and ROI
Segment Cloud costs by teams, product or category
INAP’s experts are ready to assist you. With INAP Managed AWS, certified engineers and architects help you secure, maintain and optimize public cloud environments so your team can devote its efforts to the applications hosted there. We also offer services for Managed Azure to help you make the most of your public cloud resources.
Public cloud providers, like AWS and Azure, build and offer many services to help developers, IT shops and small and large business quickly build and deploy their applications on the public cloud. Public clouds offer speed and agility and a myriad of services to launch your applications, but it can become all too easy to have projects run away from you if your use of public cloud lacks focus. This is where optimizing public cloud with managed services can be a good option.
Let’s take a closer look at the positives and negatives of public cloud, and some of the managed services that can take it to the next level.
The Benefits and Drawbacks of Public Cloud
Public clouds have taken the infrastructure world by storm and have certainly disrupted the IT industry in a very positive way. I must admit, from a technical (read: geek) standpoint, it is extremely attractive to be able to write and deploy my application on the same day. As my good friend James Desk puts it, “Throw another dime in the jukebox and code like hell.”
In my opinion, the key to utilizing a public cloud to yield a well-supported, highly available application is to specifically build your application on top of the developed services the public cloud provider has available in their catalog. However, at the time of this writing, AWS is providing 140+ different services to help with deployment of your application on their cloud. This is where the problems start to creep in.
Learning how to use all the services and being able to quickly understand which services are right for the application is impractical. My friends in the business will learn and use about five, 10, maybe 20 services which are immediately needed for their application. Once their applications are up and running, that’s where the learning stops until the next project come up.
Because public clouds like AWS have made it so quick and easy to get started, they have also made it quick and easy to have a project run away from you with some costly consequences. I have been guilty of spinning up development/test environments or adding temporary resources to my production workload and then forgetting to turn things off, resulting in some unexpected, costly waste. Lessons learned.
Getting help with management from experts that live and breathe this nebulous mist day in and day out can prevent wastes in time and cost.
Managed Services to Optimize Public Cloud
INAP’s Public Cloud Managed Services immediately make sense in this case. Our public cloud management team is made up of certified AWS and Azure engineers. These talented people make it their mission to know and understand how to leverage all public cloud services to made sure that our customers are utilizing all the needed resources without waste. They do this by staying on top of all newly released services, cloud certifications and industry best practices to make sure that our clients get the best in class service, support and advice.
Here are some of the more popular services we offer for AWS and Azure:
Deployment Services, which includes a full-service onboarding team with dedicated project manager and implementation engineer
Configuration Services
24/7/365 Issue Mitigation
Escalation Support
Monitoring and Alerting
Consolidated Billing
Compliance and Security Services
Operating System Support
Account Review: Performance and Cost Optimization
Solution Architecture
Migration Services
DBA Services
Interested in exploring public cloud optimization with INAP? Chat now to learn more.