Thinking inside the box

We switched our entire development setup to nanobox.io and we’re not looking back. Here’s why.

Jonathan Muth
Sep 15, 2017 · 5 min read

Hi, my name is Jonathan and I have been with diesdas.digital as a freelance front-end developer for the past 6 months. This week I am taking over the reigns from Harry to write a post about what I have been working on for the past three weeks.

Over the past year diesdas.digital grew from a team of just 4 founders to a company of nearly 15. It happened organically but much fast than anyone had anticipated. To keep things running smoothly, we made the decision to standardize processes that were kept rather informal before.

A couple of weeks ago we decided that it was time to find a common foundation that all of our technical projects could share, because managing multiple development setups simultaneously got in the way of getting things done.

The inevitable code photo.

Yesterday’s cruft, today’s standards and tomorrow’s innovations form an ever-changing continuum of technological dependencies, that requires more time, attention and care than most people are willing to admit.

After having a close look at our current development process we came up with the following goals:

  1. Setting up projects locally should be as simple as possible. Ideally every developer should be able to get up and running within minutes.

Naturally, I got very excited when Harry asked me to investigate Nanobox — a new tool that appeared to cover all these goals. It seemed too good to be true.

The video is a bit pretentious, but a good intro nonetheless.

At first, I was a bit intimidated — going from front-end developer to sysadmin was certainly not a career change I had anticipated. I am glad to say, that it was well worth it.

Within hours I had the first projects running inside nanobox, soon we were able to deploy to AWS, and just a few days later we have begun to migrate the majority of our projects to nanobox.

We now rely on a combination of Nanobox, Travis-CI, Github and AWS to run our projects locally, to test and build, to deploy and to host them. If all of this got you excited, keep on reading for the deep-dive — if not, just rest assured that your projects are in good hands.

Why are we using Nanobox?

Through virtualization Nanobox provides a unified development, staging and production environment for the majority of our projects. This has the following advantages:

  • Setting up a project on a local machine becomes a matter of minutes instead of hours. No more guesswork. “You hear me mcrypt!?!”

Nanobox also has the advantage that it is non-invasive. Apart from adding a handful of environment variables to already existing configuration files, there is no need to modify existing projects to get them running inside the box. Nanobox also does not make any assumptions about what other technologies you are using.

What are the advantages of using Travis CI?

Travis CI is a continuous integration service that we use to build and test projects managed on GitHub. It monitors the staging and production branches of any given project and automatically deploys them via Nanobox to different AWS apps whenever changes are committed. This has the following advantages:

  • Everybody who has access to the project on GitHub is able to deploy it without having to worry about its configuration just by merging changes into the staging or production brachnes. “Who needs M&A when you can M&D?”

We used Codeship for continuous deployment before, but it doesn’t support Nanobox right now, its permission system is not based on Github and it doesn’t keep its configuration in the repository. All these boxes are ticked by Travis CI, which makes it the way to go for us.

Which role does AWS play in all of this?

Amazon Web Services provide on-demand Cloud Storage, Hosting and Computing. All our Nanobox projects are running on EC2 instances. This is what we get from using AWS:

  • It scales effortlessly according to our client’s needs.

There is probably no need to mention what GitHub does for us.


And there you have it: We now run all our projects containerized, on easily scalable hosting, including trivial rollbacks, continuously deployed, well documented and featuring a super quick, consistent setup. All without changing our workflow and letting us focus on what matters: writing code and sleeping well.

Note: This article is not an advertisement or paid endorsement by Nanobox. We genuinely think their service is that fantastic and liberating. Give it a shot!

Indeed.

diesdas.digital is a nimble studio for strategy, branding and product development in Berlin, featuring a multidisciplinary team of designers, developers and strategists. We create tailor-made digital solutions with an agile mindset and a smile on our faces; seeing the bigger picture, as well as intricate details. You can hire us: let’s work together and make rad internet stuff! 🙌

Want more? We’re also on Twitter, Facebook, Instagram, Snapchat and we highly recommend our Tumblr. You could also subscribe to this publication to get notified when new posts are published! Phew. That’s all, over & out! 🛰

diesdas.direct

Thoughts, observations and learnings from Berlin-based digital studio diesdas.digital.

Jonathan Muth

Written by

diesdas.direct

Thoughts, observations and learnings from Berlin-based digital studio diesdas.digital.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade