It is difficult for startup companies to have a DevOps team that only looks after the infrastructure, as there is much more to focus on. The hosted solution could offer the support and flexibility that startups need. Here, at Cloud 66, we provide Ops tools to support developers with containers in production. Read how, at BillFront, developers can become superheroes by using Docker.
BillFront is a financial technology platform that provides liquidity solutions to the digital industry. Their proprietary technology dynamically assesses their clients’ credit worthiness based on a 100+ data variables. BillFront helps its clients such as Ad Networks, Publishers and App Developers accelerate their growth with a quick alternative solution to traditional financing.
BillFront’s international team has years of experience in app development, mobile and financial services. They have a great understanding that timely access to cash is vital to companies in order to manage cash flow and to expand the business.
I have spoken with Marek Nowak, who is the Head of Engineering at BillFront and he explained how BillFront is using Cloud 66 and containers in production.
What is the current infrastructure setup at BillFront?
BillFront’s infrastructure is managed by Cloud 66, with a Rails stack as their main setup. Recently the number of satellite services that they use for development has grown and become more demanding. Thus, BillFront decided to move to Docker Compose to manage all the dependencies. These include:
- the zeus gem to make the specs and rake tasks boot-up faster
- and their ClojureScript compiler.
Marek explained that "since [he] started using some non-Rails peripheral software, [he] really came to appreciate Cloud66's Docker support. Whether it's a commercial self-hosted PHP app or a monitoring event aggregator written in Clojure (the excellent Riemann), it was really easy to set up and runs happily ever since. Of course, they could be run locally with some setup, but having everything readily-available with just one
docker-compose up command on any machine, truly is a luxury."
In the bigger perspective, with BillFront being a part of the FinLeap startup factory, it's also an advantage to have nice, pre-packaged, useful pieces of software that can instantly be deployed whenever a new venture needs them.
How does Docker support BillFront's engineering team?
Let's start with the fact that, initially, BillFront's engineering team included just Marek. This means that he needed to be able to manage BillFront’s whole infrastructure quickly and easily, otherwise there would not be enough time left to develop any new features.
Marek has created his own workflow and whenever he starts a new project that needs to run on a separate machine, he jumps straight into the Docker realm, preparing a Dockerfile that will allow him to run the service with one simple Docker command. This gives two big benefits. The first is that when Marek is done and happy with the service, he just creates a new Docker stack on Cloud 66, points it to the relevant git repository, goes for a coffee, and when he is back all is up and running, the same way he has had it during development. The second benefit is that as the team grows and a new developer wants to run anything, they just copy-paste one command from a project's README file, wait a moment, and that's it.
What are the advantages of using Docker at Cloud 66?
Docker gives the advantage of running any software, regardless of the technology used, in a uniform way. The first time Marek has considered using Docker for production at BillFront was when they wanted to run a third-party commercial app written in PHP, and "obviously I had better things to do than worry how to set up a server for it. A couple of lines of Dockerfile later I could even forget that it's PHP." Back then Marek used Docker Hub to host images, but since he discovered Cloud 66's BuildGrid everything became even easier.
"We especially value the flexibility this set-up provides - whether it's enough for you to have default Docker port bindings or you need some custom Nginx magic for SSL and HTTP authentication inside the Docker containers themselves, it's all there. And when in doubt, the support team is always extremely helpful, to the point of proposing new, undocumented features that made our lives so much easier!"
How has the Cloud 66 support team helped you?
"When I was setting up Riemann, Docker was an obvious choice. As it has two parts, a server and a dashboard, I wanted both to run on one stack to make managing it easier. I also wanted to set up authentication and SSL for it, and because of the default Nginx configuration on Cloud 66 and the fact that Riemann uses both TCP and UDP, I couldn't get it right. Fortunately Cloud 66's customer support is fantastic, and I was instructed how to set up a direct port forwarding to my containers, skipping the default Nginx, allowing me to use my own custom Nginx configurations inside both containers. It is an undocumented feature, and because of how nicely my support ticket was handled I strongly suspect the port forwarding could have been implemented or made public only because of my specific needs. Thank you, guys!". The feature Marek is referring to is the ability to route traffic directly to containers and bypass nginx load balancing in special cases.
Thank you Marek, for your kind words, we are always happy to help!
What other Cloud 66 Docker features are you using?
"Apart from staples like backups, a super-easy replication and ActiveProtect, I really like how periodic rake tasks can be managed straight from the web interface. A small thing, but still very nice."
What is the next step for Docker at BillFront?
At some point, BillFront would like to move from the Classic Rails stack to Docker for their Rails main app. This is just a question of when the architecture becomes complex enough. It will be a pain-free transition, as their application is Docker-compatible already. Right now Marek can't really imagine a "safer and easier way to manage BillFront services."
It is a pleasure to work with the awesome guys at BillFront! Thank you Marek, for finding the time in your very busy schedule to chat about Docker with us. Also, it was great to find out more about BillFront.
If you are working on something cool? Or perhaps you want to start using Docker? Get in touch!