The document discusses how Docker can be used to ship software using containers, allowing for scalable and efficient delivery pipelines. It explains that Docker containers help standardize environments, ensure clean environments at each stage of development, testing and production, and simplify deployments and rollbacks. The benefits highlighted include better software configuration management by putting everything needed to build software into version control.
15. Delivery Pipeline with Containers
Development
Test
Acceptance
Production
Environment
Setup
Clean
Environments
Similarity to
Production
Deployments and
Roll-back/forwards
16. Delivery Pipeline with Containers
Development
Test
Acceptance
Production
Environment
Setup
Clean
Environments
Similarity to
Production
Deployments and
Roll-back/forwards
Hello,My name is Pini Reznik, I’m from Ugly Duckling and I’m going to talk today about Docker.10
Let me present the problem through an analogy.Here you can see physical goods being shipped around the world through a delivery pipeline.Goods are shipped in many different formats, shapes and sizes, Some of them might interact with each other. For example coffee and spices cannot be stored in close proximity. Each stage in the pipeline needs to support all possible formats. Including yet to be invented 40
Let me present the problem through an analogy.Here you can see physical goods being shipped around the world through a delivery pipeline.Goods are shipped in many different formats, shapes and sizes, Some of them might interact with each other. For example coffee and spices cannot be stored in close proximity. Each stage in the pipeline needs to support all possible formats. Including yet to be invented 40
And that is how the work is typically done at such pipeline.It is manual, complicated and requires understanding of the shipped content by the workers.Does it remind you anything? Just think what would say an operational person in the picture to two development teams who built round barrels and square boxes. And what will say the end customer at the destination when coffee will smell like spices, or gasoline will be spilled on a piano … ?1:15
And that is how the work is typically done at such pipeline.It is manual, complicated and requires understanding of the shipped content by the workers.Does it remind you anything? Just think what would say an operational person in the picture to two development teams who built round barrels and square boxes. And what will say the end customer at the destination when coffee will smell like spices, or gasoline will be spilled on a piano … ?1:15
And that is how the work is typically done at such pipeline.It is manual, complicated and requires understanding of the shipped content by the workers.Does it remind you anything? Just think what would say an operational person in the picture to two development teams who built round barrels and square boxes. And what will say the end customer at the destination when coffee will smell like spices, or gasoline will be spilled on a piano … ?1:15
The solution forefficient shipment is – a standardized container.Today, all types of storage and transportation means support standard containers.They are always sealed and the content of each container is separated from the content of all other containers.Now, producers can easily ship anything they want as long as it fits into a container.And operations can now focus of maintenance of the infrastructure without thinking about content of a transported package.Maybe they can finally find some time to improve the railroads. 2:02
The solution forefficient shipment is – a standardized container.Today, all types of storage and transportation means support standard containers.They are always sealed and the content of each container is separated from the content of all other containers.Now, producers can easily ship anything they want as long as it fits into a container.And operations can now focus of maintenance of the infrastructure without thinking about content of a transported package.Maybe they can finally find some time to improve the railroads. 2:02
The solution forefficient shipment is – a standardized container.Today, all types of storage and transportation means support standard containers.They are always sealed and the content of each container is separated from the content of all other containers.Now, producers can easily ship anything they want as long as it fits into a container.And operations can now focus of maintenance of the infrastructure without thinking about content of a transported package.Maybe they can finally find some time to improve the railroads. 2:02
The solution forefficient shipment is – a standardized container.Today, all types of storage and transportation means support standard containers.They are always sealed and the content of each container is separated from the content of all other containers.Now, producers can easily ship anything they want as long as it fits into a container.And operations can now focus of maintenance of the infrastructure without thinking about content of a transported package.Maybe they can finally find some time to improve the railroads. 2:02
And with containers we can finally tackle the scalability challenge. Imagine shipping a piano on such ship without a container? 2:15
And with containers we can finally tackle the scalability challenge. Imagine shipping a piano on such ship without a container? 2:15
The challenges and the solutions for SW delivery pipeline are very similar to those I just described.Wide variety of hardware platforms should support even wider variety of software components.With Docker, developers will build their applications and put them into a standard containers. Such container will be picked up by the operations and deployed to virtually any platform without concern of dependencies and incompatibilities. 2:46
The challenges and the solutions for SW delivery pipeline are very similar to those I just described.Wide variety of hardware platforms should support even wider variety of software components.With Docker, developers will build their applications and put them into a standard containers. Such container will be picked up by the operations and deployed to virtually any platform without concern of dependencies and incompatibilities. 2:46
Containers are easily built as a part of the regular development lifecycle and can be started in a fraction of a second. It means that we can run every single build or test suite in a new clean environment created for a single use and dispose of it afterwards.3:08
Containers are easily built as a part of the regular development lifecycle and can be started in a fraction of a second. It means that we can run every single build or test suite in a new clean environment created for a single use and dispose of it afterwards.3:08
I don’t have time for a full demo here, so I have chosen to show something really cool to illustrate my point.First example shows creation of a new container which is measured in milliseconds.Second is an example of a Dockerfiles used to build Docker images.Itis short and simple which will make it easily maintainable.3:38----------$ time echo "Running inside container"Running inside containerreal 0m0.000suser 0m0.000ssys 0m0.000s------------FROM quintenk/jdk7-oracleMAINTAINER Pini Reznik <p.reznik@uglyduckling.nl>RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.listRUN apt-get updateRUN apt-get install -y maven
I don’t have time for a full demo here, so I have chosen to show something really cool to illustrate my point.First example shows creation of a new container which is measured in milliseconds.Second is an example of a Dockerfiles used to build Docker images.Itis short and simple which will make it easily maintainable.3:38----------$ time echo "Running inside container"Running inside containerreal 0m0.000suser 0m0.000ssys 0m0.000s------------FROM quintenk/jdk7-oracleMAINTAINER Pini Reznik <p.reznik@uglyduckling.nl>RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.listRUN apt-get updateRUN apt-get install -y maven
Using Docker, we can finally do Software Configuration Management and properly version our build and runtime environments together with the source code.3:53
If you want to hear more details about Docker and ask questions about your specific environment come over to the Docker Amsterdam meetup organised by Ugly Duckling, together with Docker.4:12