{"id":724,"date":"2017-08-31T10:55:09","date_gmt":"2017-08-31T16:55:09","guid":{"rendered":"https:\/\/www.morphis-insights.com\/?p=724"},"modified":"2024-01-26T11:09:24","modified_gmt":"2024-01-26T11:09:24","slug":"microservices-modernizing-legacy-applications","status":"publish","type":"post","link":"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/","title":{"rendered":"Microservices, Containers and the Best Option for Modernizing Your Legacy Application"},"content":{"rendered":"<p class=\"p1\"><span class=\"s1\">Much has been written recently about the role of microservices in reducing technical debt and as an approach to modernizing legacy applications, not least in this <a href=\"https:\/\/genehughson.wordpress.com\/2015\/03\/28\/microservice-principles-technical-debt-and-legacy-systems\/\" target=\"_blank\" rel=\"noopener\"><span class=\"s2\">excellent article by Gene Hughson<\/span><\/a>. My overwhelming question is how many different ways can you put lipstick on a pig?<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">This post explains microservices (briefly), how they relate to containers, how they can be used to reduce technical debt and \u2018modernize legacy applications\u2019. Assuming the legacy application in question is not to be decommissioned then, as <a href=\"http:\/\/www.effectiveengineer.com\/blog\/cardinal-sin-of-software-engineering\" target=\"_blank\" rel=\"noopener\"><span class=\"s2\">Edmond Lau pointed out<\/span><\/a>, the challenge is to get your application \u201cas quickly as possible to a state where you\u2019re again making incremental improvement\u201d. We explain why any wrapping technology (containers, microservices etc.) is not the best option to get you to that state, and what is.<\/span><\/p>\n<p class=\"p1\"><strong><span class=\"s1\">Let\u2019s Get Going\u2026<\/span><\/strong><\/p>\n<p class=\"p1\"><span class=\"s1\">Recently, we wrote on the <a href=\"https:\/\/www.morphis-insights.com\/containerization-legacy-applications\/\" target=\"_blank\" rel=\"noopener\"><span class=\"s2\">possibilities of using containers for managing legacy applications<\/span><\/a>.<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">While containerization isn\u2019t a long-term solution for modernization, it\u2019s a common approach that has been around for many years. <\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">Containers do offer a range of benefits such as improvements in flexibility, speed, and portability that tend to reduce dependence on virtual machines. Containerization is one of several viable alternatives for temporarily extending the life of the legacy application, and it can be especially attractive if the app will be decommissioned soon.<\/span><\/p>\n<p class=\"p1\"><strong><span class=\"s1\">Microservices Architecture<\/span><\/strong><\/p>\n<p class=\"p1\"><span class=\"s1\">Microservice architecture presents another option for modernizing many legacy applications. In this approach, applications are built with small, independent processes that communicate with one another through a set of REST APIs (or SOAP web services). Though it can be daunting with older legacy apps, decomposing a legacy app into its most elemental functions and wrapping each function with a microservice API is\u2014in essence\u2014service-oriented computing. The result is a set of services that are accessible to other parts of the app or to other applications.<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">There are several reasons why microservices have been explored for \u2018modernizing\u2019 legacy monolithic applications:<\/span><\/p>\n<ul>\n<li class=\"p1\"><span class=\"s1\"><strong>Separate service deployment increases resilience.<\/strong> If you deploy each service independently, then you improve the odds that an outage in a one module\/component of an application won\u2019t crash the entire application. If some of the services go down, many users won\u2019t notice, and the team can work to pinpoint the problem.<\/span><\/li>\n<li class=\"p1\"><span class=\"s1\"><strong>Components can scale independently.<\/strong> With microservices, you have the flexibility to to focus on the functional bottlenecks, scale the components that are having performance problems, and install hardware that best fits the service requirements.<\/span><\/li>\n<li class=\"p1\"><span class=\"s1\"><strong>Phased implementation can help divide and conquer the monolithic application.<\/strong> With microservice architecture, you can isolate a small part of your existing app and expose it with a microservice. If you can identify clearly any definable elements that can be extracted and exposed as microservices then they can replaced\/rewritten\/modernized individually.<\/span><\/li>\n<\/ul>\n<p class=\"p1\"><span class=\"s1\">The question is, is it possible to break up your legacy monolith application? Do you know what\u2019s in there? Has the intellectual capital that developed that app already walked out the door? Is it documented fully? If you don\u2019t have a full understanding then breaking up the app in order to apply a microservices architecture is going to be a long, probably fruitless process.<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">One other touted benefit of microservices-based modernization is the flexibility to access and consume remote services that provide additional functionality that can enhance the legacy application. In turn, this can be a way to partially extract yourself from the tedium of maintaining services that can be found elsewhere. [As an aside, this is a routine feature of the Morphis approach].<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">On the flip side, the defects of a terrible legacy architecture will translate through to the microservice layer. Wrapping a poorly built monolith with microservices is very much like putting lipstick on a pig. <\/span><\/p>\n<p class=\"p1\"><strong><span class=\"s1\">Containers and Microservices<\/span><\/strong><\/p>\n<p class=\"p1\"><span class=\"s1\">We can think of containers as wrappers for entire applications. By contrast, microservices expose specific features or functions of a legacy application, and provide a modern interface to that functionality. But neither containers or microservices make any enduring improvements to the core of the legacy application. As we\u2019ve said, there are benefits to each approach, but you won\u2019t realize nearly the same benefits that would accrue if it were possible for you to fully decompose the monolithic legacy app and expose it with microservices. But as we already discussed, unless you\u2019re 100% sure of what the app does and how it does it, this can be an impossible pursuit wasting valuable time and resources.<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">Much like containers, wrapping with microservices has limitations. The legacy app is merely put into a different type of isolation, so it will retain all the inherent functionality, UI, and security issues that present a threat to the business. Again, we must conclude that microservices aren\u2019t a durable, long-term solution for modernization.<\/span><\/p>\n<p class=\"p1\"><strong><span class=\"s1\">So What\u2019s The Answer?<\/span><\/strong><\/p>\n<p class=\"p1\"><span class=\"s1\">Clearly <a href=\"https:\/\/www.morphis-insights.com\/technology-enabled-transformation-beats-rewriting\/\" target=\"_blank\" rel=\"noopener\"><span class=\"s2\">rewriting the application is not a good option<\/span><\/a>, particularly where time, cost and project risk are factors.<\/span><\/p>\n<p class=\"p1\">[x_image type=&#8221;thumbnail&#8221; float=&#8221;none&#8221; src=&#8221;https:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2017\/02\/project_failure.gif&#8221; info=&#8221;none&#8221; info_place=&#8221;top&#8221; info_trigger=&#8221;hover&#8221;]<\/p>\n<p class=\"p1\"><span class=\"s1\">Wrapping technologies can offer some short term benefits but are not a long term solution for an application a) in need of modernizing, b) with longevity and c) adding value to the business.<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">The fastest, lowest cost, lowest risk method to get your legacy application modernized to a cloud-ready architecture (based on .NET or Java) and that will get you \u201cas quickly as possible to a state where you\u2019re again making incremental improvements\u201d is to use the Morphis modernization platform \u2014 that inherently supports both containerization and microservices development.<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">We\u2019re routinely modernizing and enhancing software applications (c500K LOC) in 6 months or less. With Morphis you can implement a comprehensive and transformative approach that results in a genuinely modernized application that uses modern technologies. <a href=\"https:\/\/www.morphis-insights.com\/contact\/\" target=\"_blank\" rel=\"noopener\"><span class=\"s2\">Contact us<\/span><\/a> to find out how we can get your legacy application modernized (not quarantined) and have your developers making those incremental improvements in a .NET or Java environment. Without lipstick!<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Much has been written recently about the role of microservices in reducing technical debt and as an approach to modernizing legacy applications, not least in this excellent article by Gene Hughson. My overwhelming question is how many different ways can you put lipstick on a pig? This post explains microservices (briefly), how they relate to [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":723,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[82],"tags":[87],"class_list":["post-724","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-modernization","tag-application-modernization-alternatives"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Microservices and the Best Option for Legacy Modernization | Morphis Insights<\/title>\n<meta name=\"description\" content=\"This post explains microservices, how they relate to containers, how they can be used to reduce technical debt and \u2018modernize legacy applications\u2019.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Microservices and the Best Option for Legacy Modernization | Morphis Insights\" \/>\n<meta property=\"og:description\" content=\"This post explains microservices, how they relate to containers, how they can be used to reduce technical debt and \u2018modernize legacy applications\u2019.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/\" \/>\n<meta property=\"og:site_name\" content=\"Morphis-Tech Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-08-31T16:55:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-26T11:09:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2017\/08\/Microservices.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1440\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Bruno Andrade\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Bruno Andrade\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/\"},\"author\":{\"name\":\"Bruno Andrade\",\"@id\":\"https:\/\/morphis-tech.com\/blog\/#\/schema\/person\/b6d9d149d3091b09f3ee9bd007183275\"},\"headline\":\"Microservices, Containers and the Best Option for Modernizing Your Legacy Application\",\"datePublished\":\"2017-08-31T16:55:09+00:00\",\"dateModified\":\"2024-01-26T11:09:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/\"},\"wordCount\":1008,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/morphis-tech.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2017\/08\/Microservices.jpg\",\"keywords\":[\"Application Modernization Alternatives\"],\"articleSection\":[\"Application Modernization\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/\",\"url\":\"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/\",\"name\":\"Microservices and the Best Option for Legacy Modernization | Morphis Insights\",\"isPartOf\":{\"@id\":\"https:\/\/morphis-tech.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2017\/08\/Microservices.jpg\",\"datePublished\":\"2017-08-31T16:55:09+00:00\",\"dateModified\":\"2024-01-26T11:09:24+00:00\",\"description\":\"This post explains microservices, how they relate to containers, how they can be used to reduce technical debt and \u2018modernize legacy applications\u2019.\",\"breadcrumb\":{\"@id\":\"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/#primaryimage\",\"url\":\"https:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2017\/08\/Microservices.jpg\",\"contentUrl\":\"https:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2017\/08\/Microservices.jpg\",\"width\":2560,\"height\":1440,\"caption\":\"Microservices: What Can They Do For Your Legacy App?\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/morphis-tech.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Microservices, Containers and the Best Option for Modernizing Your Legacy Application\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/morphis-tech.com\/blog\/#website\",\"url\":\"https:\/\/morphis-tech.com\/blog\/\",\"name\":\"Legacy Modernization - Blog\",\"description\":\"Legacy to Cloud\",\"publisher\":{\"@id\":\"https:\/\/morphis-tech.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/morphis-tech.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/morphis-tech.com\/blog\/#organization\",\"name\":\"Morphis Tech\",\"url\":\"https:\/\/morphis-tech.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/morphis-tech.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2024\/06\/Logo_Blog_2024-1.svg\",\"contentUrl\":\"https:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2024\/06\/Logo_Blog_2024-1.svg\",\"width\":344,\"height\":51,\"caption\":\"Morphis Tech\"},\"image\":{\"@id\":\"https:\/\/morphis-tech.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.instagram.com\/morphis_technologies\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/morphis-tech.com\/blog\/#\/schema\/person\/b6d9d149d3091b09f3ee9bd007183275\",\"name\":\"Bruno Andrade\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/morphis-tech.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b26e477ef67cba42b8bc646722ca9ae122b8dc44bf6f5bf0c4072c2e36902b59?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b26e477ef67cba42b8bc646722ca9ae122b8dc44bf6f5bf0c4072c2e36902b59?s=96&d=mm&r=g\",\"caption\":\"Bruno Andrade\"},\"url\":\"https:\/\/morphis-tech.com\/blog\/author\/bruno-andrade\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Microservices and the Best Option for Legacy Modernization | Morphis Insights","description":"This post explains microservices, how they relate to containers, how they can be used to reduce technical debt and \u2018modernize legacy applications\u2019.","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:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/","og_locale":"en_GB","og_type":"article","og_title":"Microservices and the Best Option for Legacy Modernization | Morphis Insights","og_description":"This post explains microservices, how they relate to containers, how they can be used to reduce technical debt and \u2018modernize legacy applications\u2019.","og_url":"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/","og_site_name":"Morphis-Tech Blog","article_published_time":"2017-08-31T16:55:09+00:00","article_modified_time":"2024-01-26T11:09:24+00:00","og_image":[{"width":2560,"height":1440,"url":"https:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2017\/08\/Microservices.jpg","type":"image\/jpeg"}],"author":"Bruno Andrade","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Bruno Andrade","Estimated reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/#article","isPartOf":{"@id":"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/"},"author":{"name":"Bruno Andrade","@id":"https:\/\/morphis-tech.com\/blog\/#\/schema\/person\/b6d9d149d3091b09f3ee9bd007183275"},"headline":"Microservices, Containers and the Best Option for Modernizing Your Legacy Application","datePublished":"2017-08-31T16:55:09+00:00","dateModified":"2024-01-26T11:09:24+00:00","mainEntityOfPage":{"@id":"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/"},"wordCount":1008,"commentCount":0,"publisher":{"@id":"https:\/\/morphis-tech.com\/blog\/#organization"},"image":{"@id":"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/#primaryimage"},"thumbnailUrl":"https:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2017\/08\/Microservices.jpg","keywords":["Application Modernization Alternatives"],"articleSection":["Application Modernization"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/","url":"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/","name":"Microservices and the Best Option for Legacy Modernization | Morphis Insights","isPartOf":{"@id":"https:\/\/morphis-tech.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/#primaryimage"},"image":{"@id":"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/#primaryimage"},"thumbnailUrl":"https:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2017\/08\/Microservices.jpg","datePublished":"2017-08-31T16:55:09+00:00","dateModified":"2024-01-26T11:09:24+00:00","description":"This post explains microservices, how they relate to containers, how they can be used to reduce technical debt and \u2018modernize legacy applications\u2019.","breadcrumb":{"@id":"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/#primaryimage","url":"https:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2017\/08\/Microservices.jpg","contentUrl":"https:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2017\/08\/Microservices.jpg","width":2560,"height":1440,"caption":"Microservices: What Can They Do For Your Legacy App?"},{"@type":"BreadcrumbList","@id":"https:\/\/morphis-tech.com\/blog\/microservices-modernizing-legacy-applications\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/morphis-tech.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Microservices, Containers and the Best Option for Modernizing Your Legacy Application"}]},{"@type":"WebSite","@id":"https:\/\/morphis-tech.com\/blog\/#website","url":"https:\/\/morphis-tech.com\/blog\/","name":"Legacy Modernization - Blog","description":"Legacy to Cloud","publisher":{"@id":"https:\/\/morphis-tech.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/morphis-tech.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/morphis-tech.com\/blog\/#organization","name":"Morphis Tech","url":"https:\/\/morphis-tech.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/morphis-tech.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2024\/06\/Logo_Blog_2024-1.svg","contentUrl":"https:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2024\/06\/Logo_Blog_2024-1.svg","width":344,"height":51,"caption":"Morphis Tech"},"image":{"@id":"https:\/\/morphis-tech.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.instagram.com\/morphis_technologies\/"]},{"@type":"Person","@id":"https:\/\/morphis-tech.com\/blog\/#\/schema\/person\/b6d9d149d3091b09f3ee9bd007183275","name":"Bruno Andrade","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/morphis-tech.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/b26e477ef67cba42b8bc646722ca9ae122b8dc44bf6f5bf0c4072c2e36902b59?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b26e477ef67cba42b8bc646722ca9ae122b8dc44bf6f5bf0c4072c2e36902b59?s=96&d=mm&r=g","caption":"Bruno Andrade"},"url":"https:\/\/morphis-tech.com\/blog\/author\/bruno-andrade\/"}]}},"_links":{"self":[{"href":"https:\/\/morphis-tech.com\/blog\/wp-json\/wp\/v2\/posts\/724","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/morphis-tech.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/morphis-tech.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/morphis-tech.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/morphis-tech.com\/blog\/wp-json\/wp\/v2\/comments?post=724"}],"version-history":[{"count":1,"href":"https:\/\/morphis-tech.com\/blog\/wp-json\/wp\/v2\/posts\/724\/revisions"}],"predecessor-version":[{"id":6893,"href":"https:\/\/morphis-tech.com\/blog\/wp-json\/wp\/v2\/posts\/724\/revisions\/6893"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/morphis-tech.com\/blog\/wp-json\/wp\/v2\/media\/723"}],"wp:attachment":[{"href":"https:\/\/morphis-tech.com\/blog\/wp-json\/wp\/v2\/media?parent=724"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/morphis-tech.com\/blog\/wp-json\/wp\/v2\/categories?post=724"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/morphis-tech.com\/blog\/wp-json\/wp\/v2\/tags?post=724"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}