The Ninjas Mount Some Docks

George Egri

Building and deploying Docker – the hottest topic of every devops forum and IT blogs. We kinda had the impression before, that we won’t miss our chances with it either.

Why Docker?

If you are in the web hosting business, containers and Docker technology cannot be such big news for you. Docker triumphed over virtualization.

No wonder, as it has some great tricks up on its sleeves:

  • It resolves the conflict between development and operations. As the dev team has the full control over the execution environment, infrastructures can be changed easily.
  • Even the maintenance of environments is much easier this way. Spared time, less errors, stress-proof testing, reduced risk, increased reliability.
  • And basically, it provides instant application portability.

Introducing Docker to our environment helped us a lot in the last few months.

The BitNinja clan grew bigger and bigger, and we got into a place, where our former solutions weren’t enough to serve the needs. We realized we can’t get through this with tiny steps, we need to jump a giant one.

Introducing Docker to BitNinja

When we launched BitNinja, we couldn’t even imagine that it would be such a successful project.

Some basic settings were more than enough back then, when we started with only 10 servers. The mysql server was the first bump in the road of scaling.

We reached the 500.000 IPs so fast that the mysql server couldn’t handle the obstacles very well after all. That’s why we started using MongoDB last January. We were thinking about the future even that point, as the demand for BitNinja showed a rapid increase that time.

The next milestone was at 500 active BitNinja protected servers, when the instant infrastructure seemed to collapse. We started to extend our infrastructure vertically, the 2GB apache server grew to a 21GB, 16 CPU core giant.

That was about 2 months ago, and we already saw that hitting the 850 servers, growth would be way too intensive and vertical scaling won’t work in the long run. It helped a lot with memory consumption but didn’t solve the CPU problems.

By releasing a new BitNinja client, we separated our Dashboard and the API server and started to prepare the system for horizontal scaling.

By that time we had a fully prepared plan for that, we experienced the ins and outs of Docker in the development environment.

We had been already using Docker technology for 6 months by that time. Which came very handy, as it made a scaleable, microservice-based architectural change happen, with minor configuration.

Unfortunately, the changing process wasn’t smooth at all, as we’ve been just getting familiar with Rancher and Docker in production environment back then, but we became fans of it on the march.

The best part of the journey

 

The moment, when we deployed the new version of our API server with one click and we knew that we could revoke anytime if anything goes wrong. (And once we really need to live with that option.)
Now our system is super-scaleable and we are ready to welcome even 10.000 servers among the ninjas. We created a separate testing, scaling and production environment and the continuous deployment has almost been finished.

What does this mean for you?

  • Less bugs
  • Don’t need to worry about deploying large number of Bitninja servers
  • Faster release cycle, which means even quicker bugfix versions

Do you have Docker too? Share your experience on Facebook!

Share your ideas with us about this article

Previous posts

Censys vs. BitNinja
What is Censys? It is a search engine which allows people to search for the details on the devices and networks that compose the Internet. It uses the database of Zmap and ZGrab network scanners. Day by day, it analyses more than 4 billion IP addresses, which can be examined with the help of Censys.io. The scanning is done once a day. Censys, the Unescapable It is almost impossible to hide from it, as it finds anything, anywhere that is connected to the Internet. Along with the servers storing and serving the content of webpages, webcameras, CCTV cameras, industrial networks, prin...
New CloudFlare Integration
Our CloudFlare integration has been released not so long ago, giving new opportunities and more automated, flawless service to our customers. Our developers worked this project out, because many of our ninja clients use CloudFlare in parallel with our services. The aim of this article is to describe why we needed this development and also to give you additional information about this new feature. The CloudFlare integration was primarily designed for those of our clients who use CloudFlare.     How does it work? Being a CDN (content delivery network) provi...