ElasticBox supports delivery of applications on a number of private and public clouds including AWS, GCE, Azure, VMware, CloudStack, OpenStack, and HP Cloud. Just supporting compute, however, is not unique. Several players in the market support compute. What’s great about ElasticBox is that it also gives you access to a large number of cloud provider-specific services such EBS, Route 53, SQL Services, App Engine, etc.
Why Cloud Provider-Specific Services?
Every cloud offers a unique set of services that are targeted to certain use cases and integrate really well with other services provided by that particular cloud provider. It would be a shame if you couldn’t access these innovative services in combination with cloud and application management platforms.
Some great examples and use cases of these integrations include:
- AWS EC2 integration with EBS, Elastic IP Address, and ELB
- AWS Route 53 support for adding new domains that can be bought on AWS
- Azure integration of Visual Studio, Cloud Services, Websites, and SQL Services
- GCE integration of Compute Engine, App Engine, and Big Query for Google Projects
Support for cloud provider specific services poses a risk as well. Cloud providers (read, AWS) are constantly adding new services. How do we support them while still focusing on our own roadmap for ElasticBox. To solve this problem, we’ve added support for configuration template services from these cloud providers (when available) such as AWS CloudFormation and OpenStack Heat.
Undeniably, AWS is ahead of the market when it comes to adding features and services. At Re:Invent 2013, for example, AWS announced WorkSpaces, AppStream, CloudTrail, PostgreSQL on RDS, and Amazon Kinesis. Like I mentioned above, we’re supporting all these services through AWS CloudFormation. However, we’ve also added more native support for EC2, EBS, Elastic IP Address, Load balancing, S3, DynamoDB, RDS, Memcache, and VPC.
In this blog post and the next few, I’ll outline how we support each of these services and what’s great about consuming them through ElasticBox.
EC2 or Elastic Cloud Compute is the core AWS service that provides compute. Users can rent VMs with different configurations based on business applications needs such as processor configurations, operating system, and size.
In ElasticBox, when you’re ready to deploy your application, you can select what type of EC2 instance you want to use through the deployment profile. ElasticBox supports all the different types of instances that are available through AWS.
In addition, ElasticBox also lets you set different values for region, availability zone, and subnet.
In other words, we provide users very fine grained control not only over the type of VM they can select, but also over exactly where it’s going to be deployed
So why do this with ElasticBox? With Amazon, it’s all about the infrastructure. But in ElasticBox, you pick the kind of machine you want in the context of the application being developed & deployed. ElasticBox is the integration point between the application and the infrastructure.
EC2 Elastic Block Storage
Elastic Block Storage (EBS) is used in conjunction with EC2 instances. Amazon EBS volumes are highly available and reliable storage volumes that can be attached to any running instance that is in the same Availability Zone. EBS is independent of the life of the EC2 instance, which means that you can take it and attach it to another instance and it still works. EBS is useful when you need to persist data, such as for file systems.
You can add EBS volumes to your instances through the deployment profile. You can also select a device, storage volume and IOPs rate.
EC2 Elastic IP Address
Elastic IP Addresses are associated with a user’s AWS account. They are useful to mask failure of an individual machine. It works through the following mechanism:
- Each VM provisioned by AWS has an IP address associated with it
- However, an end user only sees the designated Elastic IP Address – this means that machines can fail and quickly be replaced by another and the end user would never know the difference
When you select Elastic IP in the ElasticBox deployment profile, an Elastic IP is created on AWS and associated with the existing instance.
EC2 Elastic Load Balancing
Elastic Load Balancing allows users to automatically distribute incoming traffic across multiple EC2 instances.
In ElasticBox , users can use the deployment profile to connect to an existing load balancer or create a new load balancer. You can also check out more about ELB in my previous blog post.
Stay tuned for S3, DynamoDB, and RDS in the next blog post.