We throw around all the buzzwords here at Beaty Consultancy, but we like to give you explinations on what it all means.too. One of the hottest technology buzzwords right now is containerisation! Containerisation is the practice of putting your workloads into containers. Great, but what does that all mean? Containers don’t need to be scary – we’ve got you! Stick around and let me walk you through the land of containers, docker, and container orchestration.
Why should we Containerise Processes?
Thanks so much for asking! It’d be a short blog post if you didn’t care.
Think of it like a production line. In my city of Carlisle, the big factory is McVities. Inside their factory, each person has one job, and they can be really good at it. One person migth have to load the ingredients in to the machine. Someone else might be in charge of making sure the biscuits are up to their standards when they come out of the oven. Someone else might be in charge of fixing the machines, and someone else of cleaning everything. Great, everyone has their job, and they’re trained on that one job. They don’t need to know everything about every part of the factory because they just do their one job, and do it brilliantly.
Let’s say they upgrade their ovens and need to train staff on how to use the new equipment. In a factory where eveyrone has their own job, you only need to train the staff who work with the ovens. You can do that more quickly, less expensively, and make the whole opperation much more efficient.
You can swap out components of the production line without effecting the other parts.
I Like Biscuits, But What Are You Talking About?
Yeah, I like biscuits too. What’s your favourite one? I like a ginger snap, but when you… hang on, clouds, servers, containers, that’s why we’re here isn’t it.
When you start building larger systems, we often use a methodology called Microservices. Microservices is the equivilent of the staff in the factory in as much as it’s a service which does one thing well. We can swap out each microservice without effecting the rest of the application stack. This is awesome, since we can roll out small changes to and environment super frequently because we can unit-test each small piece of the system.
See, I told you containers don’t need ot be scary!
Scaling our Biscuits
Another great benefit of the microservices may of building systems is that each part can scale independently. If we go back to our example of the simple web shop; let’s say that for every 100 visitors, we make 1 sale. Let’s also say that we only need the database when we do make that sale, so for the other 99 visitors to our shop, we only need one part of the service.
In that case we can have lots of web server containers, and only a couple of database containers. If that ratio of 100:1 changes, we can change the ratio of web to database containers. Easy peasy!
Containers are teenie tiny in comparison to whole servers, so they’re easy peasy to copy and move around. Why would you want to do that? Well you can ship your containers (see what I did there) anywhere you want! Send your container to 5 different developers? No worries! Share your container with thousands of people all over the world to enjoy? Not a problem.
Once you understand Containers and microservices, you can start to see whole new avenues of opportunity. Check out our article on building cloud applications and then get in touch when you have the next multi-million pound idea!