How do I set up a SaaS product?

July 9, 2015 1.9k views
Applications DigitalOcean PHP

Hello everyone, I had a web application developed for a client using PHP which I hosted for them on a regular web host, now I have a good web app that I thought I could offer to other companies but on a monthly basis something similar to SaaS. I am not familiar with how to deploy a Saas application and was wondering how I can do that with digitalocean. Basically I want to offer my clients this web app installed on a cloud server, now as I understand I can do that to maybe 1 or 10 clients by creating a separate droplet for each client, is there any way to do it for lets say hundreds or even thousands of clients using Digitalocean? How many droplets does digitalocean allow? and is there a better way to do this? please let me know.

1 Answer

Depending on the configuration and access level needed for your users there are two ways you can go about this:

  • Create a new droplet for each user - this provides additional flexibility and is easier to configure but is a bit more costly
  • Set up each user's software in a different virtualhost - this way you can host multiple instances of the software on each droplet lowering your costs. This requires your setup to add additional virtualhost configuration files to your web server and will likely require a restart of the service when you add a new user to a node for their virtualhost to begin accepting requests.

If going with option 1 you can create a snapshot image with your software by spinning up a droplet and setting up your default configuration, then powering it off and snapshotting it. This will allow you to spin up new droplets via the API or control panel already configured with your software.

By default new accounts do have a droplet limit of 5. This is an anti-fraud measure intended to prevent a fraudulent account from quickly creating lots of droplets to launch attacks or send spam. This limit can be increased by opening a ticket with our support team. There is no ceiling on the droplet limit (we have users with limits of 1000 droplets or more).

  • Thanks for the answer ryanpq, I will test out both options but I might go along with the first option for my first few customers. I have another question thought, dont know if its the right place to ask, but for each of my customers I would like to assign a custom subdomain such as and I understand that I can assign it from my godaddy account but from my previous experiences it usually takes around 24-48 hours to propagate unless I have purchased the domain through the webhost itself. Is there a way to assign a custom subdomain to a new droplet immediately? without having to wait 24-48 hours?

  • Yes. Here is what I would recommend.

    1.) Repoint your domain on GoDaddy to our nameservers
    We don't charge for DNS services.
    2.) Set up your main (, records to point to your site.
    3.) When you set up a new user's droplet if you are using the API you can create the new subdomain A record that way (or you can do so via the control panel). Our DNS system should have your record responding almost instantly.

  • Thank you so much, again for the help. I will check it out now. Also if there are any tutorials on how to set up the subdomains throug the API or the control panel could you share it with me? I already know how to create droplets and change the name servers. Thanks

  • This tutorial will walk you through setting up the initial records for your domain. The portion on creating an A record is also what you would do for the new subdomains.

    This section of our API documentation details how to add additional A records using the API so you can automate the process.

    by Etel Sverdlov
    This article walks you through setting up the DNS for your site. The tutorial includes steps to set up an A records, point your nameservers, and provides some information about MX records.
Have another answer? Share your knowledge.