{"id":20246,"date":"2023-01-27T07:20:56","date_gmt":"2023-01-27T07:20:56","guid":{"rendered":"https:\/\/www.booksofall.com\/es\/?post_type=product&#038;p=20246"},"modified":"2023-02-07T08:41:06","modified_gmt":"2023-02-07T08:41:06","slug":"ci-cd-with-docker-and-kubernetes-book","status":"publish","type":"product","link":"https:\/\/www.booksofall.com\/es\/ci-cd-with-docker-and-kubernetes-book\/","title":{"rendered":"CI\/ CD with Docker and Kubernetes Book"},"content":{"rendered":"<h2><b>Using Docker for Development and <a href=\"https:\/\/www.redhat.com\/en\/topics\/devops\/what-is-ci-cd\">CI\/CD\u00a0<\/a><\/b><\/h2>\n<p>In 2013, Solomon Hykes showed a demo of the first version of Docker during the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Python_Conference\">PyCon conference<\/a> in Santa Clara2. Since then, the benefits of Docker containers have spread to seemingly every corner of the software industry. While <a href=\"https:\/\/www.docker.com\/\">Docker<\/a> (the project and the company) made containers so popular, they were not the first project to leverage containers out there; and they are definitely not the last either.<\/p>\n<p>Several years later, we can hopefully see beyond the hype as some powerful, efficient patterns emerged to leverage containers to develop and ship better software, faster. In this chapter, you will first learn about the kind of benefits that you can expect from implementing Docker containers.<\/p>\n<p>Then, a realistic roadmap that any organization can follow realistically, to attain these benefits.<\/p>\n<h3><b>1.1 Benefits of Using Docker\u00a0<\/b><\/h3>\n<p>Containers will not instantly turn our monolithic, legacy applications into distributed, scalable microservices. Containers will not transform overnight all our software engineers into \u201cDevOps engineers\u201d. Notably, because DevOps is not defined by our tools or skills, but rather by a set of practices and cultural changes. So what can containers do for us?<\/p>\n<h4><b>1.1.1 Set up Development Environments in Minutes\u00a0<\/b><\/h4>\n<p>Using Docker and its companion tool Compose, you can run a complex app locally, on any machine, in less than five minutes. It sums up to:<\/p>\n<p>$ git clone https:\/\/github.com\/jpetazzo\/dockercoins<br \/>\n$ cd dockercoins<br \/>\n$ docker-compose up<\/p>\n<p>You can run these three lines on any machine where Docker is installed (<a href=\"https:\/\/www.linux.org\/\">Linux<\/a>, <a href=\"https:\/\/www.apple.com\/macos\/ventura\/\">macOS<\/a>, <a href=\"https:\/\/www.microsoft.com\/en-hk\/windows\/?r=1\">Windows<\/a>), and in a few minutes, you will get the DockerCoins demo app up and running. DockerCoins was created in 2015; it has multiple components written in Python, Ruby, and Node.js, as well as a Redis store. Years later, without changing anything in the code, we can still bring it up with the same three commands.<\/p>\n<p>This means that onboarding a new team member, or switching from a project to another, can now be quick and reliable. It doesn\u2019t matter if DockerCoins is using Python 2.7 and Node.js 8 while your other apps are using Python 3 and Node.js 10, or if your system is using even different versions of these languages; each container is perfectly isolated from the others and from the host system.<\/p>\n<p>We will see how to get there.<\/p>\n<h4><b>1.1.2 Deploy Easily in the Cloud or on Premises<\/b><\/h4>\n<p>After we build container images, we can run them consistently on any server environment. Automating server installation would usually require steps (and domain knowledge) specific to our infrastructure. For instance, if we are using AWS EC2, we may use AMI (Amazon Machine Images), but these images are different (and built differently) from the ones used on Azure, Google Cloud, or a private OpenStack cluster.<\/p>\n<p>Configuration management systems (like Ansible, Chef, Puppet, or Salt) help us by describing our servers and their configuration as manifests that live in version-controlled source repositories. This helps, but writing these manifests is no easy task, and they don\u2019t guarantee reproducible execution. These manifests have to be adapted when switching distributions, distribution versions, and sometimes even from a cloud provider to another, because they would use different network interfaces or disk naming, for instance.<\/p>\n<p>Once we have installed the Docker Engine (the most popular option), it can run any container image and effectively abstract these environment discrepancies.<\/p>\n<p>The ability to stage new environments easily and reliably gives us exactly what we need to set up CI\/CD (continuous integration and continuous delivery). We will see how to get there. Ultimately, it means that advanced techniques, such as blue\/green deployments, or immutable infrastructure, become accessible to us, instead of being a privilege of larger organizations able to spend a lot of time to build their perfect custom tooling.<\/p>\n<h4><b>1.1.3 Less Risky Releases\u00a0<\/b><\/h4>\n<p>Containers can help us to reduce the risks associated with a new release.<\/p>\n<p>When we start a new version of our app by running the corresponding container image, if something goes wrong, rolling back is very easy. All we have to do is stop the container, and restart the previous version. The image for the previous version will still be around and will start immediately.<\/p>\n<p>This is way safer than attempting a code rollback, especially if the new version implied some dependency upgrades. Are we sure that we can downgrade to the previous version? Is it still available on the package repositories? If we are using containers, we don\u2019t have to worry about that, since our container image is available and ready.<\/p>\n<p>This pattern is sometimes called\u00a0<b>immutable infrastructure<\/b>, because instead of changing our services, we deploy new ones. Initially, immutable infrastructure happened with virtual machines: each new release would happen by starting a new fleet of virtual machines. Containers make this even easier to use.<\/p>\n<p>As a result, we can deploy with more confidence, because we know that if something goes wrong, we can easily go back to the previous version.<\/p>\n","protected":false},"excerpt":{"rendered":"<p><iframe style=\"width: 100%; height: 750px; border: none;\" src=\"https:\/\/online.visual-paradigm.com\/share\/book\/ci-cd-with-docker-and-kubernetes-book-18k328087c?p=1\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n","protected":false},"featured_media":20251,"template":"","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"Learn more about CI\/CD for Docker and Kuberbetes, and how to practice it for different cloud-native applications in this guide. Get started now!"},"product_brand":[],"product_cat":[289],"product_tag":[314],"class_list":{"0":"post-20246","1":"product","2":"type-product","3":"status-publish","4":"has-post-thumbnail","6":"product_cat-containers","7":"product_tag-new-books","9":"first","10":"instock","11":"shipping-taxable","12":"product-type-simple"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>CI\/ CD with Docker and Kubernetes Book - BooksOfAll Spanish<\/title>\n<meta name=\"description\" content=\"Learn more about CI\/CD for Docker and Kuberbetes, and how to practice it for different cloud-native applications in this guide. Get started now!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.booksofall.com\/es\/ci-cd-with-docker-and-kubernetes-book\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CI\/ CD with Docker and Kubernetes Book - BooksOfAll Spanish\" \/>\n<meta property=\"og:description\" content=\"Learn more about CI\/CD for Docker and Kuberbetes, and how to practice it for different cloud-native applications in this guide. Get started now!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.booksofall.com\/es\/ci-cd-with-docker-and-kubernetes-book\/\" \/>\n<meta property=\"og:site_name\" content=\"BooksOfAll Spanish\" \/>\n<meta property=\"article:modified_time\" content=\"2023-02-07T08:41:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.booksofall.com\/es\/wp-content\/uploads\/sites\/5\/2023\/01\/CI-CD-with-Docker.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.booksofall.com\/es\/wp-content\/uploads\/sites\/5\/2023\/01\/CI-CD-with-Docker.jpg\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.booksofall.com\/es\/ci-cd-with-docker-and-kubernetes-book\/\",\"url\":\"https:\/\/www.booksofall.com\/es\/ci-cd-with-docker-and-kubernetes-book\/\",\"name\":\"CI\/ CD with Docker and Kubernetes Book - BooksOfAll Spanish\",\"isPartOf\":{\"@id\":\"https:\/\/www.booksofall.com\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.booksofall.com\/es\/ci-cd-with-docker-and-kubernetes-book\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.booksofall.com\/es\/ci-cd-with-docker-and-kubernetes-book\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.booksofall.com\/es\/wp-content\/uploads\/sites\/5\/2023\/01\/CI-CD-with-Docker.jpg\",\"datePublished\":\"2023-01-27T07:20:56+00:00\",\"dateModified\":\"2023-02-07T08:41:06+00:00\",\"description\":\"Learn more about CI\/CD for Docker and Kuberbetes, and how to practice it for different cloud-native applications in this guide. Get started now!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.booksofall.com\/es\/ci-cd-with-docker-and-kubernetes-book\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.booksofall.com\/es\/ci-cd-with-docker-and-kubernetes-book\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.booksofall.com\/es\/ci-cd-with-docker-and-kubernetes-book\/#primaryimage\",\"url\":\"https:\/\/www.booksofall.com\/es\/wp-content\/uploads\/sites\/5\/2023\/01\/CI-CD-with-Docker.jpg\",\"contentUrl\":\"https:\/\/www.booksofall.com\/es\/wp-content\/uploads\/sites\/5\/2023\/01\/CI-CD-with-Docker.jpg\",\"width\":\"595\",\"height\":\"842\",\"caption\":\"CI\/ CD with Docker and Kubernetes Book\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.booksofall.com\/es\/ci-cd-with-docker-and-kubernetes-book\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.booksofall.com\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Categories\",\"item\":\"https:\/\/www.booksofall.com\/es\/categories\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"CI\/ CD with Docker and Kubernetes Book\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.booksofall.com\/es\/#website\",\"url\":\"https:\/\/www.booksofall.com\/es\/\",\"name\":\"BooksOfAll Spanish\",\"description\":\"Biggest IT eBooks library and learning resources - Free eBooks for programming, computing, artificial intelligence and more.\",\"publisher\":{\"@id\":\"https:\/\/www.booksofall.com\/es\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.booksofall.com\/es\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.booksofall.com\/es\/#organization\",\"name\":\"BooksOfAll Spanish\",\"url\":\"https:\/\/www.booksofall.com\/es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.booksofall.com\/es\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.booksofall.com\/es\/wp-content\/uploads\/sites\/5\/2022\/06\/booksofall-logo-2.png\",\"contentUrl\":\"https:\/\/www.booksofall.com\/es\/wp-content\/uploads\/sites\/5\/2022\/06\/booksofall-logo-2.png\",\"width\":166,\"height\":30,\"caption\":\"BooksOfAll Spanish\"},\"image\":{\"@id\":\"https:\/\/www.booksofall.com\/es\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"CI\/ CD with Docker and Kubernetes Book - BooksOfAll Spanish","description":"Learn more about CI\/CD for Docker and Kuberbetes, and how to practice it for different cloud-native applications in this guide. Get started now!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.booksofall.com\/es\/ci-cd-with-docker-and-kubernetes-book\/","og_locale":"es_ES","og_type":"article","og_title":"CI\/ CD with Docker and Kubernetes Book - BooksOfAll Spanish","og_description":"Learn more about CI\/CD for Docker and Kuberbetes, and how to practice it for different cloud-native applications in this guide. Get started now!","og_url":"https:\/\/www.booksofall.com\/es\/ci-cd-with-docker-and-kubernetes-book\/","og_site_name":"BooksOfAll Spanish","article_modified_time":"2023-02-07T08:41:06+00:00","og_image":[{"url":"https:\/\/www.booksofall.com\/es\/wp-content\/uploads\/sites\/5\/2023\/01\/CI-CD-with-Docker.jpg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_image":"https:\/\/www.booksofall.com\/es\/wp-content\/uploads\/sites\/5\/2023\/01\/CI-CD-with-Docker.jpg","twitter_misc":{"Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.booksofall.com\/es\/ci-cd-with-docker-and-kubernetes-book\/","url":"https:\/\/www.booksofall.com\/es\/ci-cd-with-docker-and-kubernetes-book\/","name":"CI\/ CD with Docker and Kubernetes Book - BooksOfAll Spanish","isPartOf":{"@id":"https:\/\/www.booksofall.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.booksofall.com\/es\/ci-cd-with-docker-and-kubernetes-book\/#primaryimage"},"image":{"@id":"https:\/\/www.booksofall.com\/es\/ci-cd-with-docker-and-kubernetes-book\/#primaryimage"},"thumbnailUrl":"https:\/\/www.booksofall.com\/es\/wp-content\/uploads\/sites\/5\/2023\/01\/CI-CD-with-Docker.jpg","datePublished":"2023-01-27T07:20:56+00:00","dateModified":"2023-02-07T08:41:06+00:00","description":"Learn more about CI\/CD for Docker and Kuberbetes, and how to practice it for different cloud-native applications in this guide. Get started now!","breadcrumb":{"@id":"https:\/\/www.booksofall.com\/es\/ci-cd-with-docker-and-kubernetes-book\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.booksofall.com\/es\/ci-cd-with-docker-and-kubernetes-book\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.booksofall.com\/es\/ci-cd-with-docker-and-kubernetes-book\/#primaryimage","url":"https:\/\/www.booksofall.com\/es\/wp-content\/uploads\/sites\/5\/2023\/01\/CI-CD-with-Docker.jpg","contentUrl":"https:\/\/www.booksofall.com\/es\/wp-content\/uploads\/sites\/5\/2023\/01\/CI-CD-with-Docker.jpg","width":"595","height":"842","caption":"CI\/ CD with Docker and Kubernetes Book"},{"@type":"BreadcrumbList","@id":"https:\/\/www.booksofall.com\/es\/ci-cd-with-docker-and-kubernetes-book\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.booksofall.com\/es\/"},{"@type":"ListItem","position":2,"name":"Categories","item":"https:\/\/www.booksofall.com\/es\/categories\/"},{"@type":"ListItem","position":3,"name":"CI\/ CD with Docker and Kubernetes Book"}]},{"@type":"WebSite","@id":"https:\/\/www.booksofall.com\/es\/#website","url":"https:\/\/www.booksofall.com\/es\/","name":"BooksOfAll Spanish","description":"Biggest IT eBooks library and learning resources - Free eBooks for programming, computing, artificial intelligence and more.","publisher":{"@id":"https:\/\/www.booksofall.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.booksofall.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.booksofall.com\/es\/#organization","name":"BooksOfAll Spanish","url":"https:\/\/www.booksofall.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.booksofall.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/www.booksofall.com\/es\/wp-content\/uploads\/sites\/5\/2022\/06\/booksofall-logo-2.png","contentUrl":"https:\/\/www.booksofall.com\/es\/wp-content\/uploads\/sites\/5\/2022\/06\/booksofall-logo-2.png","width":166,"height":30,"caption":"BooksOfAll Spanish"},"image":{"@id":"https:\/\/www.booksofall.com\/es\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.booksofall.com\/es\/wp-json\/wp\/v2\/product\/20246","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.booksofall.com\/es\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/www.booksofall.com\/es\/wp-json\/wp\/v2\/types\/product"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.booksofall.com\/es\/wp-json\/wp\/v2\/media\/20251"}],"wp:attachment":[{"href":"https:\/\/www.booksofall.com\/es\/wp-json\/wp\/v2\/media?parent=20246"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/www.booksofall.com\/es\/wp-json\/wp\/v2\/product_brand?post=20246"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/www.booksofall.com\/es\/wp-json\/wp\/v2\/product_cat?post=20246"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/www.booksofall.com\/es\/wp-json\/wp\/v2\/product_tag?post=20246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}