{"id":50401,"date":"2010-09-16T14:50:02","date_gmt":"2010-09-16T11:50:02","guid":{"rendered":"https:\/\/www.altoros.com\/blog\/?p=50401"},"modified":"2024-09-26T03:54:36","modified_gmt":"2024-09-26T00:54:36","slug":"keeping-a-popular-web-application-up-and-running-while-re-building-it","status":"publish","type":"post","link":"https:\/\/www.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/","title":{"rendered":"Keeping a Popular Web App Highly Available While Rebuilding It"},"content":{"rendered":"<p><center><small>(<a href=\"https:\/\/www.pexels.com\/photo\/mother-carrying-her-baby-while-working-from-home-3975662\/\" rel=\"noopener\" target=\"_blank\">Featured image credit<\/a>)<\/small><\/center><\/p>\n<p>&nbsp;<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/#Background\" >Background<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/#Step-by-step_code_updates\" >Step-by-step code updates<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/#Error_notifications\" >Error notifications<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/#Highly_available_web_application\" >Highly available web application<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/#Further_reading\" >Further reading<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/#About_the_author\" >About the author<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"Background\"><\/span>Background<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>When redesigning web application architecture for one of our customers, we had to pay extra attention to availability. Since the project\u2014an interactive community for childcare providers\u2014was already a popular website, the uptime was crucial for the customer. The web application had to be up and running throughout the whole development and integration process. Even more, the outdated code structure made adding new modules, integration, and testing quite a challenge.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Step-by-step_code_updates\"><\/span>Step-by-step code updates<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>To minimize the downtime when applying the changes, we decided to perform the integration and code updates in stages. Replacing the whole working modules step by step could help to avoid affecting the performance of the entire application.<\/p>\n<p>First, each unit of the existing code was carefully tested to find out how it behaves. This gave us the necessary information on what actions and results we should reproduce.<\/p>\n<p>Second, all the updates and the new code were also completely covered with tests. When a new piece of the code was created, we wrote new tests for it. As soon as all the tests had been passed, the new code was uploaded to staging, where real users and QA engineers tested it in the environment close to the production server. The new module was moved to production after we made sure everything was OK. These step-by-step code updates guaranteed that each new unit functioned properly and would not damage the system.<\/p>\n<p>However, a part of the application wasn&#8217;t covered with unit tests by the developer who launched this application prior to our involvement. This resulted in issues with user registrations after adding one of new modules\u2014since we even did not know how the systems should work there and no information on the possible user scenarios was provided. Fortunately, we fixed this problem and created the missing unit tests after the updates were implemented.\/p><\/p>\n<p>Initially, the system had about 400 unit tests. After the redesign, it had over 1,000 tests that can be utilized now by other developers willing to add new functionality.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Error_notifications\"><\/span>Error notifications<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>However, it&#8217;s not enough to pay attention to testing during the implementation process only. When a new feature is added, there are always minor bugs that are very hard to detect. Fortunately, Google and spam bots are great testers. They may visit new pages earlier than real visitors, fill out forms there, and so on. This often leads to discovering situations that a developer could have overlooked.<\/p>\n<p>To improve bug-fixing and react as soon as possible, we made the application automatically send us an e-mail when any performance error occurs. This is an efficient way of tracking bugs when the system is already in production\u2014even if a bug is found by bots.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Highly_available_web_application\"><\/span>Highly available web application<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>As a result, the application retained its functionality throughout the whole development process almost without downtime\u2014the latter was limited to just a few seconds. In addition, the customer succeeded in expanding its services further\u2014their team successfully engaged four new cities and two new states in their community.<\/p>\n<p>For more, read <a href=\"https:\/\/www.altoroslabs.com\/portfolio\/rebuilding-an-interactive-portal-for-parents-and-childcare-providers-without-downtime\">the case study<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Further_reading\"><\/span>Further reading<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/likefolio-invest-in-what-you-like-fox-business-video\/\">LikeFolio: Invest in What You &#8220;Like&#8221; (Fox Business Video)<\/a><\/li>\n<li><a href=\"https:\/\/blog.altoros.com\/madlib-a-solution-for-big-data-analytics-from-pivotal.html\">MADlib, a Solution for Big Data Analytics from Pivotal<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/mandrill-free-smtp-server-for-applications-2\/\">Mandrill\u2014a Free SMTP Server for Applications<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"About_the_author\"><\/span>About the author<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div>\n<div style=\"float: right;\"><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2010\/09\/Pavel-Tsiukhtsiayeu.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2010\/09\/Pavel-Tsiukhtsiayeu.png\" alt=\"\" width=\"120\" class=\"alignnone size-full wp-image-53115\" \/><\/a><\/div>\n<div style=\"width: 600px;\"><small><strong>Pavel Tsiukhtsiayeu<\/strong> is a full-stack engineer at Altoros. He has solid experience in web apps delivery. Pavel has profound knowledge of both front- and back-end technologies, including Elixir, Phoenix, Ruby on Rails, React, Twitter Bootstrap 4, etc. In addition, he has expertise in leading a practical course on Ruby and Ruby on Rails for junior developers.<\/small><\/div>\n<\/div>\n<hr \/>\n<p><center><small>The post was written by Pavel Tsiukhtsiayeu, edited by <a href=\"https:\/\/www.altoros.com\/blog\/author\/ekaterina\/\">Katherine Vasilega<\/a> and <a href=\"https:\/\/www.altoros.com\/blog\/author\/alex\/\">Alex Khizhniak<\/a>.<\/small><\/center><\/p>\n","protected":false},"excerpt":{"rendered":"<p>(Featured image credit)<\/p>\n<p>&nbsp;<\/p>\n<p>Background<\/p>\n<p>When redesigning web application architecture for one of our customers, we had to pay extra attention to availability. Since the project\u2014an interactive community for childcare providers\u2014was already a popular website, the uptime was crucial for the customer. The web application had to be up and running throughout the [&#8230;]<\/p>\n","protected":false},"author":59,"featured_media":67880,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[214],"tags":[895],"class_list":["post-50401","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","tag-research-and-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Keeping a Popular Web App Highly Available While Rebuilding It | Altoros<\/title>\n<meta name=\"description\" content=\"Learn how Altoros helped to rebuild an outdated software architecture of the web app while retaining the functionality and reducing downtime to seconds.\" \/>\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.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Keeping a Popular Web App Highly Available While Rebuilding It | Altoros\" \/>\n<meta property=\"og:description\" content=\"(Featured image credit) &nbsp; Background When redesigning web application architecture for one of our customers, we had to pay extra attention to availability. Since the project\u2014an interactive community for childcare providers\u2014was already a popular website, the uptime was crucial for the customer. The web application had to be up and running throughout the [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/\" \/>\n<meta property=\"og:site_name\" content=\"Altoros\" \/>\n<meta property=\"article:published_time\" content=\"2010-09-16T11:50:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-26T00:54:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2010\/09\/pexels-childcare.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1280\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Katherine Vasilega\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Katherine Vasilega\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/keeping-a-popular-web-application-up-and-running-while-re-building-it\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/keeping-a-popular-web-application-up-and-running-while-re-building-it\\\/\"},\"author\":{\"name\":\"Katherine Vasilega\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/#\\\/schema\\\/person\\\/838835a0215e04e11f4e1bb73c61dc83\"},\"headline\":\"Keeping a Popular Web App Highly Available While Rebuilding It\",\"datePublished\":\"2010-09-16T11:50:02+00:00\",\"dateModified\":\"2024-09-26T00:54:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/keeping-a-popular-web-application-up-and-running-while-re-building-it\\\/\"},\"wordCount\":630,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/keeping-a-popular-web-application-up-and-running-while-re-building-it\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/09\\\/pexels-childcare.jpg\",\"keywords\":[\"Research and Development\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.altoros.com\\\/blog\\\/keeping-a-popular-web-application-up-and-running-while-re-building-it\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/keeping-a-popular-web-application-up-and-running-while-re-building-it\\\/\",\"url\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/keeping-a-popular-web-application-up-and-running-while-re-building-it\\\/\",\"name\":\"Keeping a Popular Web App Highly Available While Rebuilding It | Altoros\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/keeping-a-popular-web-application-up-and-running-while-re-building-it\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/keeping-a-popular-web-application-up-and-running-while-re-building-it\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/09\\\/pexels-childcare.jpg\",\"datePublished\":\"2010-09-16T11:50:02+00:00\",\"dateModified\":\"2024-09-26T00:54:36+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/#\\\/schema\\\/person\\\/838835a0215e04e11f4e1bb73c61dc83\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/keeping-a-popular-web-application-up-and-running-while-re-building-it\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.altoros.com\\\/blog\\\/keeping-a-popular-web-application-up-and-running-while-re-building-it\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/keeping-a-popular-web-application-up-and-running-while-re-building-it\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/09\\\/pexels-childcare.jpg\",\"contentUrl\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/09\\\/pexels-childcare.jpg\",\"width\":1920,\"height\":1280},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/keeping-a-popular-web-application-up-and-running-while-re-building-it\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Keeping a Popular Web App Highly Available While Rebuilding It\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/\",\"name\":\"Altoros\",\"description\":\"Insight\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/#\\\/schema\\\/person\\\/838835a0215e04e11f4e1bb73c61dc83\",\"name\":\"Katherine Vasilega\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/04\\\/Ekatherine-Vasilega-96x96.jpg\",\"url\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/04\\\/Ekatherine-Vasilega-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/04\\\/Ekatherine-Vasilega-96x96.jpg\",\"caption\":\"Katherine Vasilega\"},\"description\":\"Katherine Vasilega is a proficient writer with a proven experience in delivering compelling articles on data integration, data quality, ETL, and software product development. She is also responsible for efficiently explaining sophisticated technical concepts to common audience. In addition, Katherine can boast of a solid background in journalism.\",\"url\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/author\\\/ekaterina\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Keeping a Popular Web App Highly Available While Rebuilding It | Altoros","description":"Learn how Altoros helped to rebuild an outdated software architecture of the web app while retaining the functionality and reducing downtime to seconds.","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.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/","og_locale":"en_US","og_type":"article","og_title":"Keeping a Popular Web App Highly Available While Rebuilding It | Altoros","og_description":"(Featured image credit) &nbsp; Background When redesigning web application architecture for one of our customers, we had to pay extra attention to availability. Since the project\u2014an interactive community for childcare providers\u2014was already a popular website, the uptime was crucial for the customer. The web application had to be up and running throughout the [...]","og_url":"https:\/\/www.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/","og_site_name":"Altoros","article_published_time":"2010-09-16T11:50:02+00:00","article_modified_time":"2024-09-26T00:54:36+00:00","og_image":[{"width":1920,"height":1280,"url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2010\/09\/pexels-childcare.jpg","type":"image\/jpeg"}],"author":"Katherine Vasilega","twitter_misc":{"Written by":"Katherine Vasilega","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/#article","isPartOf":{"@id":"https:\/\/www.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/"},"author":{"name":"Katherine Vasilega","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/838835a0215e04e11f4e1bb73c61dc83"},"headline":"Keeping a Popular Web App Highly Available While Rebuilding It","datePublished":"2010-09-16T11:50:02+00:00","dateModified":"2024-09-26T00:54:36+00:00","mainEntityOfPage":{"@id":"https:\/\/www.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/"},"wordCount":630,"commentCount":0,"image":{"@id":"https:\/\/www.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/#primaryimage"},"thumbnailUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2010\/09\/pexels-childcare.jpg","keywords":["Research and Development"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/","url":"https:\/\/www.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/","name":"Keeping a Popular Web App Highly Available While Rebuilding It | Altoros","isPartOf":{"@id":"https:\/\/www.altoros.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/#primaryimage"},"image":{"@id":"https:\/\/www.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/#primaryimage"},"thumbnailUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2010\/09\/pexels-childcare.jpg","datePublished":"2010-09-16T11:50:02+00:00","dateModified":"2024-09-26T00:54:36+00:00","author":{"@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/838835a0215e04e11f4e1bb73c61dc83"},"breadcrumb":{"@id":"https:\/\/www.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/#primaryimage","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2010\/09\/pexels-childcare.jpg","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2010\/09\/pexels-childcare.jpg","width":1920,"height":1280},{"@type":"BreadcrumbList","@id":"https:\/\/www.altoros.com\/blog\/keeping-a-popular-web-application-up-and-running-while-re-building-it\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.altoros.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Keeping a Popular Web App Highly Available While Rebuilding It"}]},{"@type":"WebSite","@id":"https:\/\/www.altoros.com\/blog\/#website","url":"https:\/\/www.altoros.com\/blog\/","name":"Altoros","description":"Insight","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.altoros.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/838835a0215e04e11f4e1bb73c61dc83","name":"Katherine Vasilega","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2020\/04\/Ekatherine-Vasilega-96x96.jpg","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2020\/04\/Ekatherine-Vasilega-96x96.jpg","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2020\/04\/Ekatherine-Vasilega-96x96.jpg","caption":"Katherine Vasilega"},"description":"Katherine Vasilega is a proficient writer with a proven experience in delivering compelling articles on data integration, data quality, ETL, and software product development. She is also responsible for efficiently explaining sophisticated technical concepts to common audience. In addition, Katherine can boast of a solid background in journalism.","url":"https:\/\/www.altoros.com\/blog\/author\/ekaterina\/"}]}},"_links":{"self":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/50401","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/users\/59"}],"replies":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/comments?post=50401"}],"version-history":[{"count":17,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/50401\/revisions"}],"predecessor-version":[{"id":67881,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/50401\/revisions\/67881"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media\/67880"}],"wp:attachment":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media?parent=50401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/categories?post=50401"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/tags?post=50401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}