{"id":65391,"date":"2022-06-28T09:00:50","date_gmt":"2022-06-28T09:00:50","guid":{"rendered":"https:\/\/www.cryptocabaret.com\/?p=65391"},"modified":"2022-06-28T09:00:50","modified_gmt":"2022-06-28T09:00:50","slug":"why-organizations-need-site-reliability-engineers","status":"publish","type":"post","link":"https:\/\/www.cryptocabaret.com\/?p=65391","title":{"rendered":"Why organizations need site reliability engineers"},"content":{"rendered":"<p><span class=\"field field--name-title field--type-string field--label-hidden\">Why organizations need site reliability engineers<\/span><br \/>\n<span class=\"field field--name-uid field--type-entity-reference field--label-hidden\"><a title=\"View user profile.\" href=\"https:\/\/opensource.com\/users\/robert-charles\" class=\"username\">Robert Kimani<\/a><\/span><br \/>\n<span class=\"field field--name-created field--type-created field--label-hidden\">Tue, 06\/28\/2022 &#8211; 03:00<\/span><\/p>\n<div data-drupal-selector=\"rate-node-70060\" class=\"rate-widget-thumbs-up\" title=\"Register or Login to like.\">\n<div class=\"rate-thumbs-up-btn-up vote-pending\"><a href=\"https:\/\/opensource.com\/user\/register\">Register<\/a> or <a href=\"https:\/\/opensource.com\/user\/login?current=\/rss.xml\">Login<\/a> to like<\/div>\n<div class=\"rate-score\"><a href=\"https:\/\/opensource.com\/user\/register\">Register<\/a> or <a href=\"https:\/\/opensource.com\/user\/login?current=\/rss.xml\">Login<\/a> to like<\/div>\n<\/div>\n<div class=\"clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item\">\n<p>In this final article that concludes my series about best practices for effective site reliability engineering (SRE), I cover some of the practical applications of site reliability engineering.<\/p>\n<p>There are some significant differences between software engineering and systems engineering.<\/p>\n<h2>Software engineering<\/h2>\n<ul>\n<li>Focuses on software development and engineering only.<\/li>\n<li>Involves writing code to create useful functionality.<\/li>\n<li>Time is spent on developing repeatable and reusable software that can be easily extended.<\/li>\n<li>Has problem-solving orientation.<\/li>\n<li>Software engineering aids the SRE.<\/li>\n<\/ul>\n<h2>Systems engineering<\/h2>\n<ul>\n<li>Focuses on the whole system including software, hardware and any associated technologies.<\/li>\n<li>Time is spent on building, analyzing, and managing solutions.<\/li>\n<li>Deals with defining characteristics of a system and feeds requirements to software engineering.<\/li>\n<li>Has systems-thinking orientation.<\/li>\n<li>Systems engineering enables SRE.<\/li>\n<\/ul>\n<p>The site reliability engineer (SRE) utilizes both software engineering and system engineering skills, and in so doing adds value to an organization.<\/p>\n<p>As the SRE team runs production systems, an SRE produces the most impactful tools to manage and automate manual processes. Software can be built faster when an SRE is involved, because most of the time the SRE creates software for their own use. As most of the tasks for an SRE are automated, which entails a lot of coding, this introduces a healthy mix of development and operations, which is great for site reliability.<\/p>\n<p>Finally, an SRE enables an organization to automatically scale rapidly whether it&#8217;s scaling up or scaling down.<\/p>\n<\/p>\n<div class=\"embedded-resource-list callout-float-right\">\n<div class=\"field field--name-title field--type-string field--label-hidden field__item\">More DevOps resources<\/div>\n<div class=\"field field--name-links field--type-link field--label-hidden field__items\">\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/resources\/devops?intcmp=7013a00000263HlAAI\">What is DevOps?<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/downloads\/devops-hiring-guide?intcmp=7013a00000263HlAAI\">The ultimate DevOps hiring guide<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/downloads\/devops-monitoring-guide?intcmp=7013a00000263HlAAI\">DevOps monitoring tools guide<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/downloads\/guide-implementing-devsecops?intcmp=7013a00000263HlAAI\">A guide to implementing DevSecOps<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/enterprisersproject.com\/cheat-sheet-devops-glossary?intcmp=7013a00000263HlAAI\">Download the DevOps glossary<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/www.ansible.com\/resources\/ebooks\/ansible-for-devops?intcmp=7013a00000263HlAAI\">eBook: Ansible for DevOps<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/tags\/devops?intcmp=7013a00000263HlAAI\">Latest DevOps articles<\/a><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<h2>SRE and DevSecOps<\/h2>\n<p>An SRE helps build end to end effective monitoring systems by utilizing logs, metrics and traces. An SRE enables fast, effective, and reliable rollbacks and automatic scaling up or down infrastructure as needed. These are especially effective during a security breach.<\/p>\n<p>With the advent of cloud and container-based architectures, data processing pipelines have become a prominent component in IT architectures. An SRE helps configure the most restrictive access to data processing pipelines.<\/p>\n<p><strong>[ Download now:\u00a0<a href=\"https:\/\/opensource.com\/downloads\/guide-implementing-devsecops\" target=\"_blank\" rel=\"noopener\">A guide to implementing DevSecOps<\/a> ]<\/strong><\/p>\n<p>Finally, an SRE helps develop tools and procedures to handle incidents. While most of these incidents focus on IT operations and reliability, it can be easily extended to security. For example, DevSecOps deals with integrating development, security, and operations with heavy emphasis on automation. It&#8217;s a field where development, security and operations teams work together to support and maintain an organization&#8217;s applications and infrastructure.<\/p>\n<h2>Designing SRE and pre-production computing environments<\/h2>\n<p>A pre-production or non-production environment is an environment used by an SRE to develop, deploy, and test.<\/p>\n<p>The non-production environment is the testing ground for automation. But it&#8217;s not just application code that requires a non-production environment. Any associated automated processes, primarily the ones that an SRE develops, requires a pre-production environment. Most organizations have more than one pre-production environment. By resembling production as much as possible, the pre-production environment improves confidence in releases. At least one of your non-production environments should resemble the production environment. In many cases it&#8217;s not possible to replicate production data, but you should try your best to make the non-production environments match the production environments as closely as possible.<\/p>\n<h2>Pre-production computing and the SRE<\/h2>\n<p>An SRE helps spin-up identical application serving environments by using automation and specialized tools. This is essential, as you can quickly spin up a non-production environment in a matter of seconds using scripts and tools developed by SREs.<\/p>\n<p>A smart SRE treats configuration as code to ensure fast implementation of testing and deployment. Through the use of automated CI\/CD pipelines, application releases and hot fixes can be made seamlessly.<\/p>\n<p>Finally, by developing effective monitoring solutions, an SRE helps to ensure the reliability of a pre-production computing environment.<\/p>\n<p>One of the closely related fields to pre-production computing is inner loop development.<\/p>\n<h2>Executing on inner loop development<\/h2>\n<p>Picture two loops, an inner loop and an outer loop, forming the DevOps loop. In the inner loop, you code, build, run, and debug. This cycle mostly happens in a developer&#8217;s workstation or some other non-production environment.<\/p>\n<p>Once the code is ready, it is moved to the outer loop, where the process starts with code review, build, deploy, integration tests, security and compliance, and finally pre-production release.<\/p>\n<p>Many of the processes in the outer loop and inner loop are automated by the SRE.<\/p>\n<article class=\"align-center media media--type-image media--view-mode-default\">\n<div class=\"field field--name-field-media-image field--type-image field--label-hidden field__item\">  <img decoding=\"async\" src=\"https:\/\/www.cryptocabaret.com\/wp-content\/uploads\/2022\/06\/SREFinalDevOps-Loop.png\" width=\"753\" height=\"449\" alt=\"Image of a DevOps Loop\" loading=\"lazy\"><\/div>\n<div class=\"field field--name-field-caption field--type-text-long field--label-hidden caption field__item\"><span class=\"caption__byline\">Image by: <\/span><\/p>\n<p>(Robert Kimani, CC BY-SA 40)<\/p>\n<\/div>\n<\/article>\n<h2>SRE and inner loop development<\/h2>\n<p>The SRE speeds up inner loop development by enabling fast, iterative development by providing tools for containerized deployment. Many of the tools an SRE develops revolve around container automation and container orchestration, using tools such as Podman, Docker, Kubernetes, or platforms like OpenShift.<\/p>\n<p>An SRE also develops tools to help debug crashes with tools such as Java heap dump analysis tools, and Java thread dump analysis tools.<\/p>\n<h2>Overall value of SRE<\/h2>\n<p>By utilizing both systems engineering and software engineering, an SRE organization delivers impactful solutions. An SRE helps to implement DevSecOps where development, security, and operations intersect with a primary focus on automation.<\/p>\n<p>SRE principles help maximize the function of pre-production environments by utilizing tools and processes that the SRE organizations deliver, so one can easily spin up non-production environment in a matter of seconds. An SRE organization enables efficient inner loop development by developing and providing necessary tools.<\/p>\n<ul>\n<li><strong>Improved end user experience:<\/strong> It&#8217;s all about ensuring that the users of the applications and services, get the best experience as possible. This includes uptime of the applications or services. Applications should be up and running all the time and should be healthy.<\/li>\n<li><strong>Minimizes or eliminates outages:<\/strong> It&#8217;s better for users and developers alike.<\/li>\n<li><strong>Automation:<\/strong> As the saying goes, you should always be trying to automate yourself out of the job that you are currently performing manually.<\/li>\n<li><strong>Scale:<\/strong> In the age of cloud-native applications and containerized services, massive automated scalability is critical for an SRE to scale up or down in a safe and fast manner.<\/li>\n<li><strong>Integrated:<\/strong> The principles and processes that the SRE organization embraces can be, and in many cases should be, extended to other parts of the organization, as with DevSecOps.<\/li>\n<\/ul>\n<p>The SRE is a valuable component in an efficient organization. As demonstrated over the course of this series, the benefits of SRE affect many departments and processes.<\/p>\n<h2>Further reading<\/h2>\n<p>Below are some GitHub links to a few of my favorite SRE resources:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/dastergon\/awesome-sre\" target=\"_blank\" rel=\"noopener\">Awesome site reliability engineering\u00a0resources<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/SquadcastHub\/awesome-sre-tools\" target=\"_blank\" rel=\"noopener\">Awesome site reliability tools<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/shibumi\/SRE-cheat-sheet\" target=\"_blank\" rel=\"noopener\">SRE cheat sheet<\/a><\/li>\n<\/ul>\n<\/div>\n<div class=\"clearfix text-formatted field field--name-field-article-subhead field--type-text-long field--label-hidden field__item\">\n<p>SRE is a valuable component in an efficient organization for software engineering, systems engineering, implementing DevSecOps, and more.<\/p>\n<\/div>\n<div class=\"field field--name-field-lead-image field--type-entity-reference field--label-hidden field__item\">\n<article class=\"media media--type-image media--view-mode-caption\">\n<div class=\"field field--name-field-media-image field--type-image field--label-hidden field__item\">  <img decoding=\"async\" src=\"https:\/\/www.cryptocabaret.com\/wp-content\/uploads\/2022\/06\/puzzle_computer_solve_fix_tool-1.png\" width=\"1041\" height=\"584\" alt=\"Puzzle pieces coming together to form a computer screen\" title=\"Puzzle pieces coming together to form a computer screen\" loading=\"lazy\"><\/div>\n<div class=\"field field--name-field-caption field--type-text-long field--label-hidden caption field__item\"><span class=\"caption__byline\">Image by: <\/span><\/p>\n<p>Opensource.com<\/p>\n<\/div>\n<\/article>\n<\/div>\n<div class=\"field field--name-field-tags field--type-entity-reference field--label-hidden field__items\">\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/tags\/devops\" hreflang=\"en\">DevOps<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/tags\/careers\" hreflang=\"en\">Careers<\/a><\/div>\n<\/p><\/div>\n<div class=\"field field--name-field-listicle-title field--type-string field--label-hidden field__item\">What to read next<\/div>\n<div class=\"field field--name-field-listicles field--type-entity-reference field--label-hidden field__items\">\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/article\/22\/6\/introduction-site-reliability-engineering\" hreflang=\"en\">What you need to know about site reliability engineering<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/article\/22\/6\/effective-incident-response-site-reliability-engineers\" hreflang=\"en\">How SREs can achieve effective incident response<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/article\/22\/6\/change-management-site-reliability-engineers\" hreflang=\"en\">A site reliability engineer&#8217;s guide to change management<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/article\/22\/6\/circuit-breaker-pattern-site-reliability-engineering\" hreflang=\"en\">How to use a circuit breaker pattern for site reliability engineering<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/article\/22\/6\/distributed-consensus-site-reliability-engineering\" hreflang=\"en\">What is distributed consensus for site reliability engineering?<\/a><\/div>\n<\/p><\/div>\n<div class=\"field field--name-field-default-license field--type-list-string field--label-hidden field__item\"><a rel=\"license\" href=\"http:\/\/creativecommons.org\/licenses\/by-sa\/4.0\/\"><br \/>\n        <img decoding=\"async\" alt=\"Creative Commons License\" src=\"https:\/\/www.cryptocabaret.com\/wp-content\/uploads\/2022\/06\/cc-by-sa--37.png\" title=\"This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.\"><\/a>This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.<\/div>\n<section class=\"field field--name-field-comments field--type-comment field--label-hidden comment-wrapper\">\n<div class=\"comments__count\">\n<div class=\"login\"><a href=\"https:\/\/opensource.com\/user\/register?absolute=1\">Register<\/a> or <a href=\"https:\/\/opensource.com\/user\/login?current=\/rss.xml&amp;absolute=1\">Login<\/a> to post a comment.<\/div>\n<\/p><\/div>\n<\/section>\n<p class=\"wpematico_credit\"><small>Powered by <a href=\"http:\/\/www.wpematico.com\" target=\"_blank\" rel=\"noopener\">WPeMatico<\/a><\/small><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Why organizations need site reliability engineers Robert Kimani Tue, 06\/28\/2022 &#8211; 03:00 Register or Login to like Register or Login to like In this final article that concludes my series about best practices for effective site reliability engineering (SRE), I cover some of the practical applications of site reliability engineering. There are some significant differences [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":65392,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[307],"tags":[],"class_list":["post-65391","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-open-source"],"_links":{"self":[{"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/posts\/65391","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=65391"}],"version-history":[{"count":0,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/posts\/65391\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/media\/65392"}],"wp:attachment":[{"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=65391"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=65391"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=65391"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}