For anyone who works in software development can surely understand how micro services can be amazing while also being one of the biggest pains in the ass.
Now if you just watched that video – you will understand the life of micro-services regardless of experience in them. (seriously, that video explains it exceptionally well).
The idea of micro services is to have a series of applications run in there own sandbox. For example, a container for mysql, ui, apache, and more. Think of running each operation of ngix in a container and having the ability to control each one individually. Makes life pretty simple when things are separated a little more. Instead of having to make changes to each piece, only one area of focus could in theory be updated.
The benefit for doing this is really dependent on your architecture and deployment methods. Now for AWS or Azure, being able to just export your container and have it all work is simply fascinating. The biggest benefit is consistency between platforms. The container you end up running on development, would be the same container ran on production. Meaning that a worry about different environments is really taken out of the puzzle. Docker can end up making this a really easy concept.
So what is Docker? Docker is a tool to create, run, and deploy containers, very similar to a virtual machine in some ways. Mostly used to create various linux containers. With docker you can package everything you need for an application into a container. Doing this will allow this container to run the same on any environment (where docker is supported) the same way regardless of environment.
Docker is one of the more popular methods of development these days. Having an application run inside a container for production with easy deployment.
What are your thoughts on docker? Have you used it? Do you plan on ever using it?