{"id":111,"date":"2024-10-17T01:06:43","date_gmt":"2024-10-17T05:06:43","guid":{"rendered":"http:\/\/localhost:4000\/?p=111"},"modified":"2024-10-17T18:08:39","modified_gmt":"2024-10-17T22:08:39","slug":"the-what-why-and-how-of-microservices","status":"publish","type":"post","link":"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/","title":{"rendered":"The What, Why and How of Microservices"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Summary<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This video introduces microservices, contrasts them with monolithic architectures, and explains how they solve scaling and coordination challenges. It covers microservices communication methods, benefits, best practices, challenges, and how to manage microservices code using monorepo and polyrepo strategies.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ideas<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Monolithic architecture<\/strong> involves a single codebase for all functionalities of an application.<\/li>\n\n\n\n<li><strong>Scaling issues<\/strong> arise in monoliths, as the entire application must scale, leading to higher costs.<\/li>\n\n\n\n<li><strong>Dependency conflicts<\/strong> occur in monoliths when different parts of the app need different versions of the same library.<\/li>\n\n\n\n<li><strong>Microservices architecture<\/strong> breaks down the app into smaller, independent services focused on specific business functions.<\/li>\n\n\n\n<li>Microservices enable <strong>independent scaling<\/strong> and deployment, reducing overhead.<\/li>\n\n\n\n<li><strong>Loose coupling<\/strong> ensures microservices can be developed and deployed without affecting others.<\/li>\n\n\n\n<li><strong>API-based communication<\/strong> is common in microservices for synchronous requests between services.<\/li>\n\n\n\n<li><strong>Message brokers<\/strong> enable asynchronous communication between microservices, improving decoupling.<\/li>\n\n\n\n<li><strong>Service mesh<\/strong> offloads communication logic between microservices, particularly in Kubernetes environments.<\/li>\n\n\n\n<li>Each microservice can be developed using <strong>different programming languages<\/strong>, fostering flexibility.<\/li>\n\n\n\n<li><strong>Independent release cycles<\/strong> allow microservices to be deployed individually, enhancing speed and efficiency.<\/li>\n\n\n\n<li><strong>Kubernetes<\/strong> is a popular platform for running and managing large microservice applications.<\/li>\n\n\n\n<li><strong>HashiCorp tools<\/strong> like Vault, Console, and Terraform help secure and manage microservices infrastructure.<\/li>\n\n\n\n<li><strong>CI\/CD pipelines<\/strong> are essential for automating the deployment of microservices, often multiple times daily.<\/li>\n\n\n\n<li><strong>Monorepo<\/strong> strategy involves managing all microservices code in one repository, simplifying code management but complicating CI pipelines.<\/li>\n\n\n\n<li><strong>Polyrepo<\/strong> uses separate repositories for each microservice, ensuring isolation but complicating collaboration.<\/li>\n\n\n\n<li>Monorepo can cause <strong>tightly coupled code<\/strong>, undermining microservice independence if developers aren\u2019t careful.<\/li>\n\n\n\n<li>Polyrepo\u2019s separate CI pipelines offer <strong>better control<\/strong> but can be harder to manage when multiple services are involved.<\/li>\n\n\n\n<li><strong>Shared dependencies<\/strong> in monorepo are easier to manage as they can reside in the root folder.<\/li>\n\n\n\n<li>In <strong>polyrepo<\/strong>, each microservice repository is independent, which can prevent issues like shared code breaking the main branch.<\/li>\n\n\n\n<li><strong>Polyrepo<\/strong> is better for large teams with distinct responsibilities, but can make cross-service bug fixes more difficult.<\/li>\n\n\n\n<li><strong>Version control challenges<\/strong> arise in monoliths, where different services require different versions of libraries or modules.<\/li>\n\n\n\n<li><strong>Kubernetes service mesh<\/strong> simplifies service-to-service communication in microservice environments.<\/li>\n\n\n\n<li>In monolithic systems, <strong>deployment cycles<\/strong> are slower as the entire application must be tested and deployed together.<\/li>\n\n\n\n<li><strong>Amazon, Google, and Netflix<\/strong> deploy microservices thousands of times per day, showing the scalability benefits.<\/li>\n\n\n\n<li>Microservices architecture is becoming the <strong>industry standard<\/strong> for handling complex, large-scale applications.<\/li>\n\n\n\n<li><strong>CI\/CD for microservices<\/strong> should focus on automation to handle frequent deployments efficiently.<\/li>\n\n\n\n<li><strong>GitLab<\/strong> features like groups help manage multiple repositories in a polyrepo approach.<\/li>\n\n\n\n<li>For small applications, <strong>monorepo<\/strong> simplifies management, but for larger projects, <strong>polyrepo<\/strong> offers better scalability.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Quotes<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u201cWith monolithic architecture, all components of an application are part of a single unit.\u201d<\/li>\n\n\n\n<li>\u201cIn a monolith, if one part of the app needs to scale, the whole app must scale, leading to higher infrastructure costs.\u201d<\/li>\n\n\n\n<li>\u201cThe release process of monoliths takes longer because you need to test and deploy the entire application.\u201d<\/li>\n\n\n\n<li>\u201cMicroservices break down the application into smaller, self-contained services, each handling a specific business function.\u201d<\/li>\n\n\n\n<li>\u201cMicroservices are loosely coupled, meaning you can change one without affecting the others.\u201d<\/li>\n\n\n\n<li>\u201cWith microservices, each service can be deployed and scaled independently.\u201d<\/li>\n\n\n\n<li>\u201cAPI endpoints allow microservices to communicate with each other using synchronous HTTP requests.\u201d<\/li>\n\n\n\n<li>\u201cMessage brokers like RabbitMQ allow asynchronous communication between microservices.\u201d<\/li>\n\n\n\n<li>\u201cService mesh takes over the complete communication logic, allowing microservices to focus on their business logic.\u201d<\/li>\n\n\n\n<li>\u201cYou can develop each microservice using a different programming language or technology stack.\u201d<\/li>\n\n\n\n<li>\u201cKubernetes is the go-to platform for running large microservices applications.\u201d<\/li>\n\n\n\n<li>\u201cCI\/CD pipelines are crucial for deploying microservices applications quickly and efficiently.\u201d<\/li>\n\n\n\n<li>\u201cMonorepo simplifies code management but can create challenges with tightly coupled services.\u201d<\/li>\n\n\n\n<li>\u201cPolyrepo offers complete isolation but makes collaboration across services more complex.\u201d<\/li>\n\n\n\n<li>\u201cIn polyrepo, each microservice has its own repository and CI pipeline, reducing the risk of blocking other services.\u201d<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Habits<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Structuring <strong>microservices based on business functions<\/strong> (e.g., user accounts, checkout).<\/li>\n\n\n\n<li><strong>Scaling individual services<\/strong> as needed rather than the entire application.<\/li>\n\n\n\n<li>Using <strong>API calls<\/strong> for synchronous communication between microservices.<\/li>\n\n\n\n<li>Implementing <strong>asynchronous messaging<\/strong> with a broker for improved decoupling.<\/li>\n\n\n\n<li>Employing <strong>service mesh<\/strong> to manage communication in Kubernetes clusters.<\/li>\n\n\n\n<li>Developing each microservice with <strong>different tech stacks<\/strong> when appropriate.<\/li>\n\n\n\n<li>Utilizing <strong>CI\/CD pipelines<\/strong> to automate frequent deployments of microservices.<\/li>\n\n\n\n<li>Keeping services <strong>loosely coupled<\/strong> to prevent dependencies from complicating releases.<\/li>\n\n\n\n<li>Using <strong>polyrepo<\/strong> when isolation of services is critical, especially with large teams.<\/li>\n\n\n\n<li><strong>Creating distinct pipelines<\/strong> for each microservice to prevent build\/deploy bottlenecks.<\/li>\n\n\n\n<li><strong>Monitoring service health<\/strong> continuously to ensure uptime and avoid communication failures.<\/li>\n\n\n\n<li><strong>Scaling microservices independently<\/strong>, based on demand spikes for specific functions.<\/li>\n\n\n\n<li><strong>Cloning only necessary repositories<\/strong> in a polyrepo setup to save time.<\/li>\n\n\n\n<li>Keeping shared <strong>Kubernetes or Docker templates<\/strong> in centralized repositories.<\/li>\n\n\n\n<li>Ensuring proper <strong>dependency management<\/strong> to avoid conflicts between microservices.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Facts<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Monoliths<\/strong> combine all functionalities into one codebase, complicating scaling and updates.<\/li>\n\n\n\n<li><strong>Microservices<\/strong> offer independent scaling, allowing more flexibility and lower costs.<\/li>\n\n\n\n<li><strong>Loose coupling<\/strong> is a core principle of microservices, ensuring services can function independently.<\/li>\n\n\n\n<li><strong>API calls<\/strong> are the most common way microservices communicate synchronously.<\/li>\n\n\n\n<li><strong>Message brokers<\/strong> like RabbitMQ allow asynchronous messaging between services.<\/li>\n\n\n\n<li><strong>Service mesh<\/strong> technology, such as Istio, simplifies service-to-service communication.<\/li>\n\n\n\n<li><strong>Kubernetes<\/strong> is the most popular platform for managing large microservices architectures.<\/li>\n\n\n\n<li><strong>Monorepo<\/strong> strategies allow multiple services to be managed in a single repository but risk code coupling.<\/li>\n\n\n\n<li><strong>Polyrepo<\/strong> ensures each service has its own repository, fostering better isolation.<\/li>\n\n\n\n<li><strong>CI\/CD pipelines<\/strong> enable companies like Amazon, Google, and Netflix to deploy microservices thousands of times daily.<\/li>\n\n\n\n<li><strong>HashiCorp tools<\/strong> like Vault, Terraform, and Console provide key infrastructure management solutions.<\/li>\n\n\n\n<li><strong>Amazon, Google, and Netflix<\/strong> use microservices architectures to scale globally.<\/li>\n\n\n\n<li><strong>Polyrepo<\/strong> offers distinct CI pipelines for each service, simplifying builds and deployments.<\/li>\n\n\n\n<li><strong>Monorepo<\/strong> allows for easier shared dependency management across services.<\/li>\n\n\n\n<li><strong>GitLab groups<\/strong> help manage multiple repositories in polyrepo setups.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">References<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>RabbitMQ<\/strong> \u2013 a message broker for asynchronous microservice communication.<\/li>\n\n\n\n<li><strong>Kubernetes<\/strong> \u2013 widely used for deploying and managing microservices.<\/li>\n\n\n\n<li><strong>HashiCorp Vault<\/strong> \u2013 tool for managing secrets and sensitive data in microservices.<\/li>\n\n\n\n<li><strong>Terraform<\/strong> \u2013 used to provision infrastructure in microservices environments.<\/li>\n\n\n\n<li><strong>Console<\/strong> \u2013 HashiCorp\u2019s service mesh product for microservices communication.<\/li>\n\n\n\n<li><strong>Amazon, Google, Netflix<\/strong> \u2013 examples of companies using microservices at scale.<\/li>\n\n\n\n<li><strong>GitLab<\/strong> \u2013 platform used for managing code repositories and CI\/CD pipelines.<\/li>\n\n\n\n<li><strong>Istio<\/strong> \u2013 a popular service mesh solution for managing microservice communication.<\/li>\n\n\n\n<li><strong>CI\/CD pipelines<\/strong> \u2013 crucial for automating the deployment of microservices.<\/li>\n\n\n\n<li><strong>Docker<\/strong> \u2013 used to containerize microservices for scalable deployment.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Recommendations<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Transition to <strong>microservices<\/strong> if your monolithic application is facing scaling challenges.<\/li>\n\n\n\n<li>Use <strong>API calls<\/strong> for synchronous communication between microservices.<\/li>\n\n\n\n<li>Implement <strong>message brokers<\/strong> for asynchronous communication to decouple services.<\/li>\n\n\n\n<li>Use <strong>service mesh<\/strong> technologies to simplify communication in microservice environments.<\/li>\n\n\n\n<li>Develop microservices based on <strong>business functions<\/strong> to maintain clarity and independence.<\/li>\n\n\n\n<li>Leverage <strong>Kubernetes<\/strong> for managing large-scale microservices applications.<\/li>\n\n\n\n<li>Utilize <strong>CI\/CD pipelines<\/strong> for automating frequent microservice deployments.<\/li>\n\n\n\n<li>Use <strong>polyrepo<\/strong> if you need complete isolation between services, especially in large teams.<\/li>\n\n\n\n<li>Stick with <strong>monorepo<\/strong> for smaller projects to simplify code management.<\/li>\n\n\n\n<li>Adopt <strong>HashiCorp Vault<\/strong> for managing secrets in your microservices infrastructure.<\/li>\n\n\n\n<li>Use <strong>GitLab groups<\/strong> to manage multiple repositories in polyrepo setups.<\/li>\n\n\n\n<li>Consider <strong>RabbitMQ<\/strong> for handling message-based communication between services.<\/li>\n\n\n\n<li>Adopt <strong>Terraform<\/strong> for infrastructure provisioning in microservices environments.<\/li>\n\n\n\n<li>Keep <strong>shared code<\/strong> in centralized repositories to avoid duplication in polyrepo setups.<\/li>\n\n\n\n<li>Monitor the <strong>health<\/strong> of microservices continuously to prevent communication failures.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"Microservices explained - the What, Why and How?\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/rv4LlmLmVWk?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Summary This video introduces microservices, contrasts them with monolithic architectures, and explains how they solve scaling and coordination challenges. It covers microservices communication methods, benefits, best practices, challenges, and how to manage microservices code using monorepo and polyrepo strategies. Ideas Quotes Habits Facts References Recommendations<\/p>\n","protected":false},"author":1,"featured_media":112,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,62],"tags":[48,84,81,82,83,8,85,20],"class_list":["post-111","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech","category-web-development","tag-docker","tag-kubernetes","tag-microservices","tag-monorepo","tag-polyrepo","tag-server","tag-terraform","tag-web-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>The What, Why and How of Microservices - My Tech Talks with ChatGPT<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The What, Why and How of Microservices - My Tech Talks with ChatGPT\" \/>\n<meta property=\"og:description\" content=\"Summary This video introduces microservices, contrasts them with monolithic architectures, and explains how they solve scaling and coordination challenges. It covers microservices communication methods, benefits, best practices, challenges, and how to manage microservices code using monorepo and polyrepo strategies. Ideas Quotes Habits Facts References Recommendations\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/\" \/>\n<meta property=\"og:site_name\" content=\"My Tech Talks with ChatGPT\" \/>\n<meta property=\"article:published_time\" content=\"2024-10-17T05:06:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-10-17T22:08:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/zenteno.org\/tech-talks\/wp-content\/uploads\/2024\/10\/microserviceswhyhow-2.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"adminwp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"adminwp\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/\"},\"author\":{\"name\":\"adminwp\",\"@id\":\"https:\/\/zenteno.org\/tech-talks\/#\/schema\/person\/b6442e8a5e39de0647f2ecf534e18580\"},\"headline\":\"The What, Why and How of Microservices\",\"datePublished\":\"2024-10-17T05:06:43+00:00\",\"dateModified\":\"2024-10-17T22:08:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/\"},\"wordCount\":1218,\"publisher\":{\"@id\":\"https:\/\/zenteno.org\/tech-talks\/#\/schema\/person\/b6442e8a5e39de0647f2ecf534e18580\"},\"image\":{\"@id\":\"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/zenteno.org\/tech-talks\/wp-content\/uploads\/2024\/10\/microserviceswhyhow-2.jpg\",\"keywords\":[\"docker\",\"kubernetes\",\"microservices\",\"monorepo\",\"polyrepo\",\"server\",\"terraform\",\"web development\"],\"articleSection\":[\"Technology\",\"Web Development\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/\",\"url\":\"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/\",\"name\":\"The What, Why and How of Microservices - My Tech Talks with ChatGPT\",\"isPartOf\":{\"@id\":\"https:\/\/zenteno.org\/tech-talks\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/zenteno.org\/tech-talks\/wp-content\/uploads\/2024\/10\/microserviceswhyhow-2.jpg\",\"datePublished\":\"2024-10-17T05:06:43+00:00\",\"dateModified\":\"2024-10-17T22:08:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/#primaryimage\",\"url\":\"https:\/\/zenteno.org\/tech-talks\/wp-content\/uploads\/2024\/10\/microserviceswhyhow-2.jpg\",\"contentUrl\":\"https:\/\/zenteno.org\/tech-talks\/wp-content\/uploads\/2024\/10\/microserviceswhyhow-2.jpg\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/zenteno.org\/tech-talks\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The What, Why and How of Microservices\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/zenteno.org\/tech-talks\/#website\",\"url\":\"https:\/\/zenteno.org\/tech-talks\/\",\"name\":\"My Tech Talks with ChatGPT\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/zenteno.org\/tech-talks\/#\/schema\/person\/b6442e8a5e39de0647f2ecf534e18580\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/zenteno.org\/tech-talks\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/zenteno.org\/tech-talks\/#\/schema\/person\/b6442e8a5e39de0647f2ecf534e18580\",\"name\":\"adminwp\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zenteno.org\/tech-talks\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/zenteno.org\/tech-talks\/wp-content\/uploads\/2024\/10\/IMG_1739.jpg\",\"contentUrl\":\"https:\/\/zenteno.org\/tech-talks\/wp-content\/uploads\/2024\/10\/IMG_1739.jpg\",\"width\":512,\"height\":512,\"caption\":\"adminwp\"},\"logo\":{\"@id\":\"https:\/\/zenteno.org\/tech-talks\/#\/schema\/person\/image\/\"},\"sameAs\":[\"http:\/\/localhost:4000\"],\"url\":\"https:\/\/zenteno.org\/tech-talks\/author\/adminwp\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The What, Why and How of Microservices - My Tech Talks with ChatGPT","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:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/","og_locale":"en_US","og_type":"article","og_title":"The What, Why and How of Microservices - My Tech Talks with ChatGPT","og_description":"Summary This video introduces microservices, contrasts them with monolithic architectures, and explains how they solve scaling and coordination challenges. It covers microservices communication methods, benefits, best practices, challenges, and how to manage microservices code using monorepo and polyrepo strategies. Ideas Quotes Habits Facts References Recommendations","og_url":"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/","og_site_name":"My Tech Talks with ChatGPT","article_published_time":"2024-10-17T05:06:43+00:00","article_modified_time":"2024-10-17T22:08:39+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/zenteno.org\/tech-talks\/wp-content\/uploads\/2024\/10\/microserviceswhyhow-2.jpg","type":"image\/jpeg"}],"author":"adminwp","twitter_card":"summary_large_image","twitter_misc":{"Written by":"adminwp","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/#article","isPartOf":{"@id":"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/"},"author":{"name":"adminwp","@id":"https:\/\/zenteno.org\/tech-talks\/#\/schema\/person\/b6442e8a5e39de0647f2ecf534e18580"},"headline":"The What, Why and How of Microservices","datePublished":"2024-10-17T05:06:43+00:00","dateModified":"2024-10-17T22:08:39+00:00","mainEntityOfPage":{"@id":"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/"},"wordCount":1218,"publisher":{"@id":"https:\/\/zenteno.org\/tech-talks\/#\/schema\/person\/b6442e8a5e39de0647f2ecf534e18580"},"image":{"@id":"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/#primaryimage"},"thumbnailUrl":"https:\/\/zenteno.org\/tech-talks\/wp-content\/uploads\/2024\/10\/microserviceswhyhow-2.jpg","keywords":["docker","kubernetes","microservices","monorepo","polyrepo","server","terraform","web development"],"articleSection":["Technology","Web Development"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/","url":"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/","name":"The What, Why and How of Microservices - My Tech Talks with ChatGPT","isPartOf":{"@id":"https:\/\/zenteno.org\/tech-talks\/#website"},"primaryImageOfPage":{"@id":"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/#primaryimage"},"image":{"@id":"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/#primaryimage"},"thumbnailUrl":"https:\/\/zenteno.org\/tech-talks\/wp-content\/uploads\/2024\/10\/microserviceswhyhow-2.jpg","datePublished":"2024-10-17T05:06:43+00:00","dateModified":"2024-10-17T22:08:39+00:00","breadcrumb":{"@id":"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/#primaryimage","url":"https:\/\/zenteno.org\/tech-talks\/wp-content\/uploads\/2024\/10\/microserviceswhyhow-2.jpg","contentUrl":"https:\/\/zenteno.org\/tech-talks\/wp-content\/uploads\/2024\/10\/microserviceswhyhow-2.jpg","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/zenteno.org\/tech-talks\/the-what-why-and-how-of-microservices\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zenteno.org\/tech-talks\/"},{"@type":"ListItem","position":2,"name":"The What, Why and How of Microservices"}]},{"@type":"WebSite","@id":"https:\/\/zenteno.org\/tech-talks\/#website","url":"https:\/\/zenteno.org\/tech-talks\/","name":"My Tech Talks with ChatGPT","description":"","publisher":{"@id":"https:\/\/zenteno.org\/tech-talks\/#\/schema\/person\/b6442e8a5e39de0647f2ecf534e18580"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zenteno.org\/tech-talks\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/zenteno.org\/tech-talks\/#\/schema\/person\/b6442e8a5e39de0647f2ecf534e18580","name":"adminwp","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zenteno.org\/tech-talks\/#\/schema\/person\/image\/","url":"https:\/\/zenteno.org\/tech-talks\/wp-content\/uploads\/2024\/10\/IMG_1739.jpg","contentUrl":"https:\/\/zenteno.org\/tech-talks\/wp-content\/uploads\/2024\/10\/IMG_1739.jpg","width":512,"height":512,"caption":"adminwp"},"logo":{"@id":"https:\/\/zenteno.org\/tech-talks\/#\/schema\/person\/image\/"},"sameAs":["http:\/\/localhost:4000"],"url":"https:\/\/zenteno.org\/tech-talks\/author\/adminwp\/"}]}},"_links":{"self":[{"href":"https:\/\/zenteno.org\/tech-talks\/wp-json\/wp\/v2\/posts\/111","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zenteno.org\/tech-talks\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zenteno.org\/tech-talks\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zenteno.org\/tech-talks\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zenteno.org\/tech-talks\/wp-json\/wp\/v2\/comments?post=111"}],"version-history":[{"count":4,"href":"https:\/\/zenteno.org\/tech-talks\/wp-json\/wp\/v2\/posts\/111\/revisions"}],"predecessor-version":[{"id":145,"href":"https:\/\/zenteno.org\/tech-talks\/wp-json\/wp\/v2\/posts\/111\/revisions\/145"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zenteno.org\/tech-talks\/wp-json\/wp\/v2\/media\/112"}],"wp:attachment":[{"href":"https:\/\/zenteno.org\/tech-talks\/wp-json\/wp\/v2\/media?parent=111"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zenteno.org\/tech-talks\/wp-json\/wp\/v2\/categories?post=111"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zenteno.org\/tech-talks\/wp-json\/wp\/v2\/tags?post=111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}