{"id":7091,"date":"2014-12-31T16:20:17","date_gmt":"2014-12-31T14:20:17","guid":{"rendered":"http:\/\/blog.zhaw.ch\/icclab\/?p=7091"},"modified":"2017-06-02T13:04:42","modified_gmt":"2017-06-02T11:04:42","slug":"cloud-application-management","status":"publish","type":"post","link":"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/","title":{"rendered":"Cloud Application Management"},"content":{"rendered":"<h1>Overview<\/h1>\n<p>Currently today, large internet-scale services are still architected using the principles of service-orientation. The key overarching idea is that a service is not one large monolith but indeed a composite of cooperating sub-services. How these sub-services are designed and implemented are given either by the respective business function, as in the case of traditional SOA to technical function\/domain-context as in the case of the microservice approach to SOA.<\/p>\n<p>In the end what both approaches result in, is a set of services, each of which carrying out a specific task\/function. However, in order to bring all these service units together an overarching process needs to be provided to stitch them together and manage their runtimes. In doing so present the complete service to the end-user and for the developer\/provider of the service.<\/p>\n<p>The basic management process of stitching these services together is known as <strong>orchestration<\/strong>.<\/p>\n<h2>Orchestration &amp; Automation<\/h2>\n<p class=\"line862\">These are two concepts that are often conflated and used as if they&#8217;re equivocal. They&#8217;re not but they are certainly related, especially when Automation refers to configuration management (CM; e.g. puppet, chef, etc.).<span id=\"line-14\" class=\"anchor\"><\/span><\/p>\n<p class=\"line874\">Nonetheless, what both certainly share is that they are oriented around the idea of software systems that expose an API. With that API, manual processes once conducted through user interfaces or command line interfaces can now be programmed and then directed by higher level supervisory software processes.&nbsp;<span id=\"line-15\" class=\"anchor\"><\/span><span id=\"line-16\" class=\"anchor\"><\/span><\/p>\n<p class=\"line874\">Orchestration goes beyond automation in this regard. Automation (CM) is the process that enables the provisioning and configuration of an individual node without consideration for the dependencies that node might have on others or vice versa. This is where orchestration comes into play. Orchestration, in combination with automation, ensures the phases of:&nbsp;<span id=\"line-17\" class=\"anchor\"><\/span><span id=\"line-18\" class=\"anchor\"><\/span><\/p>\n<ol type=\"1\">\n<li>\n<p class=\"line891\"><strong>&#8220;Deploy&#8221;<\/strong>: the complete fleet of resources and services are deployed according to a plan. At this stage they are not configured.&nbsp;<span id=\"line-19\" class=\"anchor\"><\/span><\/p>\n<\/li>\n<li>\n<p class=\"line891\"><strong>&#8220;Provision&#8221;<\/strong>: each resource and service is correctly provisioned and configured. This must be done such that one service or resource is not without a required operational dependency (e.g. a php application without its database).&nbsp;<span id=\"line-20\" class=\"anchor\"><\/span><span id=\"line-21\" class=\"anchor\"><\/span><\/p>\n<\/li>\n<\/ol>\n<p class=\"line874\">This process is of course a simplified one and does not include the steps of design, build and runtime management of the orchestrated components (services and\/or resources).&nbsp;<span id=\"line-22\" class=\"anchor\"><\/span><span id=\"line-23\" class=\"anchor\"><\/span><\/p>\n<ul>\n<li>\n<p class=\"line891\"><strong>Design<\/strong>: where the topology and dependencies of each component is specified. The model here typically takes the form of a graph.&nbsp;<span id=\"line-24\" class=\"anchor\"><\/span><\/p>\n<\/li>\n<li>\n<p class=\"line891\"><strong>Build<\/strong>: how the deployable artefacts such as VM images, python eggs, Java WAR files are created either from source or pre-existing assets. This usually has a relationship to a continuous build and integration process.&nbsp;<span id=\"line-25\" class=\"anchor\"><\/span><\/p>\n<\/li>\n<li>\n<p class=\"line891\"><strong>Runtime<\/strong>: once all components of an orchestration are running the next key element is that they are managed. To manage means at the most basic level to monitor the components. Based on metrics extracted, performance indicators can be formulated using logic-based rules. These when notified where an indicator&#8217;s threshold is breached, an Orchestrator could take a remedial action ensuring reliability.&nbsp;<span id=\"line-26\" class=\"anchor\"><\/span><\/p>\n<\/li>\n<li>\n<p class=\"line891\"><strong>Disposal<\/strong>: Where a service is deployed through cloud services (e.g. infrastructure; VMs) it may be required to destroy the complete orchestration to redeploy a new version or indeed part of the orchestration destroyed.&nbsp;<span id=\"line-27\" class=\"anchor\"><\/span><span id=\"line-28\" class=\"anchor\"><\/span><\/p>\n<\/li>\n<\/ul>\n<p class=\"line874\">Ultimately the goal of orchestration is to stitch together (deploy, provision) many components to <strong>deliver<\/strong> a <strong>functional<\/strong> system (e.g. replicated database system) or service (e.g. a 3-tier web application with API) that operates <strong>reliably<\/strong>.<\/p>\n<h1>Objectives<\/h1>\n<p class=\"line874\">The key objective of this initiatives are:&nbsp;<span id=\"line-32\" class=\"anchor\"><\/span><span id=\"line-33\" class=\"anchor\"><\/span><\/p>\n<ul>\n<li>Provide a reactive architecture that covers not only the case of controlling services but also service provider specific resources. What this means is that the architecture will exhibit responsiveness, resiliency, elasticity and be message-oriented. This architecture will accommodate all aspects that answer our identified research challenges.&nbsp;<span id=\"line-34\" class=\"anchor\"><\/span><\/li>\n<li>Deliver an open-source framework that implements orchestration for services in general and more specifically cloud-based services.&nbsp;<span id=\"line-35\" class=\"anchor\"><\/span><\/li>\n<li>Provide orchestration that provides reliable and cloud-native service delivery&nbsp;<span id=\"line-36\" class=\"anchor\"><\/span><span id=\"line-37\" class=\"anchor\"><\/span><\/li>\n<\/ul>\n<p class=\"line874\">There are other objectives that are more related to delivering other research challenges.<\/p>\n<h1>Research Challenges<\/h1>\n<ul>\n<li>How to best enable and support a SOA, Microservices design patterns?&nbsp;<span id=\"line-41\" class=\"anchor\"><\/span><\/li>\n<li>How to get insight and tracing within each service and across services so problems can be identified, understood?&nbsp;<span id=\"line-42\" class=\"anchor\"><\/span><\/li>\n<li>Efficient management of large-scale composed service and resource instance graphs&nbsp;<span id=\"line-43\" class=\"anchor\"><\/span><\/li>\n<li>Scaling based on \u2018useful\u2019 monitoring, resource- and service-level metrics&nbsp;<span id=\"line-44\" class=\"anchor\"><\/span>\n<ul>\n<li>Consider&nbsp;monitoring system and scaling systems e.g. monasca&nbsp;<span id=\"line-45\" class=\"anchor\"><\/span><\/li>\n<li>How to program the scaling of an orchestrator spanning multiple providers and very different services?&nbsp;<span id=\"line-46\" class=\"anchor\"><\/span><\/li>\n<\/ul>\n<\/li>\n<li>Provision of architectural recommendations and optimisation based on orchestration logic analysis<\/li>\n<li>How to exploit orchestration capabilities to ensure reliability? ie, \u201cload balancer for high availability\u201d for cloud applications. How can load balancing service be automatically injected ensuring automatic scaling?&nbsp;<span id=\"line-50\" class=\"anchor\"><\/span>\n<ul>\n<li>How could a service orchestration framework bring the techniques of netflix and amazon (internal services) to a wider audience?&nbsp;<span id=\"line-51\" class=\"anchor\"><\/span><\/li>\n<li>Snapshot your service, rollback to your service\u2019s previous state&nbsp;<span id=\"line-52\" class=\"anchor\"><\/span><\/li>\n<li>Reliability of the Service Orchestrator &#8211; how to implement this? HAProxy? Pacemaker?&nbsp;<span id=\"line-53\" class=\"anchor\"><\/span><\/li>\n<\/ul>\n<\/li>\n<li>Orchestration logic should be able to be written in many popular languages&nbsp;<span id=\"line-48\" class=\"anchor\"><\/span><\/li>\n<li>Continuous integration of orchestration code and assets<\/li>\n<li>Provider independent orchestration execution and accomdate many resource\/service providers.&nbsp;<span id=\"line-54\" class=\"anchor\"><\/span>\n<ul>\n<li>Hybrid cloud deployments not well considered. How can this be done?&nbsp;<span id=\"line-55\" class=\"anchor\"><\/span><\/li>\n<li>Adoption of well known standards, openid, openauth and custom providers&nbsp;<span id=\"line-56\" class=\"anchor\"><\/span><\/li>\n<\/ul>\n<\/li>\n<li>Authentication services &#8211; how to do this over disparate providers?&nbsp;<span id=\"line-57\" class=\"anchor\"><\/span><\/li>\n<li>How to create market places to offer services. Either the service being orchestrated or that service consuming others.&nbsp;<span id=\"line-58\" class=\"anchor\"><\/span><\/li>\n<li>Integration of business services that service owners can charge clients&nbsp;<span id=\"line-59\" class=\"anchor\"><\/span><\/li>\n<li>Containers for service workloads. Where might CoreOS, Docker, Rocket, Solaris Zones fit in the picture?&nbsp;<span id=\"line-60\" class=\"anchor\"><\/span>\n<ul>\n<li>If windows is not a hard requirement then it makes sense from a provider&#8217;s perspective to utilise container tech.&nbsp;<span id=\"line-61\" class=\"anchor\"><\/span><\/li>\n<li>Do we really need full-blown &#8220;traditional&#8221; IaaS frameworks to offer orchestration?<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h1>Relevance to Current &amp; Future Markets<\/h1>\n<p>Many companies&#8217; products aim to provide orchestration of resources in the Cloud, such as Sixsq (Slipstream), Cloudify, ZenOSS ControlCenter, Nirmata&#8230; There are also several open source projects, especially related to OpenStack, who touch the orchestration topic: OpenStack Heat, Murano, Solum.<\/p>\n<p>Our market survey established a lack of non-cross domain (different service providers), service-oriented orchestration, with many of them taking the lower-level approach of orchestrating resources directly, and very often on a single provider. One aspect that all these solutions are very different in terms of programming models, however there is a growing interest in leveraging a standards-based orchestration description, with TOSCA being the most talked about. Another identified issue is the lack of reliability of services\/resources orchestrated by these products, which is a barrier to adoption this initiative aims to solve. Along with this is that many solutions either have no runtime management or has limited capabilities.<\/p>\n<ul>\n<li>In a more general point of view, cloud orchestration brings the following benefits to customers:<br \/>\nOrchestration reduces the overhead of configuring manually all services comprising a cloud-native application<\/li>\n<li>Orchestration allows to get out new updates to a service implementation faster and better tested through continuous testing integration and deployment<\/li>\n<li>Reliable orchestration ensures the linkage and composition of services remaining running all the time, even where one or more components fail. This reduces downtime experienced by clients and keeps the service providers service always available.<\/li>\n<li>Orchestration brings reproducibility and portability in cloud services, which may run on any cloud provider which the orchestration software controls<\/li>\n<\/ul>\n<h1>Architecture<\/h1>\n<p>The key entities of the architecture and their relationships to basic entities are shown in the follow diagram. To understand the complete detailed architecture, click on the picture to get the complete view.<\/p>\n<p><a href=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2014\/12\/cloud-orch-arch-detailed.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-7262 size-large\" src=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2014\/12\/c-orch-arch-entity-model-1024x513.png\" alt=\"c-orch-arch-entity-model\" width=\"584\" height=\"293\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2014\/12\/c-orch-arch-entity-model-1024x513.png 1024w, https:\/\/blog.zhaw.ch\/icclab\/files\/2014\/12\/c-orch-arch-entity-model-300x150.png 300w, https:\/\/blog.zhaw.ch\/icclab\/files\/2014\/12\/c-orch-arch-entity-model-500x250.png 500w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><\/p>\n<h1>Related Projects<\/h1>\n<ul>\n<li><a title=\"Mobile Cloud Networking\" href=\"http:\/\/blog.zhaw.ch\/icclab\/mobile-cloud-networking-2\/\">Mobile Cloud Networking<\/a>&nbsp;(MCN)<\/li>\n<li><a title=\"T-NOVA\" href=\"http:\/\/blog.zhaw.ch\/icclab\/t-nova-2\/\">T-NOVA<\/a><\/li>\n<li><a href=\"https:\/\/blog.zhaw.ch\/icclab\/apache-cloudstack-for-nfv-acen\/\">Apache CloudStack for NFV (ACeN)<\/a><\/li>\n<li><a href=\"https:\/\/blog.zhaw.ch\/icclab\/sesame-small-cells-coordination-for-multi-tenancy-and-edge-services\/\">SESAME<\/a><\/li>\n<li>ElasTest<\/li>\n<li><a href=\"https:\/\/blog.zhaw.ch\/icclab\/mosaic\/\">MOSAIC<\/a><\/li>\n<\/ul>\n<h1>Contact<\/h1>\n<ul>\n<li><a title=\"Andy Edmonds\" href=\"http:\/\/blog.zhaw.ch\/icclab\/andy-edmonds\/\">Andy Edmonds (edmo-at-zhaw.ch)<\/a><\/li>\n<li><a href=\"https:\/\/blog.zhaw.ch\/icclab\/christof-marti\/\">Christof Marti (mach-at-zhaw.ch)<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Overview Currently today, large internet-scale services are still architected using the principles of service-orientation. The key overarching idea is that a service is not one large monolith but indeed a composite of cooperating sub-services. How these sub-services are designed and implemented are given either by the respective business function, as in the case of traditional [&hellip;]<\/p>\n","protected":false},"author":72,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[1,849,528],"tags":[],"features":[],"class_list":["post-7091","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-cloud-application-management","category-cloud-orchestration"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Cloud Application Management - Service Engineering (ICCLab &amp; SPLab)<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cloud Application Management\" \/>\n<meta property=\"og:description\" content=\"Overview Currently today, large internet-scale services are still architected using the principles of service-orientation. The key overarching idea is that a service is not one large monolith but indeed a composite of cooperating sub-services. How these sub-services are designed and implemented are given either by the respective business function, as in the case of traditional [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/\" \/>\n<meta property=\"og:site_name\" content=\"Service Engineering (ICCLab &amp; SPLab)\" \/>\n<meta property=\"article:published_time\" content=\"2014-12-31T14:20:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-06-02T11:04:42+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2014\/12\/c-orch-arch-entity-model-1024x513.png\" \/>\n<meta name=\"author\" content=\"Andy Edmonds\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andy Edmonds\" \/>\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:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/\"},\"author\":{\"name\":\"Andy Edmonds\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/a62f7b702361e11d635f4e59446e8684\"},\"headline\":\"Cloud Application Management\",\"datePublished\":\"2014-12-31T14:20:17+00:00\",\"dateModified\":\"2017-06-02T11:04:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/\"},\"wordCount\":1289,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/blog.zhaw.ch\/icclab\/files\/2014\/12\/c-orch-arch-entity-model-1024x513.png\",\"articleSection\":[\"*.*\",\"Cloud Application Management\",\"Cloud Orchestration\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/\",\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/\",\"name\":\"Cloud Application Management - Service Engineering (ICCLab &amp; SPLab)\",\"isPartOf\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/blog.zhaw.ch\/icclab\/files\/2014\/12\/c-orch-arch-entity-model-1024x513.png\",\"datePublished\":\"2014-12-31T14:20:17+00:00\",\"dateModified\":\"2017-06-02T11:04:42+00:00\",\"author\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/a62f7b702361e11d635f4e59446e8684\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/#primaryimage\",\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/files\/2014\/12\/c-orch-arch-entity-model.png\",\"contentUrl\":\"https:\/\/blog.zhaw.ch\/icclab\/files\/2014\/12\/c-orch-arch-entity-model.png\",\"width\":2887,\"height\":1445},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\/\/blog.zhaw.ch\/icclab\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cloud Application Management\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#website\",\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/\",\"name\":\"Service Engineering (ICCLab &amp; SPLab)\",\"description\":\"A Blog of the ZHAW Zurich University of Applied Sciences\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.zhaw.ch\/icclab\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/a62f7b702361e11d635f4e59446e8684\",\"name\":\"Andy Edmonds\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/564b17a1126a2ed30e20d4c65842164e32a6cf798a8175e88bcf5b352ebd60c8?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/564b17a1126a2ed30e20d4c65842164e32a6cf798a8175e88bcf5b352ebd60c8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/564b17a1126a2ed30e20d4c65842164e32a6cf798a8175e88bcf5b352ebd60c8?s=96&d=mm&r=g\",\"caption\":\"Andy Edmonds\"},\"sameAs\":[\"http:\/\/andy.edmonds.be\"],\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/author\/edmo\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Cloud Application Management - Service Engineering (ICCLab &amp; SPLab)","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:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/","og_locale":"en_US","og_type":"article","og_title":"Cloud Application Management","og_description":"Overview Currently today, large internet-scale services are still architected using the principles of service-orientation. The key overarching idea is that a service is not one large monolith but indeed a composite of cooperating sub-services. How these sub-services are designed and implemented are given either by the respective business function, as in the case of traditional [&hellip;]","og_url":"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/","og_site_name":"Service Engineering (ICCLab &amp; SPLab)","article_published_time":"2014-12-31T14:20:17+00:00","article_modified_time":"2017-06-02T11:04:42+00:00","og_image":[{"url":"http:\/\/blog.zhaw.ch\/icclab\/files\/2014\/12\/c-orch-arch-entity-model-1024x513.png","type":"","width":"","height":""}],"author":"Andy Edmonds","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Andy Edmonds","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/#article","isPartOf":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/"},"author":{"name":"Andy Edmonds","@id":"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/a62f7b702361e11d635f4e59446e8684"},"headline":"Cloud Application Management","datePublished":"2014-12-31T14:20:17+00:00","dateModified":"2017-06-02T11:04:42+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/"},"wordCount":1289,"commentCount":0,"image":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/#primaryimage"},"thumbnailUrl":"http:\/\/blog.zhaw.ch\/icclab\/files\/2014\/12\/c-orch-arch-entity-model-1024x513.png","articleSection":["*.*","Cloud Application Management","Cloud Orchestration"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/","url":"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/","name":"Cloud Application Management - Service Engineering (ICCLab &amp; SPLab)","isPartOf":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/#primaryimage"},"image":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/#primaryimage"},"thumbnailUrl":"http:\/\/blog.zhaw.ch\/icclab\/files\/2014\/12\/c-orch-arch-entity-model-1024x513.png","datePublished":"2014-12-31T14:20:17+00:00","dateModified":"2017-06-02T11:04:42+00:00","author":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/a62f7b702361e11d635f4e59446e8684"},"breadcrumb":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/#primaryimage","url":"https:\/\/blog.zhaw.ch\/icclab\/files\/2014\/12\/c-orch-arch-entity-model.png","contentUrl":"https:\/\/blog.zhaw.ch\/icclab\/files\/2014\/12\/c-orch-arch-entity-model.png","width":2887,"height":1445},{"@type":"BreadcrumbList","@id":"https:\/\/blog.zhaw.ch\/icclab\/cloud-application-management\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/blog.zhaw.ch\/icclab\/"},{"@type":"ListItem","position":2,"name":"Cloud Application Management"}]},{"@type":"WebSite","@id":"https:\/\/blog.zhaw.ch\/icclab\/#website","url":"https:\/\/blog.zhaw.ch\/icclab\/","name":"Service Engineering (ICCLab &amp; SPLab)","description":"A Blog of the ZHAW Zurich University of Applied Sciences","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.zhaw.ch\/icclab\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/a62f7b702361e11d635f4e59446e8684","name":"Andy Edmonds","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/564b17a1126a2ed30e20d4c65842164e32a6cf798a8175e88bcf5b352ebd60c8?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/564b17a1126a2ed30e20d4c65842164e32a6cf798a8175e88bcf5b352ebd60c8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/564b17a1126a2ed30e20d4c65842164e32a6cf798a8175e88bcf5b352ebd60c8?s=96&d=mm&r=g","caption":"Andy Edmonds"},"sameAs":["http:\/\/andy.edmonds.be"],"url":"https:\/\/blog.zhaw.ch\/icclab\/author\/edmo\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/7091","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/users\/72"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/comments?post=7091"}],"version-history":[{"count":21,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/7091\/revisions"}],"predecessor-version":[{"id":11433,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/7091\/revisions\/11433"}],"wp:attachment":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/media?parent=7091"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/categories?post=7091"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/tags?post=7091"},{"taxonomy":"features","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/features?post=7091"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}