#100DaysOfWeb in Python Transcripts
Chapter: Days 97-100: Docker and Docker Compose
Lecture: Container history: Boats
Login or
purchase this course
to watch this video and the rest of the course contents.
0:00
I want to kick off our conversation about Docker and containers with something totally related, like boats. Well, it doesn't seem totally related
0:09
but there's a very interesting analogy between the transformation that happened in the shipping industry and the transformation that happened
0:16
in the software and DevOps industry when containers came around. So let's look at the shipping history and then we'll talk about containers.
0:23
So imagine that it's long ago and you'll be surprised how recent long ago actually turns out to be. But long ago we have a ship
0:31
and we want to load it up with things and get all that stuff somewhere far away another country across an ocean something like that.
0:38
So we have some items that we want to put into our ship here. Maybe we have some produce and it's all packaged like this in these little boxes.
0:46
Maybe we have some baby furniture and maybe even have like a horse carriage type thing and we're going to find a way to cram it all into this boat.
0:53
How much time do you think that'll take? How often think we'll show up and go whoops, the carriage was bigger than we thought
0:59
and it won't fit in the boat the right way or, the produce and the baby furniture don't fit together and we thought they would
1:07
so now there's not enough room on the boat. All right, we tried to ship this stuff and it won't go or it gets damaged or lots of things.
1:13
Loading up the boat used to be a super pain. Is that how we do it today? No. If something like this rolls up
1:20
and we're going to load it up with a bunch of cargo we're not going to go and individually pack it like we've rented a moving van
1:26
and we're trying to load up our house when we're moving, no. We're going to do something entirely different than that.
1:31
What we're going to do is we're going to pull into a place that looks insane, it looks like this. Here is a modern port and it is full of containers.
1:41
Almost every one of these is exactly the same size or maybe it's a couple of sizes. There might be a half-long and a full-long container.
1:48
But all of these things are the same. I can have a boat and say, my boat can carry 500 containers.
1:55
I don't need to worry about what's in those containers. Sure, each one was carefully constructed, carefully packed and maybe the carriage went in there
2:03
and then the baby furniture and we had to wrap it in plastic or whatever but once it's packed, once it's built we know it's going to go on the ship
2:10
because containers go on the ship. We load it up, off it goes to sea looking something like this and we're sure it's going to work.
2:18
It's not a mystery, it's going to work. And that's a little bit like what happened with containers. Traditionally, we had built bespoke systems
2:29
custom one officer reconfigurations and we get stuff running and maybe two years later we want to make some kind of change
2:37
and well, nobody who set up that server is actually still here and we don't even know if we can get the code
2:43
to run on a different machine than that one. I've literally seen this in real life. People had to ship super expensive
2:51
single machines around for demonstrations because they couldn't get the code to run on another machine. How insane is that?
3:00
So just like shipping containers made the shipping industry very predictable software containers make running our code
3:08
and production super predictable.