{"id":29120,"date":"2018-02-07T09:00:59","date_gmt":"2018-02-07T14:00:59","guid":{"rendered":"https:\/\/sdtimes.com\/?p=29120"},"modified":"2018-04-10T10:11:36","modified_gmt":"2018-04-10T14:11:36","slug":"riding-herd-microservices","status":"publish","type":"post","link":"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/","title":{"rendered":"Riding herd over your microservices"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">By now, the benefits of microservices have been well established. Reliability. Scalability. Productivity. What you don\u2019t hear about are the tradeoffs, challenges and complexities it takes to transition from a monolith to a microservice. All of these smaller components in a microservice may make it easier to develop software, but instead of only having one application to manage, you now have hundreds or even thousands of services to worry about.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u201cMicroservices often bring the same complexities that come with distributed computing. You have more things to build and deploy. You have more things to monitor. Concerns such as data consistency and handling multiple updates across multiple microservices is a tricky problem to solve,\u201d said Nandan Sridhar, product manager at Google.<\/span><\/p>\n<p><b>The keys to microservice management <\/b><br \/>\n<span style=\"font-weight: 400;\">Building a monolithic application is actually the easy part because you have all your teams working together in the same room, at the same time and on the same codebase, according to Lawrence Crowther, head of platform architecture at Pivotal. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">The problem, however, is you don\u2019t have the ability to upgrade, patch, redeploy or re-architect individual components of an application like you would in a microservice. In a monolith, any change you make can change the entire application, and that can cause negative impacts to the rest of the business, according to Ross Garrett, technology evangelist at Cloud Elements. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u201cMany companies fail to implement microservices simply because it is drastically clashing with the way they themselves are organized on a human level and a process level,\u201d said Viktor Farcic, senior consultant at <a href=\"https:\/\/www.cloudbees.com\/\">CloudBees<\/a>. \u201cMany companies don\u2019t understand that you can\u2019t have technology change without culture change, and the other way around.\u201d<\/span><\/p>\n<p><span style=\"font-weight: 400;\">To successfully transition and maintain a microservice architecture, people and technology need to be aligned, Farcic explained. On a human level, companies need to convert their teams into autonomous small groups of people who can operate without much management. \u201cThat means if they want to successfully manage microservices, they need to have a single team in charge of it and that team can\u2019t depend on anyone else within the company,\u201d said Farcic. \u201cMany companies still treat teams as children that need to be guided, ask for permission or be watched over.\u201d If that dependency exists, then most of the benefits of microservices are gone because you introduce too much wasted time. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Those teams not only have to be autonomous, but they also have to be cross-functional. \u201cIt is almost unthinkable to deploy, create, design and operate a microservice-based app without an organization adopting a DevOps-centric approach to management where development and operations come together,\u201d said Sandro Guglielmin, senior solution architect at Instana. Teams need to push code on a continuous basis into a production environment, and absorb and accelerate change on a continuous basis, and they can\u2019t do that if they don\u2019t work together, he explained. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">On the technology side, Farcic noted companies can\u2019t skip through time. If they have technology or processes that are say 50 years old, they can\u2019t just jump to the present. \u201cYou need to go through all that history that others went before you much faster than real time, but you still need to go through all of that and learn what things like cloud, containers, and infrastructure as code mean before you get to the present tense, otherwise, the gap might be [too] big to jump through,\u201d he said. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Having autonomous teams is also good when choosing a set of technologies, according to Instana\u2019s Guglielmin, because it promotes a polyglot environment, allowing independent teams to implement different components, frameworks, and programming languages. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Once you deploy microservices, Guglielmin said, there are three principles to successfully manage: Observability, auditability and portability. Services should be observable, enabling anyone to inspect its state, health, and current performance. Services should be auditable, meaning you can obtain information about what a service has done in the past under certain circumstances in a certain business context. And services should be portable, meaning you can move a service from one environment to another without having to make changes at the code level, Guglielmin explained. \u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In addition, an artificial intelligence solution is necessary because it can become impossible and incredibly complex to maintain control and keep track of all the microservices &#8212; not to mention all the small pieces running and executing in a microservice. \u201cA machine learning-based system is capable of learning the platform, how it operates, and what different performance prerequisites are necessary for different times of the day or week. It can predict how a service will perform, anticipate resource utilization, and prevent possible outages,\u201d said Guglielmin.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">IBM approaches microservices management with five guiding principles: operations, monitoring, eventing and alerting, root cause analysis, and collaboration. \u201cThe principles assist the operations team to adopt microservice-based applications. They also help developers think about the operational facets of their application, as both developers and operations share a common goal of services that are robust and of high quality,\u201d Ingo Averdunk, distinguished engineer at IBM, wrote in a <\/span><a href=\"https:\/\/www.ibm.com\/blogs\/bluemix\/2017\/06\/5-principles-of-microservices-operations-management\/\"><span style=\"font-weight: 400;\">post<\/span><\/a><span style=\"font-weight: 400;\">. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">While a microservice doesn\u2019t require the use of containers, IBM\u2019s Daniel Berg, distinguished engineer and cloud container service architect, explained that containers fit nicely with microservices because they enable rapid development and delivery while standardizing operational aspects. Containers enable software to be packaged into isolated, lightweight bundles, and a container orchestration tool like Kubernetes provides the ability to deploy, scale, self-heal, load balance and rollback. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Things that should be monitored in a microservice include: availability, performance, response time, latency, error rate, and application logs, according to Berg. An event-management system is needed to correlate all the data from feeds like service monitoring, log monitoring, and infrastructure monitoring, and provide actionable alerts when something happens. \u00a0\u201cYou absolutely need to have monitoring pieces put in place from day one so you understand what is happening within that distributed environment, those distributed instances and how they work together,\u201d said Berg. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Berg also suggested a service mesh to help provide the overall visibility and insight into your microservices. According to <\/span><a href=\"https:\/\/developer.ibm.com\/code\/2017\/07\/21\/service-mesh-architecture-and-istio\/\"><span style=\"font-weight: 400;\">IBM<\/span><\/a><span style=\"font-weight: 400;\">, a service mesh can be thought of as \u201cnetwork of interconnected devices with routers and switches, except in this case the network exists at the application layer, nodes are services, and routing, delivery, and other tasks are off-loaded to the service mesh.\u201d It provides the visibility into how services are interacting, and enables a user to control those interaction models programmatically. \u201cA service mesh moves a lot of the complexity that is typically in your application code and distributes it out into the mesh. It moves the complexity of routing, managing failures, retry logic, policy enforcement, security, and metric gathering to the mesh itself and distributes them across the microservice architecture,\u201d said Berg.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Another key element to tracking and understanding everything that is happening within a microservice is through collaboration. ChatOps platforms should be utilized and provide a central place where people can interact, and those interactions and communications can be logged. \u201cThe delivery pipeline process should be well documented and well understood because if changes are delivered into your production environment or all of your environments, everyone on the team should know how that system works and how to contribute to it,\u201d said Berg. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Teams can also collaborate on root-cause analysis and prevent the incident from happening again. \u201cThis investigation must be operated in a blameless culture; only through that approach are people willing to share their insights and help others to learn from the experience,\u201d Averdunk wrote.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Pivotal\u2019s Crowther also noted microservice management practices can come from the design patterns of the architecture itself. Design patterns like service discovery can automatically find new services that become available in the platform so developers don\u2019t have to worry about it. Centralized configuration allows developers to deploy across multiple different environments without having to worry about the infrastructure. And a circuit breaker pattern can safeguard against unpredictability. For instance, if you have a microservice that depends on another microservice, but can\u2019t guarantee that microservice is always available, you can provide an alternate path to a different service. \u201cA good example would be the Amazon homepage. If a customer goes to buy a book, but the recommendation service is currently down, it shouldn\u2019t stop people from buying the book,\u201d said Crowther. \u201cIf you have a graceful way of handling that outage on the recommendation engine without disrupting the rest of the flow, then that is a good design pattern to implement because at least you are giving 95 percent of the functionality back to the customer.\u201d<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Lastly, if you really want to successfully manage a microservice architecture Cloud Element\u2019s Garrett warned against falling into the trap of what other people define as best practices. \u201cJust because it says in some book it should be done this way doesn&#8217;t mean that is how it should be done in your organization,\u201d he said. \u201cIt shouldn\u2019t be an exercise of academia. It should be focused on business outcomes.\u201d<\/span><\/p>\n<p><b>Microservices management solutions<\/b><br \/>\n<span style=\"font-weight: 400;\">A lot of challenges that exist in microservices are around the fact that networking, security, monitoring, distributed tracing and resiliency are done piece by piece in every service rather than in a more consistent way, according to Varun Talwar, a product manager at Google Cloud. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">To address this, Google, IBM and Lyft announced the open source project Istio in May of last year. Istio is an open platform designed to connect, secure, manage, and monitor microservices in a uniformed way. \u201cWriting reliable, loosely coupled, production-grade applications based on microservices can be challenging. As monolithic applications are decomposed into microservices, software teams have to worry about the challenges inherent in integrating services in distributed systems: they must account for service discovery, load balancing, fault tolerance, end-to-end monitoring, dynamic routing for feature experimentation, and perhaps most important of all, compliance and security,\u201d the Istio team wrote in a <\/span><a href=\"https:\/\/istio.io\/blog\/2017\/0.1-announcement.html\"><span style=\"font-weight: 400;\">post<\/span><\/a><span style=\"font-weight: 400;\">. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Istio is a service mesh that proxies service interactions and provides three sets of value-added features: Security, observability and traffic management and networking, according to Talwar. It ensures all service interactions are secure and encrypted no matter where those services are deployed, and provides service identity and access control. It monitors services in a consistent way, provides automatic metrics logs and traces all traffic within a cluster. And it enables fine-grained control of traffic behavior with routing rules, retries, failovers and fault injection. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u201cThe service mesh empowers operators with policy control and decouples them from feature development and release processes, providing centralized management regardless of the scale and velocity of applications,\u201d Google wrote in a <\/span><a href=\"https:\/\/cloudplatform.googleblog.com\/2017\/05\/istio-modern-approach-to-developing-and.html\"><span style=\"font-weight: 400;\">post<\/span><\/a><span style=\"font-weight: 400;\">. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">The team plans to <\/span><a href=\"https:\/\/istio.io\/about\/feature-stages.html\"><span style=\"font-weight: 400;\">release<\/span><\/a><span style=\"font-weight: 400;\"> Istio 1.0 later this year. In addition, the team will work towards improving Istio\u2019s performance and availability in various environments. The project can currently be deployed on Kubernetes, with plans to support additional platforms like Cloud Foundry and Apache Mesos. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u201cThe main goal for Google is to enable developers and operators to operate in this microservices world much more easily,\u201d said Talwar. \u201cOur main goal is to make sure microservices is not just great on paper. We want to make it usable and operable at scale. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">In addition to Istio, Google has been working on the Open Service Broker, an API that tackles service delivery and consumption. \u201cThrough the Open Service Broker model CIOs can define a catalog of services which may be used within their enterprise and auditing tools to enforce compliance. All services powered by Istio will be able to seamlessly participate in the Service Broker ecosystem,\u201d the company wrote. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">For development teams building Internet of Things solutions, TIBCO Software recently introduced Project Flogo: an ultralight edge microservices framework aimed at integrating IoT devices. \u201cWe are a firm believer that you can\u2019t take an existing technology stack or framework and retrofit it for IoT,\u201d said Matt Ellis, product management and strategy architect at TIBCO. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Flogo started out solely as an integration solution for IoT, but TIBCO recently reintroduced the project with a focus on microservices. \u201cWhile Flogo was designed for IoT, the same lightweight and performant characteristics also benefit cloud-based microservice deployment models. Its robust extension framework supports use cases like service discovery, circuit breaker, and other cloud-native microservice patterns\u2015and even \u2018nanoservices\u2019 for serverless computing,\u201d the company <\/span><a href=\"https:\/\/www.tibco.com\/blog\/2017\/05\/05\/project-flogo-humble-beginnings\/\"><span style=\"font-weight: 400;\">wrote<\/span><\/a><span style=\"font-weight: 400;\">. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Microservices are a good fit for Internet of Things because it allows you to break out functions and pieces and push them to various edge devices without the need for an entire monolithic application running at the edge. \u201cYou embrace microservices because you want to build smaller, discrete units of work that are easily or more easily managed. Building microservices that you push out to the edge is something we see as an architecture paradigm,\u201d said Ellis. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Edge computing enables the ability to add additional logic such as on-device aggregation and filtering, and reduces network dependencies. Similarly to microservices, edge computing has two principles: applications need to be optimized, and able to run without dependencies. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">According to Ellis, the team is currently working on adding more serverless computing support to the project. Project Flogo recently announced support for AWS Lambda in October of 2017. AWS Lambda enables developers to run code without having to worry about provisioning or managing services. \u201cYou no longer focus on microservices, whereby you build small services that contain a few operations, rather, you focus on the development of functions and a function is exactly that, a single unit of business logic implementing value. That said, with microservices you may build and deploy 10s of microservices, however with functions you\u2019re building 100s or 1000s. Another magical bit is the fact that you literally can scale infinitely, but also scale back to zero when your functions are not in use. That is, you don\u2019t pay for idle time,\u201d the Project Flogo team <\/span><a href=\"https:\/\/www.tibco.com\/blog\/2017\/10\/26\/project-flogo-now-supports-aws-lamda\/\"><span style=\"font-weight: 400;\">wrote<\/span><\/a><span style=\"font-weight: 400;\">. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Other microservices management solutions to consider include: Linkerd, a transparent proxy for discovery, routing, failure handling and visibility into modern apps; and Prometheus, a \u00a0open source monitoring solution. <\/span><\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>By now, the benefits of microservices have been well established. Reliability. Scalability. Productivity. What you don\u2019t hear about are the tradeoffs, challenges and complexities it takes to transition from a monolith to a microservice. All of these smaller components in a microservice may make it easier to develop software, but instead of only having one  &hellip; <a class=\"read-more\" href=\"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/\">continue reading<\/a><!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":490,"featured_media":29121,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"om_disable_all_campaigns":false,"cybocfi_hide_featured_image":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[2432,1],"tags":[132,596,808,9513,324,57,74,12862,10917,5347,5246,12859,12863,12861,290,9916,220,619,12860],"coauthors":[11614],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Riding herd over your microservices - SD Times<\/title>\n<meta name=\"description\" content=\"How to successfully manage your microservices\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Riding herd over your microservices - SD Times\" \/>\n<meta property=\"og:description\" content=\"How to successfully manage your microservices\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/\" \/>\n<meta property=\"og:site_name\" content=\"SD Times\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SDTimesD2\" \/>\n<meta property=\"article:published_time\" content=\"2018-02-07T14:00:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-04-10T14:11:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/sdtimes.com\/wp-content\/uploads\/2018\/01\/MicroservicesCattle.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"660\" \/>\n\t<meta property=\"og:image:height\" content=\"371\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Christina Cardoza\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@chriscatdoza\" \/>\n<meta name=\"twitter:site\" content=\"@sdtimes\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Christina Cardoza\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/\"},\"author\":{\"name\":\"Christina Cardoza\",\"@id\":\"https:\/\/sdtimes.com\/#\/schema\/person\/8291872d437355f6b12cbcd6857a1972\"},\"headline\":\"Riding herd over your microservices\",\"datePublished\":\"2018-02-07T14:00:59+00:00\",\"dateModified\":\"2018-04-10T14:11:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/\"},\"wordCount\":2330,\"commentCount\":8,\"publisher\":{\"@id\":\"https:\/\/sdtimes.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/sdtimes.com\/wp-content\/uploads\/2018\/01\/MicroservicesCattle.jpg\",\"keywords\":[\"agile\",\"Apigee\",\"architecture\",\"Cloud Elements\",\"CloudBees\",\"Google\",\"IBM\",\"Instana\",\"Istio\",\"Microservice Architecture\",\"microservices\",\"microservices management\",\"miniservice\",\"monolithic applications\",\"Pivotal\",\"Project Flogo\",\"Red Hat\",\"TIBCO\",\"Twelve-Factor app\"],\"articleSection\":[\"In-Depth\",\"Latest News\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/\",\"url\":\"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/\",\"name\":\"Riding herd over your microservices - SD Times\",\"isPartOf\":{\"@id\":\"https:\/\/sdtimes.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/sdtimes.com\/wp-content\/uploads\/2018\/01\/MicroservicesCattle.jpg\",\"datePublished\":\"2018-02-07T14:00:59+00:00\",\"dateModified\":\"2018-04-10T14:11:36+00:00\",\"description\":\"How to successfully manage your microservices\",\"breadcrumb\":{\"@id\":\"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/#primaryimage\",\"url\":\"https:\/\/sdtimes.com\/wp-content\/uploads\/2018\/01\/MicroservicesCattle.jpg\",\"contentUrl\":\"https:\/\/sdtimes.com\/wp-content\/uploads\/2018\/01\/MicroservicesCattle.jpg\",\"width\":660,\"height\":371},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/sdtimes.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Riding herd over your microservices\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/sdtimes.com\/#website\",\"url\":\"https:\/\/sdtimes.com\/\",\"name\":\"SD Times\",\"description\":\"Software Development News\",\"publisher\":{\"@id\":\"https:\/\/sdtimes.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/sdtimes.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/sdtimes.com\/#organization\",\"name\":\"SD Times\",\"url\":\"https:\/\/sdtimes.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/sdtimes.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/sdtimes.com\/wp-content\/uploads\/2014\/05\/deafaultlogo.png\",\"contentUrl\":\"https:\/\/sdtimes.com\/wp-content\/uploads\/2014\/05\/deafaultlogo.png\",\"width\":225,\"height\":90,\"caption\":\"SD Times\"},\"image\":{\"@id\":\"https:\/\/sdtimes.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SDTimesD2\",\"https:\/\/x.com\/sdtimes\",\"https:\/\/www.linkedin.com\/company\/sdtimes\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/sdtimes.com\/#\/schema\/person\/8291872d437355f6b12cbcd6857a1972\",\"name\":\"Christina Cardoza\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/sdtimes.com\/#\/schema\/person\/image\/66d89d09eb7f22eba27a82092a3bae8e\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/940fd7e02753c2aff1d037c42e0603ac?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/940fd7e02753c2aff1d037c42e0603ac?s=96&d=mm&r=g\",\"caption\":\"Christina Cardoza\"},\"description\":\"Christina Cardoza is the News Editor of SD Times. She is responsible for the oversight of the daily news published to the website as well as the company's weekly newsletter, News on Monday. She covers agile, DevOps, AI, machine learning, mixed reality and software security. She is an undeniable nerd who loves Marvel comics and Star Wars. On Follow her on Twitter at @chriscatdoza!\",\"sameAs\":[\"https:\/\/x.com\/chriscatdoza\"],\"url\":\"https:\/\/sdtimes.com\/author\/christina-mulligan\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Riding herd over your microservices - SD Times","description":"How to successfully manage your microservices","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:\/\/sdtimes.com\/micro\/riding-herd-microservices\/","og_locale":"en_US","og_type":"article","og_title":"Riding herd over your microservices - SD Times","og_description":"How to successfully manage your microservices","og_url":"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/","og_site_name":"SD Times","article_publisher":"https:\/\/www.facebook.com\/SDTimesD2","article_published_time":"2018-02-07T14:00:59+00:00","article_modified_time":"2018-04-10T14:11:36+00:00","og_image":[{"width":660,"height":371,"url":"https:\/\/sdtimes.com\/wp-content\/uploads\/2018\/01\/MicroservicesCattle.jpg","type":"image\/jpeg"}],"author":"Christina Cardoza","twitter_card":"summary_large_image","twitter_creator":"@chriscatdoza","twitter_site":"@sdtimes","twitter_misc":{"Written by":"Christina Cardoza","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/#article","isPartOf":{"@id":"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/"},"author":{"name":"Christina Cardoza","@id":"https:\/\/sdtimes.com\/#\/schema\/person\/8291872d437355f6b12cbcd6857a1972"},"headline":"Riding herd over your microservices","datePublished":"2018-02-07T14:00:59+00:00","dateModified":"2018-04-10T14:11:36+00:00","mainEntityOfPage":{"@id":"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/"},"wordCount":2330,"commentCount":8,"publisher":{"@id":"https:\/\/sdtimes.com\/#organization"},"image":{"@id":"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/#primaryimage"},"thumbnailUrl":"https:\/\/sdtimes.com\/wp-content\/uploads\/2018\/01\/MicroservicesCattle.jpg","keywords":["agile","Apigee","architecture","Cloud Elements","CloudBees","Google","IBM","Instana","Istio","Microservice Architecture","microservices","microservices management","miniservice","monolithic applications","Pivotal","Project Flogo","Red Hat","TIBCO","Twelve-Factor app"],"articleSection":["In-Depth","Latest News"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/","url":"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/","name":"Riding herd over your microservices - SD Times","isPartOf":{"@id":"https:\/\/sdtimes.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/#primaryimage"},"image":{"@id":"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/#primaryimage"},"thumbnailUrl":"https:\/\/sdtimes.com\/wp-content\/uploads\/2018\/01\/MicroservicesCattle.jpg","datePublished":"2018-02-07T14:00:59+00:00","dateModified":"2018-04-10T14:11:36+00:00","description":"How to successfully manage your microservices","breadcrumb":{"@id":"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/#primaryimage","url":"https:\/\/sdtimes.com\/wp-content\/uploads\/2018\/01\/MicroservicesCattle.jpg","contentUrl":"https:\/\/sdtimes.com\/wp-content\/uploads\/2018\/01\/MicroservicesCattle.jpg","width":660,"height":371},{"@type":"BreadcrumbList","@id":"https:\/\/sdtimes.com\/micro\/riding-herd-microservices\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sdtimes.com\/"},{"@type":"ListItem","position":2,"name":"Riding herd over your microservices"}]},{"@type":"WebSite","@id":"https:\/\/sdtimes.com\/#website","url":"https:\/\/sdtimes.com\/","name":"SD Times","description":"Software Development News","publisher":{"@id":"https:\/\/sdtimes.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sdtimes.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/sdtimes.com\/#organization","name":"SD Times","url":"https:\/\/sdtimes.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sdtimes.com\/#\/schema\/logo\/image\/","url":"https:\/\/sdtimes.com\/wp-content\/uploads\/2014\/05\/deafaultlogo.png","contentUrl":"https:\/\/sdtimes.com\/wp-content\/uploads\/2014\/05\/deafaultlogo.png","width":225,"height":90,"caption":"SD Times"},"image":{"@id":"https:\/\/sdtimes.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SDTimesD2","https:\/\/x.com\/sdtimes","https:\/\/www.linkedin.com\/company\/sdtimes\/"]},{"@type":"Person","@id":"https:\/\/sdtimes.com\/#\/schema\/person\/8291872d437355f6b12cbcd6857a1972","name":"Christina Cardoza","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sdtimes.com\/#\/schema\/person\/image\/66d89d09eb7f22eba27a82092a3bae8e","url":"https:\/\/secure.gravatar.com\/avatar\/940fd7e02753c2aff1d037c42e0603ac?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/940fd7e02753c2aff1d037c42e0603ac?s=96&d=mm&r=g","caption":"Christina Cardoza"},"description":"Christina Cardoza is the News Editor of SD Times. She is responsible for the oversight of the daily news published to the website as well as the company's weekly newsletter, News on Monday. She covers agile, DevOps, AI, machine learning, mixed reality and software security. She is an undeniable nerd who loves Marvel comics and Star Wars. On Follow her on Twitter at @chriscatdoza!","sameAs":["https:\/\/x.com\/chriscatdoza"],"url":"https:\/\/sdtimes.com\/author\/christina-mulligan\/"}]}},"_links":{"self":[{"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/posts\/29120"}],"collection":[{"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/users\/490"}],"replies":[{"embeddable":true,"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/comments?post=29120"}],"version-history":[{"count":5,"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/posts\/29120\/revisions"}],"predecessor-version":[{"id":30161,"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/posts\/29120\/revisions\/30161"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/media\/29121"}],"wp:attachment":[{"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/media?parent=29120"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/categories?post=29120"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/tags?post=29120"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/sdtimes.com\/wp-json\/wp\/v2\/coauthors?post=29120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}