Elixir Development & Deployment with Nanobox

Hey Everyone! I’m Scott, from Nanobox (huge Elixir fans). Just for some context, Nanobox is a “Micro Platform as a Service” that provisions local dev environments and automates deployment to production servers.

We’ve had some great feedback from the Elixir community so far and just wanted to open up the conversation here. We would love even more feedback and suggestions!

Current Status:

  • Elixir is fully supported
  • Guides & Documentation are coming
  • Currently we only support Atomic Deploys, but we’re working on Hot Code Deploys.
11 Likes

What are the "must have"s when it comes to deployment?

1 Like

Nice, will give it a try this weekend :slight_smile: When will hot code deploys be supported?
Is it possible to run my Phoenix app and the database on one server using the Pet plan or does your system require multiple servers == Scalable plan?

1 Like

Yep, totally possible. Every app starts out on a single server with all the apps components (web, db, etc) provisioned in docker containers inside the server. If you need a ton of RAM/CPU or want to move components out of the single server into a scalable cluster or dedicated machine, you’d need the scalable plan. Otherwise, you can just stick to the single server.

We don’t have a set timeline for hot code deploys, but they’re high on our priority list. I’m comfortable in saying soon :wink: but I don’t have a date.

Edit: Forgot to answer the question about hot code deploys

2 Likes

How you would say Nanobox compares to something like Kubernetes? It may not be a fair comparison but knowing the similarities and differences would help.

1 Like

Thanks! Where can I find information on who’s behind this service, when it was started etc.? I’ve browsed a bit but couldn’t find information about nanobox, the only hint is “Pagoda Box” in the guide’s footer, which I think is a PHP hosting service.

1 Like

Nanobox is similar to Kubernetes in that it will handle all container orchestration. So functionally they serve the same purpose, just different implementations.

The main difference is that with Nanobox you don’t have to worry about all the details surrounding the actual orchestration, it’s all abstracted away, and you just manage it via a dashboard UI (scaling, replication, networking, etc.)

Also, Nanobox isn’t just about container orchestration, it’s about providing an entirely new workflow when developing apps. Creating isolated local development environments that seamless deploy to production and are easily managed via the UI. The idea is to allow application developers to focus on developing their applications, not messing with infrastructure architecture and configuration.

4 Likes

@zimt28, there are a few places you could scrape some details together, but I’ll just provide a background here.

We’re a team of about 8 developers/designers. Most of us have been working together for about 6+ years. We used to specialize in ecommerce implementations for small to medium-sized business. We found ourselves having to solve the exact same problems for each client over and over again, so we set out to automate the tedium.

About 5 years ago, we launched Pagoda Box, a platform as a service designed specifically for PHP. We learned (and continue to learn) a lot from Pagoda Box and have designed Nanobox to solve the major challenges faced with Pagoda Box. Nanobox kicks open support for all languages (some are still works in progress), and we’re super excited about Elixir.

Our team:
https://github.com/orgs/nanobox-io/people

Our Projects:
https://github.com/nanobox-io

Other open-source projects:
https://github.com/nanopack/

4 Likes

Looks nice! Looking forward for the Generic Elixir application guide, since currently there is only a Phoenix one.

1 Like

Quick update - We just posted this article that walks through deploying Elixir/Phoenix with Nanobox:

Elixir Deployments with Nanobox

5 Likes

Does anyone know if it’s possible to run recent Elixir versions with Nabobox? As far as I can tell, the latest Elixir version on Nanobox is 1.5.3 which is a problem, as I’m using features that have been added since then.

I’ve posted on their forums and tried to contact them via the Intercom chat on nanobox.io, but I haven’t gotten a response in two months (Intercom still shows my first post from December 13).

@sanderson, can you give an update about Nanobox + Elixir – when will new Elixir versions be available, what’s the state of releases etc.?

Update: Don’t start using Nanobox, at least for now. Their Slack channel is quite active, but people there haven’t heard from Nanobox people in months. Their company status is “delinquent” and there are some concerning comments by former emplyees, so better look for an alternative.

2 Likes

That really is a shame. They had some promising things on the roadmap like having multiple projects on a single server and such. Seemed like a good Dokku alternative at the time.

I agree with @zimt28, the lack of updates or any Nanobox staff on the slack channel doesn’t paint a great picture. It’s sad, I had high hopes for them.

1 Like

Not to pile on, but I concur with @zimt28 and @frigidcode. The Slack used to be very active with staff helping folks get up and running. It was definitely a bit of a whack-a-mole method of helping folks, so it’s understandable that they needed to redesign their support structure. However, removing on-demand help desk support for free-tier customers doesn’t necessitate radio silence about the product. Disconcerting.

It is a real bummer. As I was prototyping a new production app I found their interface really strong. But I can’t in good conscience recommend them until they earn some trust back with action and not words.

Nanobox has just been acquired by DigitalOcean and I think that’s great news! Even though they didn’t seem very healthy as a company, I really like their product – let’s see where it goes :slightly_smiling_face:

2 Likes

I am interested in seeing how DO picks up the pieces. However since we know so little about the internals of Nanobox v2 it could be a mess, but I hope not.

1 Like

A bit disappointing that Elixir/Phoenix is not listed in the popular supported languages and frameworks section (https://www.digitalocean.com/docs/app-platform/languages-frameworks/).

Indeed. Reality check… We are not mainstream yet…

But you can easily use a Dockerfile to use that service. See https://github.com/wojtekmach/phoenix_example/tree/digitalocean

I’m just struggling to get migrations working…