699 lines
42 KiB
HTML
699 lines
42 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en" dir="ltr" prefix="og: https://ogp.me/ns#">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="description" content="The last decade was all about teaching sysadmins to write code. The next challenge will be teaching operations to software developers. ">
|
|
<link rel="canonical" href="https://opensource.com/article/17/7/state-systems-administration">
|
|
<link rel="image_src" href="https://opensource.com/sites/default/files/lead-images/rh_003499_01_other11x_cc.png">
|
|
<meta name="author" content="Charity">
|
|
<meta property="og:site_name" content="Opensource.com">
|
|
<meta property="og:url" content="https://opensource.com/article/17/7/state-systems-administration">
|
|
<meta property="og:title" content="Ops: It's everyone's job now">
|
|
<meta property="og:description" content="The last decade was all about teaching sysadmins to write code. The next challenge will be teaching operations to software developers. ">
|
|
<meta property="og:image" content="https://opensource.com/sites/default/files/lead-images/rh_003499_01_other11x_cc.png">
|
|
<meta name="twitter:card" content="summary">
|
|
<meta name="twitter:site" content="@opensourceway">
|
|
<meta name="twitter:description" content="The last decade was all about teaching sysadmins to write code. The next challenge will be teaching operations to software developers. ">
|
|
<meta name="twitter:title" content="Ops: It's everyone's job now">
|
|
<meta name="twitter:creator" content="@mipsytipsy">
|
|
<meta name="twitter:image" content="https://opensource.com/sites/default/files/lead-images/rh_003499_01_other11x_cc.png">
|
|
<meta name="Generator" content="Drupal 10 (https://www.drupal.org)">
|
|
<meta name="MobileOptimized" content="width">
|
|
<meta name="HandheldFriendly" content="true">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<link rel="icon" href="/themes/osdc/assets/img/favicons/favicon.ico" type="image/vnd.microsoft.icon">
|
|
|
|
<title>Ops: It's everyone's job now | Opensource.com</title>
|
|
<link rel="stylesheet" media="all" href="/sites/default/files/css/css_v1Pk9uCDi2UfNhTAnRmgqTOT8FMeyU3TJ1MbtJc3rko.css?delta=0&language=en&theme=osdc&include=eJxVjkEOwyAMBD8E5UmVMVaCYjDCkIi-vrRJDrlYI-1o10WYXai9AL_KZMsxb2p0aKPkPCgZZFAdD06kCgupQankstQEHD9kRAO6hcUDn_yrPAl6W6XaRA0Mw5De3iEqyk51OMmEcomVGBoFi5Ib5Wb2SIe6_30lCZ2vGZSUZq6mTt0dtq09ee3l_jHmMGMKj3nPgtttZAlXlxJUXL9HlWc3">
|
|
<link rel="stylesheet" media="all" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
|
<link rel="stylesheet" media="all" href="/sites/default/files/css/css_pwV-EcCwseDS_ZsbU4fuelxCUlfePETEO0FOdvVn9o8.css?delta=2&language=en&theme=osdc&include=eJxVjkEOwyAMBD8E5UmVMVaCYjDCkIi-vrRJDrlYI-1o10WYXai9AL_KZMsxb2p0aKPkPCgZZFAdD06kCgupQankstQEHD9kRAO6hcUDn_yrPAl6W6XaRA0Mw5De3iEqyk51OMmEcomVGBoFi5Ib5Wb2SIe6_30lCZ2vGZSUZq6mTt0dtq09ee3l_jHmMGMKj3nPgtttZAlXlxJUXL9HlWc3">
|
|
<link rel="stylesheet" media="all" href="/sites/default/files/css/css_VoFCR57K3bDFm1q6VI9lyC_QbA1Le-TwFIbKJmkXjKg.css?delta=3&language=en&theme=osdc&include=eJxVjkEOwyAMBD8E5UmVMVaCYjDCkIi-vrRJDrlYI-1o10WYXai9AL_KZMsxb2p0aKPkPCgZZFAdD06kCgupQankstQEHD9kRAO6hcUDn_yrPAl6W6XaRA0Mw5De3iEqyk51OMmEcomVGBoFi5Ib5Wb2SIe6_30lCZ2vGZSUZq6mTt0dtq09ee3l_jHmMGMKj3nPgtttZAlXlxJUXL9HlWc3">
|
|
<link rel="stylesheet" media="all" href="https://fonts.googleapis.com/css2?family=Red+Hat+Text:wght@400;500;700&display=swap">
|
|
<link rel="stylesheet" media="all" href="https://fonts.googleapis.com/css2?family=Red+Hat+Mono:wght@400;500;700&display=swap">
|
|
<link rel="stylesheet" media="all" href="/sites/default/files/css/css_LdYFGLY4yno-Mg9yzhTjOUAxsL7THSG9U8GLP_rERRw.css?delta=6&language=en&theme=osdc&include=eJxVjkEOwyAMBD8E5UmVMVaCYjDCkIi-vrRJDrlYI-1o10WYXai9AL_KZMsxb2p0aKPkPCgZZFAdD06kCgupQankstQEHD9kRAO6hcUDn_yrPAl6W6XaRA0Mw5De3iEqyk51OMmEcomVGBoFi5Ib5Wb2SIe6_30lCZ2vGZSUZq6mTt0dtq09ee3l_jHmMGMKj3nPgtttZAlXlxJUXL9HlWc3">
|
|
|
|
<script src="/libraries/chapeaux--cpx-reporter/cpx-reporter.js?v=0.12.0" type="module"></script>
|
|
<script src="https://www.redhat.com/ma/dpal.js"></script>
|
|
|
|
<script async data-debug data-domain="redhat2.com" id="trustarc" src="https://static.redhat.com/libs/redhat/marketing/latest/trustarc/trustarc.js" type="text/javascript"></script>
|
|
|
|
<script type="module" src="/themes/osdc/node_modules/@patternfly/pfe-modal/dist/pfe-modal.min.js"></script>
|
|
</head>
|
|
<body class="path-node page-node-type-article">
|
|
<a href="#main-content" class="focusable skip-link">
|
|
Skip to main content
|
|
</a>
|
|
|
|
<div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas>
|
|
<div class="layout-container">
|
|
|
|
<header>
|
|
<div class="region region-messages">
|
|
<div data-drupal-messages-fallback class="hidden"></div>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="region-top-bar">
|
|
<div class="region wrapper region-user-menu">
|
|
<div class="hamburger__container">
|
|
<div class="hamburger">
|
|
<button id="mobnav-btn" aria-label="Toggle main menu" class="button--plain toggle-menu"></button>
|
|
<div class="bar"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<a href="https://www.redhat.com/en?intcmp=701600000011l7VAAQ" target="_blank" class="flex-center support-logo">
|
|
<img alt="Supported by Red Hat" src="/themes/osdc/assets/img/l_supported-by-redhat-white.svg" title="Supported by Red Hat" width="125" height="56" class="support-logo__image">
|
|
</a>
|
|
|
|
<button id="toggle-search" aria-label="Toggle Search" class="button--plain toggle-search">
|
|
<i class="icon-search"></i>
|
|
</button>
|
|
<nav role="navigation" aria-labelledby="block-useraccountmenu-menu" id="block-useraccountmenu" class="block block-menu navigation menu--account">
|
|
|
|
<h2 class="visually-hidden" id="block-useraccountmenu-menu">User account menu</h2>
|
|
|
|
|
|
|
|
|
|
<ul class="account">
|
|
|
|
<li class="log-in account__item">
|
|
<a href="/user/login?current=/article/17/7/state-systems-administration" class="account__link" data-drupal-link-system-path="user/login">Log in</a>
|
|
</li>
|
|
<li class="rss account__item">
|
|
<a href="/feed" title="RSS" class="account__link" data-drupal-link-system-path="rss.xml">RSS</a>
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
|
|
</nav>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="region region-header">
|
|
<div id="block-osdc-branding" class="block block-system block-system-branding-block">
|
|
|
|
|
|
<div class="branding">
|
|
<a href="/" rel="home" aria-label="Opensource.com" class="branding__logo">
|
|
<img src="/themes/osdc/logo.svg" alt="Home">
|
|
</a>
|
|
<a href="https://www.redhat.com/en?intcmp=701600000011l7VAAQ" target="_blank" class="branding__supported-by">
|
|
<img src="/themes/osdc/assets/img/l_supported-by-redhat-white.svg" width="125" height="56" class="branding__supported-by__image" alt="Supported by Red Hat">
|
|
</a>
|
|
</div>
|
|
<div class="branding__slogan"></div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</header>
|
|
|
|
<div class="region region-main-nav">
|
|
<nav role="navigation" aria-labelledby="block-mainnavigation-menu" id="block-mainnavigation" class="block block-menu navigation menu--main">
|
|
|
|
<h2 class="visually-hidden" id="block-mainnavigation-menu">Main navigation</h2>
|
|
|
|
|
|
|
|
|
|
<ul class="main" id="main-menu">
|
|
|
|
<li class="main__item">
|
|
<a href="/" class="main__link" data-drupal-link-system-path="<front>">Articles</a>
|
|
</li>
|
|
<li class="main__item is-expanded">
|
|
<a href="/resources" class="main__link" data-drupal-link-system-path="node/17752">Resources</a>
|
|
|
|
<ul class="main__submenu">
|
|
|
|
<li class="main__item is-expanded">
|
|
<a href="/resources/what-open-source" class="main__link" data-drupal-link-system-path="node/17753">What is open source?</a>
|
|
|
|
<ul class="main__submenu">
|
|
|
|
<li class="main__item">
|
|
<a href="/open-source-way" class="main__link" data-drupal-link-system-path="node/17730">The open source way</a>
|
|
</li>
|
|
</ul>
|
|
|
|
</li>
|
|
<li class="main__item">
|
|
<a href="/resources/projects-and-applications" class="main__link" data-drupal-link-system-path="node/17760">Projects and applications</a>
|
|
</li>
|
|
<li class="main__item">
|
|
<a href="/resources/organizations" class="main__link" data-drupal-link-system-path="node/17763">Organizations</a>
|
|
</li>
|
|
<li class="main__item is-expanded">
|
|
<a href="/alternatives" class="main__link" data-drupal-link-system-path="node/30871">Open source alternatives</a>
|
|
|
|
<ul class="main__submenu">
|
|
|
|
<li class="main__item">
|
|
<a href="/alternatives/adobe-acrobat" class="main__link" data-drupal-link-system-path="node/29486">Alternatives to Acrobat</a>
|
|
</li>
|
|
<li class="main__item">
|
|
<a href="/alternatives/autocad" class="main__link" data-drupal-link-system-path="node/29001">Alternatives to AutoCAD</a>
|
|
</li>
|
|
<li class="main__item">
|
|
<a href="/alternatives/dreamweaver" class="main__link" data-drupal-link-system-path="node/27646">Alternatives to Dreamweaver</a>
|
|
</li>
|
|
<li class="main__item">
|
|
<a href="/alternatives/gmail" class="main__link" data-drupal-link-system-path="node/22941">Alternatives to Gmail</a>
|
|
</li>
|
|
<li class="main__item">
|
|
<a href="/alternatives/matlab" class="main__link" data-drupal-link-system-path="node/29276">Alternatives to MATLAB</a>
|
|
</li>
|
|
<li class="main__item">
|
|
<a href="/alternatives/minecraft" class="main__link" data-drupal-link-system-path="node/22786">Alternatives to Minecraft</a>
|
|
</li>
|
|
<li class="main__item">
|
|
<a href="/alternatives/google-photos" class="main__link" data-drupal-link-system-path="node/27211">Alternatives to Google Photos</a>
|
|
</li>
|
|
<li class="main__item">
|
|
<a href="/life/12/6/design-without-debt-five-tools-for-designers" class="main__link" data-drupal-link-system-path="node/16365">Alternatives to Photoshop</a>
|
|
</li>
|
|
<li class="main__item">
|
|
<a href="/alternatives/skype" class="main__link" data-drupal-link-system-path="node/45576">Alternatives to Skype</a>
|
|
</li>
|
|
<li class="main__item">
|
|
<a href="/alternatives/slack" class="main__link" data-drupal-link-system-path="node/23286">Alternatives to Slack</a>
|
|
</li>
|
|
<li class="main__item">
|
|
<a href="/alternatives/trello" class="main__link" data-drupal-link-system-path="node/22546">Alternatives to Trello</a>
|
|
</li>
|
|
<li class="main__item">
|
|
<a href="/alternatives" class="main__link" data-drupal-link-system-path="node/30871">More...</a>
|
|
</li>
|
|
</ul>
|
|
|
|
</li>
|
|
<li class="main__item">
|
|
<a href="/resources/linux" class="main__link" data-drupal-link-system-path="node/19796">Linux</a>
|
|
</li>
|
|
</ul>
|
|
|
|
</li>
|
|
<li class="main__item">
|
|
<a href="/downloads" class="main__link" data-drupal-link-system-path="downloads">Downloads</a>
|
|
</li>
|
|
<li class="main__item">
|
|
<a href="/faq" class="main__link" data-drupal-link-system-path="node/62466">Frequently Asked Questions</a>
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
|
|
</nav>
|
|
<div class="views-exposed-form block block-views block-views-exposed-filter-blockacquia-search-page" data-drupal-selector="views-exposed-form-acquia-search-page" id="block-exposedformacquia-searchpage">
|
|
|
|
|
|
<form action="/site-search" method="get" id="views-exposed-form-acquia-search-page" accept-charset="UTF-8">
|
|
<div class="form--inline clearfix">
|
|
<div class="js-form-item form-item js-form-type-textfield form-type-textfield js-form-item-search form-item-search">
|
|
<label for="edit-search">Search</label>
|
|
<input placeholder="Search" data-drupal-selector="edit-search" type="text" id="edit-search" name="search" value size="30" maxlength="128" class="form-text">
|
|
|
|
</div>
|
|
<div data-drupal-selector="edit-actions" class="form-actions js-form-wrapper form-wrapper" id="edit-actions--4"><input data-drupal-selector="edit-submit-acquia-search" type="submit" id="edit-submit-acquia-search" value="Go" class="button js-form-submit form-submit">
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<main>
|
|
<a id="main-content" tabindex="-1"></a>
|
|
<div class="wrapper wrapper--870">
|
|
<div class="region region-content">
|
|
<div id="block-osdc-page-title" class="block block-core block-page-title-block">
|
|
|
|
|
|
|
|
<h1 class="published page-title">
|
|
<span class="field field--name-title field--type-string field--label-hidden">Ops: It's everyone's job now</span>
|
|
|
|
</h1>
|
|
|
|
|
|
</div>
|
|
<div id="block-mainpagecontent" class="block block-system block-system-main-block">
|
|
|
|
|
|
|
|
<article class="node node--type-article node--promoted node--view-mode-full">
|
|
|
|
|
|
<div class="article__subhead">The last decade was all about teaching sysadmins to write code. The next challenge will be teaching operations to software developers. </div>
|
|
|
|
<footer class="author__meta">
|
|
<div class="author__submitted">
|
|
<div class="author__list">
|
|
By
|
|
<article class="profile">
|
|
<a href="/users/charity" hreflang="en">Charity</a>
|
|
|
|
</article>
|
|
|
|
</div>
|
|
<div class="author__meta-date-container">
|
|
<span class="author__meta-date">July 28, 2017</span> <span class="author__date-pipe">|</span>
|
|
<a href="#comments"><span class="author__comment-count">2 Comments </span></a>
|
|
<span class="author__date-pipe">|</span>
|
|
<pfe-readtime class="pf-global--FontSize--lg" for="#article_content" hidden>%t min read</pfe-readtime>
|
|
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
<div id="article_content" class="author__content">
|
|
|
|
<div class="layout layout--onecol">
|
|
<div class="layout__region layout__region--content">
|
|
<div class="block block-layout-builder block-extra-field-blocknodearticlerate-rate-widget">
|
|
|
|
|
|
<div class="rate-widget thumbsup"><form class="node-article-37941-updown-rate-widget-0 vote-form" id="rate-widget-base-form" data-drupal-selector="node-article-37941-updown-rate-widget-0" action="/article/17/7/state-systems-administration" method="post" accept-charset="UTF-8">
|
|
<div class="rate-widget-thumbs-up">
|
|
<div class="thumbsup-rating-wrapper rate-disabled" can-edit="false"><div class="form-item js-form-item form-type-radio js-form-type-radio form-item-value js-form-item-value form-disabled">
|
|
<label class="form-item js-form-item form-type-radio js-form-type-radio form-item-value js-form-item-value form-disabled rating-label thumbsup-rating-label thumbsup-rating-label-up vote-pending rate-thumbs-up-btn-up"><input twig-suggestion="rating-input" class="rating-input thumbsup-rating-input form-radio" data-drupal-selector="edit-value-1" disabled="disabled" type="radio" id="edit-value-1" name="value" value="1">
|
|
</label>
|
|
</div>
|
|
</div><input data-drupal-selector="form-8syresouz5ucuvoel8solc-s3xcayzna7vdgef25g3u" type="hidden" name="form_build_id" value="form-8SyreSOUz5UCUVOel8soLC_S3XcAyznA7VDGeF25G3U">
|
|
<input data-drupal-selector="edit-node-article-37941-updown-rate-widget-0" type="hidden" name="form_id" value="node_article_37941_updown_rate_widget_0">
|
|
<input class="thumbsup-rating-submit button button--primary js-form-submit form-submit" data-drupal-selector="edit-submit" data-disable-refocus="true" type="submit" id="edit-submit--2" name="op" value="Save">
|
|
<div class="vote-result js-form-wrapper form-wrapper" data-drupal-selector="edit-result" id="edit-result"><div class="rate-widget-thumbs-up rate-score">
|
|
605 readers like this. </div>
|
|
</div>
|
|
|
|
<div class="rate-score"></div>
|
|
</div>
|
|
|
|
|
|
</form>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="block block-layout-builder block-extra-field-blocknodearticlecontent-moderation-control">
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="layout layout--onecol">
|
|
<div class="layout__region layout__region--content">
|
|
<div class="block block-layout-builder block-field-blocknodearticlefield-lead-image">
|
|
|
|
|
|
|
|
<div class="field field--name-field-lead-image field--type-entity-reference field--label-hidden field__item"><article class="media media--type-image media--view-mode-caption">
|
|
|
|
|
|
<div class="field field--name-field-media-image field--type-image field--label-hidden field__item"> <img loading="lazy" src="/sites/default/files/lead-images/rh_003499_01_other11x_cc.png" width="520" height="292" alt="Perl tricks for system administrators" title="Perl tricks for system administrators">
|
|
|
|
</div>
|
|
|
|
<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>Opensource.com</p>
|
|
</div>
|
|
|
|
</article>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="block block-layout-builder block-field-blocknodearticlebody">
|
|
|
|
|
|
|
|
<div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p><em>Today is <a href="https://en.wikipedia.org/wiki/System_Administrator_Appreciation_Day" target="_blank">Sysadmin Appreciation Day</a>. Turn to your nearest and dearest systems administrator and be sure to thank them for the work they do.</em></p>
|
|
<p>"Ops is over."<br>
|
|
"Sysadmins? That's so old school."<br>
|
|
"All the <em>good</em> engineering teams are automating operations out of existence."</p>
|
|
<p>Do you hear this a lot? I do. People love to say that ops is dead. And sure, you can define "ops" to mean all kinds of unpleasant things, many of which <em>should</em> die. But that would be neither accurate nor particularly helpful.</p>
|
|
<p></p><div class="embedded-callout-text callout-float-right">Ops is how you get stuff done.</div>
|
|
<p>Here's my definition of operations: <em>Operations is the constellation of your org's technical skills, practices, and cultural values around designing, building, scaling and maintaining systems."</em>  Ops is the process of delivering value to users. Ops is where beautiful theory meets stubborn reality.</p>
|
|
<p>In other words, ops is how you get stuff done. It's not optional. You ship software, you do ops. If business is the "why" and dev is the "what," ops is the "how." We are all interwoven and we all participate in each other's mandates.</p>
|
|
<h2>Then</h2>
|
|
<p>Twenty years ago ops engineers were called "sysadmins," and we spent our time tenderly caring for a few precious servers. And then DevOps came along. DevOps means lots of things to lots of people, but one thing it unquestionably meant to lots and lots of people was this: "Dear Ops: learn to write code."</p>
|
|
<p></p><div class="embedded-callout-text callout-float-left">Business is the "why," dev is the "what," and ops is the "how."</div>
|
|
<p>It was a hard transition for many, but it was an unequivocally good thing. We <em>needed</em> those skills! Complexity was skyrocketing. We could no longer do our jobs without automation, so we needed to learn to write code. It was non-optional. </p>
|
|
<h2>Now</h2>
|
|
<p>It's been 10-15 years since the dawn of the automation age, and we're already well into the early years of its replacement: the era of distributed systems.</p>
|
|
<p>Consider the prevailing trends in infrastructure: containers, schedulers, orchestrators. Microservices. Distributed data stores, polyglot persistence. Infrastructure is becoming ever more ephemeral and composable, loosely coupled over lossy networks.  Components are shrinking in size while multiplying in count, by orders of magnitude in both directions.  </p>
|
|
<p></p><div class="embedded-callout-text callout-float-right">We are in the early days of a new era of distributed systems.</div>
|
|
<p>And then on the client side: take mobile, for heaven's sake.  The combinatorial explosion of (device types * firmwares * operating systems * apps) is a quantum leap in complexity on its own. Mix that in with distributed cache strategy, eventual consistency, datastores that split their brain between client and server, IoT, and the outsourcing of critical components to third-party vendors (which are effectively black boxes), and you start to see why <strong>we are all distributed systems engineers</strong> in the near and present future.</p>
|
|
<p>All this change demands another fundamental shift in thought and approach. You aren't just writing code: you're building systems. Distributed systems require dramatically more focus on operability and resiliency. Compared to the old monoliths that we could manage using monitoring and automation, the new systems require new assumptions:</p>
|
|
<ul>
|
|
<li>Distributed systems are never "up"; they exist in a constant state of partially degraded service. Accept failure, design for resiliency, protect and shrink the critical path.</li>
|
|
<li>You can't hold the entire system in your head or reason about it; you will live or die by the thoroughness of your instrumentation and observability tooling</li>
|
|
<li>You need robust service registration and discovery, load balancing, and backpressure between every combination of components</li>
|
|
<li>You need to learn to integrate third-party services; many core functions will be outsourced to teams or companies that you have no direct visibility into or influence upon</li>
|
|
<li>You <em>have</em> to test in production, and you have to do so safely; you cannot spin up a staging copy of a large distributed system</li>
|
|
</ul>
|
|
<p>What do all of these have in common? They're all hallmarks of great operations engineering. And they're no longer optional either. In other words: "Dear software engineers: time to learn ops."</p>
|
|
<p></p><div class="embedded-callout-text callout-float-left">Dear software engineers: It's time to learn ops.</div>
|
|
<h2>Ops: it's everyone's job now</h2>
|
|
<p>If the first wave of DevOps transformation focused on leveling up ops teams at writing code, the second wave flips the script. You simply can't develop quality software for distributed systems without constant attention to its operability, maintainability, and debuggability. You can't build modern software without a grounding in ops.</p>
|
|
<p>This transformation is well underway, and the evidence is everywhere—venture dollars pouring into "ops for devs" tooling, the maturing consensus that devs must share the on-call rotation, software engineers popping up at traditionally ops-minded conferences, etc. Ops for devs is officially here.</p>
|
|
<p>This is a good thing! It was good for ops to learn to write code, and it is good for devs to learn to own their own services. All of these changes lead to better software, tighter feedback loops, more robust practices in the face of still-exploding complexity.</p>
|
|
<p>So no, ops isn't going anywhere. It just doesn't look like it used to. Soon it might even look like a software engineer.</p>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="block block-layout-builder block-field-blocknodearticlefield-listicle-title">
|
|
|
|
|
|
|
|
<div class="hidden field field--name-field-listicle-title field--type-string field--label-hidden field__item">What to read next</div>
|
|
|
|
</div>
|
|
<div class="block block-layout-builder block-field-blocknodearticlefield-tags">
|
|
|
|
|
|
|
|
<div class="field field--name-field-tags field--type-entity-reference field--label-inline clearfix">
|
|
<div class="field__label">Tags</div>
|
|
<div class="field__items">
|
|
<div class="field__item"><a href="/tags/sysadmin" hreflang="en">Sysadmin</a></div>
|
|
<div class="field__item"><a href="/tags/devops" hreflang="en">DevOps</a></div>
|
|
<div class="field__item"><a href="/tags/2017-open-source-yearbook" hreflang="en">2017 Open Source Yearbook</a></div>
|
|
<div class="field__item"><a href="/tags/yearbook" hreflang="en">Yearbook</a></div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="views-element-container author-block block block-views block-views-blockauthor-info-author-info">
|
|
<div class="author-block__wrapper">
|
|
|
|
|
|
<div><div class="view view-author-info view-id-author_info view-display-id-author_info js-view-dom-id-a6ecf24726041e96f8fe55bf67e8760d19b0d091c3c90266da301226e1e57619">
|
|
|
|
|
|
|
|
<div class="view-content">
|
|
<div class="views-row"><div class="views-field views-field-field-display-name"><div class="field-content"><a href="/users/charity" hreflang="en">Charity</a></div></div><div class="views-field views-field-field-user-picture"><div class="field-content"><article class="media media--type-image media--view-mode-_50x150">
|
|
|
|
|
|
<div class="field field--name-field-media-image field--type-image field--label-hidden field__item"> <img loading="lazy" src="/sites/default/files/styles/150x150/public/pictures/charity-stripe-hoodie-2.jpg?itok=5ZwaMcvl" width="150" height="150" alt="User profile image." class="image-style-_50x150">
|
|
|
|
|
|
</div>
|
|
|
|
</article>
|
|
</div></div><div class="views-field views-field-field-user-about"><span class="field-content">Engineer and cofounder/CEO of Honeycomb, a nextgen tool for helping software engineers understand their containers/schedulers/microservicified distributed systems and polyglot persistence layers. Likes: databases, operations under pressure, expensive whiskey. Hates: databases, flappy pages, cheap whiskey. Probably swears more than you.</span></div><div class="views-field views-field-nothing"><span class="field-content"><a href="/users/charity">More about me</a></span></div></div>
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="views-element-container author-block block block-views block-views-blockauthor-info-block-1">
|
|
<div class="author-block__wrapper plain">
|
|
|
|
|
|
<div><div class="view view-author-info view-id-author_info view-display-id-block_1 js-view-dom-id-b57f618d71cb3dfc56ba79cbb6a55afc3c329a11af21692fd26325448d4cc985">
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="block block-layout-builder block-field-blocknodearticlefield-comments">
|
|
|
|
|
|
<section id="comments" class="field field--name-field-comments field--type-comment field--label-hidden comment-wrapper">
|
|
|
|
|
|
<div class="comments__count">
|
|
<h2>2 Comments</h2>
|
|
<div class="login">These comments are closed.</div>
|
|
</div>
|
|
|
|
|
|
<article data-comment-user-id="0" id="comment-138016" class="comment js-comment by-anonymous">
|
|
<mark class="hidden" data-comment-timestamp="1501602440"></mark>
|
|
|
|
<footer class="comment__meta">
|
|
<article class="media media--type-image media--view-mode-byline">
|
|
|
|
|
|
<div class="field field--name-field-media-image field--type-image field--label-hidden field__item"> <img loading="lazy" src="/sites/default/files/styles/medium/public/osdc_default_avatar_1.png?itok=G0WcUo3c" width="100" height="100" alt="Avatar" title="Avatar" class="image-style-medium">
|
|
|
|
|
|
</div>
|
|
|
|
</article>
|
|
|
|
<div>
|
|
<div class="comment__submitted">
|
|
Hanran | August 1, 2017
|
|
<div class="rate-widget thumbsup"><form class="comment-content-138016-updown-rate-widget-0 vote-form" id="rate-widget-base-form--2" data-drupal-selector="comment-content-138016-updown-rate-widget-0" action="/article/17/7/state-systems-administration" method="post" accept-charset="UTF-8">
|
|
<div class="rate-widget-thumbs-up">
|
|
<div class="thumbsup-rating-wrapper rate-disabled" can-edit="false"><div class="form-item js-form-item form-type-radio js-form-type-radio form-item-value js-form-item-value form-disabled">
|
|
<label class="form-item js-form-item form-type-radio js-form-type-radio form-item-value js-form-item-value form-disabled rating-label thumbsup-rating-label thumbsup-rating-label-up vote-pending rate-thumbs-up-btn-up"><input twig-suggestion="rating-input" class="rating-input thumbsup-rating-input form-radio" data-drupal-selector="edit-value-1-2" disabled="disabled" type="radio" id="edit-value-1--2" name="value" value="1">
|
|
</label>
|
|
</div>
|
|
</div><input data-drupal-selector="form-kn-6qbshfi-6haey87cueg3kxrooui34voqxxjgkck8" type="hidden" name="form_build_id" value="form-kn_6QBShfI_6hAeY87CUEG3KxRoOUI34VOQXxjGkCk8">
|
|
<input data-drupal-selector="edit-comment-content-138016-updown-rate-widget-0" type="hidden" name="form_id" value="comment_content_138016_updown_rate_widget_0">
|
|
<input class="thumbsup-rating-submit button button--primary js-form-submit form-submit" data-drupal-selector="edit-submit" data-disable-refocus="true" type="submit" id="edit-submit--4" name="op" value="Save">
|
|
<div class="vote-result js-form-wrapper form-wrapper" data-drupal-selector="edit-result" id="edit-result--2"><div class="rate-widget-thumbs-up rate-score">
|
|
No readers like this yet.
|
|
</div>
|
|
</div>
|
|
|
|
<div class="rate-score"></div>
|
|
</div>
|
|
|
|
|
|
</form>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="content">
|
|
|
|
<div class="clearfix text-formatted field field--name-comment-body field--type-text-long field--label-hidden field__item"><p>Hi,<br>
|
|
I like your article, especially the list of assumptions about new system. However, I am a developer new in Ops fields, so, I am looking for good professional, real world references and documentation.<br>
|
|
Would you have any recommandation?<br>
|
|
Thank you.</p>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</footer>
|
|
|
|
</article>
|
|
|
|
|
|
<article data-comment-user-id="163531" id="comment-138856" class="comment js-comment">
|
|
<mark class="hidden" data-comment-timestamp="1502435413"></mark>
|
|
|
|
<footer class="comment__meta">
|
|
<article class="media media--type-image media--view-mode-byline">
|
|
|
|
|
|
<div class="field field--name-field-media-image field--type-image field--label-hidden field__item"> <img loading="lazy" src="/sites/default/files/styles/medium/public/osdc_default_avatar_1.png?itok=G0WcUo3c" width="100" height="100" alt="Avatar" title="Avatar" class="image-style-medium">
|
|
|
|
|
|
</div>
|
|
|
|
</article>
|
|
|
|
<div>
|
|
<div class="comment__submitted">
|
|
<a href="/users/haghighi">Ahmad Haghighi</a> | August 11, 2017
|
|
<div class="rate-widget thumbsup"><form class="comment-content-138856-updown-rate-widget-0 vote-form" id="rate-widget-base-form--3" data-drupal-selector="comment-content-138856-updown-rate-widget-0" action="/article/17/7/state-systems-administration" method="post" accept-charset="UTF-8">
|
|
<div class="rate-widget-thumbs-up">
|
|
<div class="thumbsup-rating-wrapper rate-disabled" can-edit="false"><div class="form-item js-form-item form-type-radio js-form-type-radio form-item-value js-form-item-value form-disabled">
|
|
<label class="form-item js-form-item form-type-radio js-form-type-radio form-item-value js-form-item-value form-disabled rating-label thumbsup-rating-label thumbsup-rating-label-up vote-pending rate-thumbs-up-btn-up"><input twig-suggestion="rating-input" class="rating-input thumbsup-rating-input form-radio" data-drupal-selector="edit-value-1-3" disabled="disabled" type="radio" id="edit-value-1--3" name="value" value="1">
|
|
</label>
|
|
</div>
|
|
</div><input data-drupal-selector="form-erre27l5sukyvj-ojroca-vloay8tmvep8reqeahzsu" type="hidden" name="form_build_id" value="form-erRE27L5suKyVj-ojROca_VLOaY8TmVep8REQeaHZsU">
|
|
<input data-drupal-selector="edit-comment-content-138856-updown-rate-widget-0" type="hidden" name="form_id" value="comment_content_138856_updown_rate_widget_0">
|
|
<input class="thumbsup-rating-submit button button--primary js-form-submit form-submit" data-drupal-selector="edit-submit" data-disable-refocus="true" type="submit" id="edit-submit--6" name="op" value="Save">
|
|
<div class="vote-result js-form-wrapper form-wrapper" data-drupal-selector="edit-result" id="edit-result--3"><div class="rate-widget-thumbs-up rate-score">
|
|
No readers like this yet.
|
|
</div>
|
|
</div>
|
|
|
|
<div class="rate-score"></div>
|
|
</div>
|
|
|
|
|
|
</form>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="content">
|
|
|
|
<div class="clearfix text-formatted field field--name-comment-body field--type-text-long field--label-hidden field__item"><p>Exactly!!</p>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</footer>
|
|
|
|
</article>
|
|
|
|
|
|
|
|
</section>
|
|
|
|
</div>
|
|
<div class="views-element-container related-articles block block-views block-views-blockrelated-articles-related-articles">
|
|
|
|
<h2 class="related-articles__title">Related Content</h2>
|
|
|
|
<div><div class="view view-related-articles view-id-related_articles view-display-id-related_articles js-view-dom-id-86cd31823693077b0a9edf491f89c5a622e9c652db9cfc58c4a1bfedbad3c371">
|
|
|
|
|
|
|
|
<div class="view-content">
|
|
<div class="views-row"><div class="views-field views-field-field-lead-image"><div class="field-content"> <a href="/article/23/4/my-website-compromised" hreflang="en"><img loading="lazy" src="/sites/default/files/styles/222x125/public/lead-images/security_password_chaos_engineer_monster.png?itok=1rlWrm0Q" width="222" height="125" alt="Security monster" title="Security monster" class="image-style-_22x125">
|
|
|
|
</a>
|
|
</div></div><div class="views-field views-field-title"><span class="field-content"><a href="/article/23/4/my-website-compromised" hreflang="en">How I learned the hard way to keep my website updated</a></span></div></div>
|
|
<div class="views-row"><div class="views-field views-field-field-lead-image"><div class="field-content"> <a href="/article/23/3/3-things-you-didnt-know-systemd-could-do" hreflang="en"><img loading="lazy" src="/sites/default/files/styles/222x125/public/lead-images/yearbook-haff-rx-linux-file-lead_0.png?itok=cY_J8Rmm" width="222" height="125" alt="Why the operating system matters even more in 2017" title="Why the operating system matters even more in 2017" class="image-style-_22x125">
|
|
|
|
</a>
|
|
</div></div><div class="views-field views-field-title"><span class="field-content"><a href="/article/23/3/3-things-you-didnt-know-systemd-could-do" hreflang="en">3 surprising things Linux sysadmins can do with systemd</a></span></div></div>
|
|
<div class="views-row"><div class="views-field views-field-field-lead-image"><div class="field-content"> <a href="/article/23/2/automate-common-tasks-rundeck" hreflang="en"><img loading="lazy" src="/sites/default/files/styles/222x125/public/lead-images/team_dev_email_chat_video_work_wfm_desk_520.png?itok=H-wvpztI" width="222" height="125" alt="Working on a team, busy worklife" title="Working on a team, busy worklife" class="image-style-_22x125">
|
|
|
|
</a>
|
|
</div></div><div class="views-field views-field-title"><span class="field-content"><a href="/article/23/2/automate-common-tasks-rundeck" hreflang="en">Delegate common tasks with an open source automation tool</a></span></div></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="block block-layout-builder block-field-blocknodearticlefield-default-license">
|
|
|
|
|
|
|
|
<div class="field field--name-field-default-license field--type-list-string field--label-hidden field__item"><a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/">
|
|
<img alt="Creative Commons License" src="/themes/osdc/assets/img/cc-by-sa-4.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>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</article>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</main>
|
|
|
|
<footer class="global_footer">
|
|
<div class="wrapper">
|
|
<div class="region region-left-footer">
|
|
<div id="block-aboutthissitefooter" class="block block-block-content block-block-content1d00183d-1f84-4ed3-9367-c632014cd322">
|
|
|
|
<h2>About This Site</h2>
|
|
|
|
|
|
<div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>The opinions expressed on this website are those of each author, not of the author's employer or of Red Hat.</p>
|
|
<p><a href="/">Opensource.com</a> aspires to publish all content under a <a href="https://creativecommons.org/licenses/">Creative Commons license</a> but may not be able to do so in all cases. You are responsible for ensuring that you have the necessary permission to reuse any work on this site. Red Hat and the Red Hat logo are trademarks of Red Hat, LLC, registered in the United States and other countries.</p>
|
|
<p>A note on advertising: Opensource.com does not sell advertising on the site or in any of its newsletters.</p>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="region region-right-footer">
|
|
<div id="block-sitebranding" class="block block-system block-system-branding-block">
|
|
|
|
|
|
<div class="branding">
|
|
<a href="/" rel="home" aria-label class="branding__logo">
|
|
<img src="/themes/osdc/logo.svg" alt="Home">
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="region region-copyright">
|
|
<div id="block-copyrightfooter" class="block block-block-content block-block-contentc0a744a4-2740-4f8a-a693-ee8d7cb5ff86">
|
|
|
|
|
|
|
|
<div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Copyright ©<span id="copyright-year">2021</span> Red Hat, LLC</p>
|
|
</div>
|
|
|
|
</div>
|
|
<nav role="navigation" aria-labelledby="block-legal-menu" id="block-legal" class="block block-menu navigation menu--legal">
|
|
|
|
<h2 class="visually-hidden" id="block-legal-menu">Legal</h2>
|
|
|
|
|
|
|
|
<ul class="menu">
|
|
<li class="menu-item">
|
|
<a href="/privacy-policy" data-drupal-link-system-path="node/17705">Privacy Policy</a>
|
|
</li>
|
|
<li class="menu-item">
|
|
<a href="/legal" data-drupal-link-system-path="legal">Terms of use</a>
|
|
</li>
|
|
<li class="menu-item">
|
|
<span id="teconsent"></span>
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
|
|
</nav>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div id="consent_blackbar"></div>
|
|
|
|
</footer>
|
|
</div>
|
|
</div>
|
|
|
|
<cpx-reporter event="User Detected" auto><script type="data">{"loggedIn":false}</script>
|
|
</cpx-reporter>
|
|
<cpx-reporter auto event="Page Load Completed"></cpx-reporter>
|
|
<script type="application/json" data-drupal-selector="drupal-settings-json">{"path":{"baseUrl":"\/","pathPrefix":"","currentPath":"node\/37941","currentPathIsAdmin":false,"isFront":false,"currentLanguage":"en"},"pluralDelimiter":"\u0003","suppressDeprecationErrors":true,"ajaxPageState":{"libraries":"eJxVUVtyxCAMuxCEI2UIuIFdg6kN2aanr_PYafsBIwlbBhHQi-xu8QImXDjXCLVDfPMCIn4FefNKUWt1k5pbg-7-4CnlNaGu_tB6KkWdXOTRPE43tctutwwvYC1g0HEduOr543MA79MHcblOqiKP-RtM9N2j34HnAl3x6kL7mhkasTbP6tyoqrfRIhp9jlkCbermVA6EhiQG50dPxHZBCs9_ymF6Cfcd5WIr0uLv5kZ4Iwb0Go8NpDfXmaco4Dkkc1S933tgi7k-xbA2uFE36mATYNO3n9LL9jTKIqMZTjo7wjZ7zWLvOYiL6vKrHxnMZwjunmxzh2ID5vDU35JdlF4_eeQr7tynQnEg_ACxI73O","theme":"osdc","theme_token":null},"ajaxTrustedUrl":{"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM":true,"\/article\/17\/7\/state-systems-administration?ajax_form=1":true,"\/site-search":true},"ajax":{"edit-submit--6":{"disable-refocus":true,"callback":"::ajaxSubmit","event":"click","wrapper":"rate-widget-base-form--3","progress":{"type":null},"url":"\/article\/17\/7\/state-systems-administration?ajax_form=1","httpMethod":"POST","dialogType":"ajax","submit":{"_triggering_element_name":"op","_triggering_element_value":"Save"}},"edit-submit--4":{"disable-refocus":true,"callback":"::ajaxSubmit","event":"click","wrapper":"rate-widget-base-form--2","progress":{"type":null},"url":"\/article\/17\/7\/state-systems-administration?ajax_form=1","httpMethod":"POST","dialogType":"ajax","submit":{"_triggering_element_name":"op","_triggering_element_value":"Save"}},"edit-submit--2":{"disable-refocus":true,"callback":"::ajaxSubmit","event":"click","wrapper":"rate-widget-base-form","progress":{"type":null},"url":"\/article\/17\/7\/state-systems-administration?ajax_form=1","httpMethod":"POST","dialogType":"ajax","submit":{"_triggering_element_name":"op","_triggering_element_value":"Save"}}},"user":{"uid":0,"permissionsHash":"bc13164d8931f8d14b743e3c22c9159308b51a70c1eafe240ce98221f01ff908"}}</script>
|
|
<script src="/sites/default/files/js/js_Wlv6wa8kL6PCkC1orXiTY8r2QgMkdPttdi_yc1ADois.js?scope=footer&delta=0&language=en&theme=osdc&include=eJxNT1sSwyAIvJDGIzlGaTRVsYhJvX3pa9oPZpZddoHg2GU3gWwBFrwZ3-6WoCGxkB5LwwqVFUXBAQ4bZMq-LMZjZdF0Yija5-SvEBT24M2WcXX5jd3giKSf-UoyijhMoNFcXj6tXqc-EpxAihyDGfVABh0hty91ao6jrH00ySAwSTZTlYj9NoDmckEqogToNbUGbP7wEtMWsxTv_feHE_fk5LsJcsoDo0hnbw"></script>
|
|
<script src="/themes/osdc/node_modules/%40patternfly/pfe-readtime/dist/pfe-readtime.min.js?sqka6y" type="module"></script>
|
|
<script src="/sites/default/files/js/js_1iq4NLQ-hqHdXTq7H1u5V5e5_FLPqt3wDRjw2y_2tk4.js?scope=footer&delta=2&language=en&theme=osdc&include=eJxNT1sSwyAIvJDGIzlGaTRVsYhJvX3pa9oPZpZddoHg2GU3gWwBFrwZ3-6WoCGxkB5LwwqVFUXBAQ4bZMq-LMZjZdF0Yija5-SvEBT24M2WcXX5jd3giKSf-UoyijhMoNFcXj6tXqc-EpxAihyDGfVABh0hty91ao6jrH00ySAwSTZTlYj9NoDmckEqogToNbUGbP7wEtMWsxTv_feHE_fk5LsJcsoDo0hnbw"></script>
|
|
|
|
</body>
|
|
</html>
|