Hello.
I currently use the Application Platform to deploy my project. It is very convenient, intuitive and Docker ready. Still, I find the Application Platform to be limited in terms of networking infrastructure and security (e.i. I can’t add it to a VPN nor to a load balancer, or even use a database private network credentials within.)
I was wondering if I am probably using the wrong tool for deploying my application and should move instead to a droplet driven system. If so, is there a way to handle docker auto-deploys from a DO registry within a droplet? Perhaps, have a droplet behave more like an Application.
Thanks
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.
Hey,
Great question! We had a similar question for App Platform vs the Managed Kubernetes offering here:
But let’s go over the App Platform vs a Droplet as well:
App Platform
Pros:
Cons:
Droplets
Pros:
Cons:
On the Docker auto-deploys on Droplets question, yes, you can automate Docker deployments on Droplets. Here’s a few basic suggestions:
The tldr; here is:
If your current project’s needs are becoming too complex for the App Platform due to networking and security limitations, transitioning to Droplets might be the right next step. Droplets offer the flexibility and control required for more advanced configurations, though they come with additional management overhead.
Best of luck with your project and feel free to post new questions in case anything else pops up.
- Bobby
Hi Julio,
The choice between DigitalOcean’s Application Platform and Droplets depends on your specific needs, particularly regarding flexibility, control, and infrastructure management.
Application Platform is excellent for developers who want a simplified deployment process without managing the underlying infrastructure. It’s Docker-ready and great for straightforward applications. However, as you’ve noticed, it has limitations, particularly with networking capabilities like connecting to a VPN, load balancers, or using database private network credentials.
Droplets, on the other hand, are virtual private servers that give you much more control over your environment. With Droplets, you can set up a VPN, configure load balancers, and manage private networking. They are ideal if you need a more customizable environment and more robust security configurations.
To address your specific question: Yes, you can use Droplets for auto-deploying Docker containers. Here’s how you can set it up:
Docker Installation: First, you’ll need to install Docker on your Droplet. DigitalOcean has a great guide for this, or you can use Docker’s official documentation.
DigitalOcean Container Registry: Use the DigitalOcean Container Registry to store your Docker images. Set up your CI/CD pipeline to push Docker images to this registry.
Auto-Deploy with Docker: You can write a script or use a tool like Docker Compose to pull the latest image from the registry and redeploy it whenever there is a new version. Tools like Watchtower can automate this process, watching your Docker registry and automatically updating your containers when a new image is available.
Set Up Load Balancers and Networking: With Droplets, you can easily set up load balancers and configure your networking to use private IPs for secure communication between services and databases.
By using Droplets, you gain the flexibility and control you’re missing with the Application Platform. It does require more setup and management, but if your application needs that level of customization and security, it’s a great choice.
If you need a balance of simplicity and control, you might also consider using Kubernetes on DigitalOcean with Droplets for your containers, which offers a more managed experience than Droplets alone but with greater flexibility than the Application Platform.
Hope this helps!