{"id":41,"date":"2024-02-07T00:07:40","date_gmt":"2024-02-07T00:07:40","guid":{"rendered":"https:\/\/blogs.oregonstate.edu\/bournm\/?p=41"},"modified":"2024-02-07T00:07:40","modified_gmt":"2024-02-07T00:07:40","slug":"a-technology-i-underestimated","status":"publish","type":"post","link":"https:\/\/blogs.oregonstate.edu\/bournm\/2024\/02\/07\/a-technology-i-underestimated\/","title":{"rendered":"A Technology I Underestimated"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<p>Last summer 2023 when I was working as a Backend Engineer Intern, I was first introduced to a technology that initially caused me frustration, but I later came to appreciate as I utilize it in my senior capstone project. <\/p>\n\n\n\n<p>First lets talk <strong><em>Containerization<\/em><\/strong>. This software deployment process is important for reasons like portability, efficiency, faster delivery, flexibility, easier management etc. <\/p>\n\n\n\n<p class=\"has-small-font-size\">&#8220;Containerization\u00a0is the packaging of software code with just the\u00a0operating system\u00a0(OS) libraries and\u00a0dependencies\u00a0required to run the code to create a single lightweight executable\u2014called a container\u2014that runs consistently on any infrastructure.&#8221; (IBM)<\/p>\n\n\n\n<p>In other words, containerization is like using a shipping container for software. \ud83d\udea2 It can move and run the same way anywhere. As software engineers, we like to make our lives easier, not complicated. Well, at least we<em> try <\/em>to. Anything that streamlines development and deployment processes without compromising quality or security is a welcome change. Now introducing our friend: Docker<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"526\" height=\"206\" src=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/7133\/files\/2024\/02\/image-1.png\" alt=\"\" class=\"wp-image-43\" srcset=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/7133\/files\/2024\/02\/image-1.png 526w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/7133\/files\/2024\/02\/image-1-300x117.png 300w\" sizes=\"auto, (max-width: 526px) 100vw, 526px\" \/><\/figure>\n\n\n\n<p>Docker is a platform that allows developers to build, test and deploy applications quickly using containers that run virtually anywhere. <\/p>\n\n\n\n<p>Now up until this point, most of us have experienced developing full-stack applications. Remember that time you had like 10 different folder paths, going into your backend, starting up that server. Going into your frontend and starting that server. And going into any other microservice running on some other server. It quickly becomes a terminal tedium especially with large projects. Well what if I told you one simple command could start up all those servers? <a href=\"https:\/\/www.docker.com\/\">Docker<\/a> does exactly that with <code>docker compose up <\/code><\/p>\n\n\n\n<p>Here&#8217;s an example from my capstone project:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"561\" height=\"103\" src=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/7133\/files\/2024\/02\/image.png\" alt=\"\" class=\"wp-image-42\" srcset=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/7133\/files\/2024\/02\/image.png 561w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/7133\/files\/2024\/02\/image-300x55.png 300w\" sizes=\"auto, (max-width: 561px) 100vw, 561px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>As you can see, I am able to run my frontend, backend and my database servers all at once without having to manually enter each of their associated folders. Now imagine you&#8217;re at a large company where production has numerous servers, microservices, databases and other dependencies. It becomes clear that containers seem ideal to manage such levels of complexities. Docker is truly an excellent tool for organizing modern applications at scale. Overall, I wish I appreciated and knew about Docker sooner, but I am grateful to have been exposed to it last summer, and I look forward to learning more about it throughout our capstone project.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Sources: <\/p>\n\n\n\n<p>&#8220;What Is Containerization?&#8221;\u00a0<em>IBM<\/em>, www.ibm.com\/topics\/containerization.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Last summer 2023 when I was working as a Backend Engineer Intern, I was first introduced to a technology that initially caused me frustration, but I later came to appreciate as I utilize it in my senior capstone project. First lets talk Containerization. This software deployment process is important for reasons like portability, efficiency, faster &hellip; <a href=\"https:\/\/blogs.oregonstate.edu\/bournm\/2024\/02\/07\/a-technology-i-underestimated\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">A Technology I Underestimated<\/span><\/a><\/p>\n","protected":false},"author":13692,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-41","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.oregonstate.edu\/bournm\/wp-json\/wp\/v2\/posts\/41","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.oregonstate.edu\/bournm\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.oregonstate.edu\/bournm\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/bournm\/wp-json\/wp\/v2\/users\/13692"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/bournm\/wp-json\/wp\/v2\/comments?post=41"}],"version-history":[{"count":1,"href":"https:\/\/blogs.oregonstate.edu\/bournm\/wp-json\/wp\/v2\/posts\/41\/revisions"}],"predecessor-version":[{"id":44,"href":"https:\/\/blogs.oregonstate.edu\/bournm\/wp-json\/wp\/v2\/posts\/41\/revisions\/44"}],"wp:attachment":[{"href":"https:\/\/blogs.oregonstate.edu\/bournm\/wp-json\/wp\/v2\/media?parent=41"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/bournm\/wp-json\/wp\/v2\/categories?post=41"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/bournm\/wp-json\/wp\/v2\/tags?post=41"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}