DOCKER - 2 Introduction
Hello everyone, and welcome to this introductory course to Docker.
What is Docker? What does it do, why does it exist and why should you learn it?
Today, that's what we're going to talk about.
Docker was released in 2013 as an open source project by a company called dotCloud, a company that no longer exists today.
The project had become so big that they decided to close their old company to open a new one focusing on Docker, Docker.Inc.
It should be noted that it is important to learn how Docker works if you are in any type of IT department. Developer, sysadmin, it does not matter because you will need to go to Docker which will be a real asset whether for your current or future work.
If you've done some research on the subject, you've probably read claims that containers are the fastest growing technology, that absolutely everyone will be using it within x years... Everything this is industry analysts predicting the speed at which we will all adopt this technology. At the point where we are, if a company is global, they are probably using it in some way.
Let's get to the heart of the matter, why do you need Docker? What benefit do you get from it?
The main reason, speed. We talk about the speed of application deployment, the speed of a business and doing things in a company for profit.
Develop, build, test, deploy, update, retrieve data, all faster. This actually covers the entire life cycle of a program.
We now come to a concept called the Matrix from Hell. What it means is that if you're not using containers these days, you're probably in a situation like this. You have a multitude of application types, frontend, backend, worker, middle tier, there are a large number of things that need to work together and that you need for the operation of your program. They all have their own dependencies, their requirements. They may even need to be launched on different OS or different clouds. To put it simply, everything is scattered.
There are of course ways to deal with these issues, but the way containers do this is to allow consistency through it all. This allows to :
Condition the same way regardless of your OS
Distribute a program regardless of installation.
Run and test a program the same way everywhere whether on mac, windows, a pc, on the cloud… etc.
It doesn't matter, they all basically run the same way using Docker.
The reason we want this is because over the years that have passed, there have obviously been a ton of programs that have been created. The problem is that over time, these programs, which are still in use, need maintenance, they must be made compatible with current systems, etc. 80% of a person's time in an IT department is spent managing existing programs. Keep them up to date, keep them working, fix their issues, make backups. And all this means less time to do new things, deploy new software.
Docker therefore allows us to recover some of the time we spend on tasks such as maintenance and devote it to innovation.
Docker's company likes to share its numbers and other information, such as which companies are using their product. This is a good indicator of the actual number of large companies in the world that are adopting the practice of containers in one way or another.
A good example is Paypal. Paypal had over 700 programs that they took and migrated to containers or converted to container-based applications. These apps didn't need a code change for any of that. This is one of the reasons containers are adopted so easily.
This change of system by Paypal allowed them to boost the productivity of the development side by 50%.
That's all for this video, but see you soon, for the next one.