|
6 | 6 |
|
7 | 7 |
|
8 | 8 | class: center, middle, theBlackBackground
|
9 |
| -background-image: url(https://github.com/sisteming/sisteming.github.io/%3Cspan%20class=%22x%20x-first%20x-last%22%3Etree/master/https://github.com/sisteming/sisteming.github.io/%3C/span%3Eblob/master/img/cover2.jpg) |
| 9 | +background-image: url(https://github.com/sisteming/sisteming.github.io/blob/master/img/cover2.jpg) |
10 | 10 | background-position: center;
|
11 | 11 | background-repeat: no-repeat;
|
12 | 12 | background-size: contain;
|
|
39 | 39 | ---
|
40 | 40 | class: top, left
|
41 | 41 |
|
42 |
| -<img align="right" valign="top" src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/marcoBonezzi.png" width="120"> |
| 42 | +<img align="right" valign="top" src="https://github.com/sisteming/sisteming.github.io/blob/master/img/marcoBonezzi.png" width="120"> |
43 | 43 |
|
44 | 44 | # **About me**
|
45 | 45 |
|
|
56 | 56 |
|
57 | 57 |
|
58 | 58 |
|
59 |
| -<img align="right" valign="top" src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/balena.png" width="200"> |
| 59 | +<img align="right" valign="top" src="https://github.com/sisteming/sisteming.github.io/blob/master/img/balena.png" width="200"> |
60 | 60 | ### Fan of all things containerised!
|
61 | 61 | ---
|
62 | 62 | class: top, left
|
|
109 | 109 | <table style="width:100%">
|
110 | 110 | <tr>
|
111 | 111 | <td>Different architectures in Development and Production</td>
|
112 |
| - <th><img align="right" valign="middle" src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/dev.png" width="250"></th> |
| 112 | + <th><img align="right" valign="middle" src="https://github.com/sisteming/sisteming.github.io/blob/master/img/dev.png" width="250"></th> |
113 | 113 | </tr>
|
114 | 114 | --
|
115 | 115 |
|
116 | 116 | <tr>
|
117 | 117 | <td>Co-located processes sharing resources</th>
|
118 |
| - <th><img align="right" valign="middle" src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/cgroup.png" width="250"></th> |
| 118 | + <th><img align="right" valign="middle" src="https://github.com/sisteming/sisteming.github.io/blob/master/img/cgroup.png" width="250"></th> |
119 | 119 | </tr>
|
120 | 120 |
|
121 | 121 | --
|
122 | 122 | <tr>
|
123 | 123 | <td>Production != docker run my_new_shiny_cluster</td>
|
124 |
| - <td><img align="left" valign="middle" src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/prod.png" width="250"></td> |
| 124 | + <td><img align="left" valign="middle" src="https://github.com/sisteming/sisteming.github.io/blob/master/img/prod.png" width="250"></td> |
125 | 125 | </tr>
|
126 | 126 | </table>
|
127 | 127 |
|
|
138 | 138 | - Shared kernel and libraries
|
139 | 139 | - Can run on any infrastructure (or Cloud provider)
|
140 | 140 |
|
141 |
| -<img align="right" vertical-align: center src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/engine.png" width="250"> |
| 141 | +<img align="right" vertical-align: center src="https://github.com/sisteming/sisteming.github.io/blob/master/img/engine.png" width="250"> |
142 | 142 |
|
143 | 143 | ---
|
144 | 144 |
|
|
168 | 168 |
|
169 | 169 | Defining resource limits for each container can be useful
|
170 | 170 | <br>
|
171 |
| -<img align="center" vertical-align: middle src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/cgroup-docker.png" width="800"> |
| 171 | +<img align="center" vertical-align: middle src="https://github.com/sisteming/sisteming.github.io/blob/master/img/cgroup-docker.png" width="800"> |
172 | 172 |
|
173 | 173 | ---
|
174 | 174 |
|
|
177 | 177 |
|
178 | 178 | According to ***"The Docker Survey, 2016"***:
|
179 | 179 |
|
180 |
| -<img align="center" vertical-align: middle src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/why.png" width="800"> |
| 180 | +<img align="center" vertical-align: middle src="https://github.com/sisteming/sisteming.github.io/blob/master/img/why.png" width="800"> |
181 | 181 |
|
182 | 182 | ---
|
183 | 183 |
|
184 | 184 | class: top, left
|
185 | 185 | # **Docker ecosystem**
|
186 | 186 |
|
187 |
| -<img align="right" vertical-align: middle src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/machine.png" width="120"> |
| 187 | +<img align="right" vertical-align: middle src="https://github.com/sisteming/sisteming.github.io/blob/master/img/machine.png" width="120"> |
188 | 188 | ### - Provisioning and managing Dockerized hosts
|
189 | 189 | <br><br><br>
|
190 | 190 | --
|
191 | 191 |
|
192 |
| -<img align="right" vertical-align: middle src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/compose.png" width="120"> |
| 192 | +<img align="right" vertical-align: middle src="https://github.com/sisteming/sisteming.github.io/blob/master/img/compose.png" width="120"> |
193 | 193 | ### - Define multi-container applications in a single file
|
194 | 194 | <br><br>
|
195 | 195 | --
|
196 | 196 |
|
197 |
| -<img align="right" vertical-align: middle src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/swarm.png" width="120"> |
| 197 | +<img align="right" vertical-align: middle src="https://github.com/sisteming/sisteming.github.io/blob/master/img/swarm.png" width="120"> |
198 | 198 | ### - Cluster of Docker hosts as a single Docker host
|
199 | 199 |
|
200 | 200 | ---
|
|
234 | 234 |
|
235 | 235 | Simple Flask python application that will retrieve information from a database.
|
236 | 236 |
|
237 |
| -```txt |
| 237 | +```shell |
238 | 238 | ├── app.py
|
239 | 239 | │ ├── app.py
|
240 | 240 | │ ├── index.html
|
|
638 | 638 | class: top, left
|
639 | 639 | # Infrastructure used for Docker Swarm
|
640 | 640 |
|
641 |
| -<img align="center" src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/swarm_arq.png" width="800"> |
| 641 | +<img align="center" src="https://github.com/sisteming/sisteming.github.io/blob/master/img/swarm_arq.png" width="800"> |
642 | 642 |
|
643 | 643 |
|
644 | 644 | ---
|
645 | 645 | class: top, left
|
646 | 646 | # Configuring a Docker Swarm
|
647 | 647 |
|
648 |
| -<img align="center" vertical-align: middle src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/swarm_steps.png" width="800"> |
| 648 | +<img align="center" vertical-align: middle src="https://github.com/sisteming/sisteming.github.io/blob/master/img/swarm_steps.png" width="800"> |
649 | 649 |
|
650 | 650 | ---
|
651 | 651 | class: top, left
|
652 | 652 | # Orchestrating containers with Docker Swarm
|
653 | 653 |
|
654 | 654 | ### Why Docker Swarm?
|
655 | 655 |
|
656 |
| -<img align="right" vertical-align: middle src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/swarm_comp.png" width="400"> |
| 656 | +<img align="right" vertical-align: middle src="https://github.com/sisteming/sisteming.github.io/blob/master/img/swarm_comp.png" width="400"> |
657 | 657 |
|
658 | 658 | ### Evaluating Container Platforms at Scale
|
659 | 659 | - 1000 EC2 instances in a cluster
|
|
674 | 674 | - Swarm overlay container-to-container network
|
675 | 675 | - Using the hostname defined in the Compose file
|
676 | 676 |
|
677 |
| -<img align="center" vertical-align: middle src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/swarm_net.png" width="800"> |
| 677 | +<img align="center" vertical-align: middle src="https://github.com/sisteming/sisteming.github.io/blob/master/img/swarm_net.png" width="800"> |
678 | 678 |
|
679 | 679 | ---
|
680 | 680 | class: top, left
|
|
715 | 715 | <table style="width:100%">
|
716 | 716 | <tr>
|
717 | 717 | <td><b>Replica Set</b>: Redundancy and fault tolerance</td>
|
718 |
| - <th><img align="right" valign="middle" src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/cluster.png" width="250"></th> |
| 718 | + <th><img align="right" valign="middle" src="https://github.com/sisteming/sisteming.github.io/blob/master/img/cluster.png" width="250"></th> |
719 | 719 | </tr>
|
720 | 720 | <tr>
|
721 | 721 | <td><b>Sharded cluster</b>: Scalability</th>
|
722 |
| - <th><img align="right" valign="middle" src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/replicaset.png" width="250"></th> |
| 722 | + <th><img align="right" valign="middle" src="https://github.com/sisteming/sisteming.github.io/blob/master/img/replicaset.png" width="250"></th> |
723 | 723 | </tr>
|
724 | 724 | </table>
|
725 | 725 |
|
|
752 | 752 | class: top, left
|
753 | 753 | # Summary of our deployment
|
754 | 754 |
|
755 |
| -<img align="center" valign="center" src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/swarm_arq_mdb.png" width="700"> |
| 755 | +<img align="center" valign="center" src="https://github.com/sisteming/sisteming.github.io/blob/master/img/swarm_arq_mdb.png" width="700"> |
756 | 756 |
|
757 | 757 | ---
|
758 | 758 |
|
759 | 759 |
|
760 | 760 | class: top, left
|
761 | 761 | # Our dockerized MongoDB cluster
|
762 | 762 |
|
763 |
| -<img align="center" valign="center" src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/mongodb_arq.png" width="750"> |
| 763 | +<img align="center" valign="center" src="https://github.com/sisteming/sisteming.github.io/blob/master/img/mongodb_arq.png" width="750"> |
764 | 764 |
|
765 | 765 | ---
|
766 | 766 |
|
|
852 | 852 |
|
853 | 853 | When running any process inside a container, memory usage is a key point to understand
|
854 | 854 |
|
855 |
| -<img align="center" valign="center" src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/memory.png" width="750"> |
| 855 | +<img align="center" valign="center" src="https://github.com/sisteming/sisteming.github.io/blob/master/img/memory.png" width="750"> |
856 | 856 |
|
857 | 857 |
|
858 | 858 | ---
|
|
861 | 861 | # Orchestrating MongoDB containers with Docker Swarm
|
862 | 862 |
|
863 | 863 | Each container tagged with 2 labels...
|
864 |
| -<img align="right" valign="top" src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/container.png" width="250"> |
| 864 | +<img align="right" valign="top" src="https://github.com/sisteming/sisteming.github.io/blob/master/img/container.png" width="250"> |
865 | 865 |
|
866 | 866 | <br><br><br><br><br>
|
867 | 867 | --
|
868 | 868 | ...that can be used to orchestrate where we deploy each container:
|
869 |
| -<img align="center" valign="center" src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/mdb_swarm.png" width="800"> |
| 869 | +<img align="center" valign="center" src="https://github.com/sisteming/sisteming.github.io/blob/master/img/mdb_swarm.png" width="800"> |
870 | 870 | ---
|
871 | 871 |
|
872 | 872 | class: top, left
|
|
877 | 877 | - **Speed**: testing and deploying patterns instead of single processes
|
878 | 878 | - Build once, deploy everywhere
|
879 | 879 |
|
880 |
| -<img align="right" valign="top" src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/rs.png" width="300"> |
| 880 | +<img align="right" valign="top" src="https://github.com/sisteming/sisteming.github.io/blob/master/img/rs.png" width="300"> |
881 | 881 | - **Control**: Resource control and utilization
|
882 | 882 | - Key to success with containers
|
883 | 883 |
|
|
892 | 892 | class: top, left
|
893 | 893 | # How successful customers use MongoDB with Docker
|
894 | 894 |
|
895 |
| -<img align="center" valign="top" src="https://github.com/sisteming/sisteming.github.io/tree/master/https://github.com/sisteming/sisteming.github.io/blob/master/img/customers.png" width="700"> |
| 895 | +<img align="center" valign="top" src="https://github.com/sisteming/sisteming.github.io/blob/master/img/customers.png" width="700"> |
896 | 896 |
|
897 | 897 | - **Case Studies:**
|
898 | 898 | - www.mongodb.com/blog
|
|
913 | 913 |
|
914 | 914 |
|
915 | 915 | class: center, middle, theBlackBackground
|
916 |
| -background-image: url(https://github.com/sisteming/sisteming.github.io/%3Cspan%20class=%22x%20x-first%20x-last%22%3Etree/master/https://github.com/sisteming/sisteming.github.io/%3C/span%3Eblob/master/img/cover2.jpg) |
| 916 | +background-image: url(https://github.com/sisteming/sisteming.github.io/blob/master/img/cover2.jpg) |
917 | 917 | background-position: center;
|
918 | 918 | background-repeat: no-repeat;
|
919 | 919 | background-size: contain;
|
|
0 commit comments