I have an App running happily on the platform. Now, I need to add a new piece of software. It doesn’t fit in the ‘resource as source code’ paradigm. But it is simple enough to run on a machine/droplet.
Should I just spin up a Droplet and let my App talk to it? What is the preferred way of doing this? I feel VPC might be a way out? This new piece of software should ideally only be accessible from my App.
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.
Sign up for Infrastructure as a Newsletter.
Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Hey!
That’s a really interesting scenario you’ve got with your app on DigitalOcean’s App Platform. If you’re looking to integrate a new piece of software that doesn’t quite fit the typical ‘resource as source code’ setup, here’s a couple of routes you could take:
Serverless Functions for Tight Integration: Given that the App Platform apps don’t connect directly to VPC networks, one nifty way to integrate external software functionalities could be through serverless functions. This approach is particularly handy if your new software component can be broken down into stateless functions. DigitalOcean’s serverless functions can seamlessly integrate with your existing app on the platform, allowing for efficient and scalable operations.
Droplet Approach with Public Networking: If the serverless route isn’t a fit, and you’re leaning towards using a Droplet, that’s a solid option too. Since the App Platform and Droplets don’t share a VPC, the communication would happen over the public network. Now, to keep things secure, you might want to set up some form of authentication. Basic HTTP authentication is a straightforward way to add a layer of security to your setup. It’s pretty simple to implement and can effectively restrict access to your new software running on the Droplet.
If you go down the Droplet path, you’ll want to make sure it’s as secure as possible. Apart from Basic Auth, consider using an SSL certificate.
In summary, you’ve got a couple of solid options here: serverless functions for a more integrated approach or a Droplet for more traditional server hosting and more flexibility in the server configuration.
Hope this helps and best of luck with your app!
Best,
Bobby