One of the benefits of using Nanobox for managing your production applications is that you have more control and flexibility over your application as it scales, compared to alternative, manual methods of deploying and managing EC2-hosted applications.
When choosing which cloud host to use for your application, pricing is obviously among the most important factors to consider, along with other critical aspects of any particular service, like reliability, security, support, and performance.
With the EC2 cloud computing service, Amazon gives you several different billing configurations to choose from. Currently, Nanobox's AWS production app management integration works with Amazon's On-Demand Billing setup. I'll explain more about how it works, including how Nanobox helps you to estimate your EC2 hosting costs when you're scaling by seamlessly including EC2 instance pricing data in the Nanobox dashboard as you're determining what resources your app will need.
Ultimately, estimating accurately what your EC2 costs will be typically involves lots of planning ahead, since app use tends to be highly unpredictable, especially for large or complex applications. Amazon's four different EC2 billing options are categorized based on general degrees of predictability for apps that are hosted on EC2 instances. These include:
- Reserved Instances
- Spot Instances
- Dedicated Hosts
- On-Demand Billing
EC2 Reserved Instances
For workloads where resource utilization is somewhat predictable, Reserved Instances is a good option. As the name implies, with this billing option, you reserve the computing capacity you expect to use, and you are billed for that capacity. Hourly rates for reserved EC2 instances are discounted substantially (up to 75% off) over on-demand rates. The highest discounts for Reserved Instances apply to contracts with longer commitments and when payment is made up front. Shorter commitments and payments that are spread out make Reserved Instances more comparable to On-Demand pricing.
More information about reserved instances can be found on the official AWS EC2 Reserved Instances Billing page.
EC2 Spot Instances
Amazon's Spot Intances could be considered a kind of "garage sale" version of the Amazon billing models. With Spot Instances, you can bid on left over compute resources that you can use for applications that aren't necessarily time critical or that can be interrupted should the resources be needed elsewhere for a higher priority application running on EC2.
Pricing for Spot Instances is generally cheaper than On-Demand, but it fluctuates over time, as the supply and demand environment for EC2 resources changes. You determine a maximum amount (a bid) you're willing to pay for compute time, and your application runs while there are EC2 resources available that are priced below that threshold.
More information about EC2 Spot Instances can be found on the official AWS EC2 Spot Instances Billing page.
EC2 Dedicated Hosts
Using the Dedicated Hosts billing option involves a commitment to paying for the entire host, regardless of how much computing resources you use on that host. Similar to the Reserved Instances case, Amazon provides per hour discounts for EC2 Dedicated Hosts over comparable time used with the On-Demand option. Those discounts are also related to time and payment commitments. Even with the per hour discounts provided by the Dedicated Hosts billing option, it's possible (even likely) for many EC2 users to spend more on Dedicated Hosts for applications that are not fully utilizing the resources.
EC2 On-Demand Billing
On-Demand Billing is the simplest and (consequently) most popular EC2 billing option. Although the per hour rate is highest with On-Demand Billing, applications tend to cost less than Reserved Instances and Dedicated Hosts because they incur costs only for the specific time they use EC2 resources.
Deploying and managing applications on AWS using Nanobox is simplified substantially, allowing developers and dev teams to spend more time coding the app instead of tinkering with infrastructure.
When an application is initially launched on AWS via Nanobox, an EC2 instance is setup as shown in the image below. Projected AWS costs are displayed along with the server specs for the instance that Nanobox provisions before installing our production platform.
Once the Nanobox platform has been setup, you can choose to scale your EC2 instance, either before or after your application has been deployed to the instance. The screenshot below allows you to see how you can access more EC2 On-Demand resources, grouped according to these five computing categories.
- General Purpose: T2 instances that are good for workloads where the CPU is normally not used fully, but where CPU bursts are required.
- Compute Optimized: C4 instances that are processor optimized, for high compute loads
- Accelerated Computing: P2 instances optimized for graphics processing
- Memory Optimized: X1 instances optimized for applications that require large in-memory uses, such as large-scale or enterprise apps.
- Storage Optimized: I3 instances intended for use in highly demanding I/O environments
In the case shown above, scaling to a Compute Optimized instance with 15 GB of RAM, a 2 Core CPU, and 150 GB disk storage is priced at $389.37/month. Having this information available in your application management dashboard gives you much more insight into what your hosting costs will be than if you did all of this manually.
More information about on-demand usage can be found on the official AWS EC2 On-Demand Billing page.
Using Nanobox to Manage EC2-Hosted Applications
As you can see, using Nanobox to manage your AWS EC2 hosted application simplifies the process of provisioning, deploying, and scaling your application on Amazon while making pricing much more transparent and understandable.
If you'd like help understanding and estimating your AWS costs using the Nanobox micro-platform, or if you'd like to see a demo, please contact us.
Subscribe to Nanobox
Get the latest posts delivered right to your inbox