Latest news about Bitcoin and all cryptocurrencies. Your daily crypto news habit.
This post is an introduction to containers for non-technical folk.
My company Machine Box delivers machine learning models as Docker containers. Without containers, weâd have a much harder time getting customer adoption, and our cost of customer acquisition would be extremely high.
http://www.docker.comâââI love these guys
Docker might be the new electricity. Remember when it was difficult to run a company without electricity? Today, itâs going to be difficult to run a company without some kind of container strategy. Although there are some subtle differences between containers and the presence of an electric charge, the fundamental relationship between resources and output is the same.
Allow me to start with the basics. Weâre talking about software containers, not those plastic cubes and rhombuses you can put your clothes into. Containers were popularized by a company called Docker, who blew past a billion dollar valuation back in 2015. Perhaps the best way to explain what a software container is, is to compare it to something you might be more familiar with; a virtual machine. A virtual machine is essentially an operating system inside another operating system. You can run Windows inside of a MacOS for example, as a virtual machine. You spin up some software that understands what a virtual machine file looks like, open the file within this environment, and an entire operating system will boot up, isolated from its surroundings (sort of).
It has benefits because you can scale this to accommodate large workflows where some specific software needs to be installed and run in a dedicated way. Its also an easy way for vendors of complex software to deliver their product to you without requiring lots of installation and configuration.
https://www.geekwire.com/2017/review-parallels-desktop-12-mac-shows-virtual-machine-matters/
But when you spin up a virtual instance of Windows, youâre also spinning up all the stuff inside that operating system that you donât need. All those drivers, applications, settings, and instances of Solitaire get booted up every time you run that VM. At scale, that is a lot of wasted resources.
What are containers?
This is where containers comes in. Docker describes it best:
A container image is a lightweight, stand-alone, executable package of a piece of software that includes everything needed to run it: code, runtime, system tools, system libraries, settings.
It excludes everything you donât need. They are lean, mean, application machines. Properly architected containers donât have a byte of unnecessary computernessâą inside.
If youâve made it this far, you might be asking yourself âIf developers are making the containers, then what do I need Docker for?â
Docker does many things, but primarily it is an agreement between an operating system, and what is inside your container. Just like the software that runs a virtual machine on your computer (of which there are many).
How do IÂ scale?
Ok, so now youâve gotten a hold of a container and it runs great on my computer, but how do I scale? Great rhetorical question! This is where the true ROI comes into play, and why companies must start seriously thinking about how theyâre going to approach their infrastructure going forward as it pertains to containers.
Keep a close eye on something called Kubernetes. Remember all that overhead youâre saving by using a container instead of a virtual machine? Well that really starts to save you money when you consider scaling. Kubernetes is a container orchestrator, which means you can use it to manage millions of containers to work together. This is how the cloud works today. Companies like Google use Kubernetes to manage billions of people searching things every second of every day around the world. Google is a single platform; a single website with a single purpose. Yet it can be used by everyone on Earth, all at once, and somehow not breakdown or bankrupt the company. Think of all the challenges that one is presented with when building a system to scale to that size; load-balancing, security, segmentation, data management, etc. It turns out, combining containers with tools like Kubernetes (there are others to) lets any company scale to Googleâs size (sort of), without breaking the bank. That, my friends, is a return on your investment.
It wonât be possible to provide the kind of scale customers expect without considering a container strategy. So hire a devlops engineer and get started sorting that out now.
What is Machine Box?
Machine Box puts state of the art machine learning capabilities into Docker containers so developers like you can easily incorporate natural language processing, facial detection, object recognition, etc. into your own apps very quickly.
The boxes are built for scale, so when your app really takes off just add more boxes horizontally, to infinity and beyond. Oh, and itâs way cheaper than any of the cloud services (and they might be better)⊠and your data doesnât leave your infrastructure.
Have a play and let us know what you think.
Why companies need a container strategy now was originally published in Hacker Noon on Medium, where people are continuing the conversation by highlighting and responding to this story.
Disclaimer
The views and opinions expressed in this article are solely those of the authors and do not reflect the views of Bitcoin Insider. Every investment and trading move involves risk - this is especially true for cryptocurrencies given their volatility. We strongly advise our readers to conduct their own research when making a decision.