{"id":19376,"date":"2021-09-09T12:18:00","date_gmt":"2021-09-09T10:18:00","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/?p=19376"},"modified":"2022-11-15T12:48:47","modified_gmt":"2022-11-15T11:48:47","slug":"ecommerce-performance-and-cx-microservices","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/","title":{"rendered":"How Large eCommerce Stores Can Meet Performance and CX Requirements by Leveraging Microservices"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<p>Building an <strong>eCommerce store <\/strong>is far from easy. Lots of issues inevitably arise, relating to both the back- and the front-end. The larger the eCommerce operation, the greater the number and extent of the issues that need to be solved.<\/p>\n\n\n\n<p><strong>AS Watson <\/strong>is one of the leading companies in the<strong> large-scale eCommerce stores<\/strong> market. This international company is responsible for the development of numerous web platforms capable of managing vast numbers of simultaneous users as they buy products online.<\/p>\n\n\n\n<p>Recently, we asked <strong>AS Watson<\/strong> about some of the <strong>key areas <\/strong>that need to be taken into consideration when building large eCommerce stores, when the goal is to provide the best possible <strong>customer experience<\/strong> to the final users.&nbsp;<\/p>\n\n\n\n<p>Their response? <strong>Latency<\/strong>, <strong>scalability<\/strong>, and <strong>reliability<\/strong>. This article explores how such features are usually optimized by AS Watson, looking at a couple of use cases in which <strong>microservices<\/strong> played a crucial role.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-latency-scalability-and-reliability\">Latency, Scalability and Reliability<\/h2>\n\n\n\n<p>Before starting discussing the <em>impact of microservices in improving latency, scalability and reliability<\/em>, it is worth clarifying what these words mean in this context.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-latency\">Latency<\/h3>\n\n\n\n<p>Latency represents the time delay before receiving a response from the eCommerce <strong>server<\/strong>. There are a lot of ways to reduce latency, and these relate to the <a href=\"https:\/\/www.codemotion.com\/magazine\/dev-hub\/backend-dev\/\">back-end<\/a> as well as the <a href=\"https:\/\/www.codemotion.com\/magazine\/dev-hub\/frontend-dev\/\">front-end<\/a>.<\/p>\n\n\n\n<p>At the back-end, reducing latency usually involves optimizing the algorithms or those parts of the code that are heavy to process. Of course, this optimization process requires knowledge of the <em>server-side programming language<\/em> being used, such as <a href=\"https:\/\/www.codemotion.com\/magazine\/tag\/java\/\">Java<\/a> or <a href=\"https:\/\/www.codemotion.com\/magazine\/tag\/php\/\">PHP<\/a>, to name just a few of many possibilities.<\/p>\n\n\n\n<p>In terms of the front-end, optimization can relate to the specific <strong>rendering strategies <\/strong>implemented by the browsers, and can require knowledge of <a href=\"https:\/\/www.codemotion.com\/magazine\/tag\/css\/\">CSS<\/a>, <a href=\"https:\/\/www.codemotion.com\/magazine\/tag\/html\/\">HTML<\/a>, <a href=\"https:\/\/www.codemotion.com\/magazine\/dev-hub\/javascript\/\">JavaScript<\/a> and the many front-end frameworks currently in use, such as <a href=\"https:\/\/www.codemotion.com\/magazine\/tag\/react\/\">React<\/a>, <a href=\"https:\/\/www.codemotion.com\/magazine\/Glossary\/vue-js\/\">Vue<\/a> or <a href=\"https:\/\/www.codemotion.com\/magazine\/tag\/angular\/\">Angular<\/a>. T<\/p>\n\n\n\n<p>The goal here is to reduce the loading time the browser requires to display the webpage to the final user. This also has a positive impact on <strong>user experience<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"682\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/image-1024x682.jpeg\" alt=\"ecommerce performance, microservices\" class=\"wp-image-19377\" srcset=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/image-1024x682.jpeg 1024w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/image-300x200.jpeg 300w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/image-768x511.jpeg 768w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/image-1536x1022.jpeg 1536w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/image-600x400.jpeg 600w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/image.jpeg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><em>Reducing latency is crucial to improving customer experience by decreasing loading times.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-scalability\">Scalability<\/h3>\n\n\n\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Scalability\">Wikipedia<\/a> defines scalability as <em>\u201cthe property of a system to handle a growing amount of work by adding resources to the system\u201d<\/em>. In a large eCommerce store, it is crucial that the underlying platform can scale.<\/p>\n\n\n\n<p>Optimizing this fundamental aspect means running several <strong>stress tests<\/strong> and estimating a plausible traffic load. While the running of a test can be entrusted to back-end developers and system administrators, achieving a realistic estimation can be quite tricky, and often depends on several variables.&nbsp;<\/p>\n\n\n\n<p>This makes the establishment of good <strong>communication <\/strong>among the business departments and the developers very important.<\/p>\n\n\n\n<p>There are several tools that developers can use to generate a fake, but credible, amount of traffic. For instance, AS Watson often relies on <a href=\"https:\/\/loadium.com\/gatling-load-testing\"><em>Gatling<\/em><\/a>, a tool specifically designed for <a href=\"https:\/\/www.codemotion.com\/magazine\/dev-hub\/backend-dev\/load-testing-lessons-learned\/\">load testing<\/a>.<\/p>\n\n\n\n<p>Analyzing the results of your stress tests is crucial to the identification of possible bottlenecks, both within the code base and in terms of infrastructure. This can result in additional <strong>optimization <\/strong>of the back-end code, as well as increasing the computational resources available to the servers.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-reliability\">Reliability<\/h3>\n\n\n\n<p>System reliability is closely related to scalability. Here, the term refers to the <strong>infrastructure<\/strong> and to ensuring an optimal level of <em>operational performance<\/em> for a sufficiently long period.<\/p>\n\n\n\n<p>The relation between reliability and scalability should be clear. Scalability is the ability to change the system so that it can provide responses reliably. Following the same line, a good level of reliability is a consequence of good system scalability.<\/p>\n\n\n\n<p>Optimizing reliability is heavily reliant on the aforementioned stress and load tests. The analysis of the results of those tests is used to establish the size of the infrastructure, which translates into achieving the desired level of reliability.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-how-microservices-can-improve-scalability\">How microservices can improve scalability<\/h2>\n\n\n\n<p>In the last decade,<strong> <\/strong>the role of microservices has become central. Old-fashioned <em>monolithic back-end<\/em> set-ups are gradually being ported to something more oriented to microservices, and there are many reasons for this to be the case.<\/p>\n\n\n\n<p>One of the key characteristics of microservices is the ability to <strong>scale<\/strong>. By definition extremely modular, any microservice can be replicated in various nodes to provide high availability while also being able to handle high traffic loads.<\/p>\n\n\n\n<p>AS Watson introduced microservices to improve their original monolithic architecture, intending to manage high traffic loads well. In particular, the company separated the Stock module, transforming this into an almost-independent microservice, able to communicate with the rest of the architecture.<\/p>\n\n\n\n<p><strong>Stock management <\/strong>is a common challenge for eCommerce stores. Customers do not like receiving messages like \u201cthis product is not available\u201d during checkout, and certainly not after payment. This makes managing product availability properly very important, even &#8211; and perhaps especially &#8211; when there is a high number of concurrent requests. Achieving this goal is possible if you can provide a stock service that is both fast and fair.<\/p>\n\n\n\n<p>The traditional approach involves locking the database record to build the customer queue. However, this might end up causing a locked thread while putting the database under a lot of pressure. The result of this is a bad customer experience.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"769\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/image-1-1024x769.jpeg\" alt=\"ecommerce performance, microservices\" class=\"wp-image-19379\" srcset=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/image-1-1024x769.jpeg 1024w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/image-1-300x225.jpeg 300w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/image-1-768x577.jpeg 768w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/image-1.jpeg 1099w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Database table<\/figcaption><\/figure>\n\n\n\n<p><em>Microservices can help in reducing the pressure on databases<\/em><\/p>\n\n\n\n<p>By introducing a microservices-based approach, AS Watson could switch to a new stock service, <strong>placing high-load management at the core of the project<\/strong>. Instead of locking the database, and placing customers into a fixed queue, the system can now register an event and let customers continue their purchases.&nbsp;<\/p>\n\n\n\n<p>The stock service can also be deployed into multiple replicated nodes to support a higher number of asynchronous requests. This offers a more stable and robust service, thereby improving the overall<strong> customer experience<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"935\" height=\"439\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/image-1.png\" alt=\"ecommerce performance, microservices\" class=\"wp-image-19378\" srcset=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/image-1.png 935w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/image-1-300x141.png 300w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/image-1-768x361.png 768w\" sizes=\"auto, (max-width: 935px) 100vw, 935px\" \/><\/figure>\n\n\n\n<p>The implementation of the new Stock service was inspired by the <strong>CQRS (Command Query Responsibility Segregation) pattern<\/strong>, which allows read and write operations to be carried out independently.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-how-microservices-can-improve-reliability\">How microservices can improve reliability<\/h2>\n\n\n\n<p>Another module AS Watson has moved outside the original monolithic architecture is the Catalog, which handles data management standardisation by interfacing with the internal data structures provided by AS Watson\u2019s customers &#8211; the vendors on the relevant eCommerce platform.&nbsp;<\/p>\n\n\n\n<p>Each <strong>vendor <\/strong>has its own data organization, so it is crucial to use a service that can make all data compliant with a common <em>abstraction<\/em>, which can then be used by the rest of the architecture.<\/p>\n\n\n\n<p>Product management is quite a complex topic in the retail world. The process comprises dozens of heterogeneous bricks, such as product information, SEO-related data, promotions, categorization, in-store availability, etc.&nbsp;<\/p>\n\n\n\n<p>The data comes from multiple sources and should be processed in the proper order to respect several predefined formats. Such complexity within a monolithic application implies that <strong>long and heavy testing cycles <\/strong>are necessary.&nbsp;<\/p>\n\n\n\n<p>Moreover, having complex processing jobs inside a rigid application has an impact on computational resources: RAM and CPU always need to be reserved even when there is basically nothing to do.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/image-2-1024x576.png\" alt=\"catalog architecture\" class=\"wp-image-19380\" srcset=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/image-2-1024x576.png 1024w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/image-2-300x169.png 300w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/image-2-768x432.png 768w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/image-2-896x504.png 896w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/image-2-400x225.png 400w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/image-2.png 1331w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>For these reasons, AS Watson decided to <em>move the Catalog module outside the monolithic architecture <\/em>as a new microservice. The goal was threefold:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Manage computational resources effectively. Each microservice is able to scale independently so that each can utilise specific resources to parse the incoming data;<\/li>\n\n\n\n<li>Simplify the delivery process, as well as the whole testing cycle;<\/li>\n\n\n\n<li>Decrease the pressure on the core business logic, implemented in the monolithic application and databases while these are in use.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-about-latency\">What about latency?<\/h2>\n\n\n\n<p>It is worth discussing <strong>how microservices can affect latency<\/strong>. Generally speaking, moving a module outside the original application triggers an additional communication mechanism that affects response times. However, such mechanisms &#8211; if properly designed &#8211; can usually be tuned so that the additional overhead is almost negligible.<\/p>\n\n\n\n<p>Nonetheless, this negligible cost in terms of latency offers many <strong>advantages<\/strong> to the architecture. Microservices\u2019 modularity has already been discussed in terms of its positive impact on high availability and scalability, but <strong>maintainability <\/strong>hasn\u2019t<strong> <\/strong>yet been mentioned.&nbsp;<\/p>\n\n\n\n<p>Maintainability is also improved by microservices, allowing teams to focus on a specific feature of the entire system even if they have a very limited knowledge of the rest of the application.<\/p>\n\n\n\n<p>All things considered, microservices represent a concrete way to <em>improve an existing architecture,<\/em> making it more flexible and manageable from a developer\u2019s perspective. Of course, full transition to a microservices-only model is not always possible, but even a hybrid solution like that currently used by AS Watson (the company is exploring other areas and functionalities related to microservices transition) can offer significant advantages, making a system more robust and adaptable.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Building an eCommerce store is far from easy. Lots of issues inevitably arise, relating to both the back- and the front-end. The larger the eCommerce operation, the greater the number and extent of the issues that need to be solved. AS Watson is one of the leading companies in the large-scale eCommerce stores market. This&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/\">Read more<\/a><\/p>\n","protected":false},"author":64,"featured_media":19384,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":6,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[3355],"tags":[9954],"collections":[],"class_list":{"0":"post-19376","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-microservices","8":"tag-ecommerce","9":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Boosting eCommerce Performance With Microservices - Codemotion<\/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:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How Large eCommerce Stores Can Meet Performance and CX Requirements by Leveraging Microservices\" \/>\n<meta property=\"og:description\" content=\"Building an eCommerce store is far from easy. Lots of issues inevitably arise, relating to both the back- and the front-end. The larger the eCommerce operation, the greater the number and extent of the issues that need to be solved. AS Watson is one of the leading companies in the large-scale eCommerce stores market. This&#8230; Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-09-09T10:18:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-15T11:48:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1517\" \/>\n\t<meta property=\"og:image:height\" content=\"692\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Codemotion\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Codemotion\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/\"},\"author\":{\"name\":\"Codemotion\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/201bb98b02412383686cced7521b861c\"},\"headline\":\"How Large eCommerce Stores Can Meet Performance and CX Requirements by Leveraging Microservices\",\"datePublished\":\"2021-09-09T10:18:00+00:00\",\"dateModified\":\"2022-11-15T11:48:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/\"},\"wordCount\":1432,\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618.jpg\",\"keywords\":[\"eCommerce\"],\"articleSection\":[\"Microservices\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/\",\"name\":\"Boosting eCommerce Performance With Microservices - Codemotion\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618.jpg\",\"datePublished\":\"2021-09-09T10:18:00+00:00\",\"dateModified\":\"2022-11-15T11:48:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/#primaryimage\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618.jpg\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618.jpg\",\"width\":1517,\"height\":692,\"caption\":\"This file EPS 10 format. This illustration contains a transparency and gradient.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Microservices\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/microservices\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How Large eCommerce Stores Can Meet Performance and CX Requirements by Leveraging Microservices\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Codemotion.Italy\/\",\"https:\/\/x.com\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/201bb98b02412383686cced7521b861c\",\"name\":\"Codemotion\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/cropped-codemotionlogo-150x150.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/cropped-codemotionlogo-150x150.png\",\"caption\":\"Codemotion\"},\"description\":\"Articles wirtten by the Codemotion staff. Tech news, inspiration, latest treends in software development and more.\",\"sameAs\":[\"https:\/\/x.com\/CodemotionIT\"],\"url\":\"https:\/\/www.codemotion.com\/magazine\/author\/codemotion-2\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Boosting eCommerce Performance With Microservices - Codemotion","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.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/","og_locale":"en_US","og_type":"article","og_title":"How Large eCommerce Stores Can Meet Performance and CX Requirements by Leveraging Microservices","og_description":"Building an eCommerce store is far from easy. Lots of issues inevitably arise, relating to both the back- and the front-end. The larger the eCommerce operation, the greater the number and extent of the issues that need to be solved. AS Watson is one of the leading companies in the large-scale eCommerce stores market. This&#8230; Read more","og_url":"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2021-09-09T10:18:00+00:00","article_modified_time":"2022-11-15T11:48:47+00:00","og_image":[{"width":1517,"height":692,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618.jpg","type":"image\/jpeg"}],"author":"Codemotion","twitter_card":"summary_large_image","twitter_creator":"@CodemotionIT","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Codemotion","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/"},"author":{"name":"Codemotion","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/201bb98b02412383686cced7521b861c"},"headline":"How Large eCommerce Stores Can Meet Performance and CX Requirements by Leveraging Microservices","datePublished":"2021-09-09T10:18:00+00:00","dateModified":"2022-11-15T11:48:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/"},"wordCount":1432,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618.jpg","keywords":["eCommerce"],"articleSection":["Microservices"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/","url":"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/","name":"Boosting eCommerce Performance With Microservices - Codemotion","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618.jpg","datePublished":"2021-09-09T10:18:00+00:00","dateModified":"2022-11-15T11:48:47+00:00","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618.jpg","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618.jpg","width":1517,"height":692,"caption":"This file EPS 10 format. This illustration contains a transparency and gradient."},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/microservices\/ecommerce-performance-and-cx-microservices\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Microservices","item":"https:\/\/www.codemotion.com\/magazine\/microservices\/"},{"@type":"ListItem","position":3,"name":"How Large eCommerce Stores Can Meet Performance and CX Requirements by Leveraging Microservices"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/201bb98b02412383686cced7521b861c","name":"Codemotion","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/cropped-codemotionlogo-150x150.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/cropped-codemotionlogo-150x150.png","caption":"Codemotion"},"description":"Articles wirtten by the Codemotion staff. Tech news, inspiration, latest treends in software development and more.","sameAs":["https:\/\/x.com\/CodemotionIT"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/codemotion-2\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618-600x400.jpg","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618-600x600.jpg","author_info":{"display_name":"Codemotion","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/codemotion-2\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618.jpg",1517,692,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618-150x150.jpg",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618-300x137.jpg",300,137,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618-768x350.jpg",768,350,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618-1024x467.jpg",1024,467,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618.jpg",1517,692,false],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618.jpg",1517,692,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618.jpg",100,46,false],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618-180x128.jpg",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618-896x504.jpg",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618-400x225.jpg",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618-600x400.jpg",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/iStock-1039610618-600x600.jpg",600,600,true]},"uagb_author_info":{"display_name":"Codemotion","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/codemotion-2\/"},"uagb_comment_info":0,"uagb_excerpt":"Building an eCommerce store is far from easy. Lots of issues inevitably arise, relating to both the back- and the front-end. The larger the eCommerce operation, the greater the number and extent of the issues that need to be solved. AS Watson is one of the leading companies in the large-scale eCommerce stores market. This&#8230;&hellip;","lang":"en","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/19376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/64"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=19376"}],"version-history":[{"count":4,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/19376\/revisions"}],"predecessor-version":[{"id":19389,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/19376\/revisions\/19389"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/19384"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=19376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=19376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=19376"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=19376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}