Hi, I’m planning to make all of my startup’s infrastructure on DO, I was thinking about the best possible solution to provide my Saas service to multiple clients with multiple domain names, So here is what I decided and what I’m afraid of.
My Plan for the infrastructure: I will use a LoadBalancer as an entry point, then all requests will be forwarded to some workers (Mirrored Droplets have same configs), each droplet will get the requested domain name from the request to use it to load the configuration of that specific client, then each worker will connect to a separate Database on a separate droplet, and connect to my DO space for files of that client, and there is another droplet works as an administration, Let’s say I added some new clients configuration or some software updates and I want to update my workers (droplets) then the admin droplet will create a new snapshot with the new configuration, and let’s say we have 5 workers (droplets) working, then the the admin droplet will create 5 new workers (droplets) with the new configurations and assign them to the main LoadBalancer, and wait for the 5 old ones to complete their current tasks and destroy them, and like this I have explain all of my structure except some side droplets for (Cache calculation, Stats, Monitoring, …), that they are not important to mention.
Problems that I have because of DO: 1- The LoadBalancer have a limit of 10,000 concurrent connections and that’s a bottle neck if I want to scale up, even linking a floating IP address to a loadBalancer so I can create multiple LoadBalancers is not possible. 2- The loadBalancer can handle a single HTTPS Certificate, while I have too many domain names, and If I will select HTTPS pass-through, I won’t have the user’s IP address, and if I want to create my own LoadBalancer, I will be limited by the maximum bandwidth of a single droplet, even if I will choose other types of certificates that supports multiple domain, that will make me frequently update the certificate and I will reach the limited number of domains per certificate with other browser certificate compatibility issues that no ones want to think about. 3- And Finally which is the most dangerous part, what if I have many updates, and destroy and create many droplets per day, let’s suppose the above scenario of workers update happened 5 to 10 times per day to make 25 to 50 droplets deletion and 25 to 50 droplets creation, then DO takes it as an API abuse and ban my account, to find myself out of business.
What happened for me to think so: I have many projects and I want to have a last clear decision, I have an East personality, so I stick with rules and hate too much changes, I love static data, that’s why I care too much when choosing. I spend too much time searching for the best provider to find my self in “DigitalOcean vs AWS” searches, to finally decide that I will stick with DO for the rest of my life, with the main reason that all the rules are stated, and I personally love that, then and I don’t know how I ended up searching for “My DigitalOcean account is blocked/banned”, in fact nothing happened to me, I just was curious about what results in Google I will find, and I started reading, too many sad stories, In fact that do not change what DO is, but the new information is that DO is using some automated scripts that may block out some users when they reach some hidden red lines, In fact I have no problem with all the stated problems in the Problems section as long as all the rules are already mentioned, I can find some workarounds, I can play, I can do anything, because there is rules, I can know what to do and what not to do, and I will take my full responsibility if I do something against the rules, no problem, tell me that I can’t send more that an API request per minute, and I will see what I can do, but don’t block my account because I didn’t respect a rule that I don’t know, define your definition to abusing, we may not share the same one, does my third problem abuse the API, I’m I reaching some red lines, What if I create new droplets and delete many others more frequently, is there a limit, Why you don’t make it a paid service, (like if you request a new droplet more than 10 times a day you will be paying for each additional request) something like that.
I wish I get a satisfying answer, I loved DigitalOcean and the way it works, and I see a big future for it, since the community is a part of it’s decisions, I know that there is too many bad peoples trying to do bad things using your servers, I know that nor local nor international laws are fair for companies, you will always end up paying for someone else’s mistakes, I personally prefer that you ask me for any action I do, and I will tell you why, and If I don’t state a logic reason, block me out, but at least I want to be heard, I may not be able to do like some of the others who shared their problems on twitter to reach thousands of peoples to finally reach you.
Thanks for reading this long post, I can not start my project now until I get answers for what I said, whether from you (here) or from your users on the Internet.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.
Click below to sign up and get $200 of credit to try our products over 60 days!