{"id":103615,"date":"2021-12-02T08:55:46","date_gmt":"2021-12-02T16:55:46","guid":{"rendered":"https:\/\/www.backblaze.com\/blog\/?p=103615"},"modified":"2025-12-12T06:49:40","modified_gmt":"2025-12-12T14:49:40","slug":"what-are-microservices","status":"publish","type":"post","link":"https:\/\/www.backblaze.com\/blog\/what-are-microservices\/","title":{"rendered":"What Are Microservices?"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-103617\" src=\"https:\/\/www.backblaze.com\/blog\/wp-content\/uploads\/2021\/12\/bb-bh-whataremicroservices.jpg\" alt=\"\" width=\"1440\" height=\"820\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2021\/12\/bb-bh-whataremicroservices.jpg 1440w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2021\/12\/bb-bh-whataremicroservices-300x171.jpg 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2021\/12\/bb-bh-whataremicroservices-1024x583.jpg 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2021\/12\/bb-bh-whataremicroservices-768x437.jpg 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2021\/12\/bb-bh-whataremicroservices-560x319.jpg 560w\" sizes=\"auto, (max-width: 1440px) 100vw, 1440px\" \/><\/p>\n<p id=\"bzdropcap\">Back in 2008, Netflix was facing scaling challenges: service outages, database corruption, a three-day lapse in DVD shipments. (Remember when Netflix still shipped DVDs?) Netflix solved these problems by refactoring their monolithic application to avoid the single points of failure that caused these issues. They implemented a microservices architecture before the term \u201cmicroservices\u201d even existed, making them pioneers in the field.<\/p>\n<p>Today, almost all of the most popular applications\u2014Uber, Amazon, Etsy\u2014run in a microservices environment. If you\u2019ve ever wondered what that means, you\u2019re not alone. In this post, we\u2019re digging into this popular method for developing web applications: the benefits, drawbacks, and considerations for choosing a cloud provider to support your microservices approach.<\/p>\n<h2><strong>First, Some History: Monolithic Software Development<\/strong><\/h2>\n<p>How would you develop a large, complex software system before the age of microservices? For developers who learned their craft in the dot com boom, it meant a large and complex development process, with tightly interlocking subsystems, a waterfall development model, and an extensive QA phase. Most of the code was built from scratch. There was a lot of focus on developing extremely reliable code, since it was very difficult and expensive to update products in the field. This is how software was developed for many years. The approach works, but it has some major issues. It\u2019s slower, and it tends to produce complex software monoliths that are tough to maintain and upgrade.<\/p>\n<h2><strong>What Are Microservices?<\/strong><\/h2>\n<p>Current software engineering practices encourage a DevOps model using small, reusable units of functionality, or microservices. Microservices run essentially as a standalone process, carrying whatever information or intelligence they need to do their job. Their interfaces are limited and standardized to encourage reuse. This restricted access to internal logic very effectively implements the information-hiding practices that prevent other code from \u201cpeeking inside\u201d your modules and making internal tweaks that destabilize your code. The result is (hopefully) an assortment of tools (databases, web servers, etc.) that can be snapped together like Legos\u2122 to greatly reduce the development effort.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-103619\" src=\"https:\/\/www.backblaze.com\/blog\/wp-content\/uploads\/2021\/12\/microservice-diagram-1024x491.png\" alt=\"\" width=\"1024\" height=\"491\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2021\/12\/microservice-diagram-1024x491.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2021\/12\/microservice-diagram-300x144.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2021\/12\/microservice-diagram-768x368.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2021\/12\/microservice-diagram-1536x736.png 1536w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2021\/12\/microservice-diagram-2048x981.png 2048w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2021\/12\/microservice-diagram-560x268.png 560w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<h2><strong>Microservices: Pros and Cons<\/strong><\/h2>\n<p>This newer approach has many advantages:<\/p>\n<ul>\n<li><strong>It encourages and supports code reuse.<\/strong> Developers usually have access to an extensive library of microservices that can easily be plugged into their application.<\/li>\n<li><strong>It enforces logical module isolation to simplify the architecture and improve reliability.<\/strong> This makes initial design, implementation, product updates, enhancements, and bug fixes much easier and less error-prone.<\/li>\n<li><strong>It enables much more nimble development and delivery techniques, like DevOps and Agile.<\/strong> It\u2019s much easier to add new functionality when you can just tweak a small piece of code (not worrying about potential invisible linkages to other modules), and then instantly push out an update to your users. You can improve your time to market by getting a \u201cgood enough\u201d solution out there, and improve it to \u201cultimate\u201d through ongoing updates.<\/li>\n<li><strong>It\u2019s inherently scalable.<\/strong> By implementing microservices with <a href=\"\/blog\/what-are-containers\/\" target=\"_blank\" rel=\"noopener\">containers<\/a>, you can use an orchestration tool like <a href=\"\/blog\/what-is-kubernetes\/\" target=\"_blank\" rel=\"noopener\">Kubernetes<\/a> or <a href=\"\/blog\/bringing-connected-container-management-to-backblaze-cycle\/\" target=\"_blank\" rel=\"noopener\">Cycle.io<\/a> to handle scaling, failover, and load balancing. Each microservice component is independently scalable\u2014if one part of your application experiences high load, it can respond to that demand without impacting other components.<\/li>\n<\/ul>\n<p>However, like anything else, there are drawbacks. For one, moving from a monolithic architecture to a microservices architecture requires not just a change to the way your software is built but also the way your software team functions. And while a microservices architecture is more nimble, it also introduces complexity where none may have existed before in a monolithic deployment.<\/p>\n<h2><strong>Microservices Use Cases<\/strong><\/h2>\n<p>Microservices, and especially the containers and orchestration used to structure them, enable a number of different use cases that could benefit your organization, including:<\/p>\n<ul>\n<li><strong>Making a legacy application cloud-ready.<\/strong> If you want to modernize a legacy application and move it to the cloud, taking a microservices approach to your architecture is helpful. Refactoring a monolithic application and moving it to the cloud allows you to achieve the cost savings associated with the cloud\u2019s pay-as-you-go model.<\/li>\n<li><strong>Cloud-native development.<\/strong> Similarly, if you want to take a cloud-first approach, it can help to start with a microservices architecture as it will serve you well later as your application scales.<\/li>\n<li><strong>Moving to DevOps.<\/strong> Microservices as an architectural model lend themselves to, and in many cases require, a change to a DevOps or Agile operational model. If you\u2019re interested in moving from Waterfall to Agile development, microservices go hand in hand.<\/li>\n<li><strong>Running big data applications.<\/strong> Applications that ingest and process large amounts of data benefit from being broken down into microservices where each step in the data processing pipeline is handled independently.<\/li>\n<\/ul>\n<h3><strong>When NOT to Use Microservices<\/strong><\/h3>\n<p>The microservices model can introduce unnecessary complexity into an otherwise simple solution. If you have a simple or monolithic implementation and it\u2019s meeting your needs just fine, then there is no need to throw it away and microservice-ize it. But if (when) it becomes difficult to update or maintain it, or when you\u2019re planning new development, consider a more modular architecture for the new implementation.<\/p>\n<h2><strong>Microservices + Cloud Storage: Considerations for Choosing a Cloud Provider<\/strong><\/h2>\n<p>One impact of moving to a containerized, microservices model is the need for persistent storage. The state of a container can be lost at any time due to situations like hardware\/software crashes or spinning down excess containers when load drops. The application running in the container should store its state in external (usually cloud) storage, and read the current state when it starts up.<\/p>\n<p>Thus, administrators should carefully consider different providers before selecting one to trust with their data. Consider the following factors in an evaluation of any cloud provider:<\/p>\n<ul>\n<li><strong>Integrations\/partner network:<\/strong> One of the risks of moving to the cloud is vendor lock-in. Avoid getting stuck in one cloud ecosystem by researching the providers\u2019 partner network and integrations. Does the provider already work with software you have in place? Will it be easy to change vendors should you need to? Consider the provider\u2019s egress fees both in general and between partners, especially if you have a high-bandwidth use case.<\/li>\n<li><strong>Interoperability and API compatibility:<\/strong> Similarly, make sure the cloud provider you\u2019re considering favors an open ecosystem and offers APIs that are compatible with your architecture.<\/li>\n<li><strong>Security:<\/strong> What protections does the provider have against ransomware and other data corruption? Does the provider include features like <a href=\"\/blog\/object-lock-101-protecting-data-from-ransomware\/\" target=\"_blank\" rel=\"noopener\">Object Lock<\/a> to make data immutable? Protection like this is recommended considering the rising threat of ransomware attacks.<\/li>\n<li><strong>Infrastructure as code capability:<\/strong> Does the provider enable you to use infrastructure as code (IaC) to provision storage automatically? Using IaC to provision storage enables you to scale your storage without manually managing the process.<\/li>\n<li><strong>Pricing transparency:<\/strong> With varying data retention requirements, transparent pricing tiers will help you budget more easily. Understand how the provider prices their service including fees for things like egress, retention minimums, and other fine print. Look for backup providers that offer pricing compatible with your organization\u2019s needs.<\/li>\n<\/ul>\n<h2><strong>Are You Using Microservices?<\/strong><\/h2>\n<p>Are you using microservices to build your applications? According to a TechRepublic survey, <a href=\"https:\/\/www.techrepublic.com\/resource-library\/whitepapers\/research-microservices-bring-faster-application-delivery-and-greater-flexibility-to-enterprises\/\" target=\"_blank\" rel=\"noopener\">73% of organizations have integrated microservices<\/a> into their application architectures. If you\u2019re one of them, we\u2019d love to know how it\u2019s going. Let us know in the comments.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Most of the biggest apps on the planet use a microservices architecture. Learn more about this popular method for developing web apps and the considerations for choosing a cloud provider to support a microservices approach.<\/p>\n","protected":false},"author":159,"featured_media":103617,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"categories":[7],"tags":[468],"class_list":["post-103615","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-storage","tag-b2cloud","entry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What Are Microservices? A Look at Microservices for Big Data and Entertainment<\/title>\n<meta name=\"description\" content=\"Microservices are an important part of scaling many popular applications. Here\u2019s everything you need to know about what microservices are and how to use them.\" \/>\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.backblaze.com\/blog\/what-are-microservices\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What Are Microservices? A Look at Microservices for Big Data and Entertainment\" \/>\n<meta property=\"og:description\" content=\"Microservices are an important part of scaling many popular applications. Here\u2019s everything you need to know about what microservices are and how to use them.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.backblaze.com\/blog\/what-are-microservices\/\" \/>\n<meta property=\"og:site_name\" content=\"Backblaze Blog | Cloud Storage &amp; Cloud Backup\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/backblaze\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-02T16:55:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-12T14:49:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2021\/12\/bb-bh-whataremicroservices.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1440\" \/>\n\t<meta property=\"og:image:height\" content=\"820\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Molly Clancy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@backblaze\" \/>\n<meta name=\"twitter:site\" content=\"@backblaze\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Molly Clancy\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What Are Microservices? A Look at Microservices for Big Data and Entertainment","description":"Microservices are an important part of scaling many popular applications. Here\u2019s everything you need to know about what microservices are and how to use them.","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.backblaze.com\/blog\/what-are-microservices\/","og_locale":"en_US","og_type":"article","og_title":"What Are Microservices? A Look at Microservices for Big Data and Entertainment","og_description":"Microservices are an important part of scaling many popular applications. Here\u2019s everything you need to know about what microservices are and how to use them.","og_url":"https:\/\/www.backblaze.com\/blog\/what-are-microservices\/","og_site_name":"Backblaze Blog | Cloud Storage &amp; Cloud Backup","article_publisher":"https:\/\/www.facebook.com\/backblaze","article_published_time":"2021-12-02T16:55:46+00:00","article_modified_time":"2025-12-12T14:49:40+00:00","og_image":[{"width":1440,"height":820,"url":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2021\/12\/bb-bh-whataremicroservices.jpg","type":"image\/jpeg"}],"author":"Molly Clancy","twitter_card":"summary_large_image","twitter_creator":"@backblaze","twitter_site":"@backblaze","twitter_misc":{"Written by":"Molly Clancy","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.backblaze.com\/blog\/what-are-microservices\/#article","isPartOf":{"@id":"https:\/\/www.backblaze.com\/blog\/what-are-microservices\/"},"author":{"name":"Molly Clancy","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#\/schema\/person\/a92e54b3011e599a575611dbbb443b5c"},"headline":"What Are Microservices?","datePublished":"2021-12-02T16:55:46+00:00","dateModified":"2025-12-12T14:49:40+00:00","mainEntityOfPage":{"@id":"https:\/\/www.backblaze.com\/blog\/what-are-microservices\/"},"wordCount":1206,"commentCount":0,"publisher":{"@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.backblaze.com\/blog\/what-are-microservices\/#primaryimage"},"thumbnailUrl":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2021\/12\/bb-bh-whataremicroservices.jpg","keywords":["B2Cloud"],"articleSection":["Cloud Storage"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.backblaze.com\/blog\/what-are-microservices\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.backblaze.com\/blog\/what-are-microservices\/","url":"https:\/\/www.backblaze.com\/blog\/what-are-microservices\/","name":"What Are Microservices? A Look at Microservices for Big Data and Entertainment","isPartOf":{"@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.backblaze.com\/blog\/what-are-microservices\/#primaryimage"},"image":{"@id":"https:\/\/www.backblaze.com\/blog\/what-are-microservices\/#primaryimage"},"thumbnailUrl":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2021\/12\/bb-bh-whataremicroservices.jpg","datePublished":"2021-12-02T16:55:46+00:00","dateModified":"2025-12-12T14:49:40+00:00","description":"Microservices are an important part of scaling many popular applications. Here\u2019s everything you need to know about what microservices are and how to use them.","breadcrumb":{"@id":"https:\/\/www.backblaze.com\/blog\/what-are-microservices\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.backblaze.com\/blog\/what-are-microservices\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.backblaze.com\/blog\/what-are-microservices\/#primaryimage","url":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2021\/12\/bb-bh-whataremicroservices.jpg","contentUrl":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2021\/12\/bb-bh-whataremicroservices.jpg","width":1440,"height":820},{"@type":"BreadcrumbList","@id":"https:\/\/www.backblaze.com\/blog\/what-are-microservices\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/"},{"@type":"ListItem","position":2,"name":"What Are Microservices?"}]},{"@type":"WebSite","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#website","url":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/","name":"Backblaze Cloud Solutions Blog","description":"Cloud Storage &amp; Cloud Backup","publisher":{"@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#organization","name":"Backblaze","url":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/www.backblaze.com\/blog\/wp-content\/uploads\/2017\/12\/backblaze_icon_transparent.png?fit=512%2C512&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.backblaze.com\/blog\/wp-content\/uploads\/2017\/12\/backblaze_icon_transparent.png?fit=512%2C512&ssl=1","width":512,"height":512,"caption":"Backblaze"},"image":{"@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/backblaze","https:\/\/x.com\/backblaze","https:\/\/www.youtube.com\/user\/Backblaze","https:\/\/en.wikipedia.org\/wiki\/Backblaze"]},{"@type":"Person","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#\/schema\/person\/a92e54b3011e599a575611dbbb443b5c","name":"Molly Clancy","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2021\/02\/ClancyMolly_Headshot_reduced-150x150.png","url":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2021\/02\/ClancyMolly_Headshot_reduced-150x150.png","contentUrl":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2021\/02\/ClancyMolly_Headshot_reduced-150x150.png","caption":"Molly Clancy"},"description":"Molly Clancy is a content writer who specializes in explaining tech concepts in an easy, approachable way. With more than 15 years of experience, she has a broad background in industries ranging from B2B tech to engineering to luxury travel. A deep curiosity drives her repeated success explaining what terms like OS kernel and preflight request mean so that anyone can understand them.","url":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/author\/molly\/"}]}},"jetpack_featured_media_url":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2021\/12\/bb-bh-whataremicroservices.jpg","_links":{"self":[{"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/posts\/103615","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/users\/159"}],"replies":[{"embeddable":true,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/comments?post=103615"}],"version-history":[{"count":0,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/posts\/103615\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/media\/103617"}],"wp:attachment":[{"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/media?parent=103615"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/categories?post=103615"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/tags?post=103615"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}