PaaS Options For Phoenix?

Are there any other PaaS alternatives other than heroku and gigalixir for phoenix?

1 Like

gke is also something in-between a paas and iaas.

1 Like

I saw nanobox somewheres. But i didnt understand what they offer? Nanobox is a PaaS too?

1 Like

Nanobox is like a PaaS but they use your VPS servers (automatically). A side project of mine was configured to use Nanobox, locally my app is run within docker containers, automatically setup by the nanobox cli. When I deploy to Linode, Nanobox handles all server provisioning/securing/scaling. I can also perform a dry-run which mimics a production container deploy, but locally. It’s free to use, until you need to scale. I like it so far, but YMMV.

2 Likes

So if i buy a digital ocean droplet Nanobox handles all security problems? I want to use PaaS because of security concerns

I dont know scale limits of nanobox. If i use 4GB $20/monthly droplet. Will be free?

Nanobox will automatically create the DO droplet, you will use a DO api key to give Nanobox access. They handle all the security setup for your server, however application level security is still on the developers.

Using a single server on Nanobox is free. When I use “scale” in the context of Nanobox, it means whenever you want to break apart your services. By default, your application and database (for example) will run on the same machine. When it comes time to break the database out, you will require their “scale” package.

2 Likes

I personally am using a Cloudfoundry-based PaaS, more specifically Swisscom Application Cloud. It works quite well through Cloudfoundry’s support for Docker.

1 Like

Thanks a new thing to learn.

A noob question using Amazon S3 for images is mean scale or still one machine ? Or can i use local images with nanobox. I heard PaaS providers like heroku doesnt let local files

It’s not generally a good idea to use local files because they make your deployment stateful. With a dedicated file storage system apart from your application, you can restart, delete or duplicate your application instances at will.

1 Like

You can use their Storage component to create a “shared, writable, persistent filesystem” that “persist (s) between deploys”.

Heroku requires you to store files, like uploads, on another server. Using Nanobox’s storage component, you won’t have to do that.

If you choose to use Amazon S3 for your static assets (images/js/css) you still have a single DO droplet, no need for the “scale” option.

Edit: Would be useful if I link to the Storage docs :wink: https://guides.nanobox.io/storage/

1 Like

You can use OpsCaptain to deploy to AWS, Vultr, DigitalOcean or any VPS provider. OpsCaptain provides a Paas environment on your server to deploy your apps. Here is a step by step guide to deploy to your server:
https://www.opscaptain.com/blog/host-elixir-phoenix-vultr-digitalocean-aws-linode
The process is simple, buy a server, provide OpsCaptain root access to the server, download the cli and then run a single command to deploy.

1 Like