Question

I need help redesigning the services I use on Digital Ocean

Hello,

I am a long-time Digital Ocean customer. My only goal is to serve different websites, built with different technologies (either php, node, python, etc depending on the project).

When I created my first droplet, it made sense to me to just run a single linux VM with a LAMP stack, but managing this setup is now limiting my work, especially because I am not a system/network engineer, and year after year everything in becoming less stable.

I have been able to upgrade everything to Ubuntu 22.04, and decided to move all the mysql data to a DO managed DB. Next step would be to move all the localhosts that are now running on the VM to a Dokku od Docker droplet as single apps.

But I also have apps that upload, save and serve static content, such as images or small files.

That said:

  1. Are DO spaces a good fit to serve this kind of static content? Or is there any other DO product that better fits this goal?
  2. I have a very rough sketch of what I was thinking to obtain, can be seen here: https://imgur.com/a/begqmDq Anyone who actually knows about this kind of things can please tell me if this looks crazy or might work? The amount of traffic generated is scarce, because I am just publishing personal projects with a very limited audience (the goal is to build and maintain portfolio since all the work I do is generally protected by very strict NDAs)

Thank you in advance to anyone who will answer :) Simone


Submit an answer


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!

Sign In or Sign Up to Answer

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.

Hey Simone 👋

Your proposed architecture looks great, and I think Spaces, along with a Managed Database cluster would be good choices for your needs.

Also, I think that using Dokku is also a good approach. Here are some pros and cons that I could think of:

Dokku is like a mini-Heroku built on top of Docker. It allows for easy deployment of applications in various languages without the complexity of managing a full Kubernetes cluster. If you’re comfortable with Docker and want a platform that can handle multiple types of applications, Dokku is a good choice.

DigitalOcean Functions is a serverless compute platform. It’s best for tasks that can run in the background, are stateless, or can be triggered by events. The pricing model is also different; you’re charged based on the compute time your functions use, rather than a flat monthly rate for a Droplet. Depending on your applications, this could either save you money or cost more but in some cases, especially when running full-fledged apps it might be better to stick to Docker or the App Platform.

There is a 1-Click installation for Dokku so you could take it for a spin and see if it fits your needs:

https://marketplace.digitalocean.com/apps/dokku

Your plan doesn’t sound crazy at all. It sounds like a natural evolution from a monolithic LAMP stack to a more microservices-based approach. Given that your main goal is to maintain a portfolio, the infrastructure doesn’t need to be overly complex!

Feel free to share more details about your apps, I’m happy to brainstorm further!

Best,

Bobby

I was thinking that maybe I can use DO Functions instead of a DOKKU droplet maybe?

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel