{"id":6523,"date":"2014-12-02T08:31:37","date_gmt":"2014-12-02T08:31:37","guid":{"rendered":"http:\/\/intercom.com\/blog\/?p=6523"},"modified":"2020-07-30T13:02:25","modified_gmt":"2020-07-30T12:02:25","slug":"its-not-personal-when-its-broken","status":"publish","type":"post","link":"https:\/\/www.intercom.com\/blog\/its-not-personal-when-its-broken\/","title":{"rendered":"It\u2019s not personal when it\u2019s broken"},"content":{"rendered":"<p class=\"opening_paragraph\">At Intercom, we\u2019re on a mission to make web and mobile business personal. Error pages, timeouts and slow responses are the opposite of this. But on those occasions when things do break it\u2019s really important to get the customer facing communication right.<\/p>\n<p>Service outages frustrate customers and prevent them from quickly completing the important jobs they set out to do. On our side, outages are stressful for the engineering teams involved, as they have to context-switch and scramble to fix whatever is broken. Outages are bad news for everyone, but the reality is that for all but trivial services, they\u2019re inevitable. To ensure that outages are kept to a minimum, at Intercom we are building an engineering culture where performance and availability are as important as shipping <a href=\"https:\/\/www.intercom.com\/blog\/shipping-is-your-companys-heartbeat\/\">fast <\/a>and <a href=\"https:\/\/www.intercom.com\/blog\/moving-faster-with-smaller-steps\/\">iteratively<\/a>. \u00a0This means we do things like systematically learning from our mistakes, conduct <a href=\"https:\/\/codeascraft.com\/2012\/05\/22\/blameless-postmortems\/\">blame-free post-mortems<\/a>, and design systems that expect, contain, and quickly recover from, failures.<\/p>\n<h2 id=\"the-importance-of-clear-communication\">The importance of clear communication<\/h2>\n<p>Dealing with service outages is hard work, but doing a great job of communicating what&#8217;s going on during an outage is really hard. External facing status updates usually take a lower priority to restoring service, and it doesn&#8217;t help that updates are tricky to get right. A badly phrased statement, use of weasel words or untimely updates erode the trust of customers. Some customers may not appreciate technical jargon, while others want to know precise details. Blaming third-party service providers is almost certainly short-sighted. Post-outage a lot of online discussion tends to focus on how cloud and SaaS services communicated with their customers, which demonstrates how much customers care about how they&#8217;re told about what&#8217;s going on.<\/p>\n<h2 id=\"the-information-customers-want\">The information customers want<\/h2>\n<div class=\"post_image_wrapper\"><img decoding=\"async\" src=\"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2014\/12\/Intercom-status-page1.png\" alt=\"\" \/><\/div>\n<p>When your site or service is down, customers are looking for the following pieces of information:<\/p>\n<ul>\n<li>Is there something broken (or is it just me)?<\/li>\n<li>Is somebody working on it?<\/li>\n<li>When will it be fixed?<\/li>\n<\/ul>\n<p>To help answer these questions, we recently set up a <a href=\"https:\/\/status.intercom.com\">status page<\/a> for Intercom (image above), using <a href=\"https:\/\/statuspage.io\">StatusPage.io<\/a>. We&#8217;re using application performance metrics from <a href=\"https:\/\/www.newrelic.com\">New Relic<\/a> and uptime monitoring from <a href=\"https:\/\/www.pingdom.com\">Pingdom<\/a> to give our customers this information in real time. You will be able to quickly find out if anything is broken in Intercom right now and historically (up to a month). Additionally we will use the Intercom status page to provide updates about events, as they happen. Intercom status page updates also get synced out to our <a href=\"https:\/\/www.twitter.com\/intercomstatus\">@intercomstatus<\/a> Twitter account, so follow it if you want to see notifications in your feed.<\/p>\n<p>The metrics currently surfaced on the status page are necessarily simple. They do not surface problems affecting a small subset of customers, or every feature of Intercom, and only provide average response times and uptimes. We intend to add further metrics such as message delivery success, so watch this space, and of course let us know if there\u2019s something you want visibility of.<\/p>\n<h2 id=\"improving-intercoms-availability\">Improving Intercom\u2019s availability<\/h2>\n<p>Not long after I joined Intercom earlier this year, we had a series of outages related to our main MySQL database. Intercom is largely a classic two-tier Ruby on Rails web application, and the MySQL database is a single point of failure for certain parts of the application. Our architecture is moving towards a service orientated one, but we needed to improve things quickly. We made a number of changes to our setup to recover from outages quicker and contain the blast radius of outages through tuning timeouts, pool sizes and building dedicated fleets to service traffic from different sources. We have also made some great progress on building out new services to reduce the complexity of the data store that holds <a href=\"https:\/\/www.intercom.com\/blog\/customer-intelligence\" target=\"_blank\" rel=\"noopener noreferrer\">customer data<\/a> (while also improving response times and customer experience). Our availability metrics have improved, though we&#8217;re continuing to work on further improving our setup on multiple fronts.<\/p>\n<p>We want to share with our customers how we&#8217;ve been doing, along with some details about what&#8217;s been going on behind the scenes to improve things. Below are some numbers on how we did in Q3 2014, and some of the architecture changes we made under the hood that affected performance and availability (largely positively).<\/p>\n<p><strong>Main architecture notes for Q3 2014:<\/strong><\/p>\n<ul>\n<li>Upgraded data-storage capacity &#8211; doubling NoSQL document store fleet, upgrading RDS MySQL instance to the largest offering.<\/li>\n<li>Tuned Ruby garbage collection to improve throughput and performance in August. (If you\u2019re running default Ruby Garbage Collection settings with Ruby MRI 2.0, chances are you will benefit a lot from doing the same!).<\/li>\n<li>Removed queuing at the nginx\/passenger layer to optimize for faster recovery.<\/li>\n<li>Tuned processes\/threads\/database connections to optimize for faster recovery.<\/li>\n<li>Broke out Javascript API to dedicated fleet.<\/li>\n<li>Streaming user updates to Elasticsearch increased latencies in September.<\/li>\n<\/ul>\n<div class=\"post_image_wrapper\"><img decoding=\"async\" src=\"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2014\/12\/q3-2014-availability.png\" alt=\"\" \/><\/div>\n<p>Our goal for Q4 2014 is to get availability to be better than 99.9% each month, consistently. We\u2019re eager to get feedback about our new status page, the metrics we\u2019re reporting publicly and how we\u2019re communicating about outages. Let us know if there\u2019s something we can do differently or if there\u2019s something you\u2019d like to see us start doing.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>At Intercom, we\u2019re on a mission to make web and mobile business personal. Error pages, timeouts and slow responses are the opposite of this. But on those occasions when things do break it\u2019s really important to&hellip;<\/p>\n","protected":false},"author":105,"featured_media":6771,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"category":[4],"tags":[309,214,212],"coauthors":[399],"class_list":["post-6523","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-availability","tag-communications","tag-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.5 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>It\u2019s not personal when it\u2019s broken - The Intercom Blog<\/title>\n<meta name=\"description\" content=\"At Intercom, we\u2019re on a mission to make web and mobile business personal. Our new Intercom status page is another important aspect of that mission.\" \/>\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.intercom.com\/blog\/its-not-personal-when-its-broken\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"It\u2019s not personal when it\u2019s broken\" \/>\n<meta property=\"og:description\" content=\"At Intercom, we\u2019re on a mission to make web and mobile business personal. Our new Intercom status page is another important aspect of that mission.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.intercom.com\/blog\/its-not-personal-when-its-broken\/\" \/>\n<meta property=\"og:site_name\" content=\"The Intercom Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/intercominc\" \/>\n<meta property=\"article:published_time\" content=\"2014-12-02T08:31:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-07-30T12:02:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2014\/11\/Intercom-availability-624.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"624\" \/>\n\t<meta property=\"og:image:height\" content=\"296\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Brian Scanlan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@brian_scanlan\" \/>\n<meta name=\"twitter:site\" content=\"@intercom\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Brian Scanlan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/its-not-personal-when-its-broken\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/its-not-personal-when-its-broken\\\/\"},\"author\":{\"name\":\"Brian Scanlan\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#\\\/schema\\\/person\\\/b1709ce5dd599e9a343f018820261df2\"},\"headline\":\"It\u2019s not personal when it\u2019s broken\",\"datePublished\":\"2014-12-02T08:31:37+00:00\",\"dateModified\":\"2020-07-30T12:02:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/its-not-personal-when-its-broken\\\/\"},\"wordCount\":868,\"publisher\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/its-not-personal-when-its-broken\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/11\\\/Intercom-availability-624.jpg\",\"keywords\":[\"availability\",\"communications\",\"development\"],\"articleSection\":[\"News &amp; Updates\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/its-not-personal-when-its-broken\\\/\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/its-not-personal-when-its-broken\\\/\",\"name\":\"It\u2019s not personal when it\u2019s broken - The Intercom Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/its-not-personal-when-its-broken\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/its-not-personal-when-its-broken\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/11\\\/Intercom-availability-624.jpg\",\"datePublished\":\"2014-12-02T08:31:37+00:00\",\"dateModified\":\"2020-07-30T12:02:25+00:00\",\"description\":\"At Intercom, we\u2019re on a mission to make web and mobile business personal. Our new Intercom status page is another important aspect of that mission.\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.intercom.com\\\/blog\\\/its-not-personal-when-its-broken\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/its-not-personal-when-its-broken\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/11\\\/Intercom-availability-624.jpg\",\"contentUrl\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/11\\\/Intercom-availability-624.jpg\",\"width\":624,\"height\":296},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/\",\"name\":\"The Intercom Blog\",\"description\":\"Articles and Podcasts on Customer Service, AI and Automation, Product, and more\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#organization\",\"name\":\"The Intercom Blog\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/Intercom-logo-sq-black-trans.png\",\"contentUrl\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/Intercom-logo-sq-black-trans.png\",\"width\":1000,\"height\":1000,\"caption\":\"The Intercom Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/intercominc\",\"https:\\\/\\\/x.com\\\/intercom\",\"https:\\\/\\\/www.instagram.com\\\/intercom\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/2491343\",\"https:\\\/\\\/www.pinterest.ie\\\/intercom\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCJG0MvLP03kyzzAkD-w98aQ\",\"https:\\\/\\\/en.wikipedia.org\\\/wiki\\\/Intercom_(company)\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#\\\/schema\\\/person\\\/b1709ce5dd599e9a343f018820261df2\",\"name\":\"Brian Scanlan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/557ac9be8a2b4e8abd5ff0d77470ded5591d3b056dedb68cbde898233ef5170e?s=96&d=mm&r=pg97554399c095ae58633cba361b67ea03\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/557ac9be8a2b4e8abd5ff0d77470ded5591d3b056dedb68cbde898233ef5170e?s=96&d=mm&r=pg\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/557ac9be8a2b4e8abd5ff0d77470ded5591d3b056dedb68cbde898233ef5170e?s=96&d=mm&r=pg\",\"caption\":\"Brian Scanlan\"},\"description\":\"Brian leads Intercom's developer infrastructure efforts, helping teams make products resilient to failure and scalable to customers' needs. Formerly with HEAnet and Amazon.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/scanlanb\\\/\",\"https:\\\/\\\/x.com\\\/brian_scanlan\"],\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/author\\\/brian_scanlan\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"It\u2019s not personal when it\u2019s broken - The Intercom Blog","description":"At Intercom, we\u2019re on a mission to make web and mobile business personal. Our new Intercom status page is another important aspect of that mission.","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.intercom.com\/blog\/its-not-personal-when-its-broken\/","og_locale":"en_US","og_type":"article","og_title":"It\u2019s not personal when it\u2019s broken","og_description":"At Intercom, we\u2019re on a mission to make web and mobile business personal. Our new Intercom status page is another important aspect of that mission.","og_url":"https:\/\/www.intercom.com\/blog\/its-not-personal-when-its-broken\/","og_site_name":"The Intercom Blog","article_publisher":"https:\/\/www.facebook.com\/intercominc","article_published_time":"2014-12-02T08:31:37+00:00","article_modified_time":"2020-07-30T12:02:25+00:00","og_image":[{"width":624,"height":296,"url":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2014\/11\/Intercom-availability-624.jpg","type":"image\/jpeg"}],"author":"Brian Scanlan","twitter_card":"summary_large_image","twitter_creator":"@brian_scanlan","twitter_site":"@intercom","twitter_misc":{"Written by":"Brian Scanlan","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.intercom.com\/blog\/its-not-personal-when-its-broken\/#article","isPartOf":{"@id":"https:\/\/www.intercom.com\/blog\/its-not-personal-when-its-broken\/"},"author":{"name":"Brian Scanlan","@id":"https:\/\/www.intercom.com\/blog\/#\/schema\/person\/b1709ce5dd599e9a343f018820261df2"},"headline":"It\u2019s not personal when it\u2019s broken","datePublished":"2014-12-02T08:31:37+00:00","dateModified":"2020-07-30T12:02:25+00:00","mainEntityOfPage":{"@id":"https:\/\/www.intercom.com\/blog\/its-not-personal-when-its-broken\/"},"wordCount":868,"publisher":{"@id":"https:\/\/www.intercom.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.intercom.com\/blog\/its-not-personal-when-its-broken\/#primaryimage"},"thumbnailUrl":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2014\/11\/Intercom-availability-624.jpg","keywords":["availability","communications","development"],"articleSection":["News &amp; Updates"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.intercom.com\/blog\/its-not-personal-when-its-broken\/","url":"https:\/\/www.intercom.com\/blog\/its-not-personal-when-its-broken\/","name":"It\u2019s not personal when it\u2019s broken - The Intercom Blog","isPartOf":{"@id":"https:\/\/www.intercom.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.intercom.com\/blog\/its-not-personal-when-its-broken\/#primaryimage"},"image":{"@id":"https:\/\/www.intercom.com\/blog\/its-not-personal-when-its-broken\/#primaryimage"},"thumbnailUrl":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2014\/11\/Intercom-availability-624.jpg","datePublished":"2014-12-02T08:31:37+00:00","dateModified":"2020-07-30T12:02:25+00:00","description":"At Intercom, we\u2019re on a mission to make web and mobile business personal. Our new Intercom status page is another important aspect of that mission.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.intercom.com\/blog\/its-not-personal-when-its-broken\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.intercom.com\/blog\/its-not-personal-when-its-broken\/#primaryimage","url":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2014\/11\/Intercom-availability-624.jpg","contentUrl":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2014\/11\/Intercom-availability-624.jpg","width":624,"height":296},{"@type":"WebSite","@id":"https:\/\/www.intercom.com\/blog\/#website","url":"https:\/\/www.intercom.com\/blog\/","name":"The Intercom Blog","description":"Articles and Podcasts on Customer Service, AI and Automation, Product, and more","publisher":{"@id":"https:\/\/www.intercom.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.intercom.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.intercom.com\/blog\/#organization","name":"The Intercom Blog","url":"https:\/\/www.intercom.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.intercom.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/08\/Intercom-logo-sq-black-trans.png","contentUrl":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/08\/Intercom-logo-sq-black-trans.png","width":1000,"height":1000,"caption":"The Intercom Blog"},"image":{"@id":"https:\/\/www.intercom.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/intercominc","https:\/\/x.com\/intercom","https:\/\/www.instagram.com\/intercom\/","https:\/\/www.linkedin.com\/company\/2491343","https:\/\/www.pinterest.ie\/intercom\/","https:\/\/www.youtube.com\/channel\/UCJG0MvLP03kyzzAkD-w98aQ","https:\/\/en.wikipedia.org\/wiki\/Intercom_(company)"]},{"@type":"Person","@id":"https:\/\/www.intercom.com\/blog\/#\/schema\/person\/b1709ce5dd599e9a343f018820261df2","name":"Brian Scanlan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/557ac9be8a2b4e8abd5ff0d77470ded5591d3b056dedb68cbde898233ef5170e?s=96&d=mm&r=pg97554399c095ae58633cba361b67ea03","url":"https:\/\/secure.gravatar.com\/avatar\/557ac9be8a2b4e8abd5ff0d77470ded5591d3b056dedb68cbde898233ef5170e?s=96&d=mm&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/557ac9be8a2b4e8abd5ff0d77470ded5591d3b056dedb68cbde898233ef5170e?s=96&d=mm&r=pg","caption":"Brian Scanlan"},"description":"Brian leads Intercom's developer infrastructure efforts, helping teams make products resilient to failure and scalable to customers' needs. Formerly with HEAnet and Amazon.","sameAs":["https:\/\/www.linkedin.com\/in\/scanlanb\/","https:\/\/x.com\/brian_scanlan"],"url":"https:\/\/www.intercom.com\/blog\/author\/brian_scanlan\/"}]}},"jetpack_featured_media_url":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2014\/11\/Intercom-availability-624.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/posts\/6523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/users\/105"}],"replies":[{"embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/comments?post=6523"}],"version-history":[{"count":0,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/posts\/6523\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/media\/6771"}],"wp:attachment":[{"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/media?parent=6523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/category?post=6523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/tags?post=6523"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/coauthors?post=6523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}