Enterprise features

  • I think I might need some of the enterprise features, but I'm not a big company. Can I still be an enterprise customer?
    Yes, you can. We realize that "enterprise software" can sometimes mean sleazy sales guys and over-priced, poorly-designed products, but we had trouble coming up with a better term. For us, "enterprise" means absolutely mission-critical and completely customizable. A lot of big businesses need that flexibility, but often small businesses do too. See this question for more details on the enterprise features.


  • Do you offer custom pricing and discounts?
    Yes! We offer customized pricing for all of our enterprise-level customers. We also offer discounts for early-stage startups, students, non-profits, and open-source projects. Contact us with your requirements or questions, and we'll see how we can best help you.
  • Why does RAM cost more than on Virtual Private Server (VPS) providers (EC2, Rackspace, etc.)?
    Because we offer so much more than VPS providers! For prototyping and running simple applications, dotCloud takes away the headache of configuring and managing a server. For larger apps, we help take care of scaling and reliability too. You don't need to configure load balancers or database replication with reliable failover, because we've already done it for you. VPS providers offer a very low-level service: the first question they'll ask is "what Linux distribution do you want your server to run?" dotCloud starts you off at a much higher level. You simply list the components that make up your stack and we'll assemble them for you. While dotCloud does provide your infrastructure, the real value is in the time we save so you can focus on building your application.

How dotCloud Works

Real applications come in all shapes and sizes and have many moving pieces, so dotCloud lets you describe and build your application as a collection of services. By default, we start (instantiate) every service once. Then, when necessary you can start multiple instances (copies) of the same service. dotCloud runs each instance within a linux container, a special way make sure users' applications do not interfere with each other and to make sure no more memory is used than allocated.

  • Applications, Services, Instances
    A service consists of single bundle of code which exposes it's functionality over the network. You might have written your own code (for example in PHP), or used some standard package (such as the mySQL database). In both cases the program will be reachable from over the internet over some port (provide a service). An application is a collection of services that work together to process requests. An instance is a running copy of a service you might have one or many, depending on your needs.
  • When do I need to scale?
    First of all, there are two ways of scaling. Up, and Out.
    • Scaling Up is generally needed if your program (service) needs more memory to execute all the code it needs. Some types of programs need more than others. Resizing pictures, and rendering movies are notorious examples of operations needing a lot of memory.
    • Scaling Out is generally needed for two reasons: To ensure your application remains available in case of a server failure and to make sure your application can handle more requests. The basic idea is that if one instance is busy or fails the work can be done by another instance.
  • What happens when I push my code to dotCloud?
    The dotCloud deployment process consists of three steps: upload, build and install. Once your code is uploaded to dotCloud's servers, the build begins. One container is started for each of your services and the service's code is built according to the service-type specified in your dotcloud.yml file. For some services (all the databases, for instance), no build is needed, but for code services, this is when dependencies are are installed and your pre- and post-build scripts are run. Once the build is complete, the container is frozen and stored. A new container is started for each instance in your application, and the appropriate service's frozen build is installed. This is when your post-install script is run. Once your applications' new instances are running, they begin receiving new incoming network traffic. At this point the old version of your application is taken offline.
  • Is there a limit to how far I can scale my application?

    To avoid customers incurring unneeded costs, we initially limit vertical scaling to 4GB per service and horizontal scaling to 10 instances per service. While these sizes are sufficient for many small-to-mid-sized applications, they can be too limiting for larger applications, and so they can easily be lifted by custom request. If you need to go beyond the default limits, please get in touch.

  • How can I use SSL on my custom domain?

    First, you need to obtain an SSL certificate. Then, we need to deploy an SSL Load Balancer to handle your traffic.
    Why do we need a dedicated SSL Load Balancer? Because each certificate needs to sit on its own IP address, and the only way on Amazon EC2 to obtain an IP address is to associate it with an instance—you cannot associate multiple IP addresses on a single instance.
    Each SSL Load Balancer will require a minimum allocation of 160 MB of RAM, which will be added to your bill like any other dotCloud service. This will cost approximately $21.20 per month. If you wish to have you application highly available, you will need at least two of those SSL Load Balancers.
    dotCloud will handle the setup, deployment, and monitoring of those SSL Load Balancers, in single and redundant modes. If you want to deploy multiple certificates (e.g. if you need SSL over multiple domains), you will need as many SSL Load Balancers.
    Already have an SSL certificate? If you have your SSL certificate and want us to deploy one (or multiple) SSL Load Balancer for you, contact our support -- we will do the rest.

  • What is the default RAM allocation for each service instance when I create a live app?

    By default, each instance of a service is allocated default RAM values based on median measured use across all containers and ranges from 32MB to 192MB depending on the type of service. Because your actual RAM requirements may vary based on how, exactly, you are using the service, you should check your newly created services' usage and adjust your allocations accordingly. First, check your RAM usage by running dotcloud info, then use dotCloud's vertical scaling features to adjust your allocations.

  • How do I check the cost of my live application?

    To check the projected cost of a live-flavored application you can either login to the dashboard, or run dotcloud info

    $ dotcloud info

    • flavor: live
    • memory:
      • total reserved: 128MB
      • total used: 39MB
    • pricing:
      • hours in billing cycle: 0
      • cost per hour: $0.024
      • cost to date: $0.0
      • estimated monthly cost: $0.0 ... You can also check the cost of a specific service: $ dotcloud info myapplication.www Or get detailed costs information for an individual instance: $ dotcloud info myapplication.www.0
  • What is the billing cycle?
    We will initiate billing on the last day of the calendar month (11:59pm Pacific Time). Your bill will be pro-rated according to the usage since your live app was first created.

Put your application live in minutes.
Starting at $4.32/month
Sign up