{"id":2716,"date":"2016-05-06T14:00:11","date_gmt":"2016-05-06T14:00:11","guid":{"rendered":"http:\/\/www.ckl.io\/?p=2716"},"modified":"2022-07-01T17:59:05","modified_gmt":"2022-07-01T17:59:05","slug":"cloud-scaling-1k-to-1b-users","status":"publish","type":"post","link":"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/","title":{"rendered":"Cloud scaling: from 1K to 1B users"},"content":{"rendered":"<p>We all use a lot of web applications, such as Gmail, Evernote, LinkedIn or Telegram as productivity enhancers in our daily lives. However, there are <a href=\"http:\/\/www.huffingtonpost.com\/news\/facebook-down\/\">not-so-rare<\/a> moments that these services go down for a variety of circumstances.<\/p>\n<p>In a recent event, due to Brazil\u2019s Department of Justice&nbsp;decision to <a href=\"http:\/\/time.com\/4314561\/whatsapp-block-brazil-72\/\">block access to WhatsApp in the whole country for 48 hours<\/a>, millions of Brazilian users <a href=\"https:\/\/twitter.com\/telegram\/status\/677295986281181188\">suddenly migrated to Telegram<\/a>, generating a huge (and unexpected) load in their servers. Since this is <a href=\"http:\/\/venturebeat.com\/2015\/12\/16\/telegram-gains-1m-users-in-a-day-following-reported-temporary-whatsapp-ban-in-brazil\/\">not the first time<\/a> this happens, Telegram&nbsp;was&nbsp;well-prepared and handled the usage peak gracefully (even though there was an <a href=\"https:\/\/twitter.com\/telegram\/status\/727179986692673540\">SMS service bottleneck<\/a>).<\/p>\n<p>However, in a previous user base sprout, Telegram had a 2-hour outage in some parts of the world, as they said in their <a href=\"https:\/\/twitter.com\/telegram\/status\/437745646007631872\">official Twitter<\/a>.<\/p>\n<p>Don\u2019t get me wrong: I think Telegram was&nbsp;totally on top of this. The fact that they could solve this issue in a 2-hour window says they were prepared for cloud scaling&nbsp;\u2013 which unfortunately isn\u2019t always true for all web services.<\/p>\n<p>So how can you prepare&nbsp;for scaling? How can you be sure the cloud service you&#8217;re creating is prepared to handle a big user base (or a sudden increase in access) without going down?<\/p>\n<p><!--more--><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-2717\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-05-05-at-1.06.20-PM.png\" alt=\"Telegram Tweet\" width=\"523\" height=\"284\" srcset=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-05-05-at-1.06.20-PM.png 1252w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-05-05-at-1.06.20-PM-768x417.png 768w\" sizes=\"(max-width: 523px) 100vw, 523px\" \/><\/p>\n<p style=\"text-align: center;\"><em>Source: Twitter<\/em><\/p>\n<p>&nbsp;<\/p>\n<p>Here\u2019s a breakdown of 5 basic tips to ensure your services can scale from 1k to 1b users in a cost-effective manner:<\/p>\n<p>&nbsp;<\/p>\n<h2>1. Use your resources wisely<\/h2>\n<p>Your Cloud is a set of (physical or virtual) computers. As such, they have a limited capacity of processing data, storing, and distributing it over the Internet \u2013 like your own personal computer. Considering that, there is a limit on how many tasks they can accomplish.<\/p>\n<p>When your cloud becomes incapable of handling more tasks due to usage growth, there are two ways to proceed: increasing the capacity of the existing ones (vertical scaling) or&nbsp;adding more machines (horizontal scaling).<\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-2718 aligncenter\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/05\/scalability-vertical.png\" alt=\"Horizontal vs Vertical scaling\" width=\"778\" height=\"371\" srcset=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/05\/scalability-vertical.png 778w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/05\/scalability-vertical-768x366.png 768w\" sizes=\"(max-width: 778px) 100vw, 778px\" \/><\/p>\n<p style=\"text-align: center;\"><em>Source: https:\/\/blog.fi-xifi.eu\/wp-content\/uploads\/2013\/11\/scalability-vertical.png<\/em><\/p>\n<p>&nbsp;<\/p>\n<p>Vertical scaling means switching the existing machines to more powerful ones, so they can handle more tasks. This might be a good short-term solution, but you\u2019ll have to rely on hardware updates to scale your product. And the more you reach the bleeding edge of hardware technology, the more expensive the upgrades become, making your expenses grow exponentially.<\/p>\n<p>Horizontal scaling, on the other hand, means adding more less-capable machines and distributing the tasks among them. Although this might sound less cost-effective at first, the prices will grow linearly (rather than exponentially), and you can virtually add as many machines as you want to the processing cluster. What is more, you can easily shut down machines that aren\u2019t necessary anymore, without any migration or downtime.<\/p>\n<p>The great majority of web services that we rely on a daily basis are built on horizontally scalable architectures \u2013 and this is what Telegram referred to when it said \u201cWe are adding servers\u201d in the Tweet we mentioned above.<\/p>\n<p>There are several Cloud Platforms that enable the dynamic allocation of resources&nbsp;on-demand, like <a href=\"http:\/\/aws.amazon.com\/\">Amazon Web Services<\/a>, <a href=\"http:\/\/heroku.com\/\">Heroku<\/a> or <a href=\"https:\/\/www.digitalocean.com\/\">DigitalOcean<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h2>2. Distribute the work and be redundant<\/h2>\n<p>So we defined that our cloud should&nbsp;be horizontally scalable, which means we\u2019ll have several machines (nodes) that will be responsible for handling the similar tasks. However, for the structure to be truly elastic \u2013 meaning it can upscale and downscale when needed \u2013 there should be a gatekeeper who is in control of routing the messages.<\/p>\n<p>This is why we need a load balancer: a machine that knows where all the other machines are, and what kind of tasks they can handle. When you\u2019re accessing a website like <em>google.com<\/em> or <em>twitter.com<\/em>, you\u2019re not actually connecting to a single machine: you\u2019re connecting to a load balancer that will redirect your access to the least busy machine:<\/p>\n<p><img decoding=\"async\" class=\"wp-image-2719 aligncenter\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-05-05-at-5.33.17-PM.png\" alt=\"Load Balancing\" width=\"743\" height=\"477\" srcset=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-05-05-at-5.33.17-PM.png 1576w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-05-05-at-5.33.17-PM-768x493.png 768w\" sizes=\"(max-width: 743px) 100vw, 743px\" \/><\/p>\n<p>When using a load balancer, you can make sure you\u2019re optimizing your resources\u2019 usage and, based on its data, you can create triggers to add more machines to your cluster, or remove some when they become unnecessary.<\/p>\n<p>This also adds redundancy to the system, which means that, if one machine in the cluster stops working for whatever reason, the remaining ones can seamlessly take over.<\/p>\n<p>Amazon Web Services provides a great built-in service for load balancing, <a href=\"https:\/\/aws.amazon.com\/elasticloadbalancing\/\">Elastic Load Balancing<\/a>, which is simple to configure and does all the routing to the machines you put behind it.<\/p>\n<p>&nbsp;<\/p>\n<h2>3. Be fault-tolerant<\/h2>\n<p>No matter how good, no software is bulletproof. Downtimes will eventually occur, but there are ways you can minimize how they affect your end user. A good approach is to save the most frequent requested data in a separate place, which we call a&nbsp;<em>cache<\/em>. This way, if your cloud goes down, you can serve a cached response \u2013&nbsp;which might be useful enough for the majority of the applications, since they don&#8217;t always require providing up-to-the-second-fresh data.<\/p>\n<p><img decoding=\"async\" class=\"wp-image-2737 aligncenter\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-05-05-at-7.20.28-PM.png\" alt=\"Cached Requests\" width=\"738\" height=\"430\" srcset=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-05-05-at-7.20.28-PM.png 1788w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-05-05-at-7.20.28-PM-768x448.png 768w\" sizes=\"(max-width: 738px) 100vw, 738px\" \/><\/p>\n<p>This doesn\u2019t solve some edge cases, like a chat application, where the immediate delivery of new messages is core \u2013 but at least you\u2019d have access to the chat history when things are down.<\/p>\n<p><a href=\"https:\/\/www.cloudflare.com\/\">CloudFlare<\/a> has a powerful (and free) caching tool that seamlessly caches your requests in the frequency of your choice. It also has an &#8216;Always Online&#8217; feature that serves&nbsp;a cached version of your site if your cluster goes down.<\/p>\n<p>&nbsp;<\/p>\n<h2>4. Index your data<\/h2>\n<p>If your application has a search engine on its core, one thing is for sure: unless you choose the right structure, your search functionality will become very slow when things scale up.<\/p>\n<p>This is because most of the database technologies aren\u2019t optimized for full-text search on large volumes, which means they\u2019ll take more and more time to find what you\u2019re looking for over time (especially when many users are performing searches at the same time).<\/p>\n<p>In order to avoid that, there are technologies that distribute the search work into several machines and create a map of the data, like distributing books within various library sections, and having a librarian for each of the sections.<\/p>\n<p>The most famous ones are <a href=\"https:\/\/www.elastic.co\/\">Elastic<\/a> and <a href=\"https:\/\/www.algolia.com\/\">Algolia<\/a>, and they will handle the search work like a breeze.<\/p>\n<p>&nbsp;<\/p>\n<h2>5. Monitor your system<\/h2>\n<p>Ok, this might sound obvious \u2013 but most people take their cloud for granted. It is essential to monitor what is going on and set up alarms\/alerts to take measures regarding your cloud\u2019s structure.<\/p>\n<p>When monitoring, it\u2019s easier to identify bottlenecks and also where resources can be cut down without any damage to the system\u2019s function. Tools like <a href=\"https:\/\/newrelic.com\/\">New Relic<\/a>, <a href=\"https:\/\/www.pingdom.com\/\">Pingdom<\/a>, <a href=\"https:\/\/www.loggly.com\/\">Loggly<\/a>, and <a href=\"https:\/\/aws.amazon.com\/cloudwatch\/\">AWS CloudWatch<\/a> will make sure you\u2019ll get alerts whenever something unusual is going on.<\/p>\n<p>&nbsp;<\/p>\n<h2>Voil\u00e0!<\/h2>\n<p>All in all, cloud scaling&nbsp;consists of making the architecture as modular, distributed and redundant as possible. As said, these were just a few&nbsp;very basic steps \u2013 and making scalable architectures is a whole science by itself.<\/p>\n<p>When thinking about allocating resources, prices should be taken into account, since making an extremely modular architecture&nbsp;for a really small user base might be an overkill&nbsp;\u2013 so make sure you find&nbsp;the right timing for scaling things up.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We all use a lot of web applications, such as Gmail, Evernote, LinkedIn or Telegram as productivity enhancers in our daily lives. However, there are not-so-rare moments that these services go down for a variety of circumstances. In a recent event, due to Brazil\u2019s Department of Justice&nbsp;decision to block access to WhatsApp in the whole [&hellip;]<\/p>\n","protected":false},"author":65,"featured_media":2937,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-2716","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-business"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Cloud scaling: from 1K to 1B users<\/title>\n<meta name=\"description\" content=\"Cloud scaling involves thinking ahead and foreseeing worst case scenarios \u2013 here&#039;s a list of 5 basic tips to ensure you can handle well a user base growth.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cloud scaling: from 1K to 1B users\" \/>\n<meta property=\"og:description\" content=\"Cloud scaling involves thinking ahead and foreseeing worst case scenarios \u2013 here&#039;s a list of 5 basic tips to ensure you can handle well a user base growth.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/\" \/>\n<meta property=\"og:site_name\" content=\"Cheesecake Labs\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/cheesecakelabs\" \/>\n<meta property=\"article:published_time\" content=\"2016-05-06T14:00:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-01T17:59:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/05\/Scalable-backend-architectures.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2076\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Cheesecake Labs\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@cheesecakelabs\" \/>\n<meta name=\"twitter:site\" content=\"@cheesecakelabs\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/\"},\"author\":{\"name\":\"Alex Cordeiro\"},\"headline\":\"Cloud scaling: from 1K to 1B users\",\"datePublished\":\"2016-05-06T14:00:11+00:00\",\"dateModified\":\"2022-07-01T17:59:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/\"},\"wordCount\":1215,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/05\/Scalable-backend-architectures.jpg\",\"articleSection\":[\"Business\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/\",\"name\":\"Cloud scaling: from 1K to 1B users\",\"isPartOf\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/05\/Scalable-backend-architectures.jpg\",\"datePublished\":\"2016-05-06T14:00:11+00:00\",\"dateModified\":\"2022-07-01T17:59:05+00:00\",\"author\":{\"@type\":\"person\",\"name\":\"Alex Cordeiro\"},\"description\":\"Cloud scaling involves thinking ahead and foreseeing worst case scenarios \u2013 here's a list of 5 basic tips to ensure you can handle well a user base growth.\",\"breadcrumb\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/#primaryimage\",\"url\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/05\/Scalable-backend-architectures.jpg\",\"contentUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/05\/Scalable-backend-architectures.jpg\",\"width\":2076,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cheesecakelabs.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cloud scaling: from 1K to 1B users\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#website\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/\",\"name\":\"Cheesecake Labs\",\"description\":\"Nearshore outsourcing company for Web and Mobile design and engineering services, and staff augmentation for startups and enterprises..\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cheesecakelabs.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"name\":\"Alex Cordeiro\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/10\/alex-300x300.jpg\",\"contentUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/10\/alex-300x300.jpg\",\"caption\":\"Alex Cordeiro\"},\"description\":\"10 years of experience in Marketing and Sales in the Technology sector. My main purpose is help, support and structure efficient operations and also develop independent and multidisciplinary teams.\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/autor\/alex\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cloud scaling: from 1K to 1B users","description":"Cloud scaling involves thinking ahead and foreseeing worst case scenarios \u2013 here's a list of 5 basic tips to ensure you can handle well a user base growth.","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:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/","og_locale":"en_US","og_type":"article","og_title":"Cloud scaling: from 1K to 1B users","og_description":"Cloud scaling involves thinking ahead and foreseeing worst case scenarios \u2013 here's a list of 5 basic tips to ensure you can handle well a user base growth.","og_url":"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/","og_site_name":"Cheesecake Labs","article_publisher":"https:\/\/www.facebook.com\/cheesecakelabs","article_published_time":"2016-05-06T14:00:11+00:00","article_modified_time":"2022-07-01T17:59:05+00:00","og_image":[{"width":2076,"height":720,"url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/05\/Scalable-backend-architectures.jpg","type":"image\/jpeg"}],"author":"Cheesecake Labs","twitter_card":"summary_large_image","twitter_creator":"@cheesecakelabs","twitter_site":"@cheesecakelabs","twitter_misc":{"Written by":null,"Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/#article","isPartOf":{"@id":"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/"},"author":{"name":"Alex Cordeiro"},"headline":"Cloud scaling: from 1K to 1B users","datePublished":"2016-05-06T14:00:11+00:00","dateModified":"2022-07-01T17:59:05+00:00","mainEntityOfPage":{"@id":"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/"},"wordCount":1215,"commentCount":0,"image":{"@id":"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/#primaryimage"},"thumbnailUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/05\/Scalable-backend-architectures.jpg","articleSection":["Business"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/","url":"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/","name":"Cloud scaling: from 1K to 1B users","isPartOf":{"@id":"https:\/\/cheesecakelabs.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/#primaryimage"},"image":{"@id":"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/#primaryimage"},"thumbnailUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/05\/Scalable-backend-architectures.jpg","datePublished":"2016-05-06T14:00:11+00:00","dateModified":"2022-07-01T17:59:05+00:00","author":{"@type":"person","name":"Alex Cordeiro"},"description":"Cloud scaling involves thinking ahead and foreseeing worst case scenarios \u2013 here's a list of 5 basic tips to ensure you can handle well a user base growth.","breadcrumb":{"@id":"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/#primaryimage","url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/05\/Scalable-backend-architectures.jpg","contentUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/05\/Scalable-backend-architectures.jpg","width":2076,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/cheesecakelabs.com\/blog\/cloud-scaling-1k-to-1b-users\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cheesecakelabs.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Cloud scaling: from 1K to 1B users"}]},{"@type":"WebSite","@id":"https:\/\/cheesecakelabs.com\/blog\/#website","url":"https:\/\/cheesecakelabs.com\/blog\/","name":"Cheesecake Labs","description":"Nearshore outsourcing company for Web and Mobile design and engineering services, and staff augmentation for startups and enterprises..","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cheesecakelabs.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","name":"Alex Cordeiro","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cheesecakelabs.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/10\/alex-300x300.jpg","contentUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/10\/alex-300x300.jpg","caption":"Alex Cordeiro"},"description":"10 years of experience in Marketing and Sales in the Technology sector. My main purpose is help, support and structure efficient operations and also develop independent and multidisciplinary teams.","url":"https:\/\/cheesecakelabs.com\/blog\/autor\/alex\/"}]}},"_links":{"self":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/2716","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/users\/65"}],"replies":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/comments?post=2716"}],"version-history":[{"count":1,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/2716\/revisions"}],"predecessor-version":[{"id":10349,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/2716\/revisions\/10349"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/media\/2937"}],"wp:attachment":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/media?parent=2716"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/categories?post=2716"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/tags?post=2716"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}