{"id":615,"date":"2015-08-26T19:46:59","date_gmt":"2015-08-26T19:46:59","guid":{"rendered":"https:\/\/solutionstreet.com\/blog\/?p=615"},"modified":"2015-08-26T19:46:59","modified_gmt":"2015-08-26T19:46:59","slug":"building-a-software-architecture-for-the-future","status":"publish","type":"post","link":"https:\/\/www.solutionstreet.com\/blog\/2015\/08\/26\/building-a-software-architecture-for-the-future\/","title":{"rendered":"Building a Software Architecture for the Future"},"content":{"rendered":"<p><a href=\"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2015\/08\/AugustTitleBig2Wide.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-622\" src=\"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2015\/08\/AugustTitleBig2Wide.png\" alt=\"AugustTitleBig2Wide\" width=\"822\" height=\"359\" srcset=\"https:\/\/www.solutionstreet.com\/blog\/wp-content\/uploads\/2015\/08\/AugustTitleBig2Wide.png 822w, https:\/\/www.solutionstreet.com\/blog\/wp-content\/uploads\/2015\/08\/AugustTitleBig2Wide-300x131.png 300w, https:\/\/www.solutionstreet.com\/blog\/wp-content\/uploads\/2015\/08\/AugustTitleBig2Wide-768x335.png 768w\" sizes=\"auto, (max-width: 822px) 100vw, 822px\" \/><\/a><\/p>\n<div>Recently I\u2019ve been thinking a lot about the future. Not so much in terms of flying cars or the iPhone 1000, but rather how important is it to select the right architecture components for building an enterprise system that will last way into the future &#8211; maybe 20-30 years? There\u2019s lots of blog articles on the web about the latest architecture components and a host of their zealot followers. And it\u2019s not just architecture components &#8211; it\u2019s software languages, methodologies, databases, and deployment options just to name a few. Just within the JavaScript language as an example, we have dozens if not hundreds of frameworks to choose from. In a world where technology has a new \u201ccool kid on the block\u201d everyday, how do you choose the building blocks for an architecture that will last well into the future; knowing that some of your components were written no more than 6 months ago by a dozen people in a dozen countries who are all probably half of your age!?<\/div>\n<div>Before delving too far into procedurally how I would do this, I would make the somewhat loose correlation of picking a future-proof software architecture with picking a financial allocation of right stocks and bonds and other investments for a solid long-term performance. My experience and knowledge working with financial investments is greater than most, although it pales in comparison to my years as a developer. Nonetheless, I have learned a great deal about investing and my philosophy around investing can best be summed up as &#8220;follow what you already know works.&#8221; Many investors like to pick the shiny coin and go with hearsay and gut feels and especially try to time the market. Obviously we know that this sometimes works, but most often it doesn\u2019t. When it comes to your future retirement savings, why chance it? If you know certain strategies (albeit boring) will most likely put you in the top 20% of investors in terms of returns over the course of a long term investment, then why mess with success?<\/div>\n<div>When it comes to software development, it\u2019s not the languages and components (stocks and bonds and precious metals) so much as it is the overall strategy. In development we know the people on a project will come and go, but it\u2019s the software that is left behind and building a loosely-coupled, consistent, highly tested, well documented\/commented system will give you 80% of future-proofing. In my 25+ years of software development experience I have worked on many systems. Some are still in production for more than two decades. They were not written in Python, Ruby, JavaScript, or even Java. They were written in COBOL! (sometimes referred to as the 5 letter word for software engineers). But the amazing part of these systems were that they were built solid &#8211; consistent and documented (unfortunately not many tests, though). Somewhat even more important, is that they were built simply &#8211; any fairly good COBOL programmer could follow along with the pattern and nothing was overly complex. Nowadays we are building highly complex systems with over\u2013architecting the system with too many components and not enough simplicity.<\/div>\n<div style=\"text-align: center;\"><a href=\"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2015\/08\/Image1.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-624\" src=\"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2015\/08\/Image1.png\" alt=\"Image1\" width=\"762px\" height=\"auto\" srcset=\"https:\/\/www.solutionstreet.com\/blog\/wp-content\/uploads\/2015\/08\/Image1.png 939w, https:\/\/www.solutionstreet.com\/blog\/wp-content\/uploads\/2015\/08\/Image1-300x135.png 300w, https:\/\/www.solutionstreet.com\/blog\/wp-content\/uploads\/2015\/08\/Image1-768x346.png 768w\" sizes=\"(max-width: 939px) 100vw, 939px\" \/><\/a><\/div>\n<div>Of course taking the time to select the right language, components, databases, etc., is important and should be well thought out, here are my list of items that are critical to building a future-proof architecture regardless of the specific make-up of the architecture:<\/div>\n<ul>\n<li><b>Consistent<\/b> &#8211; Software never goes away and is never done. You are constantly hiring new staff to work on \u201cold\u201d systems. When building a new system amongst multiple team members there needs to be a consistent pattern. I\u2019m not talking about just following a pattern like MVC (Model-view-controller), but every part of the code has to appear as if one person wrote it. This is not easy but requires a steady-state of code reviews to maintain that consistency.<\/li>\n<\/ul>\n<ul>\n<li><b>Highly Tested<\/b> &#8211; Every software engineer knows that a system that is tested is more likely to be successful than one that isn\u2019t. The lack of unit testing and feature testing equates to lazy developers. Sorry, I know this to be true. Historically I have been one of those developers. I always hear developers say \u201cThere\u2019s no time in the schedule.&#8221; Honestly that just means the developer has not done a good enough job explaining to a manager\/client why testing is needed.<\/li>\n<\/ul>\n<ul>\n<li><b>Well Documented<\/b> &#8211; Within all aspects of code any new developer to the team should never be scratching their head saying \u201cI\u2019m not sure what this block of code does.\u201d All code must be commented well and easily understood (of course along with associated tests).<\/li>\n<\/ul>\n<ul>\n<li><b>Maintaining Upgrades<\/b> &#8211; If your selected architecture is still being used next year then you must maintain upgrades and never accumulate technical debt. If your selected architecture component has fallen out of favor you must make the decision to maintain it yourself or move on. With keeping a consistent, highly tested, and well documented codebase you should not have much trouble with a swap-out.<\/li>\n<\/ul>\n<p>If these are followed then no matter where technology takes us we can be ready. Software engineers should be ready for change &#8211; actually they should expect change. Now back to my financial analogy. I remember back in the early 90\u2019s someone said \u201cBuy Fidelity Magellan! It\u2019s the best mutual fund out there!\u201d Of course I moved my entire 401k portfolio fully into Magellan and from then on it was close to the worst mutual fund out there in terms of performance. At that point I learned an important lesson &#8211; I was focused on the sprint and not the marathon (or battle and not the war &#8211; choose your favorite analogy). I was looking for the shiny coin. I didn\u2019t put everything into perspective nor use the knowledge I already had about investing for the long-term which included important concepts like diversification, low fees, and maintaining a consistent strategy. In other words I wasn\u2019t future-proofing my investments. To me, investing or building quality software that is future-proof is easy &#8211; we all know what to do; but we\u2019d rather look at the short-term performance rather than the long-term gains.<\/p>\n<div style=\"text-align: center;\"><a href=\"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2015\/08\/AugustGal.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-627\" src=\"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2015\/08\/AugustGal.png\" alt=\"AugustGal\" width=\"582px\" height=\"auto\" srcset=\"https:\/\/www.solutionstreet.com\/blog\/wp-content\/uploads\/2015\/08\/AugustGal.png 687w, https:\/\/www.solutionstreet.com\/blog\/wp-content\/uploads\/2015\/08\/AugustGal-300x205.png 300w\" sizes=\"(max-width: 687px) 100vw, 687px\" \/><\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Recently I\u2019ve been thinking a lot about the future. Not so much in terms of flying cars or the iPhone 1000, but rather how important is it to select the right architecture components for building an enterprise system that will last way into the future &#8211; maybe 20-30 years? There\u2019s lots of blog articles on [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-615","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Building a Software Architecture for the Future<\/title>\n<meta name=\"description\" content=\"There\u2019s lots of blog articles on the web about the latest software architecture components and a host of their zealot followers. And it\u2019s not just architecture components - it\u2019s software languages, methodologies, databases, and deployment options just to name a few.\" \/>\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.solutionstreet.com\/blog\/2015\/08\/26\/building-a-software-architecture-for-the-future\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Building a Software Architecture for the Future\" \/>\n<meta property=\"og:description\" content=\"There\u2019s lots of blog articles on the web about the latest software architecture components and a host of their zealot followers. And it\u2019s not just architecture components - it\u2019s software languages, methodologies, databases, and deployment options just to name a few.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.solutionstreet.com\/blog\/2015\/08\/26\/building-a-software-architecture-for-the-future\/\" \/>\n<meta property=\"og:site_name\" content=\"Solution Street Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-08-26T19:46:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2015\/08\/AugustTitleBig2Wide.png\" \/>\n<meta name=\"author\" content=\"afrankel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"afrankel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2015\\\/08\\\/26\\\/building-a-software-architecture-for-the-future\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2015\\\/08\\\/26\\\/building-a-software-architecture-for-the-future\\\/\"},\"author\":{\"name\":\"afrankel\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/#\\\/schema\\\/person\\\/4918a8dfd726e6176a3b516b9f1fd00f\"},\"headline\":\"Building a Software Architecture for the Future\",\"datePublished\":\"2015-08-26T19:46:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2015\\\/08\\\/26\\\/building-a-software-architecture-for-the-future\\\/\"},\"wordCount\":1043,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2015\\\/08\\\/26\\\/building-a-software-architecture-for-the-future\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/solutionstreet.com\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/08\\\/AugustTitleBig2Wide.png\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2015\\\/08\\\/26\\\/building-a-software-architecture-for-the-future\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2015\\\/08\\\/26\\\/building-a-software-architecture-for-the-future\\\/\",\"url\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2015\\\/08\\\/26\\\/building-a-software-architecture-for-the-future\\\/\",\"name\":\"Building a Software Architecture for the Future\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2015\\\/08\\\/26\\\/building-a-software-architecture-for-the-future\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2015\\\/08\\\/26\\\/building-a-software-architecture-for-the-future\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/solutionstreet.com\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/08\\\/AugustTitleBig2Wide.png\",\"datePublished\":\"2015-08-26T19:46:59+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/#\\\/schema\\\/person\\\/4918a8dfd726e6176a3b516b9f1fd00f\"},\"description\":\"There\u2019s lots of blog articles on the web about the latest software architecture components and a host of their zealot followers. And it\u2019s not just architecture components - it\u2019s software languages, methodologies, databases, and deployment options just to name a few.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2015\\\/08\\\/26\\\/building-a-software-architecture-for-the-future\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2015\\\/08\\\/26\\\/building-a-software-architecture-for-the-future\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2015\\\/08\\\/26\\\/building-a-software-architecture-for-the-future\\\/#primaryimage\",\"url\":\"https:\\\/\\\/solutionstreet.com\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/08\\\/AugustTitleBig2Wide.png\",\"contentUrl\":\"https:\\\/\\\/solutionstreet.com\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/08\\\/AugustTitleBig2Wide.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2015\\\/08\\\/26\\\/building-a-software-architecture-for-the-future\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Building a Software Architecture for the Future\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/\",\"name\":\"Solution Street Blog\",\"description\":\"Quality Software Engineering - Technology and Consulting Articles\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/#\\\/schema\\\/person\\\/4918a8dfd726e6176a3b516b9f1fd00f\",\"name\":\"afrankel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/906488c05ad8322b055f0d85b5cee1f6f966ce8715b51d59df3f0ced8ae01b6b?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/906488c05ad8322b055f0d85b5cee1f6f966ce8715b51d59df3f0ced8ae01b6b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/906488c05ad8322b055f0d85b5cee1f6f966ce8715b51d59df3f0ced8ae01b6b?s=96&d=mm&r=g\",\"caption\":\"afrankel\"},\"url\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/author\\\/afrankel\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Building a Software Architecture for the Future","description":"There\u2019s lots of blog articles on the web about the latest software architecture components and a host of their zealot followers. And it\u2019s not just architecture components - it\u2019s software languages, methodologies, databases, and deployment options just to name a few.","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.solutionstreet.com\/blog\/2015\/08\/26\/building-a-software-architecture-for-the-future\/","og_locale":"en_US","og_type":"article","og_title":"Building a Software Architecture for the Future","og_description":"There\u2019s lots of blog articles on the web about the latest software architecture components and a host of their zealot followers. And it\u2019s not just architecture components - it\u2019s software languages, methodologies, databases, and deployment options just to name a few.","og_url":"https:\/\/www.solutionstreet.com\/blog\/2015\/08\/26\/building-a-software-architecture-for-the-future\/","og_site_name":"Solution Street Blog","article_published_time":"2015-08-26T19:46:59+00:00","og_image":[{"url":"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2015\/08\/AugustTitleBig2Wide.png","type":"","width":"","height":""}],"author":"afrankel","twitter_card":"summary_large_image","twitter_misc":{"Written by":"afrankel","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.solutionstreet.com\/blog\/2015\/08\/26\/building-a-software-architecture-for-the-future\/#article","isPartOf":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2015\/08\/26\/building-a-software-architecture-for-the-future\/"},"author":{"name":"afrankel","@id":"https:\/\/www.solutionstreet.com\/blog\/#\/schema\/person\/4918a8dfd726e6176a3b516b9f1fd00f"},"headline":"Building a Software Architecture for the Future","datePublished":"2015-08-26T19:46:59+00:00","mainEntityOfPage":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2015\/08\/26\/building-a-software-architecture-for-the-future\/"},"wordCount":1043,"commentCount":0,"image":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2015\/08\/26\/building-a-software-architecture-for-the-future\/#primaryimage"},"thumbnailUrl":"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2015\/08\/AugustTitleBig2Wide.png","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.solutionstreet.com\/blog\/2015\/08\/26\/building-a-software-architecture-for-the-future\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.solutionstreet.com\/blog\/2015\/08\/26\/building-a-software-architecture-for-the-future\/","url":"https:\/\/www.solutionstreet.com\/blog\/2015\/08\/26\/building-a-software-architecture-for-the-future\/","name":"Building a Software Architecture for the Future","isPartOf":{"@id":"https:\/\/www.solutionstreet.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2015\/08\/26\/building-a-software-architecture-for-the-future\/#primaryimage"},"image":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2015\/08\/26\/building-a-software-architecture-for-the-future\/#primaryimage"},"thumbnailUrl":"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2015\/08\/AugustTitleBig2Wide.png","datePublished":"2015-08-26T19:46:59+00:00","author":{"@id":"https:\/\/www.solutionstreet.com\/blog\/#\/schema\/person\/4918a8dfd726e6176a3b516b9f1fd00f"},"description":"There\u2019s lots of blog articles on the web about the latest software architecture components and a host of their zealot followers. And it\u2019s not just architecture components - it\u2019s software languages, methodologies, databases, and deployment options just to name a few.","breadcrumb":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2015\/08\/26\/building-a-software-architecture-for-the-future\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.solutionstreet.com\/blog\/2015\/08\/26\/building-a-software-architecture-for-the-future\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.solutionstreet.com\/blog\/2015\/08\/26\/building-a-software-architecture-for-the-future\/#primaryimage","url":"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2015\/08\/AugustTitleBig2Wide.png","contentUrl":"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2015\/08\/AugustTitleBig2Wide.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.solutionstreet.com\/blog\/2015\/08\/26\/building-a-software-architecture-for-the-future\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.solutionstreet.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Building a Software Architecture for the Future"}]},{"@type":"WebSite","@id":"https:\/\/www.solutionstreet.com\/blog\/#website","url":"https:\/\/www.solutionstreet.com\/blog\/","name":"Solution Street Blog","description":"Quality Software Engineering - Technology and Consulting Articles","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.solutionstreet.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.solutionstreet.com\/blog\/#\/schema\/person\/4918a8dfd726e6176a3b516b9f1fd00f","name":"afrankel","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/906488c05ad8322b055f0d85b5cee1f6f966ce8715b51d59df3f0ced8ae01b6b?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/906488c05ad8322b055f0d85b5cee1f6f966ce8715b51d59df3f0ced8ae01b6b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/906488c05ad8322b055f0d85b5cee1f6f966ce8715b51d59df3f0ced8ae01b6b?s=96&d=mm&r=g","caption":"afrankel"},"url":"https:\/\/www.solutionstreet.com\/blog\/author\/afrankel\/"}]}},"_links":{"self":[{"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/posts\/615","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/comments?post=615"}],"version-history":[{"count":0,"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/posts\/615\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/media?parent=615"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/categories?post=615"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/tags?post=615"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}