{"id":11762,"date":"2021-09-22T04:00:00","date_gmt":"2021-09-22T11:00:00","guid":{"rendered":"https:\/\/softwareengineeringdaily.com\/?p=11762"},"modified":"2021-09-21T15:31:10","modified_gmt":"2021-09-21T22:31:10","slug":"shoreline-pod-debugging-and-management-automation","status":"publish","type":"post","link":"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/","title":{"rendered":"Shoreline: Pod Debugging and Management Automation"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Kubernetes has dominated the cloud application development landscape. First developed in 2015, Kubernetes won the container orchestration wars against rivals such as Mesosphere and Docker Swarm to become the de-facto standard for container orchestration. However as cloud computing has become the de facto standard for container orchestration, improvements in debugging and fixing issues in native Kubernetes applications are lacking. When developers encounter similar issues with known solutions across multiple pods, they have two primary solutions. One, go pod-by-pod and find or fix the problem, similar to how developers of lore used to SSH into individual machines or two, try to automate that process by investing significant time and manual labor. Shoreline provides a real-time debugging and automated repair tool that enables developers to efficiently find and debug errors across thousands of pods and develop automation so that those errors can be fixed automatically in the future.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">As Kubernetes has gained popularity, more and more tooling has been developed to create and manage production-level Kubernetes clusters and extend their functionality. However, these tools often focus on preventive measures for a specific area of expertise. Deployment tools like Helm serve to create an IaaC, or Infrastructure as Code, type environment where creating and managing application commits on Kubernetes is repeatable and debuggable. Visualization tools like Lens and K9s serve to increase the observability of your cluster.\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/spot.io\/blog\/kubernetes-ecosystem\/\"><img fetchpriority=\"high\" decoding=\"async\" data-attachment-id=\"11776\" data-permalink=\"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/layer-1\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Layer-1.png?fit=610%2C352&amp;ssl=1\" data-orig-size=\"610,352\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Layer 1\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Layer-1.png?fit=300%2C173&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Layer-1.png?fit=610%2C352&amp;ssl=1\" class=\"aligncenter wp-image-11776 size-full\" src=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Layer-1.png?resize=610%2C352\" alt=\"\" width=\"610\" height=\"352\" srcset=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Layer-1.png?w=610&amp;ssl=1 610w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Layer-1.png?resize=300%2C173&amp;ssl=1 300w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Layer-1.png?resize=120%2C69&amp;ssl=1 120w\" sizes=\"(max-width: 610px) 100vw, 610px\" data-recalc-dims=\"1\" \/><\/a><span style=\"font-weight: 400;\">However, none of these focus on incident management and resolutions. Shoreline focuses on incident management and resolution, or \u201cDay 2\u201d operations by solving two problems.<\/span><\/p>\n<p style=\"text-align: left;\"><a href=\"https:\/\/dzone.com\/articles\/defining-day-2-operations\"><img decoding=\"async\" data-attachment-id=\"11777\" data-permalink=\"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/dzone\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Dzone.png?fit=624%2C233&amp;ssl=1\" data-orig-size=\"624,233\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Dzone\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Dzone.png?fit=300%2C112&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Dzone.png?fit=624%2C233&amp;ssl=1\" class=\"aligncenter size-full wp-image-11777\" src=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Dzone.png?resize=624%2C233\" alt=\"\" width=\"624\" height=\"233\" srcset=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Dzone.png?w=624&amp;ssl=1 624w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Dzone.png?resize=300%2C112&amp;ssl=1 300w\" sizes=\"(max-width: 624px) 100vw, 624px\" data-recalc-dims=\"1\" \/><\/a><span style=\"font-weight: 400;\">The first problem Shoreline solves is creating an intuitive and powerful Kubernetes native environment that enables developers to monitor and maintain specific pods in an aggregated manner to diagnose and solve issues.\u00a0<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"font-weight: 400;\">The second problem it tries to solve is to enable developers to easily create automation such that if the issues reappear or require ongoing maintenance, it can be effectively automated.\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/shoreline.io\/\"><img decoding=\"async\" data-attachment-id=\"11778\" data-permalink=\"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/shoreline-alarm\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Shoreline-alarm.png?fit=624%2C361&amp;ssl=1\" data-orig-size=\"624,361\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Shoreline alarm\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Shoreline-alarm.png?fit=300%2C174&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Shoreline-alarm.png?fit=624%2C361&amp;ssl=1\" class=\"aligncenter wp-image-11778 size-full\" src=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Shoreline-alarm.png?resize=624%2C361\" alt=\"\" width=\"624\" height=\"361\" srcset=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Shoreline-alarm.png?w=624&amp;ssl=1 624w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Shoreline-alarm.png?resize=300%2C174&amp;ssl=1 300w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Shoreline-alarm.png?resize=120%2C69&amp;ssl=1 120w\" sizes=\"(max-width: 624px) 100vw, 624px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">Shoreline had to solve several hard technical challenges. Notably, there are five main problems that give Shoreline its uniqueness.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">1. Data has to be trusted. Existing tools like Splunk collect data through batch processing which results in time delays and duplicate logs. By collecting data in real-time Shoreline solves these problems and provides more value. Shoreline leverages the Prometheus exporter ecosystem that is both open-source and best-in-class in combination with custom integration code in order to get accurate, per-second metrics with no lag.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">2. The second problem that Shoreline solves is creating an easy way to define queries and automate repairs. This is done primarily through the Shoreline Op language which will be touched upon later.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">3. It needs to be fast. With large Kubernetes clusters having thousands of nodes and even more pods, Shoreline has been designed to take automation and turn them into a distributed execution graph that runs in parallel.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><a href=\"https:\/\/shoreline.io\/blog\/shoreline-accelerates-ops-with-jax-xla\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"11779\" data-permalink=\"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/inparallel-shoreline\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Inparallel-Shoreline.png?fit=532%2C276&amp;ssl=1\" data-orig-size=\"532,276\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Inparallel Shoreline\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Inparallel-Shoreline.png?fit=300%2C156&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Inparallel-Shoreline.png?fit=532%2C276&amp;ssl=1\" class=\"aligncenter size-full wp-image-11779\" src=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Inparallel-Shoreline.png?resize=532%2C276\" alt=\"\" width=\"532\" height=\"276\" srcset=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Inparallel-Shoreline.png?w=532&amp;ssl=1 532w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Inparallel-Shoreline.png?resize=300%2C156&amp;ssl=1 300w\" sizes=\"(max-width: 532px) 100vw, 532px\" data-recalc-dims=\"1\" \/><\/a><\/span><\/p>\n<p><span style=\"font-weight: 400;\">4. It needs to work even when other things are broken. Shoreline has been designed from the bottom up to be fault-tolerant and even work locally when you lose connectivity.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">5. It needs to be safe, Shoreline provides controls to limit the scope of both manual and automated commands.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Shoreline has created a DSL, or domain-specific language called Op. Op attempts to fluently integrate three primitives: resources, Linux commands, and metrics.\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/docs.shoreline.io\/op\/commands\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"11780\" data-permalink=\"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/shoreline-metrics\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Shoreline-metrics.png?fit=508%2C300&amp;ssl=1\" data-orig-size=\"508,300\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Shoreline metrics\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Shoreline-metrics.png?fit=300%2C177&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Shoreline-metrics.png?fit=508%2C300&amp;ssl=1\" class=\"aligncenter size-full wp-image-11780\" src=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Shoreline-metrics.png?resize=508%2C300\" alt=\"\" width=\"508\" height=\"300\" srcset=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Shoreline-metrics.png?w=508&amp;ssl=1 508w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/Shoreline-metrics.png?resize=300%2C177&amp;ssl=1 300w\" sizes=\"(max-width: 508px) 100vw, 508px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">Resources are simply the pods you want to act upon. They can be defined by namespaces, regex commands, or Kubernetes tags. Linux commands are Linux commands like a top, Kubectl, Netstat, or any other command you might find useful in debugging a pod. Metrics take the output of many different outputs of pods and combine them into a single number. This can be as simple as averaging together numeric outputs or something more exotic. A fairly simple example that many enterprises may find useful is selecting all application pods by tag, running top on them, stripping the output, and monitoring to see if the NodeJs process is taking more than 90% CPU utilization. Though this is a simple example, it gives you an idea of how Ops can be used. By using familiar Linux commands, the Op DSL is intuitive yet powerful. Once you have constructed a query, you can then trigger a \u201cbot\u201d when that query condition is met. This \u201cbot: then executes an action also defined in Op to fix the issues. All of this together creates a simple and powerful remediation loop that checks for issues, collects diagnoses, and automatically applies repairs. This enables Ops teams to meaningfully solve repetitive incidents once an issue is fixed, it can be fixed forever.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Shoreline is continuing to grow and develop features. Their goal is to radically increase system availability and reduce operations toil through incident automation. They currently support AWS with Azure and GCP support to come. They have a large library of \u201cOp Packs\u201d that solve commonplace issues seen by Kubernetes operators.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">All things break. The question is how do you get back to normal as quickly as possible. For those looking for an integrated solution that allows you to quickly restore critical functions at scale, look no further than Shoreline. If you\u2019re an up-and-coming SaaS company that has ticket pain and that ticket pain is growing and growing fast, take a look at Shoreline at shoreline.io. Right now Shoreline is in the early GA stage, so they can become a partner with your company, taking in feedback, and together you can design a product that reduces your ops pain.\u00a0<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\">This sponsored article is based on an interview with Anurag Gupta, Founder and CEO of Shoreline. If you are interested in the full interview, you can find it <\/span><\/i><a href=\"https:\/\/softwareengineeringdaily.com\/2021\/07\/29\/shoreline-fleet-automation-with-anurag-gupta\/\"><i><span style=\"font-weight: 400;\">here<\/span><\/i><\/a><i><span style=\"font-weight: 400;\">.\u00a0<\/span><\/i><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kubernetes has dominated the cloud application development landscape. First developed in 2015, Kubernetes won the container orchestration wars against rivals such as Mesosphere and Docker Swarm to become the de-facto standard for container orchestration. However as cloud computing has become the de facto standard for container orchestration, improvements in debugging and fixing issues in native<\/p>\n","protected":false},"author":60,"featured_media":11783,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Shoreline: Pod Debugging and Management Automation by Ashvin Nihalani @awgupta @theshorelineio","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[1363,83,2143],"tags":[4881,4275,3508,379,477,4882],"class_list":["post-11762","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-all-episodes","category-articles","category-exclusive-content","tag-anurag-gupta","tag-ashvin-nihalani","tag-infrastructure-as-code","tag-kubernetes","tag-prometheus","tag-shoreline"],"jetpack_publicize_connections":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Shoreline: Pod Debugging and Management Automation - Software Engineering Daily<\/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:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Shoreline: Pod Debugging and Management Automation - Software Engineering Daily\" \/>\n<meta property=\"og:description\" content=\"Kubernetes has dominated the cloud application development landscape. First developed in 2015, Kubernetes won the container orchestration wars against rivals such as Mesosphere and Docker Swarm to become the de-facto standard for container orchestration. However as cloud computing has become the de facto standard for container orchestration, improvements in debugging and fixing issues in native\" \/>\n<meta property=\"og:url\" content=\"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/\" \/>\n<meta property=\"og:site_name\" content=\"Software Engineering Daily\" \/>\n<meta property=\"article:published_time\" content=\"2021-09-22T11:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-09-21T22:31:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/ShorelineL.png?fit=801%2C418&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"801\" \/>\n\t<meta property=\"og:image:height\" content=\"418\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ashvin Nihalani\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@software_daily\" \/>\n<meta name=\"twitter:site\" content=\"@software_daily\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ashvin Nihalani\" \/>\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:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/\"},\"author\":{\"name\":\"Ashvin Nihalani\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/b14f7e7882953fb91cae54cc69067ac7\"},\"headline\":\"Shoreline: Pod Debugging and Management Automation\",\"datePublished\":\"2021-09-22T11:00:00+00:00\",\"dateModified\":\"2021-09-21T22:31:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/\"},\"wordCount\":927,\"publisher\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/ShorelineL.png?fit=801%2C418&ssl=1\",\"keywords\":[\"Anurag Gupta\",\"Ashvin Nihalani\",\"infrastructure as code\",\"Kubernetes\",\"prometheus\",\"Shoreline\"],\"articleSection\":[\"All Content\",\"Exclusive Articles\",\"Exclusive Content\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/\",\"url\":\"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/\",\"name\":\"Shoreline: Pod Debugging and Management Automation - Software Engineering Daily\",\"isPartOf\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/ShorelineL.png?fit=801%2C418&ssl=1\",\"datePublished\":\"2021-09-22T11:00:00+00:00\",\"dateModified\":\"2021-09-21T22:31:10+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/ShorelineL.png?fit=801%2C418&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/ShorelineL.png?fit=801%2C418&ssl=1\",\"width\":801,\"height\":418},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/softwareengineeringdaily.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Shoreline: Pod Debugging and Management Automation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#website\",\"url\":\"https:\/\/softwareengineeringdaily.com\/\",\"name\":\"Software Engineering Daily\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/softwareengineeringdaily.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\",\"name\":\"Software Engineering Daily\",\"url\":\"https:\/\/softwareengineeringdaily.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1\",\"width\":549,\"height\":169,\"caption\":\"Software Engineering Daily\"},\"image\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/software_daily\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/b14f7e7882953fb91cae54cc69067ac7\",\"name\":\"Ashvin Nihalani\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/956186b403d427b9d5eb81904163a9d2?s=96&d=retro&r=pg\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/956186b403d427b9d5eb81904163a9d2?s=96&d=retro&r=pg\",\"caption\":\"Ashvin Nihalani\"},\"description\":\"Originally from Texas. Graduated from Berkeley with an B.Eng in EECS. Interested in basically anything, well anything interesting. More recently focused on Machine Learning, Blockchain, and Embedded Systems.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/ashvinnihalani\"],\"url\":\"https:\/\/softwareengineeringdaily.com\/author\/ashvin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Shoreline: Pod Debugging and Management Automation - Software Engineering Daily","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:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/","og_locale":"en_US","og_type":"article","og_title":"Shoreline: Pod Debugging and Management Automation - Software Engineering Daily","og_description":"Kubernetes has dominated the cloud application development landscape. First developed in 2015, Kubernetes won the container orchestration wars against rivals such as Mesosphere and Docker Swarm to become the de-facto standard for container orchestration. However as cloud computing has become the de facto standard for container orchestration, improvements in debugging and fixing issues in native","og_url":"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/","og_site_name":"Software Engineering Daily","article_published_time":"2021-09-22T11:00:00+00:00","article_modified_time":"2021-09-21T22:31:10+00:00","og_image":[{"width":801,"height":418,"url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/ShorelineL.png?fit=801%2C418&ssl=1","type":"image\/png"}],"author":"Ashvin Nihalani","twitter_card":"summary_large_image","twitter_creator":"@software_daily","twitter_site":"@software_daily","twitter_misc":{"Written by":"Ashvin Nihalani","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/#article","isPartOf":{"@id":"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/"},"author":{"name":"Ashvin Nihalani","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/b14f7e7882953fb91cae54cc69067ac7"},"headline":"Shoreline: Pod Debugging and Management Automation","datePublished":"2021-09-22T11:00:00+00:00","dateModified":"2021-09-21T22:31:10+00:00","mainEntityOfPage":{"@id":"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/"},"wordCount":927,"publisher":{"@id":"https:\/\/softwareengineeringdaily.com\/#organization"},"image":{"@id":"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/ShorelineL.png?fit=801%2C418&ssl=1","keywords":["Anurag Gupta","Ashvin Nihalani","infrastructure as code","Kubernetes","prometheus","Shoreline"],"articleSection":["All Content","Exclusive Articles","Exclusive Content"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/","url":"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/","name":"Shoreline: Pod Debugging and Management Automation - Software Engineering Daily","isPartOf":{"@id":"https:\/\/softwareengineeringdaily.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/#primaryimage"},"image":{"@id":"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/ShorelineL.png?fit=801%2C418&ssl=1","datePublished":"2021-09-22T11:00:00+00:00","dateModified":"2021-09-21T22:31:10+00:00","breadcrumb":{"@id":"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/#primaryimage","url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/ShorelineL.png?fit=801%2C418&ssl=1","contentUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/ShorelineL.png?fit=801%2C418&ssl=1","width":801,"height":418},{"@type":"BreadcrumbList","@id":"https:\/\/softwareengineeringdaily.com\/2021\/09\/22\/shoreline-pod-debugging-and-management-automation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/softwareengineeringdaily.com\/"},{"@type":"ListItem","position":2,"name":"Shoreline: Pod Debugging and Management Automation"}]},{"@type":"WebSite","@id":"https:\/\/softwareengineeringdaily.com\/#website","url":"https:\/\/softwareengineeringdaily.com\/","name":"Software Engineering Daily","description":"","publisher":{"@id":"https:\/\/softwareengineeringdaily.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/softwareengineeringdaily.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/softwareengineeringdaily.com\/#organization","name":"Software Engineering Daily","url":"https:\/\/softwareengineeringdaily.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1","contentUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1","width":549,"height":169,"caption":"Software Engineering Daily"},"image":{"@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/software_daily"]},{"@type":"Person","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/b14f7e7882953fb91cae54cc69067ac7","name":"Ashvin Nihalani","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/956186b403d427b9d5eb81904163a9d2?s=96&d=retro&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/956186b403d427b9d5eb81904163a9d2?s=96&d=retro&r=pg","caption":"Ashvin Nihalani"},"description":"Originally from Texas. Graduated from Berkeley with an B.Eng in EECS. Interested in basically anything, well anything interesting. More recently focused on Machine Learning, Blockchain, and Embedded Systems.","sameAs":["https:\/\/www.linkedin.com\/in\/ashvinnihalani"],"url":"https:\/\/softwareengineeringdaily.com\/author\/ashvin\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2021\/09\/ShorelineL.png?fit=801%2C418&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p7GuoD-33I","_links":{"self":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts\/11762"}],"collection":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/users\/60"}],"replies":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/comments?post=11762"}],"version-history":[{"count":0,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts\/11762\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/media\/11783"}],"wp:attachment":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/media?parent=11762"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/categories?post=11762"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/tags?post=11762"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}