{"id":2465,"date":"2019-08-15T06:36:41","date_gmt":"2019-08-15T06:36:41","guid":{"rendered":"https:\/\/www.aiproblog.com\/index.php\/2019\/08\/15\/free-book-containerize-your-apps-with-docker-and-kubernetes-and-impact-of-containers-for-ai-on-edge-devices\/"},"modified":"2019-08-15T06:36:41","modified_gmt":"2019-08-15T06:36:41","slug":"free-book-containerize-your-apps-with-docker-and-kubernetes-and-impact-of-containers-for-ai-on-edge-devices","status":"publish","type":"post","link":"https:\/\/www.aiproblog.com\/index.php\/2019\/08\/15\/free-book-containerize-your-apps-with-docker-and-kubernetes-and-impact-of-containers-for-ai-on-edge-devices\/","title":{"rendered":"Free book &#8211; Containerize your Apps with Docker and Kubernetes and impact of containers for AI on Edge devices"},"content":{"rendered":"<p>Author: ajit jaokar<\/p>\n<div>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/3424368389?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/3424368389?profile=RESIZE_710x\" class=\"align-full\"><\/a><\/p>\n<h2>Background<\/h2>\n<p><strong>Containerize your Apps with Docker and Kubernetes<\/strong> is an excellent free book from <a href=\"https:\/\/www.linkedin.com\/in\/gabrielschenker\/\">Gabriel N. Schenker<\/a><\/p>\n<p>You can download the whole book by registering <a href=\"https:\/\/azure.microsoft.com\/en-gb\/resources\/containerize-your-apps-with-docker-and-kubernetes\/\">HERE<\/a><\/p>\n<p>In this post, I explain the significance of deploying apps with Docker and Kubernetes and also some of my thinking at the <a href=\"https:\/\/www.conted.ox.ac.uk\/courses\/artificial-intelligence-cloud-and-edge-implementations\">University of Oxford artificial intelligence cloud and edge implementations<\/a> course.<\/p>\n<p>Oxford for AAA AI edge engineering \u201cAbility to deploy AI and ML models in containers at the Edge\u201d<\/p>\n<p>The book table of contents is<\/p>\n<p>Chapter 1: What Are Containers and Why Should I Use Them?<\/p>\n<p>Chapter 2: Setting up a Working Environment<\/p>\n<p>Chapter 3: Working with Containers<\/p>\n<p>Chapter 4: Creating and Managing Container Images<\/p>\n<p>Chapter 5: Data Volumes and System Management<\/p>\n<p>Chapter 6: Distributed Application Architecture<\/p>\n<p>Chapter 7: Single-Host Networking<\/p>\n<p>Chapter 8: Docker Compose<\/p>\n<p>Chapter 9: Orchestrators<\/p>\n<p>Chapter 10: Orchestrating Containerized Applications\u00a0 with Kubernetes<\/p>\n<p>Chapter 11: Deploying, Updating, and Securing an Application with Kubernetes<\/p>\n<p>Chapter 12: Running a Containerized App in the Cloud<\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<h2>Significance of Containerization<\/h2>\n<p>Containers are the best way to implement a DevOps architecture. This book explains the \u00a0end-to-end deployment of containers for an Azure environment \u2013 including container orchestration through Kubernetes. The book explains the software supply chain and the friction within it \u2013 and then presents containers as a means to reduce this friction and add enterprise-grade security on top of it.<\/p>\n<p><em>\u00a0<\/em><\/p>\n<p>The analogy of a shipping container in the transportation industry is often used to describe software containers. In a shipping container, the container is a box with standardized dimensions (length, width and height) and can be treated as a black box from the shipper\u2019s standpoint. Also, the shipper is not concerned about the contents of the container<\/p>\n<p>\u00a0<\/p>\n<p>Containers unify the world of development and deployment. Prior to devops\/containers \u2013 developers would hand over the code to the operations engineers who were then supposed to install it on the production servers and get it running. This process got complex and error-prone with many developers deploying different applications and versions to those applications. \u00a0The problem was further compounded due to management of many dependencies and very short release cycles.\u00a0 Containers overcome these problems by encapsulating the application and all external dependencies \u2013 ex as in a Docker container.<\/p>\n<p>\u00a0<\/p>\n<p>Containers provide a number of benefits:<\/p>\n<p><strong>Improving security:<\/strong>\u00a0 Container images are immutable and can be scanned<\/p>\n<p>for known vulnerabilities and exposures. We can also ensure that the author of<\/p>\n<p>a container image is who they claim to be.\u00a0<\/p>\n<p><strong>Simulating production-like environments<\/strong>:\u00a0 Containers help simulate a production-like<\/p>\n<p>environment, even on a developer&#8217;s laptop.<\/p>\n<p>Standardizing infrastructure<\/p>\n<p><strong>Standardised infrastructure &#8211;<\/strong> Every server becomes another Docker host. We do not need to install special libraries or frameworks to manage dependencies.<\/p>\n<p>\u00a0<\/p>\n<h2>AI on Edge devices using containers<\/h2>\n<p><strong>Note this section relates to my personal work<\/strong><\/p>\n<p>at the <a href=\"https:\/\/www.conted.ox.ac.uk\/courses\/artificial-intelligence-cloud-and-edge-implementations\">University of Oxford artificial intelligence cloud and edge implementations<\/a> <strong>course. It is not a part of the above book<\/strong><\/p>\n<p>\u00a0<\/p>\n<p>I am exploring the idea of the benefits of containers on Edge devices. All the benefits of containers in reducing friction over the software supply chain also apply to the Edge. I see <strong>AI edge engineering<\/strong> as the <em>\u201cAbility to deploy AI and ML models in containers at the Edge\u201d<\/em><\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p>The philosophy of packaging into containers enables us to run algorithms more effectively because machine learning and Deep learning projects need to manage deployment with an increasingly complex software stack. By using pre-packaged containers which are optimised for performance and tested for compatibility, you can get started easily.<\/p>\n<p>\u00a0<\/p>\n<p>Some more notes:<\/p>\n<ol>\n<li>We can see\u00a0<strong>deep learning containers on the Edge by application type (ex for energy etc)<\/strong><\/li>\n<li>Also, <strong>deep learning containers on the Edge by device type<\/strong> \u2013 ex specific processor types<\/li>\n<\/ol>\n<p>There are already a number of initiatives covering this trend<\/p>\n<p>\u00a0<\/p>\n<p><a href=\"https:\/\/easstandardhosting123.blob.core.windows.net\/iotinactionevents\/taipei\/wrapup\/day2-technical\/IoT%20in%20Action_Taipei_Best%20Practices%20Intelligent%20Edge%20Solutions%20Azure%20IoT%20AI_Andy%20Li_Philip%20C.pdf\">Best Practices of Implementing Intelligent Edge Solutions with Azure IoT &#038; AI (pdf) by Microsoft<\/a>\u00a0<\/p>\n<p>slides 10 , 11 and 12 for the big picture<\/p>\n<p>slide 30 &#8220;Model Management \u2013 Inferencing Target&#8221; &#8211;\u00a0 how models will vary depending on target hardware ie the model is the same in the cloud but exploits the best features of the target processor<\/p>\n<p><a href=\"https:\/\/www.theregister.co.uk\/2019\/04\/24\/docker_arm_collaberation\/\">Docker &#8211; ARM collaboration<\/a> &#8211; cloud-based development environment for writing and delivering applications to cloud, edge and IoT devices. .<\/p>\n<p><a href=\"https:\/\/cloud.google.com\/blog\/products\/ai-machine-learning\/introducing-deep-learning-containers-consistent-and-portable-environments\">Google &#8211; Deep Learning Containers<\/a><\/p>\n<p><a href=\"https:\/\/channel9.msdn.com\/Shows\/Internet-of-Things-Show\/Train-with-Azure-ML-and-deploy-everywhere-with-ONNX-Runtime\">Azure ML<\/a> with <a href=\"https:\/\/onnx.ai\/\">ONNX<\/a> runtime across a range of hardware<\/p>\n<p>\u00a0<\/p>\n<p>I see containers on the Edge to be the key feature of AI Edge Engineering \u2013 especially as Edge applications become more complex from Oil Rigs to Autonomous vehicles<\/p>\n<p>Welcome your comments<\/p>\n<p>\u00a0<\/p>\n<p>You can download the whole book by registering <a href=\"https:\/\/azure.microsoft.com\/en-gb\/resources\/containerize-your-apps-with-docker-and-kubernetes\/\">HERE<\/a><\/p>\n<\/div>\n<p><a href=\"https:\/\/www.datasciencecentral.com\/xn\/detail\/6448529:BlogPost:868364\">Go to Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Author: ajit jaokar Background Containerize your Apps with Docker and Kubernetes is an excellent free book from Gabriel N. Schenker You can download the whole [&hellip;] <span class=\"read-more-link\"><a class=\"read-more\" href=\"https:\/\/www.aiproblog.com\/index.php\/2019\/08\/15\/free-book-containerize-your-apps-with-docker-and-kubernetes-and-impact-of-containers-for-ai-on-edge-devices\/\">Read More<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":468,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[26],"tags":[],"_links":{"self":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts\/2465"}],"collection":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/comments?post=2465"}],"version-history":[{"count":0,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts\/2465\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/media\/464"}],"wp:attachment":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/media?parent=2465"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/categories?post=2465"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/tags?post=2465"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}