Files
nexus/sreweekly/html/60-2017-02-20.html
2026-09-12 17:23:01 +08:00

440 lines
38 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="initial-scale=1.0" />
<title>SRE Weekly Issue #60 &#8211; SRE WEEKLY</title>
<meta name='robots' content='max-image-preview:large' />
<link rel="profile" href="http://gmpg.org/xfn/11" />
<link rel="pingback" href="https://sreweekly.com/xmlrpc.php" />
<link rel="alternate" type="application/rss+xml" title="SRE WEEKLY &raquo; Feed" href="https://sreweekly.com/feed/" />
<link rel="alternate" type="application/rss+xml" title="SRE WEEKLY &raquo; Comments Feed" href="https://sreweekly.com/comments/feed/" />
<link rel="alternate" type="application/rss+xml" title="SRE WEEKLY &raquo; SRE Weekly Issue #60 Comments Feed" href="https://sreweekly.com/sre-weekly-issue-60/feed/" />
<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://sreweekly.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fsreweekly.com%2Fsre-weekly-issue-60%2F" />
<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://sreweekly.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fsreweekly.com%2Fsre-weekly-issue-60%2F&#038;format=xml" />
<style id="wp-img-auto-sizes-contain-inline-css">
img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
</style>
<style id="wp-block-library-inline-css">
:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */
</style>
<style id="classic-theme-styles-inline-css">
/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
/*# sourceURL=/wp-includes/css/classic-themes.min.css */
</style>
<style id="global-styles-inline-css">
:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
/*# sourceURL=global-styles-inline-css */
</style>
<link rel='stylesheet' id='genericons-css' href='https://sreweekly.com/wp-content/themes/frontier/includes/genericons/genericons.css?ver=1.3.5' media='all' />
<link rel='stylesheet' id='frontier-main-css' href='https://sreweekly.com/wp-content/themes/frontier/style.css?ver=1.3.5' media='all' />
<link rel='stylesheet' id='frontier-responsive-css' href='https://sreweekly.com/wp-content/themes/frontier/responsive.css?ver=1.3.5' media='all' />
<script id="jquery-core-js" src="https://sreweekly.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
<script id="jquery-migrate-js" src="https://sreweekly.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
<link rel="https://api.w.org/" href="https://sreweekly.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://sreweekly.com/wp-json/wp/v2/posts/462" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://sreweekly.com/xmlrpc.php?rsd" />
<meta name="generator" content="WordPress 7.1" />
<link rel="canonical" href="https://sreweekly.com/sre-weekly-issue-60/" />
<link rel='shortlink' href='https://sreweekly.com/?p=462' />
<meta property="Frontier Theme" content="1.3.5" />
<style type="text/css" media="screen">
#container {width: 960px;}
#header {min-height: 0px;}
#content {width: 65%;}
#sidebar-left {width: 35%;}
#sidebar-right {width: 35%;}
</style>
<style type="text/css" media="screen">
.page-template-page-cs-php #content, .page-template-page-sc-php #content {width: 65%;}
.page-template-page-cs-php #sidebar-left, .page-template-page-sc-php #sidebar-left,
.page-template-page-cs-php #sidebar-right, .page-template-page-sc-php #sidebar-right {width: 35%;}
.page-template-page-scs-php #content {width: 50%;}
.page-template-page-scs-php #sidebar-left {width: 25%;}
.page-template-page-scs-php #sidebar-right {width: 25%;}
</style>
<style type="text/css" media="screen">
#header {background-color:#FFFFFF;}
#nav-main {background-color:#096572;}
#nav-main .nav-main {border-left: 1px solid #003d4a; border-right: 1px solid #278390;}
#nav-main .nav-main > li, #nav-main .nav-main > ul > .page_item {border-left: 1px solid #278390; border-right: 1px solid #003d4a;}
#top-bar {background-color:#222222;}
#bottom-bar {background-color:#222222;}
#main {background-color:#F5F5F5;}
.blog-view, .single-view, .author-info, .archive-info, .form-404 {background-color:#FFFFFF;}
.blog-view.sticky {background-color:#FFDC8A;}
.frontier-widget {background-color:#FFFFFF;}
.blog-view, .comment-author-admin > .comment-body, .bypostauthor > .comment-body {border-top: 6px solid #047e90;}
.page-nav > *, .comment-nav > *, .author-info .title, .comment-reply-link, .widget-title,
.widget_search .search-submit, .widget_calendar caption {background-color:#047e90;}
.genericon {color:#047e90;}
a {color:#07525c;}
a:hover {color:#047e90;}
</style>
<style id="custom-background-css">
body.custom-background { background-image: url("https://sreweekly.com/wp-content/themes/frontier/images/honeycomb.png"); background-position: left top; background-size: auto; background-repeat: repeat; background-attachment: scroll; }
</style>
<link rel="icon" href="https://sreweekly.com/wp-content/uploads/2015/12/cropped-sreweekly-logo-axes-32x32.png" sizes="32x32" />
<link rel="icon" href="https://sreweekly.com/wp-content/uploads/2015/12/cropped-sreweekly-logo-axes-192x192.png" sizes="192x192" />
<link rel="apple-touch-icon" href="https://sreweekly.com/wp-content/uploads/2015/12/cropped-sreweekly-logo-axes-180x180.png" />
<meta name="msapplication-TileImage" content="https://sreweekly.com/wp-content/uploads/2015/12/cropped-sreweekly-logo-axes-270x270.png" />
<!-- Custom CSS -->
<style type="text/css" media="screen">
#header-logo {
padding: 3%;
width: 35em;
max-width: 100%;
}
H1, h2, h3, h4, h5, h6, #theme-link, #nav-main .nav-main a, #nav-top .nav-top a, .widget-title {
font-family: 'Roboto', Sans-serif;
}
.email_only {
display: none;
}
.pocket-post, .sreweekly-entry {
margin-top: 0.5em;
margin-bottom: 0.5em;
}
.pocket-title A,
.sreweekly-title A,
.sreweekly-outages LI A {
font-weight: bold;
}
.entry-content H2 {
margin-top: 1em;
}
.sreweekly-outage {
list-style-type: none !important;
}
.sreweekly-footer {
font-style: italic;
text-align: center;
}
.widget-footer {
background: rgb(228,228,228);
border: 1px solid black;
//box-shadow: 2px 2px 5px rgb(32,32,32);
box-shadow: 0 0 2px #181818;
}
IMG.sreweekly-bio {
border: 1px solid black;
box-shadow: 0 0 2px #333;
margin-right: 1em;
margin-bottom: 0.2em;
}
.page .entry-title {
text-transform: uppercase;
}
blockquote em {
font-weight: bold;
}
.sreweekly-sponsor-message {
border: 1px solid #b0b0b0;
margin-top: 2rem;
margin-bottom: 2rem;
margin-left: auto;
margin-right: auto;
padding-left: 1rem;
padding-right: 1rem;
width: 80%;
align: center;
}
.sreweekly-sponsor-message h2 {
text-align: center;
font-size: 75%;
color: #979797;
}
</style>
<!-- Custom CSS End -->
<link rel='stylesheet' id='yikes-inc-easy-mailchimp-public-styles-css' href='https://sreweekly.com/wp-content/plugins/yikes-inc-easy-mailchimp-extender/public/css/yikes-inc-easy-mailchimp-extender-public.min.css?ver=7.1' media='all' />
</head>
<body class="wp-singular post-template-default single single-post postid-462 single-format-standard custom-background wp-theme-frontier">
<div id="container" class="cf" itemscope itemtype="http://schema.org/WebPage">
<div id="header" class="cf" itemscope itemtype="http://schema.org/WPHeader" role="banner">
<div id="header-logo">
<a href="https://sreweekly.com/"><img src="https://sreweekly.com/wp-content/uploads/2015/12/sreweekly-header-axes-3.png" alt="SRE WEEKLY" /></a>
</div>
</div>
<nav id="nav-main" class="cf stack" itemscope itemtype="http://schema.org/SiteNavigationElement" role="navigation" aria-label="Main Menu">
<ul id="menu-main-menu" class="nav-main"><li id="menu-item-1487" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1487"><a href="https://sreweekly.com/about-sre-weekly-2/">About SRE Weekly</a></li>
<li id="menu-item-1488" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1488"><a href="https://sreweekly.com/bio/">Bio</a></li>
<li id="menu-item-1489" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1489"><a href="https://sreweekly.com/other-info/">Other Info</a></li>
<li id="menu-item-1490" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1490"><a href="https://sreweekly.com/sponsorship-information/">Sponsorship Information</a></li>
</ul>
</nav>
<div id="main" class="col-cs cf">
<div id="content" class="cf" itemscope itemtype="http://schema.org/Blog" role="main">
<article id="post-462" class="single-view post-462 post type-post status-publish format-standard hentry category-general" itemprop="blogPost" itemscope itemtype="http://schema.org/BlogPosting">
<header class="entry-header cf">
<h1 class="entry-title" itemprop="headline" ><a href="https://sreweekly.com/sre-weekly-issue-60/">SRE Weekly Issue #60</a></h1>
</header>
<div class="entry-byline cf">
<div class="entry-date" itemprop="datePublished" >
<i class="genericon genericon-day"></i><a class="updated" href="https://sreweekly.com/sre-weekly-issue-60/">February 20, 2017</a>
</div>
</div>
<div class="entry-content cf" itemprop="text" >
<a href="https://sreweekly.com/sre-weekly-issue-60/" title="Permalink to SRE Weekly Issue #60" class="email_only">View on sreweekly.com</a>
<p>Sorry I&#8217;m late this week!  My family experienced a low-redundancy event as two grown-ups and one kid (so far) have been laid low by Norovirus.</p>
<p>That said, I&#8217;m glad that the delay provided me the opportunity to share this first article so soon after it was published.</p>
<div class="sreweekly-sponsor-message" style="border: 1px solid #b0b0b0; padding-left: 1rem; padding-right: 1rem; width: 80%; align: center; margin: 2rem auto 2rem auto;">
<h2 style="text-align: center; font-size: 55%; color: #b0b0b0;">SPONSOR MESSAGE</h2>
<p>Interested in ChatOps? Get the free 75 page O’Reilly report covering everything from basic concepts to deployment strategies. <a href="http://try.victorops.com/sreweekly/chatops">http://try.victorops.com/sreweekly/chatops</a></p>
</div>
<h2>Articles</h2>
<div class="sreweekly-entry">
<div class="sreweekly-title"><a href="https://www.susanjfowler.com/blog/2017/2/19/reflecting-on-one-very-strange-year-at-uber" target="_blank">Reflecting on one very, very strange year at Uber</a></div>
<div class="sreweekly-description">
<p>Susan Fowler&#8217;s articles have been featured here several times previously, and she&#8217;s one of my all-time favorite authors. Now it seems that while she was busy <a href="http://www.susanjfowler.com/blog/2016/9/6/whos-on-call">writing</a> <a href="&quot;http://www.susanjfowler.com/blog/2016/10/13/the-ops-identity-crisis">awesome</a> <a href="http://www.susanjfowler.com/blog/2016/11/2/the-irreproducibility-of-bugs-in-large-scale-production-systems">articles</a> and a <a href="http://shop.oreilly.com/product/0636920053675.do">book</a>, she was also dealing with a terribly toxic and abhorrent environment of sexual harassment and discrimination at Uber. I can only be incredibly thankful that somehow, despite their apparent best efforts, Uber did not manage to drive Susan out of engineering as happens all to often in this kind of scenario.</p>
</div>
</div>
<div class="sreweekly-entry">
<div class="sreweekly-title"><a href="https://medium.com/@aickin/your-team-could-be-just-like-uber-especially-if-youre-certain-it-s-not-7d76cf491d0d#.hstgza7dk" target="_blank">Your Team Could Be Just Like Uber, Especially If You’re Certain It’s Not.</a></div>
<div class="sreweekly-description">
<p>Even, and perhaps <i>especially</i> if we think we&#8217;re doing a good job preventing the kind of abusive environment Susan described, it&#8217;s quite possible we&#8217;re just not aware of the problems. Likely, even. This kind of situation is unfortunately incredibly common.</p>
</div>
</div>
<div class="sreweekly-entry">
<div class="sreweekly-title"><a href="https://gitlab.com/gitlab-com/runbooks" target="_blank">GitLab.com / runbooks</a></div>
<div class="sreweekly-description">
<p>Wow, what a cool idea! GitLab open-sourced their runbooks. Not only are their runbooks well-structured and great as examples, some of them are general enough to apply to other companies.</p>
</div>
</div>
<div class="sreweekly-entry">
<div class="sreweekly-title"><a href="https://blog.skyliner.io/ship-small-diffs-741308bec0d1#.xeevfm77f" target="_blank">Ship Small Diffs</a></div>
<div class="sreweekly-description">
<blockquote><p>Every line of code has some probability of having an undetected flaw that will be seen in production. Process can affect that probability, but it cannot make it zero. Large diffs contain many lines, and therefore have a high probability of breaking when given real data and real traffic.</p></blockquote>
<p><small><em>Full disclosure: Heroku, my employer, is mentioned.</em></small><br />
<small><em>Thanks to Devops Weekly for this one.</em></small></p>
</div>
</div>
<div class="sreweekly-entry">
<div class="sreweekly-title"><a href="https://jvns.ca/blog/2017/02/17/mystery-swap/" target="_blank">Swapping, memory limits, and cgroups</a></div>
<div class="sreweekly-description">
<p><a href="http://www.acronymfinder.com/Today-I-Learned-(online-slang)-(TIL).html">TIL</a>: cgroup memory limits can cause a group of processes to use swap even when the system as a whole is not under memory pressure. Thanks again, Julia Evans!</p>
</div>
</div>
<div class="sreweekly-entry">
<div class="sreweekly-title"><a href="https://victorops.com/blog/firefighting-team-sport/" target="_blank">Firefighting is a Team Sport</a></div>
<div class="sreweekly-description">
<p>This week from VictorOps is nifty primer on structuring your team&#8217;s on-call and incident response. I love when a new concept catches my eye like this one:</p>
<blockquote><p>While much has been said about the importance of keeping after-action analysis blameless, I think it is doubly important to keep escalations blameless. A lone wolf toiling away in solitude makes for a great comic book, but rarely leads to effective resolution of incidents in complex systems.</p></blockquote>
<p><small><em>This article is published by my sponsor, VictorOps, but their sponsorship did not influence its inclusion in this issue.</em></small></p>
</div>
</div>
<div class="sreweekly-entry">
<div class="sreweekly-title"><a href="https://dzone.com/articles/how-we-improved-our-server-performance-to-100m-mes" target="_blank">How We Improved Our Server Performance</a></div>
<div class="sreweekly-description">
<p>Open source IoT platform ThingsBoard&#8217;s authors share a detailed account of how they diagnosed and fixed reliability and throughput issues in their software so that it could handle 30k incoming events per second.</p>
</div>
</div>
<div class="sreweekly-entry">
<div class="sreweekly-title"><a href="http://www.gamasutra.com/blogs/NickPruehs/20170214/291318/Building_a_Scalable_Online_Game_with_Azure__Part_1.php" target="_blank">Building a Scalable Online Game with Azure &#8211; Part 1</a></div>
<div class="sreweekly-description">
<p>There&#8217;s both theory and practice in this article, which opens with an architecture discussion and then continues into the steps to deploy a first verison in a testing Azure environment on your workstation.</p>
</div>
</div>
<div class="sreweekly-entry">
<div class="sreweekly-title"><a href="https://www.digitalocean.com/company/blog/load-balancers-simplifying-high-availability/" target="_blank">Load Balancers: Simplifying High Availability</a></div>
<div class="sreweekly-description">
<p>I don&#8217;t often link to new product announcements, but DigitalOcean&#8217;s new Load Balancer product caught my attention. It looks to be squarely aimed at improving on Amazon&#8217;s ELB product.</p>
</div>
</div>
<div class="sreweekly-entry">
<div class="sreweekly-title"><a href="https://cloud.google.com/spanner/" target="_blank">Cloud Spanner</a></div>
<div class="sreweekly-description">
<p>Okay, apparently I do link to product announcements often.  Google unveiled a new beta product this week for their Cloud Platform: Cloud Spanner. Based on their <a href="https://research.google.com/archive/spanner.html">Spanner paper</a> from 2012, they have some big claims.</p>
<blockquote><p>Cloud Spanner is the first and only relational database service that is both strongly consistent and horizontally scalable. [&#8230;] With automatic scaling, synchronous data replication, and node redundancy, Cloud Spanner delivers up to 99.999% (five 9s) of availability for your mission critical applications.</p></blockquote>
</div>
</div>
<h2>Outages</h2>
<ul class="sreweekly-outages">
<li><a href="http://www.usnews.com/news/us/articles/2017-02-14/us-weather-service-says-hit-by-first-ever-data-system-outage">US National Weather Service</a>
<ul class="sreweekly-outage">
<li class="sreweekly-outage">
<blockquote><p>The U.S. National Weather Service said on Tuesday it suffered its first-ever outage of its data system during Monday&#8217;s blizzard in New England, keeping the agency from sending out forecasts and warnings for more than two hours. [Reuters]</p></blockquote>
</li>
</ul>
</li>
<li><a href="http://blog.travis-ci.com/2017-02-13-feb4-container-based-issues-postmortem">The Travis CI Blog: Postmortem for 2017-02-04 container-based Infrastructure issues</a>
<ul class="sreweekly-outage">
<li class="sreweekly-outage">A garden-variety bug in a newly-deployed version was exacerbated by a failed rollback, in a perfect example of a complex failure with a complex intersection of contributing factors.</li>
</ul>
</li>
<li><a href="https://medium.com/making-instapaper/instapaper-outage-cause-recovery-3c32a7e9cc5f#.5zhf8gkyd">Instapaper Outage Cause &amp; Recovery</a>
<ul class="sreweekly-outage">
<li class="sreweekly-outage">Last week, I <a href="http://sreweekly.com/sre-weekly-issue-59/">incorrectly stated</a> that Instapaper&#8217;s database hit a performance cliff. In actuality, their RDS instance was, unbeknownst to them, running on an ext3 filesystem with its single-file limit of 2TB per file. Their only resolution path when they ran out of space was to <tt>mysqldump</tt> all their data and restore into a new DB running on ext4.<br />
<blockquote><p>Even if we had executed perfectly, from the moment we diagnosed the issue to the moment we had a fully rebuilt database, the total downtime would have been at least 10 hours.</p></blockquote>
</li>
</ul>
</li>
</ul>
</div>
<footer class="entry-footer cf">
</footer>
</article>
</div>
<div id="sidebar-right" class="sidebar cf" itemscope itemtype="http://schema.org/WPSideBar" role="complementary" aria-label="Sidebar Right">
<aside id="widgets-wrap-sidebar-right">
<section id="yikes_easy_mc_widget-4" class="widget-sidebar frontier-widget widget_yikes_easy_mc_widget"><h2 class="widget-title">Subscribe</h2>
<section id="yikes-mailchimp-container-1" class="yikes-mailchimp-container yikes-mailchimp-container-1 ">
<section class="yikes-mailchimp-form-description yikes-mailchimp-form-description-1">Subscribe to SRE Weekly by email. Your email address will be stored and used only to send SRE Weekly issues to you. You may unsubscribe at any time.</section> <form id="subscribe-1" class="yikes-easy-mc-form yikes-easy-mc-form-1 " method="POST" data-attr-form-id="1">
<label for="yikes-easy-mc-form-1-EMAIL" class="EMAIL-label yikes-mailchimp-field-required ">
<!-- dictate label visibility -->
<span class="EMAIL-label">
Email Address </span>
<!-- Description Above -->
<input id="yikes-easy-mc-form-1-EMAIL" name="EMAIL" placeholder="" class="yikes-easy-mc-email " required="required" type="email" value="">
<!-- Description Below -->
</label>
<!-- Honeypot Trap -->
<input type="hidden" name="yikes-mailchimp-honeypot" id="yikes-mailchimp-honeypot-1" value="">
<!-- List ID -->
<input type="hidden" name="yikes-mailchimp-associated-list-id" id="yikes-mailchimp-associated-list-id-1" value="24b1f473e5">
<!-- The form that is being submitted! Used to display error/success messages above the correct form -->
<input type="hidden" name="yikes-mailchimp-submitted-form" id="yikes-mailchimp-submitted-form-1" value="1">
<!-- Submit Button -->
<button type="submit" class="yikes-easy-mc-submit-button yikes-easy-mc-submit-button-1 btn btn-primary "> <span class="yikes-mailchimp-submit-button-span-text">Subscribe me</span></button> <!-- Nonce Security Check -->
<input type="hidden" id="yikes_easy_mc_new_subscriber_1" name="yikes_easy_mc_new_subscriber" value="7bbf53c7a4">
<input type="hidden" name="_wp_http_referer" value="/sre-weekly-issue-60/" />
</form>
<!-- Mailchimp Form generated by Easy Forms for Mailchimp v6.5.5 (https://wordpress.org/plugins/yikes-inc-easy-mailchimp-extender/) -->
</section>
</section><section id="text-8" class="widget-sidebar frontier-widget widget_text"><h2 class="widget-title">RSS</h2> <div class="textwidget"><a href="http://sreweekly.com/feed/"> Subscribe with RSS</a></div>
</section><section id="text-6" class="widget-sidebar frontier-widget widget_text"><h2 class="widget-title">Mastodon</h2> <div class="textwidget"><p><a href="https://social.linux.pizza/@SREWeekly"> Subscribe on Mastodon</a></p>
</div>
</section><section id="search-2" class="widget-sidebar frontier-widget widget_search"><h2 class="widget-title">Search Issues</h2><form role="search" method="get" class="search-form" action="https://sreweekly.com/">
<label>
<span class="screen-reader-text">Search for:</span>
<input type="search" class="search-field" placeholder="Search &hellip;" value="" name="s" />
</label>
<input type="submit" class="search-submit" value="Search" />
</form></section>
</aside>
</div></div>
<div id="bottom-bar" class="cf" role="contentinfo">
<span id="bottom-bar-text">A production of Tinker Tinker Tinker, LLC</span>
<span id="theme-link"><a href="https://ronangelo.com/frontier/">Frontier Theme</a></span>
</div>
</div>
<script type="speculationrules">
{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/frontier/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
</script>
<script type="text/javascript">
jQuery(document).ready(function($) {
$( '.menu-item-has-children' ).click(function(){
$( '.nav-main > .menu-item-has-children' ).not(this).removeClass( 'toggle-on' );
$(this).not().parents().removeClass( 'toggle-on' );
$(this).toggleClass( 'toggle-on' );
});
});
</script>
<script id="yikes-easy-mc-ajax-js-extra">
var yikes_mailchimp_ajax = {"ajax_url":"https://sreweekly.com/wp-admin/admin-ajax.php","page_data":"462","interest_group_checkbox_error":"This field is required.","preloader_url":"https://sreweekly.com/wp-content/plugins/yikes-inc-easy-mailchimp-extender/includes/images/ripple.svg","loading_dots":"https://sreweekly.com/wp-content/plugins/yikes-inc-easy-mailchimp-extender/includes/images/bars.svg","ajax_security_nonce":"97139b358b","feedback_message_placement":"before"};
//# sourceURL=yikes-easy-mc-ajax-js-extra
</script>
<script id="yikes-easy-mc-ajax-js" src="https://sreweekly.com/wp-content/plugins/yikes-inc-easy-mailchimp-extender/public/js/yikes-mc-ajax-forms.min.js?ver=6.5.5"></script>
<script id="form-submission-helpers-js-extra">
var form_submission_helpers = {"ajax_url":"https://sreweekly.com/wp-admin/admin-ajax.php","preloader_url":"https://sreweekly.com/wp-admin/images/wpspin_light.gif","countries_with_zip":{"US":"US","GB":"GB","CA":"CA","IE":"IE","CN":"CN","IN":"IN","AU":"AU","BR":"BR","MX":"MX","IT":"IT","NZ":"NZ","JP":"JP","FR":"FR","GR":"GR","DE":"DE","NL":"NL","PT":"PT","ES":"ES"},"page_data":"462"};
//# sourceURL=form-submission-helpers-js-extra
</script>
<script id="form-submission-helpers-js" src="https://sreweekly.com/wp-content/plugins/yikes-inc-easy-mailchimp-extender/public/js/form-submission-helpers.min.js?ver=6.5.5"></script>
</body>
</html>