Duplo Live : A Heroku++ experience for AWS Hosting

We are delighted to announce the public preview of Duplo live, a version of DuploCloud which enables you to deploy applications on AWS without even requiring an AWS account let alone having to setup the infrastructure. All you need is your email address (and credit card for paid subscriptions). Users still will have access to AWS console and all aspects of it that pertain to their application. Effectively it is a click-and-deploy solution. Free trials worth $100 per account are available. Visit https://www.duplocloud.com to get started.

For readers who are unaware of DuploCloud, it is a platform-as-a-service abstraction on top of AWS such that developers and devops can deploy applications on AWS using a simple declarative interface that abstracts away low level infrastructure details like VPCs, subnet IAM policies etc. It further provides features like CI/CD, log orchestration, monitoring, auditing to function as a E2E application hosting platform. DuploCloud’s core technology is it’s ability to take an application requirement and automatically machine generate the required AWS configuration. Fundamental to this is the concept of a “Tenant” which is a network and IAM security boundary, a logical container of resources and a billing unit. Every tenant can be accessed by one or more users. All AWS resources created within that tenant will be accessible only to the EC2 instances in that tenant. ELB being an exception as that can be accessed from outside he tenant. If a tenant is deleted all resources within the tenant are automatically cleaned up. Tenant is not a pre-baked template. At creation time, a tenant has no resources or policies. Users login in to the tenant context and deploy applications in the background the infrastructure policies are automatically weaved by the system based on the application.

In Duplo live for every user we allocate a unique separate tenant. All tenants are created in the same AWS account that is being managed by us. Each user pays for his share of resource usage.

Comparing with Heroku

Heroku has been very impressive to us and to a great deal of developers in the world. Many might have wondered if there would be a solution which gave the same experience to deploy and manage application on AWS using native AWS services like S3, DynamoDB, ELB, SQS, SNS, Kinesis etc. Today in Heroku if one were to need AWS he has to get setup his own AWS resources in his AWS account and import the access keys into Heroku application as a generic environment variable. Heroku itself is AWS unaware. They are infact owned by salesforce.

Heroku Limitation and DuploCloud Solution

Heroku is a pure PAAS where in the user applications are run co-located with others in the same host and thus the users have no control over the underlying host. This can at times be limiting and we can commonly seen that people start with Heroku but eventually move to AWS for scalability reasons. DuploCloud being only an abstraction and policy translator, does not have these limitations and at the same time preserves the ease of use like Heroku. In DuploCloud every tenant has his own hosts (EC2 instances) and thus the user has the same control over them the way he would in native AWS i.e. start, stop, instance types, root access, OS etc. Additionally the AWS services like S3, SNS, SQS, DynamoDB, Kinesis etc are managed natively with user having access to the AWS console for further convenience. The CI/CD component of Duplo integrates with GitHub.

Thus we believe that with Duplo live we have created a seamless developer experience on AWS w/o the limitation of pure PAAS platforms.