Files
nexus/sreweekly/articles/311/09-resilience-cloudy-without-a-chance-of-meatballs.html
2026-09-12 17:23:01 +08:00

1577 lines
126 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
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>
<!--[if IE 7]>
<html id="ie7" lang="en">
<![endif]-->
<!--[if IE 8]>
<html id="ie8" lang="en">
<![endif]-->
<!--[if (!IE)]><!-->
<html lang="en">
<!--<![endif]-->
<head>
<meta charset="UTF-8" />
<link rel="profile" href="http://gmpg.org/xfn/11" />
<link rel="pingback" href="https://cloudpundit.com/xmlrpc.php" />
<title>Resilience: Cloudy without a chance of meatballs &#8211; CloudPundit: Massive-Scale Computing</title>
<meta name='robots' content='max-image-preview:large' />
<!-- Async WordPress.com Remote Login -->
<script id="wpcom_remote_login_js">
var wpcom_remote_login_extra_auth = '';
function wpcom_remote_login_remove_dom_node_id( element_id ) {
var dom_node = document.getElementById( element_id );
if ( dom_node ) { dom_node.parentNode.removeChild( dom_node ); }
}
function wpcom_remote_login_remove_dom_node_classes( class_name ) {
var dom_nodes = document.querySelectorAll( '.' + class_name );
for ( var i = 0; i < dom_nodes.length; i++ ) {
dom_nodes[ i ].parentNode.removeChild( dom_nodes[ i ] );
}
}
function wpcom_remote_login_final_cleanup() {
wpcom_remote_login_remove_dom_node_classes( "wpcom_remote_login_msg" );
wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_key" );
wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_validate" );
wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_js" );
wpcom_remote_login_remove_dom_node_id( "wpcom_request_access_iframe" );
wpcom_remote_login_remove_dom_node_id( "wpcom_request_access_styles" );
}
// Watch for messages back from the remote login
window.addEventListener( "message", function( e ) {
if ( e.origin === "https://r-login.wordpress.com" ) {
var data = {};
try {
data = JSON.parse( e.data );
} catch( e ) {
wpcom_remote_login_final_cleanup();
return;
}
if ( data.msg === 'LOGIN' ) {
// Clean up the login check iframe
wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_key" );
var id_regex = new RegExp( /^[0-9]+$/ );
var token_regex = new RegExp( /^.*|.*|.*$/ );
if (
token_regex.test( data.token )
&& id_regex.test( data.wpcomid )
) {
// We have everything we need to ask for a login
var script = document.createElement( "script" );
script.setAttribute( "id", "wpcom_remote_login_validate" );
script.src = '/remote-login.php?wpcom_remote_login=validate'
+ '&wpcomid=' + data.wpcomid
+ '&token=' + encodeURIComponent( data.token )
+ '&host=' + window.location.protocol
+ '//' + window.location.hostname
+ '&postid=1186'
+ '&is_singular=1';
document.body.appendChild( script );
}
return;
}
// Safari ITP, not logged in, so redirect
if ( data.msg === 'LOGIN-REDIRECT' ) {
window.location = 'https://wordpress.com/log-in?redirect_to=' + window.location.href;
return;
}
// Safari ITP, storage access failed, remove the request
if ( data.msg === 'LOGIN-REMOVE' ) {
var css_zap = 'html { -webkit-transition: margin-top 1s; transition: margin-top 1s; } /* 9001 */ html { margin-top: 0 !important; } * html body { margin-top: 0 !important; } @media screen and ( max-width: 782px ) { html { margin-top: 0 !important; } * html body { margin-top: 0 !important; } }';
var style_zap = document.createElement( 'style' );
style_zap.type = 'text/css';
style_zap.appendChild( document.createTextNode( css_zap ) );
document.body.appendChild( style_zap );
var e = document.getElementById( 'wpcom_request_access_iframe' );
e.parentNode.removeChild( e );
document.cookie = 'wordpress_com_login_access=denied; path=/; max-age=31536000';
return;
}
// Safari ITP
if ( data.msg === 'REQUEST_ACCESS' ) {
console.log( 'request access: safari' );
// Check ITP iframe enable/disable knob
if ( wpcom_remote_login_extra_auth !== 'safari_itp_iframe' ) {
return;
}
// If we are in a "private window" there is no ITP.
var private_window = false;
try {
var opendb = window.openDatabase( null, null, null, null );
} catch( e ) {
private_window = true;
}
if ( private_window ) {
console.log( 'private window' );
return;
}
var iframe = document.createElement( 'iframe' );
iframe.id = 'wpcom_request_access_iframe';
iframe.setAttribute( 'scrolling', 'no' );
iframe.setAttribute( 'sandbox', 'allow-storage-access-by-user-activation allow-scripts allow-same-origin allow-top-navigation-by-user-activation' );
iframe.src = 'https://r-login.wordpress.com/remote-login.php?wpcom_remote_login=request_access&origin=' + encodeURIComponent( data.origin ) + '&wpcomid=' + encodeURIComponent( data.wpcomid );
var css = 'html { -webkit-transition: margin-top 1s; transition: margin-top 1s; } /* 9001 */ html { margin-top: 46px !important; } * html body { margin-top: 46px !important; } @media screen and ( max-width: 660px ) { html { margin-top: 71px !important; } * html body { margin-top: 71px !important; } #wpcom_request_access_iframe { display: block; height: 71px !important; } } #wpcom_request_access_iframe { border: 0px; height: 46px; position: fixed; top: 0; left: 0; width: 100%; min-width: 100%; z-index: 99999; background: #23282d; } ';
var style = document.createElement( 'style' );
style.type = 'text/css';
style.id = 'wpcom_request_access_styles';
style.appendChild( document.createTextNode( css ) );
document.body.appendChild( style );
document.body.appendChild( iframe );
}
if ( data.msg === 'DONE' ) {
wpcom_remote_login_final_cleanup();
}
}
}, false );
// Inject the remote login iframe after the page has had a chance to load
// more critical resources
window.addEventListener( "DOMContentLoaded", function( e ) {
var iframe = document.createElement( "iframe" );
iframe.style.display = "none";
iframe.setAttribute( "scrolling", "no" );
iframe.setAttribute( "id", "wpcom_remote_login_key" );
iframe.src = "https://r-login.wordpress.com/remote-login.php"
+ "?wpcom_remote_login=key"
+ "&origin=aHR0cHM6Ly9jbG91ZHB1bmRpdC5jb20%3D"
+ "&wpcomid=4543198"
+ "&time=" + Math.floor( Date.now() / 1000 );
document.body.appendChild( iframe );
}, false );
</script>
<link rel='dns-prefetch' href='//s1.wp.com' />
<link rel='dns-prefetch' href='//s2.wp.com' />
<link rel='dns-prefetch' href='//widgets.wp.com' />
<link rel='dns-prefetch' href='//wordpress.com' />
<link rel='dns-prefetch' href='//s0.wp.com' />
<link rel='dns-prefetch' href='//af.pubmine.com' />
<link rel="alternate" type="application/rss+xml" title="CloudPundit: Massive-Scale Computing &raquo; Feed" href="https://cloudpundit.com/feed/" />
<link rel="alternate" type="application/rss+xml" title="CloudPundit: Massive-Scale Computing &raquo; Comments Feed" href="https://cloudpundit.com/comments/feed/" />
<link rel="alternate" type="application/rss+xml" title="CloudPundit: Massive-Scale Computing &raquo; Resilience: Cloudy without a chance of&nbsp;meatballs Comments Feed" href="https://cloudpundit.com/2022/02/22/resilience-cloudy-without-a-chance-of-meatballs/feed/" />
<script type="text/javascript">
/* <![CDATA[ */
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function () {
oldonload();
func();
}
}
}
/* ]]> */
</script>
<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>
<link crossorigin='anonymous' rel='stylesheet' id='all-css-2-1' href='/_static/??-eJx9jFEKAjEMRC9kjfrh4od4ltKGpdu0CSaleHtbEQQRCQw8ZvKgiwtcDatBaU6orakq9BRXNAVso+Wc0JHvYFiEvKGC2oNwH1R38FuwoYkP+c1QmGfERuP5jlMSnbDaF/1TUsr4Eb9ozm/lelyWw2Xc6bw9AWlRTZ8=&cssminify=yes' type='text/css' media='all' />
<style id="wp-emoji-styles-inline-css">
img.wp-smiley, img.emoji {
display: inline !important;
border: none !important;
box-shadow: none !important;
height: 1em !important;
width: 1em !important;
margin: 0 0.07em !important;
vertical-align: -0.1em !important;
background: none !important;
padding: 0 !important;
}
/*# sourceURL=wp-emoji-styles-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-content/plugins/gutenberg-core/v23.9.1/build/styles/block-library/common.min.css */
</style>
<style id="wp-block-list-inline-css">
ol,ul{box-sizing:border-box}:root :where(.wp-block-list.has-background){padding:1.25em 2.375em}
/*# sourceURL=/wp-content/plugins/gutenberg-core/v23.9.1/build/styles/block-library/list/style.min.css */
</style>
<style id="wp-block-paragraph-inline-css">
.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg}
/*# sourceURL=/wp-content/plugins/gutenberg-core/v23.9.1/build/styles/block-library/paragraph/style.min.css */
</style>
<style id="wp-block-library-inline-css-extra">
.has-text-align-justify {
text-align:justify;
}
.has-text-align-justify{text-align:justify;}
/*# sourceURL=wp-block-library-inline-css */
</style>
<style id="classic-theme-styles-inline-css">
.wp-block-button__link{background-color:#32373c;border-radius:9999px;box-shadow:none;color:#fff;font-size:1.125em;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}.wp-block-file__button{background:#32373c;color:#fff}.wp-block-accordion-heading{margin:0}.wp-block-accordion-heading__toggle{background-color:inherit!important;color:inherit!important}.wp-block-accordion-heading__toggle:not(:focus-visible){outline:none}.wp-block-accordion-heading__toggle:focus,.wp-block-accordion-heading__toggle:hover{background-color:inherit!important;border:none;box-shadow:none;color:inherit;padding:var(--wp--preset--spacing--20,1em) 0;text-decoration:none}.wp-block-accordion-heading__toggle:focus-visible{outline:auto;outline-offset:0}.wp-block-tab:not(.has-text-color){color:inherit!important}.wp-block-tab:not(.has-background){background-color:inherit!important}.wp-block-tab:focus,.wp-block-tab:hover{text-decoration:none}.wp-block-tab:focus-visible{outline:auto;outline-offset:0}
/*# sourceURL=/wp-content/plugins/gutenberg-core/v23.9.1/build/styles/block-library/classic.min.css */
</style>
<style id="coblocks-inline-format-inline-css">
.uppercase{text-transform:uppercase}
/*# sourceURL=coblocks-inline-format-inline-css */
</style>
<link crossorigin='anonymous' rel='stylesheet' id='all-css-12-1' href='/_static/??-eJx9jUsOwjAMRC+EY6UgCAvEWZrEKoG4jWq3hduTLvisurFG1nszuBQIQ6/UK5Y8dakXDIPPQ3gINsY6Y0ESl0ww0mwOGJPolwDRVyYTRHb4V8QT/LpGqn8ura4EU0wtZeKKbWlLih1p1eWTQem5rZQ6A96XkUSgXk4Tg97qlqzelS/26KzbN835dH8DjlpbIA==&cssminify=yes' type='text/css' media='all' />
<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--font-family--albert-sans: 'Albert Sans', sans-serif;--wp--preset--font-family--alegreya: Alegreya, serif;--wp--preset--font-family--arvo: Arvo, serif;--wp--preset--font-family--bodoni-moda: 'Bodoni Moda', serif;--wp--preset--font-family--bricolage-grotesque: 'Bricolage Grotesque', sans-serif;--wp--preset--font-family--cabin: Cabin, sans-serif;--wp--preset--font-family--chivo: Chivo, sans-serif;--wp--preset--font-family--commissioner: Commissioner, sans-serif;--wp--preset--font-family--cormorant: Cormorant, serif;--wp--preset--font-family--courier-prime: 'Courier Prime', monospace;--wp--preset--font-family--crimson-pro: 'Crimson Pro', serif;--wp--preset--font-family--dm-mono: 'DM Mono', monospace;--wp--preset--font-family--dm-sans: 'DM Sans', sans-serif;--wp--preset--font-family--dm-serif-display: 'DM Serif Display', serif;--wp--preset--font-family--domine: Domine, serif;--wp--preset--font-family--eb-garamond: 'EB Garamond', serif;--wp--preset--font-family--epilogue: Epilogue, sans-serif;--wp--preset--font-family--fahkwang: Fahkwang, sans-serif;--wp--preset--font-family--figtree: Figtree, sans-serif;--wp--preset--font-family--fira-sans: 'Fira Sans', sans-serif;--wp--preset--font-family--fjalla-one: 'Fjalla One', sans-serif;--wp--preset--font-family--fraunces: Fraunces, serif;--wp--preset--font-family--gabarito: Gabarito, system-ui;--wp--preset--font-family--ibm-plex-mono: 'IBM Plex Mono', monospace;--wp--preset--font-family--ibm-plex-sans: 'IBM Plex Sans', sans-serif;--wp--preset--font-family--ibarra-real-nova: 'Ibarra Real Nova', serif;--wp--preset--font-family--instrument-serif: 'Instrument Serif', serif;--wp--preset--font-family--inter: Inter, sans-serif;--wp--preset--font-family--josefin-sans: 'Josefin Sans', sans-serif;--wp--preset--font-family--jost: Jost, sans-serif;--wp--preset--font-family--libre-baskerville: 'Libre Baskerville', serif;--wp--preset--font-family--libre-franklin: 'Libre Franklin', sans-serif;--wp--preset--font-family--literata: Literata, serif;--wp--preset--font-family--lora: Lora, serif;--wp--preset--font-family--merriweather: Merriweather, serif;--wp--preset--font-family--montserrat: Montserrat, sans-serif;--wp--preset--font-family--newsreader: Newsreader, serif;--wp--preset--font-family--noto-sans-mono: 'Noto Sans Mono', sans-serif;--wp--preset--font-family--nunito: Nunito, sans-serif;--wp--preset--font-family--open-sans: 'Open Sans', sans-serif;--wp--preset--font-family--overpass: Overpass, sans-serif;--wp--preset--font-family--pt-serif: 'PT Serif', serif;--wp--preset--font-family--petrona: Petrona, serif;--wp--preset--font-family--piazzolla: Piazzolla, serif;--wp--preset--font-family--playfair-display: 'Playfair Display', serif;--wp--preset--font-family--plus-jakarta-sans: 'Plus Jakarta Sans', sans-serif;--wp--preset--font-family--poppins: Poppins, sans-serif;--wp--preset--font-family--raleway: Raleway, sans-serif;--wp--preset--font-family--roboto: Roboto, sans-serif;--wp--preset--font-family--roboto-slab: 'Roboto Slab', serif;--wp--preset--font-family--rubik: Rubik, sans-serif;--wp--preset--font-family--rufina: Rufina, serif;--wp--preset--font-family--sora: Sora, sans-serif;--wp--preset--font-family--source-sans-3: 'Source Sans 3', sans-serif;--wp--preset--font-family--source-serif-4: 'Source Serif 4', serif;--wp--preset--font-family--space-mono: 'Space Mono', monospace;--wp--preset--font-family--syne: Syne, sans-serif;--wp--preset--font-family--texturina: Texturina, serif;--wp--preset--font-family--urbanist: Urbanist, sans-serif;--wp--preset--font-family--work-sans: 'Work Sans', sans-serif;--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;}.has-albert-sans-font-family{font-family: var(--wp--preset--font-family--albert-sans) !important;}.has-alegreya-font-family{font-family: var(--wp--preset--font-family--alegreya) !important;}.has-arvo-font-family{font-family: var(--wp--preset--font-family--arvo) !important;}.has-bodoni-moda-font-family{font-family: var(--wp--preset--font-family--bodoni-moda) !important;}.has-bricolage-grotesque-font-family{font-family: var(--wp--preset--font-family--bricolage-grotesque) !important;}.has-cabin-font-family{font-family: var(--wp--preset--font-family--cabin) !important;}.has-chivo-font-family{font-family: var(--wp--preset--font-family--chivo) !important;}.has-commissioner-font-family{font-family: var(--wp--preset--font-family--commissioner) !important;}.has-cormorant-font-family{font-family: var(--wp--preset--font-family--cormorant) !important;}.has-courier-prime-font-family{font-family: var(--wp--preset--font-family--courier-prime) !important;}.has-crimson-pro-font-family{font-family: var(--wp--preset--font-family--crimson-pro) !important;}.has-dm-mono-font-family{font-family: var(--wp--preset--font-family--dm-mono) !important;}.has-dm-sans-font-family{font-family: var(--wp--preset--font-family--dm-sans) !important;}.has-dm-serif-display-font-family{font-family: var(--wp--preset--font-family--dm-serif-display) !important;}.has-domine-font-family{font-family: var(--wp--preset--font-family--domine) !important;}.has-eb-garamond-font-family{font-family: var(--wp--preset--font-family--eb-garamond) !important;}.has-epilogue-font-family{font-family: var(--wp--preset--font-family--epilogue) !important;}.has-fahkwang-font-family{font-family: var(--wp--preset--font-family--fahkwang) !important;}.has-figtree-font-family{font-family: var(--wp--preset--font-family--figtree) !important;}.has-fira-sans-font-family{font-family: var(--wp--preset--font-family--fira-sans) !important;}.has-fjalla-one-font-family{font-family: var(--wp--preset--font-family--fjalla-one) !important;}.has-fraunces-font-family{font-family: var(--wp--preset--font-family--fraunces) !important;}.has-gabarito-font-family{font-family: var(--wp--preset--font-family--gabarito) !important;}.has-ibm-plex-mono-font-family{font-family: var(--wp--preset--font-family--ibm-plex-mono) !important;}.has-ibm-plex-sans-font-family{font-family: var(--wp--preset--font-family--ibm-plex-sans) !important;}.has-ibarra-real-nova-font-family{font-family: var(--wp--preset--font-family--ibarra-real-nova) !important;}.has-instrument-serif-font-family{font-family: var(--wp--preset--font-family--instrument-serif) !important;}.has-inter-font-family{font-family: var(--wp--preset--font-family--inter) !important;}.has-josefin-sans-font-family{font-family: var(--wp--preset--font-family--josefin-sans) !important;}.has-jost-font-family{font-family: var(--wp--preset--font-family--jost) !important;}.has-libre-baskerville-font-family{font-family: var(--wp--preset--font-family--libre-baskerville) !important;}.has-libre-franklin-font-family{font-family: var(--wp--preset--font-family--libre-franklin) !important;}.has-literata-font-family{font-family: var(--wp--preset--font-family--literata) !important;}.has-lora-font-family{font-family: var(--wp--preset--font-family--lora) !important;}.has-merriweather-font-family{font-family: var(--wp--preset--font-family--merriweather) !important;}.has-montserrat-font-family{font-family: var(--wp--preset--font-family--montserrat) !important;}.has-newsreader-font-family{font-family: var(--wp--preset--font-family--newsreader) !important;}.has-noto-sans-mono-font-family{font-family: var(--wp--preset--font-family--noto-sans-mono) !important;}.has-nunito-font-family{font-family: var(--wp--preset--font-family--nunito) !important;}.has-open-sans-font-family{font-family: var(--wp--preset--font-family--open-sans) !important;}.has-overpass-font-family{font-family: var(--wp--preset--font-family--overpass) !important;}.has-pt-serif-font-family{font-family: var(--wp--preset--font-family--pt-serif) !important;}.has-petrona-font-family{font-family: var(--wp--preset--font-family--petrona) !important;}.has-piazzolla-font-family{font-family: var(--wp--preset--font-family--piazzolla) !important;}.has-playfair-display-font-family{font-family: var(--wp--preset--font-family--playfair-display) !important;}.has-plus-jakarta-sans-font-family{font-family: var(--wp--preset--font-family--plus-jakarta-sans) !important;}.has-poppins-font-family{font-family: var(--wp--preset--font-family--poppins) !important;}.has-raleway-font-family{font-family: var(--wp--preset--font-family--raleway) !important;}.has-roboto-font-family{font-family: var(--wp--preset--font-family--roboto) !important;}.has-roboto-slab-font-family{font-family: var(--wp--preset--font-family--roboto-slab) !important;}.has-rubik-font-family{font-family: var(--wp--preset--font-family--rubik) !important;}.has-rufina-font-family{font-family: var(--wp--preset--font-family--rufina) !important;}.has-sora-font-family{font-family: var(--wp--preset--font-family--sora) !important;}.has-source-sans-3-font-family{font-family: var(--wp--preset--font-family--source-sans-3) !important;}.has-source-serif-4-font-family{font-family: var(--wp--preset--font-family--source-serif-4) !important;}.has-space-mono-font-family{font-family: var(--wp--preset--font-family--space-mono) !important;}.has-syne-font-family{font-family: var(--wp--preset--font-family--syne) !important;}.has-texturina-font-family{font-family: var(--wp--preset--font-family--texturina) !important;}.has-urbanist-font-family{font-family: var(--wp--preset--font-family--urbanist) !important;}.has-work-sans-font-family{font-family: var(--wp--preset--font-family--work-sans) !important;}
/*# sourceURL=global-styles-inline-css */
</style>
<link crossorigin='anonymous' rel='stylesheet' id='all-css-14-1' href='/wp-content/mu-plugins/jetpack-mu-wpcom-plugin/moon/jetpack_vendor/automattic/jetpack-mu-wpcom/src/build/verbum-comments/verbum-comments.css?m=1785895867i&cssminify=yes' type='text/css' media='all' />
<link rel='stylesheet' id='verbum-gutenberg-css-css' href='https://widgets.wp.com/verbum-block-editor/block-editor.css?ver=1771405207' media='all' />
<link crossorigin='anonymous' rel='stylesheet' id='all-css-16-1' href='/_static/??-eJyNjkEOwjAMBD9EsHqAtgfEW5rIBIMTh8YR6u8JVIICEuLk3bXHWrgm4yQqRoVQTOLiKWZwEkKNDNMZq8sfybomKyCIolTp/BTzYvFTjxjqh1QshCkrXQpC1onxr0snLGOeh7FcvqlF5xEti6/SPwq/7C/IoxgWNyhJfDPmwAONd3Qfdk3bdX273TT96QZhlnJO&cssminify=yes' type='text/css' media='all' />
<link crossorigin='anonymous' rel='stylesheet' id='print-css-17-1' href='/wp-content/mu-plugins/global-print/global-print.css?m=1465851035i&cssminify=yes' type='text/css' media='print' />
<style id="jetpack-global-styles-frontend-style-inline-css">
:root { --font-headings: unset; --font-base: unset; --font-headings-default: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif; --font-base-default: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;}
/*# sourceURL=jetpack-global-styles-frontend-style-inline-css */
</style>
<link crossorigin='anonymous' rel='stylesheet' id='all-css-20-1' href='/_static/??-eJyNjcEKAjEMRH/ImhVlqwfxU6TbhrZrmhTTIv69u+JFvHgZ5sHwBh7VeOGG3KB0U6nHzAoztur87cNQRNYInVBBk7tjcCE83zVz3HrVDfxvumb2MPVMAVR8dmRIougX/DhbwrK8pwNEksnROriU884e9+PJDnaYXxwFS20=&cssminify=yes' type='text/css' media='all' />
<script id="jetpack_related-posts-js-extra">
var related_posts_js_options = {"post_heading":"h4"};
//# sourceURL=jetpack_related-posts-js-extra
</script>
<script id="wpcom-actionbar-placeholder-js-extra">
var actionbardata = {"siteID":"4543198","postID":"1186","siteURL":"https://cloudpundit.com","xhrURL":"https://cloudpundit.com/wp-admin/admin-ajax.php","nonce":"e8f3aebd24","isLoggedIn":"","statusMessage":"","subsEmailDefault":"instantly","proxyScriptUrl":"https://s0.wp.com/wp-content/js/wpcom-proxy-request.js?m=1513050504i&amp;ver=20211021","shortlink":"https://wp.me/pj3To-j8","i18n":{"followedText":"New posts from this site will now appear in your \u003Ca href=\"https://wordpress.com/reader\"\u003EReader\u003C/a\u003E","foldBar":"Collapse this bar","unfoldBar":"Expand this bar","shortLinkCopied":"Shortlink copied to clipboard."}};
//# sourceURL=wpcom-actionbar-placeholder-js-extra
</script>
<script id="jetpack-mu-wpcom-settings-js-before">
var JETPACK_MU_WPCOM_SETTINGS = {"assetsUrl":"https://s1.wp.com/wp-content/mu-plugins/jetpack-mu-wpcom-plugin/moon/jetpack_vendor/automattic/jetpack-mu-wpcom/src/build/"};
//# sourceURL=jetpack-mu-wpcom-settings-js-before
</script>
<script crossorigin='anonymous' type='text/javascript' src='/_static/??-eJx1j0sOwjAMRC9EsMqGskAcBbVJKAmJHWIH6O1JxUcFwWo08swbGa5JaUKxKBCLSqEMDhm8ldTp09NDJELYO9TQFxcMZBs6sUYlYuFPt4wOl54XMAP7mgmiUqbb+LpVWCjG8nT052Lz+JQ54G9IRTfkOvprTY421koqPcSRxdXC1D8U1OII+TvfBxrej18pm86w0qFjfgzrmOCymkQhoRpMyhWxi9tm3bbrTduuGn8HRex5nw=='></script>
<script id="rlt-proxy-js-after">
rltInitialize( {"token":null,"iframeOrigins":["https:\/\/widgets.wp.com"]} );
//# sourceURL=rlt-proxy-js-after
</script>
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://cloudpundit.wordpress.com/xmlrpc.php?rsd" />
<meta name="generator" content="WordPress.com" />
<link rel="canonical" href="https://cloudpundit.com/2022/02/22/resilience-cloudy-without-a-chance-of-meatballs/" />
<link rel='shortlink' href='https://wp.me/pj3To-j8' />
<link rel="alternate" type="application/json+oembed" href="https://public-api.wordpress.com/oembed/?format=json&amp;url=https%3A%2F%2Fcloudpundit.com%2F2022%2F02%2F22%2Fresilience-cloudy-without-a-chance-of-meatballs%2F&amp;for=wpcom-auto-discovery" /><link rel="alternate" type="application/xml+oembed" href="https://public-api.wordpress.com/oembed/?format=xml&amp;url=https%3A%2F%2Fcloudpundit.com%2F2022%2F02%2F22%2Fresilience-cloudy-without-a-chance-of-meatballs%2F&amp;for=wpcom-auto-discovery" />
<!-- Jetpack Open Graph Tags -->
<meta property="og:type" content="article" />
<meta property="og:title" content="Resilience: Cloudy without a chance of meatballs" />
<meta property="og:url" content="https://cloudpundit.com/2022/02/22/resilience-cloudy-without-a-chance-of-meatballs/" />
<meta property="og:description" content="AWS&#8217;s major incident in US-East-1 in December did not fundamentally change the risks of cloud. I provide an analysis and introduce a new research note." />
<meta property="article:published_time" content="2022-02-22T17:18:18+00:00" />
<meta property="article:modified_time" content="2022-02-22T17:18:18+00:00" />
<meta property="og:site_name" content="CloudPundit: Massive-Scale Computing" />
<meta property="og:image" content="https://secure.gravatar.com/blavatar/e5c7caa00f5fa325ab6f2a78dd6af5d1ae91c7cfba1647029e9c8335439b58bf?s=200&#038;ts=1789190201" />
<meta property="og:image:width" content="200" />
<meta property="og:image:height" content="200" />
<meta property="og:image:alt" content="" />
<meta property="og:locale" content="en_US" />
<meta property="article:publisher" content="https://www.facebook.com/WordPresscom" />
<meta name="twitter:creator" content="@cloudpundit" />
<meta name="twitter:site" content="@cloudpundit" />
<meta name="twitter:text:title" content="Resilience: Cloudy without a chance of&nbsp;meatballs" />
<meta name="twitter:image" content="https://secure.gravatar.com/blavatar/e5c7caa00f5fa325ab6f2a78dd6af5d1ae91c7cfba1647029e9c8335439b58bf?s=240" />
<meta name="twitter:card" content="summary" />
<!-- End Jetpack Open Graph Tags -->
<link rel="shortcut icon" type="image/x-icon" href="https://secure.gravatar.com/blavatar/e5c7caa00f5fa325ab6f2a78dd6af5d1ae91c7cfba1647029e9c8335439b58bf?s=32" sizes="16x16" />
<link rel="icon" type="image/x-icon" href="https://secure.gravatar.com/blavatar/e5c7caa00f5fa325ab6f2a78dd6af5d1ae91c7cfba1647029e9c8335439b58bf?s=32" sizes="16x16" />
<link rel="apple-touch-icon" href="https://secure.gravatar.com/blavatar/e5c7caa00f5fa325ab6f2a78dd6af5d1ae91c7cfba1647029e9c8335439b58bf?s=114" />
<link rel='openid.server' href='https://cloudpundit.com/?openidserver=1' />
<link rel='openid.delegate' href='https://cloudpundit.com/' />
<link rel="search" type="application/opensearchdescription+xml" href="https://cloudpundit.com/osd.xml" title="CloudPundit: Massive-Scale Computing" />
<link rel="search" type="application/opensearchdescription+xml" href="https://s1.wp.com/opensearch.xml" title="WordPress.com" />
<style>.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style> <style type="text/css">
.recentcomments a {
display: inline !important;
padding: 0 !important;
margin: 0 !important;
}
table.recentcommentsavatartop img.avatar, table.recentcommentsavatarend img.avatar {
border: 0px;
margin: 0;
}
table.recentcommentsavatartop a, table.recentcommentsavatarend a {
border: 0px !important;
background-color: transparent !important;
}
td.recentcommentsavatarend, td.recentcommentsavatartop {
padding: 0px 0px 1px 0px;
margin: 0px;
}
td.recentcommentstextend {
border: none !important;
padding: 0px 0px 2px 10px;
}
.rtl td.recentcommentstextend {
padding: 0px 10px 2px 0px;
}
td.recentcommentstexttop {
border: none;
padding: 0px 0px 0px 10px;
}
.rtl td.recentcommentstexttop {
padding: 0px 10px 0px 0px;
}
</style>
<meta name="description" content="AWS&#039;s major incident in US-East-1 in December did not fundamentally change the risks of cloud. I provide an analysis and introduce a new research note." />
<script>
var wa_client = {}; wa_client.cmd = []; wa_client.config = { 'blog_id': 4543198, 'blog_language': 'en', 'is_wordads': false, 'hosting_type': 0, 'afp_account_id': 'pub-2749551775505399', 'afp_host_id': 5038568878849053, 'theme': 'pub/mystique', '_': { 'title': 'Advertisement', 'privacy_settings': 'Privacy Settings' }, 'formats': [ 'inline', 'belowpost', 'bottom_sticky', 'sidebar_sticky_right', 'sidebar', 'gutenberg_rectangle', 'gutenberg_leaderboard', 'gutenberg_mobile_leaderboard', 'gutenberg_skyscraper' ] };
</script>
<script type="text/javascript">
window.doNotSellCallback = function() {
var linkElements = [
'a[href="https://wordpress.com/?ref=footer_blog"]',
'a[href="https://wordpress.com/?ref=footer_website"]',
'a[href="https://wordpress.com/?ref=vertical_footer"]',
'a[href^="https://wordpress.com/?ref=footer_segment_"]',
].join(',');
var dnsLink = document.createElement( 'a' );
dnsLink.href = 'https://wordpress.com/advertising-program-optout/';
dnsLink.classList.add( 'do-not-sell-link' );
dnsLink.rel = 'nofollow';
dnsLink.style.marginLeft = '0.5em';
dnsLink.textContent = 'Do Not Sell or Share My Personal Information';
var creditLinks = document.querySelectorAll( linkElements );
if ( 0 === creditLinks.length ) {
return false;
}
Array.prototype.forEach.call( creditLinks, function( el ) {
el.insertAdjacentElement( 'afterend', dnsLink );
});
return true;
};
</script>
<script type="text/javascript">
window.google_analytics_uacct = "UA-52447-2";
</script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-52447-2']);
_gaq.push(['_gat._anonymizeIp']);
_gaq.push(['_setDomainName', 'none']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_initData']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
})();
</script>
</head>
<body class="wp-singular post-template-default single single-post postid-1186 single-format-standard wp-theme-pubmystique customizer-styles-applied content-sidebar jetpack-reblog-enabled">
<div id="page">
<div id="container">
<ul class="skip">
<li><a href="#access">Skip to navigation</a></li>
<li><a href="#main">Skip to main content</a></li>
<li><a href="#sidebar">Skip to primary sidebar</a></li>
<li><a href="#sidebar2">Skip to secondary sidebar</a></li>
<li><a href="#footer">Skip to footer</a></li>
</ul>
<div id="header">
<div id="branding" class="clear-block">
<a class="home-link" href="https://cloudpundit.com/" title="CloudPundit: Massive-Scale Computing" rel="home">
<h1 id="logo">CloudPundit: Massive-Scale Computing</h1>
<h2 id="site-description">the business of Internet infrastructure, cloud computing, and data centers</h2>
</a>
</div><!-- #branding-->
<div id="access" class="clear-block" role="navigation">
<false class="menu"><ul>
<li ><a href="https://cloudpundit.com/">Home</a></li><li class="page_item page-item-2"><a href="https://cloudpundit.com/about/">About Me</a></li>
<li class="page_item page-item-348"><a href="https://cloudpundit.com/coverage/">Coverage</a></li>
<li class="page_item page-item-135"><a href="https://cloudpundit.com/for-investors/">For Investors</a></li>
<li class="page_item page-item-912"><a href="https://cloudpundit.com/my-team/">My Team</a></li>
</ul></false>
<div class="social-icons">
<a href="https://cloudpundit.com/" class="twitter">Twitter</a>
<a href="https://cloudpundit.com/feed/" class="rss">RSS Feed</a>
</div><!-- .social-icons -->
</div><!-- #access -->
</div><!-- #header-->
<div id="main">
<div id="content-container">
<div id="content">
<div class="post-navigation nav-above">
<div class="nav-previous">
<a href="https://cloudpundit.com/2021/12/08/my-q1-2022-research-agenda/" rel="prev">&larr; My Q1 2022 research&nbsp;agenda</a> </div>
<div class="nav-next">
<a href="https://cloudpundit.com/2022/03/28/cloud-self-service-doesnt-need-to-invite-the-orc-apocalypse/" rel="next">Cloud self-service doesn&#8217;t need to invite the orc&nbsp;apocalypse &rarr;</a> </div>
</div><!-- .post-navigation -->
<div class="post-wrapper clear-block post-1186 post type-post status-publish format-standard hentry category-infrastructure tag-bc-dr tag-cloud tag-iaas tag-outage tag-paas tag-research tag-resilience">
<h1 class="single-title">Resilience: Cloudy without a chance of&nbsp;meatballs</h1>
<div class="post-date">
<p class="day"><a href="https://cloudpundit.com/2022/02/22/resilience-cloudy-without-a-chance-of-meatballs/" rel="bookmark" title="Permanent Link to Resilience: Cloudy without a chance of&nbsp;meatballs">Feb 22</a></p>
</div><!-- .post-date -->
<div class="post-info clear-block">
<p class="author alignleft">Posted by <a href="https://cloudpundit.com/author/cyberlwl/" rel="author">Lydia Leong</a></p>
</div><!-- .post-info clear-block" -->
<div class="entry clear-block">
<p class="wp-block-paragraph">In the wake of AWS&#8217;s major US-East-1 incident of <a href="https://aws.amazon.com/message/12721/">December 7th, 2021</a>, I&#8217;ve fielded plenty of panicked client inquiry about whether anyone can trust any cloud provider, whether the availability zone model actually works, and whether or not the customer&#8217;s current architecture offers adequate resilience for their needs.</p>
<p class="wp-block-paragraph">I&#8217;ve also dealt with more than a handful of journalists who have wanted to push a narrative that AWS customers are fleeing in droves and/or are going multicloud as a result of that outage. Every story I&#8217;ve read on that subject has tried its darnedest to imply something which just isn&#8217;t true. Yes, many organizations use multiple cloud providers. No, they don&#8217;t do so for resilience, but rather, because differing preferences within the organization have led to adopting more than one provider.</p>
<p class="wp-block-paragraph">The fact that it&#8217;s now more than two months since the outage and I&#8217;m still talking about it with clients (and my colleagues are too) does reflect how large it looms in the mind of customers &#8212; including customers of other cloud providers &#8212; though. Indeed, it looms large in the mind of many AWS customers who were <em>not&nbsp;</em>affected, either because they don&#8217;t run in US-East-1 or because their failover to another region worked as planned.</p>
<p class="wp-block-paragraph">At this point, not only have my colleagues and I talked to quite a few organizations but we&#8217;ve also talked to providers of disaster recovery software and services. Thus far, it appears that customers that had problems with cross-region recovery during the 12/7/21 incident either violated AWS best practices for such, or violated their vendor&#8217;s advice.</p>
<p class="wp-block-paragraph">That&#8217;s not to say that there weren&#8217;t two important unpleasant surprises in terms of US-East-1 dependencies:</p>
<ul class="wp-block-list"><li>The global console URL was pointing to US-East-1 alone (rather than being geo load balanced or the like, which most people would probably have assumed). Customers could get around this by going to a regional console URL instead. I believe (but haven&#8217;t confirmed) AWS has now introduced a truly global endpoint with the introduction of the new console experience.</li><li>Route 53 and Cloudfront&#8217;s control plane APIs are hosted solely in US-East-1. People reasonably expect to be able to make DNS changes during an outage, even though AWS advises that you use health checks for your failover instead.</li></ul>
<p class="wp-block-paragraph">Either of those two things could have thrown a wrench into cross-region recovery, along with needing to create new S3 buckets (the global namespace conflict checks are done against US-East-1), needing very specific instance types in short supply in the target region, needing to create new IAM roles (which are first&nbsp; created in US-East-1 and then replicated to other regions), and depending on the legacy STS global namespace (also US-East-1 dependent). But by and large, cross-region recovery worked as expected.</p>
<p class="wp-block-paragraph">Now, there are certainly plenty of people who can&#8217;t do fast failover into another region and who therefore sat tight and suffered through the incident, and there&#8217;s a nontrivial number of customers who haven&#8217;t laid foundations for disaster recovery (however slowly) into another region. I get it &#8212; being able to do this kind of recovery requires an investment. You want cloud providers to be so resilient that you don&#8217;t need to make that investment yourself. But hope is not a strategy, here.</p>
<p class="wp-block-paragraph"><strong>But the sky did not fall, and the sky is not falling.</strong> Cloud has not suddenly become less attractive or significantly more risky. AZ architectures work, but as always, problems with regional services (which are already designed to be multi-AZ) mean that multi-AZ might not be enough for the most critical applications. Cross-region failover works, when properly architected. (<em>Fast&nbsp;</em>and seamless failover and failback are critical, though; major cloud incidents to date have generally been multi-hour, but not multi-day. If you can&#8217;t fail over easily and fail back without a lot of effort, you tend to just wait out the outage and hope it&#8217;s short.)</p>
<p class="wp-block-paragraph">Yes, there were significant problems for many customers in US-East-1. API Gateway was essentially down, and many people are dependent on API Gateway to invoke Lambda, and tons of customers use Lambda in a mission-critical fashion. Amazon Connect also depends on API Gateway, and it was also affected. (Other casualties of the backend network issues: ELB launches, S3 private endpoints, Fargate APIs impacting container launches, STS for EKS, and the support APIs.) But EC2 virtual machines continued to function just fine (although you couldn&#8217;t launch new ones). The overwhelming majority of AWS services in the region continued to operate unimpacted, and customers who did not have dependencies on affected services were able to continue operating in the region.</p>
<p class="wp-block-paragraph">In a way, this was a stark demonstration of how much cloud outages are usually confined to specific services&#8230; but if a down service is critical to your application, you&#8217;re probably boned unless you have a workaround or you can failover into another region. Unfortunately, far too many customers persist in planning as if physical data center failure was the most likely event. (AWS had one of those in December, too &#8212; a power outage in a single data center, thus impacting a percentage of infrastructure in one of the six US-East-1 AZs.)</p>
<p class="wp-block-paragraph">Yes, the incident was a wake-up call for a lot of cloud customers, and it was a rallying cry for on-premises server-huggers. However, not only is the sky not falling, but there should be no anticipation that it will <a href="https://en.wikipedia.org/wiki/Cloudy_with_a_Chance_of_Meatballs">rain meatballs</a>.</p>
<p class="wp-block-paragraph">I wrote a number of blog posts months before this outage:</p>
<ul class="wp-block-list"><li><a href="https://cloudpundit.com/2021/09/22/the-cloud-is-not-just-someone-elses-computer/" target="_blank" rel="noreferrer noopener">The cloud is NOT just someone else’s computer</a></li><li><a href="https://cloudpundit.com/2021/10/14/multicloud-failover-is-almost-always-a-terrible-idea/" target="_blank" rel="noreferrer noopener">Multicloud failover is almost always a terrible idea</a></li><li><a href="https://cloudpundit.com/2021/10/21/improving-cloud-resilience-through-stuff-that-works/">Improving cloud resilience through stuff that works</a></li></ul>
<p class="wp-block-paragraph">and I still firmly stand by those posts now. (Importantly, I still believe multicloud for resilience is almost always impractical. Successful implementations are vanishingly rare and have horrible drawbacks.) Indeed, I&#8217;d been working on a piece of Gartner research with my colleagues Kevin Matheny (who covers application architecture), Stanton Cole and Fintan Quinn (who cover backup and DR), which I&#8217;m glad to say has finally published:</p>
<p class="wp-block-paragraph"><a href="https://gtnr.it/3v0PH50"><strong>Designing Availability and Resilience for Applications in Public Cloud IaaS and PaaS</strong></a>&nbsp;(Gartner for Technical Professionals paywall)</p>
<p class="wp-block-paragraph">In this, you&#8217;ll find what I hope is a pragmatic set of guidance advising that you figure out how critical an application is, and then choose your availability approach and your failover approach accordingly &#8212; and not forget the critical importance of designing and implementing resilience within your application. It&#8217;s got a lengthy dissection of all the things that can go wrong in the cloud, and what you should be thinking about when you architect. It also contains a sample architectural standard that cloud governance teams can provide to application architects to help them make these decisions. (The main doc runs 65 pages. The impatient will probably find the architectural standard, which is fairly short, to be easier reading.)</p>
<div id="atatags-370373-6aa4e039c1472">
<script type="text/javascript">
__ATA = window.__ATA || {};
__ATA.cmd = window.__ATA.cmd || [];
__ATA.cmd.push(function() {
__ATA.initVideoSlot('atatags-370373-6aa4e039c1472', {
sectionId: '370373',
format: 'inread'
});
});
</script>
</div><span id="wordads-inline-marker" style="display: none;"></span><div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"><div class="sharedaddy sd-sharing-enabled"><div class="robots-nocontent sd-block sd-social sd-social-official sd-sharing"><div class="sd-content"><ul><li class="share-twitter"><a href="https://twitter.com/share" class="twitter-share-button" data-url="https://cloudpundit.com/2022/02/22/resilience-cloudy-without-a-chance-of-meatballs/" data-text="Resilience: Cloudy without a chance of meatballs" data-via="cloudpundit" data-related="wordpressdotcom">Tweet</a></li><li class="share-linkedin"><div class="linkedin_button"><script type="in/share" data-url="https://cloudpundit.com/2022/02/22/resilience-cloudy-without-a-chance-of-meatballs/" data-counter="right"></script></div></li><li class="share-facebook"><div class="fb-share-button" data-href="https://cloudpundit.com/2022/02/22/resilience-cloudy-without-a-chance-of-meatballs/" data-layout="button_count"></div></li><li><a href="#" class="sharing-anchor sd-button share-more"><span>More</span></a></li><li class="share-end"></li></ul><div class="sharing-hidden"><div class="inner" style="display: none;"><ul><li class="share-email"><a rel="nofollow noopener noreferrer"
data-shared="sharing-email-1186"
class="share-email sd-button"
href="mailto:?subject=%5BShared%20Post%5D%20Resilience%3A%20Cloudy%20without%20a%20chance%20of%20meatballs&#038;body=https%3A%2F%2Fcloudpundit.com%2F2022%2F02%2F22%2Fresilience-cloudy-without-a-chance-of-meatballs%2F&#038;share=email"
target="_blank"
aria-labelledby="sharing-email-1186"
data-email-share-error-title="Do you have email set up?" data-email-share-error-text="If you&#039;re having problems sharing via email, you might not have email set up for your browser. You may need to create a new email yourself." data-email-share-nonce="a2eb641a45" data-email-share-track-url="https://cloudpundit.com/2022/02/22/resilience-cloudy-without-a-chance-of-meatballs/?share=email">
<span id="sharing-email-1186" hidden>Email a link to a friend (Opens in new window)</span>
<span>Email</span>
</a></li><li class="share-print"><a rel="nofollow noopener noreferrer"
data-shared="sharing-print-1186"
class="share-print sd-button"
href="https://cloudpundit.com/2022/02/22/resilience-cloudy-without-a-chance-of-meatballs/#print?share=print"
target="_blank"
aria-labelledby="sharing-print-1186"
>
<span id="sharing-print-1186" hidden>Print (Opens in new window)</span>
<span>Print</span>
</a></li><li class="share-reddit"><a rel="nofollow noopener noreferrer"
data-shared="sharing-reddit-1186"
class="share-reddit sd-button"
href="https://cloudpundit.com/2022/02/22/resilience-cloudy-without-a-chance-of-meatballs/?share=reddit"
target="_blank"
aria-labelledby="sharing-reddit-1186"
>
<span id="sharing-reddit-1186" hidden>Share on Reddit (Opens in new window)</span>
<span>Reddit</span>
</a></li><li class="share-end"></li></ul></div></div></div></div></div><div class='sharedaddy sd-block sd-like jetpack-likes-widget-wrapper jetpack-likes-widget-unloaded' id='like-post-wrapper-4543198-1186-6aa4e039c1e97' data-src='//widgets.wp.com/likes/index.html?ver=20260912#blog_id=4543198&amp;post_id=1186&amp;origin=cloudpundit.wordpress.com&amp;obj_id=4543198-1186-6aa4e039c1e97&amp;domain=cloudpundit.com' data-name='like-post-frame-4543198-1186-6aa4e039c1e97' data-title='Like or Reblog'><div class='likes-widget-placeholder post-likes-widget-placeholder' style='height: 55px;'><span class='button'><span>Like</span></span> <span class='loading'>Loading...</span></div><span class='sd-text-color'></span><a class='sd-link-color'></a></div>
<div id='jp-relatedposts' class='jp-relatedposts' >
<h3 class="jp-relatedposts-headline"><em>Related</em></h3>
</div></div> </div><!-- .entry -->
</div><!-- .post-wrapper -->
<div class="post-utility">
<p class="details">
Posted on February 22, 2022, in <a href="https://cloudpundit.com/category/infrastructure/" rel="category tag">Infrastructure</a> and tagged <a href="https://cloudpundit.com/tag/bc-dr/" rel="tag">BC/DR</a>, <a href="https://cloudpundit.com/tag/cloud/" rel="tag">cloud</a>, <a href="https://cloudpundit.com/tag/iaas/" rel="tag">IaaS</a>, <a href="https://cloudpundit.com/tag/outage/" rel="tag">outage</a>, <a href="https://cloudpundit.com/tag/paas/" rel="tag">PaaS</a>, <a href="https://cloudpundit.com/tag/research/" rel="tag">research</a>, <a href="https://cloudpundit.com/tag/resilience/" rel="tag">resilience</a>. Bookmark the <a href="https://cloudpundit.com/2022/02/22/resilience-cloudy-without-a-chance-of-meatballs/" title="Permalink to Resilience: Cloudy without a chance of&nbsp;meatballs" rel="bookmark">permalink</a>. <a href="https://cloudpundit.com/2022/02/22/resilience-cloudy-without-a-chance-of-meatballs/#comments">3 Comments</a>. </p>
</div><!-- .post-utility -->
<div class="post-navigation nav-below">
<div class="nav-previous">
<a href="https://cloudpundit.com/2021/12/08/my-q1-2022-research-agenda/" rel="prev">&larr; My Q1 2022 research&nbsp;agenda</a> </div>
<div class="nav-next">
<a href="https://cloudpundit.com/2022/03/28/cloud-self-service-doesnt-need-to-invite-the-orc-apocalypse/" rel="next">Cloud self-service doesn&#8217;t need to invite the orc&nbsp;apocalypse &rarr;</a> </div>
</div><!-- .post-navigation -->
<div id="post-extra-content" class="clear-block">
<div id="secondary-tabs">
<ul class="comment-tabs">
<li class="leave-a-comment">
<h3 class="comment-tab-title">
<a href="#respond" title="Leave a comment"> Leave a comment</a>
</h3>
</li>
<li>
<h3 class="comment-tab-title">
<a href="#trackbacks">Trackbacks 2</a>
</h3>
</li>
<li>
<h3 class="comment-tab-title">
<a href="#comments">Comments 1</a>
</h3>
</li>
</ul><!-- .comment-tabs -->
</div><!-- #secondary-tabs -->
<div id="commentlist">
<ol id="comments">
<li class="comment even thread-even depth-1" id="li-comment-216301">
<div id="comment-216301" class="tiptrigger">
<div class="comment-head comment-author vcard">
<cite class="fn">Nicolai</cite>
<span class="comment-meta commentmetadata">
|
<a href="https://cloudpundit.com/2022/02/22/resilience-cloudy-without-a-chance-of-meatballs/#comment-216301">
March 1, 2022 at 1:05 am</a>
</span><!-- .comment-meta .commentmetadata -->
</div><!-- .comment-head .comment-author .vcard -->
<div class="comment-body">
<p>Great article, and I agree with most of it. But not with “Cloud has not suddenly become less attractive or significantly more risky.” I believe that is precisely what happened. This event has taught us truths about the AZ model that are uncomfortable:<br />
&#8211; Apparently, some services that we expected to be global, are region-bound, such as R53, console logins, elements of S3<br />
&#8211; Higher layer services depend on other AWS services and therefore have a worse availability profile than the basic cloud primitives such as EC2</p>
<p>Those are findings that really impact the narratives coming from AWS, in particular “we hardly fail and when we do it’s in expected ways” and “higher layer services provide better security, availability and cost than lower layer services because you allow our experts to take care of the undifferentiated heavy lifting”.</p>
<p>Both those narratives have been proven wrong to a degree by this event and the recent security findings. My perspective on AWS will never be the same.</p>
<p id="comment-like-216301" data-liked=comment-not-liked class="comment-likes comment-not-liked"><a href="https://cloudpundit.com/2022/02/22/resilience-cloudy-without-a-chance-of-meatballs/?like_comment=216301&#038;_wpnonce=c46e0fb055" class="comment-like-link needs-login" rel="nofollow" data-blog="4543198"><span>Like</span></a><span id="comment-like-count-216301" class="comment-like-feedback">Like</span></p>
</div><!-- .comment-body -->
<div class="act tip">
</span>
</div><!-- .act .tip -->
</div><!-- #comment-## -->
</li><!-- #comment-## -->
</ol><!-- #comments -->
<ol id="trackbacks">
<li class="post pingback">
<p>Pingback: <a href="https://sreweekly.com/sre-weekly-issue-311/" class="url" rel="ugc external nofollow">SRE Weekly Issue #311 &#8211; SRE WEEKLY</a></p>
</li>
</li><!-- #comment-## -->
<li class="post pingback">
<p>Pingback: <a href="https://fde.cat/index.php/2022/02/28/sre-weekly-issue-311/" class="url" rel="ugc external nofollow">SRE Weekly Issue #311 &#8211; FDE</a></p>
</li>
</li><!-- #comment-## -->
</ol><!-- #trackbacks -->
</div><!-- #comment-list -->
<div id="respond" class="comment-respond">
<h3 id="reply-title" class="comment-reply-title">Leave a comment</h3><form action="https://cloudpundit.com/wp-comments-post.php" method="post" id="commentform" class="comment-form">
<div class="comment-form__verbum transparent"></div><div class="verbum-form-meta"><input type='hidden' name='comment_post_ID' value='1186' id='comment_post_ID' />
<input type='hidden' name='comment_parent' id='comment_parent' value='0' />
<input type="hidden" name="highlander_comment_nonce" id="highlander_comment_nonce" value="4affefa77f" />
<input type="hidden" name="verbum_show_subscription_modal" value="" /></div><p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="985c1e3495" /></p><p style="display: none !important;" class="akismet-fields-container" data-prefix="ak_"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="50"/><script>
document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );
</script>
</p></form> </div><!-- #respond -->
</div><!-- #post-extra-content -->
</div><!-- #content -->
</div><!-- #content-container -->
<div id="sidebar" class="widget-area" role="complementary">
<ul class="xoxo">
<li id="text-251338661" class="widget widget_text"><h3 class="widget-title"><span>About the Author</span></h3> <div class="textwidget"><p>Lydia Leong is an analyst at Gartner, where she covers cloud computing and related topics in infrastructure and operations, Internet services, and digital transformation. [<i><a href="/about">Read more.</a></i>]</p>
<p>This is a personal blog, and as such, it should not be taken to express Gartner&#8217;s views. Coverage-related posts are, however, mirrored on the <a href="http://blogs.gartner.com/lydia_leong/">Gartner Blog Network</a>.</p>
<p><em>Standard Gartner social media disclaimer: I am using this medium as an opportunity to test ideas and move research forward. Because the content I posted here does not undergo our standard editorial review, all comments or opinions expressed hereunder are mine and do not represent the views of Gartner, Inc., its subsidiaries or its management.</em></p>
</div>
</li><li id="mystique-widget-2" class="widget mystique"> <div class="tabbed-content sidebar-tabs">
<ul class="sidebar-tabs">
<li class="tab-tags"><a href="#tab-tags" title="Tags">Tags</a></li>
<li class="tab-categories"><a href="#tab-categories" title="Categories">Categories</a></li>
</ul>
<div class="tab-container">
<div id="tab-tags" class="tab-content">
<a href="https://cloudpundit.com/tag/akam/" class="tag-cloud-link tag-link-715032 tag-link-position-1" style="font-size: 13.631284916201pt;" aria-label="AKAM (20 items)">AKAM</a>
<a href="https://cloudpundit.com/tag/amazon/" class="tag-cloud-link tag-link-6602 tag-link-position-2" style="font-size: 17.072625698324pt;" aria-label="Amazon (57 items)">Amazon</a>
<a href="https://cloudpundit.com/tag/appdev/" class="tag-cloud-link tag-link-393984 tag-link-position-3" style="font-size: 12.927374301676pt;" aria-label="appdev (16 items)">appdev</a>
<a href="https://cloudpundit.com/tag/azure/" class="tag-cloud-link tag-link-335778 tag-link-position-4" style="font-size: 8pt;" aria-label="Azure (3 items)">Azure</a>
<a href="https://cloudpundit.com/tag/bc-dr/" class="tag-cloud-link tag-link-74523124 tag-link-position-5" style="font-size: 8.7821229050279pt;" aria-label="BC/DR (4 items)">BC/DR</a>
<a href="https://cloudpundit.com/tag/book/" class="tag-cloud-link tag-link-2364 tag-link-position-6" style="font-size: 8.7821229050279pt;" aria-label="book (4 items)">book</a>
<a href="https://cloudpundit.com/tag/cdn/" class="tag-cloud-link tag-link-473015 tag-link-position-7" style="font-size: 17.776536312849pt;" aria-label="CDN (69 items)">CDN</a>
<a href="https://cloudpundit.com/tag/cloud/" class="tag-cloud-link tag-link-69816 tag-link-position-8" style="font-size: 22pt;" aria-label="cloud (243 items)">cloud</a>
<a href="https://cloudpundit.com/tag/colocation/" class="tag-cloud-link tag-link-760284 tag-link-position-9" style="font-size: 13.631284916201pt;" aria-label="colocation (20 items)">colocation</a>
<a href="https://cloudpundit.com/tag/conference/" class="tag-cloud-link tag-link-33525 tag-link-position-10" style="font-size: 12.301675977654pt;" aria-label="conference (13 items)">conference</a>
<a href="https://cloudpundit.com/tag/contracts/" class="tag-cloud-link tag-link-10009 tag-link-position-11" style="font-size: 11.128491620112pt;" aria-label="contracts (9 items)">contracts</a>
<a href="https://cloudpundit.com/tag/customers/" class="tag-cloud-link tag-link-8780 tag-link-position-12" style="font-size: 12.301675977654pt;" aria-label="customers (13 items)">customers</a>
<a href="https://cloudpundit.com/tag/dns/" class="tag-cloud-link tag-link-17846 tag-link-position-13" style="font-size: 8pt;" aria-label="DNS (3 items)">DNS</a>
<a href="https://cloudpundit.com/tag/eqix/" class="tag-cloud-link tag-link-998845 tag-link-position-14" style="font-size: 8.7821229050279pt;" aria-label="EQIX (4 items)">EQIX</a>
<a href="https://cloudpundit.com/tag/finops/" class="tag-cloud-link tag-link-205784085 tag-link-position-15" style="font-size: 8.7821229050279pt;" aria-label="FinOps (4 items)">FinOps</a>
<a href="https://cloudpundit.com/tag/gartner/" class="tag-cloud-link tag-link-328920 tag-link-position-16" style="font-size: 19.340782122905pt;" aria-label="Gartner (110 items)">Gartner</a>
<a href="https://cloudpundit.com/tag/google/" class="tag-cloud-link tag-link-81 tag-link-position-17" style="font-size: 13.474860335196pt;" aria-label="Google (19 items)">Google</a>
<a href="https://cloudpundit.com/tag/hands-on/" class="tag-cloud-link tag-link-79279 tag-link-position-18" style="font-size: 9.9553072625698pt;" aria-label="hands-on (6 items)">hands-on</a>
<a href="https://cloudpundit.com/tag/hosting/" class="tag-cloud-link tag-link-149 tag-link-position-19" style="font-size: 18.011173184358pt;" aria-label="hosting (74 items)">hosting</a>
<a href="https://cloudpundit.com/tag/iaas/" class="tag-cloud-link tag-link-1419732 tag-link-position-20" style="font-size: 18.245810055866pt;" aria-label="IaaS (80 items)">IaaS</a>
<a href="https://cloudpundit.com/tag/llnw/" class="tag-cloud-link tag-link-1412479 tag-link-position-21" style="font-size: 12.536312849162pt;" aria-label="LLNW (14 items)">LLNW</a>
<a href="https://cloudpundit.com/tag/mmog/" class="tag-cloud-link tag-link-35673 tag-link-position-22" style="font-size: 9.4078212290503pt;" aria-label="mmog (5 items)">mmog</a>
<a href="https://cloudpundit.com/tag/mq/" class="tag-cloud-link tag-link-293421 tag-link-position-23" style="font-size: 16.446927374302pt;" aria-label="MQ (47 items)">MQ</a>
<a href="https://cloudpundit.com/tag/msp/" class="tag-cloud-link tag-link-333207 tag-link-position-24" style="font-size: 8.7821229050279pt;" aria-label="MSP (4 items)">MSP</a>
<a href="https://cloudpundit.com/tag/multicloud/" class="tag-cloud-link tag-link-73233928 tag-link-position-25" style="font-size: 8.7821229050279pt;" aria-label="multicloud (4 items)">multicloud</a>
<a href="https://cloudpundit.com/tag/net-neutrality/" class="tag-cloud-link tag-link-38036 tag-link-position-26" style="font-size: 8pt;" aria-label="net neutrality (3 items)">net neutrality</a>
<a href="https://cloudpundit.com/tag/networking/" class="tag-cloud-link tag-link-7426 tag-link-position-27" style="font-size: 11.128491620112pt;" aria-label="networking (9 items)">networking</a>
<a href="https://cloudpundit.com/tag/news/" class="tag-cloud-link tag-link-103 tag-link-position-28" style="font-size: 13.31843575419pt;" aria-label="news (18 items)">news</a>
<a href="https://cloudpundit.com/tag/open-source/" class="tag-cloud-link tag-link-25 tag-link-position-29" style="font-size: 10.737430167598pt;" aria-label="open source (8 items)">open source</a>
<a href="https://cloudpundit.com/tag/operations/" class="tag-cloud-link tag-link-28285 tag-link-position-30" style="font-size: 8.7821229050279pt;" aria-label="operations (4 items)">operations</a>
<a href="https://cloudpundit.com/tag/p2p/" class="tag-cloud-link tag-link-991 tag-link-position-31" style="font-size: 8.7821229050279pt;" aria-label="P2P (4 items)">P2P</a>
<a href="https://cloudpundit.com/tag/paas/" class="tag-cloud-link tag-link-1438933 tag-link-position-32" style="font-size: 11.988826815642pt;" aria-label="PaaS (12 items)">PaaS</a>
<a href="https://cloudpundit.com/tag/people/" class="tag-cloud-link tag-link-660 tag-link-position-33" style="font-size: 15.27374301676pt;" aria-label="people (33 items)">people</a>
<a href="https://cloudpundit.com/tag/process/" class="tag-cloud-link tag-link-9719 tag-link-position-34" style="font-size: 9.4078212290503pt;" aria-label="process (5 items)">process</a>
<a href="https://cloudpundit.com/tag/rax/" class="tag-cloud-link tag-link-1438643 tag-link-position-35" style="font-size: 13.162011173184pt;" aria-label="RAX (17 items)">RAX</a>
<a href="https://cloudpundit.com/tag/regulatory/" class="tag-cloud-link tag-link-85557 tag-link-position-36" style="font-size: 8.7821229050279pt;" aria-label="regulatory (4 items)">regulatory</a>
<a href="https://cloudpundit.com/tag/research/" class="tag-cloud-link tag-link-668 tag-link-position-37" style="font-size: 18.558659217877pt;" aria-label="research (88 items)">research</a>
<a href="https://cloudpundit.com/tag/resilience/" class="tag-cloud-link tag-link-340215 tag-link-position-38" style="font-size: 9.9553072625698pt;" aria-label="resilience (6 items)">resilience</a>
<a href="https://cloudpundit.com/tag/risk/" class="tag-cloud-link tag-link-37372 tag-link-position-39" style="font-size: 8.7821229050279pt;" aria-label="risk (4 items)">risk</a>
<a href="https://cloudpundit.com/tag/science/" class="tag-cloud-link tag-link-173 tag-link-position-40" style="font-size: 8.7821229050279pt;" aria-label="science (4 items)">science</a>
<a href="https://cloudpundit.com/tag/security/" class="tag-cloud-link tag-link-801 tag-link-position-41" style="font-size: 12.536312849162pt;" aria-label="security (14 items)">security</a>
<a href="https://cloudpundit.com/tag/software/" class="tag-cloud-link tag-link-581 tag-link-position-42" style="font-size: 10.737430167598pt;" aria-label="software (8 items)">software</a>
<a href="https://cloudpundit.com/tag/travel/" class="tag-cloud-link tag-link-200 tag-link-position-43" style="font-size: 8pt;" aria-label="travel (3 items)">travel</a>
<a href="https://cloudpundit.com/tag/video/" class="tag-cloud-link tag-link-412 tag-link-position-44" style="font-size: 8pt;" aria-label="video (3 items)">video</a>
<a href="https://cloudpundit.com/tag/vmware/" class="tag-cloud-link tag-link-38600 tag-link-position-45" style="font-size: 11.754189944134pt;" aria-label="VMware (11 items)">VMware</a> </div><!-- #tab-tags -->
<div id="tab-categories" class="tab-content">
<ul class="menu-list">
<li class="cat-item cat-item-40249"><a href="https://cloudpundit.com/category/analyst-life/">Analyst Life</a> (42)
</li>
<li class="cat-item cat-item-357"><a href="https://cloudpundit.com/category/applications/">Applications</a> (3)
</li>
<li class="cat-item cat-item-1559"><a href="https://cloudpundit.com/category/gadgets/">Gadgets</a> (2)
</li>
<li class="cat-item cat-item-1256"><a href="https://cloudpundit.com/category/gaming/">Gaming</a> (6)
</li>
<li class="cat-item cat-item-16505"><a href="https://cloudpundit.com/category/governance/">Governance</a> (10)
</li>
<li class="cat-item cat-item-3570"><a href="https://cloudpundit.com/category/industry/">Industry</a> (110)
</li>
<li class="cat-item cat-item-32"><a href="https://cloudpundit.com/category/infrastructure/">Infrastructure</a> (219)
</li>
<li class="cat-item cat-item-175"><a href="https://cloudpundit.com/category/marketing/">Marketing</a> (13)
</li>
<li class="cat-item cat-item-64"><a href="https://cloudpundit.com/category/personal/">Personal</a> (3)
</li>
<li class="cat-item cat-item-8553"><a href="https://cloudpundit.com/category/strategy/">Strategy</a> (4)
</li>
<li class="cat-item cat-item-1"><a href="https://cloudpundit.com/category/uncategorized/">Uncategorized</a> (4)
</li>
</ul>
</div><!-- #tab-categories -->
</div><!-- .tab-container -->
</div><!-- .tabbed-content -->
</li><li id="search-2" class="widget widget_search"><h3 class="widget-title"><span>Search</span></h3>
<form method="get" id="searchform" action="https://cloudpundit.com/">
<div id="searchfield">
<label for="s" class="screen-reader-text">Search for:</label>
<input type="text" name="s" id="s" class="searchtext" />
<input type="submit" value="Go" class="searchbutton" />
</div>
</form></li><li id="categories-338367772" class="widget widget_categories"><h3 class="widget-title"><span>Categories</span></h3><form action="https://cloudpundit.com" method="get"><label class="screen-reader-text" for="cat">Categories</label><select name='cat' id='cat' class='postform'>
<option value='-1'>Select Category</option>
<option class="level-0" value="40249">Analyst Life&nbsp;&nbsp;(42)</option>
<option class="level-0" value="357">Applications&nbsp;&nbsp;(3)</option>
<option class="level-0" value="1559">Gadgets&nbsp;&nbsp;(2)</option>
<option class="level-0" value="1256">Gaming&nbsp;&nbsp;(6)</option>
<option class="level-0" value="16505">Governance&nbsp;&nbsp;(10)</option>
<option class="level-0" value="3570">Industry&nbsp;&nbsp;(110)</option>
<option class="level-0" value="32">Infrastructure&nbsp;&nbsp;(219)</option>
<option class="level-0" value="175">Marketing&nbsp;&nbsp;(13)</option>
<option class="level-0" value="64">Personal&nbsp;&nbsp;(3)</option>
<option class="level-0" value="8553">Strategy&nbsp;&nbsp;(4)</option>
<option class="level-0" value="1">Uncategorized&nbsp;&nbsp;(4)</option>
</select>
</form><script>
( ( dropdownId ) => {
const dropdown = document.getElementById( dropdownId );
function onSelectChange() {
setTimeout( () => {
if ( 'escape' === dropdown.dataset.lastkey ) {
return;
}
if ( dropdown.value && parseInt( dropdown.value ) > 0 && dropdown instanceof HTMLSelectElement ) {
dropdown.parentElement.submit();
}
}, 250 );
}
function onKeyUp( event ) {
if ( 'Escape' === event.key ) {
dropdown.dataset.lastkey = 'escape';
} else {
delete dropdown.dataset.lastkey;
}
}
function onClick() {
delete dropdown.dataset.lastkey;
}
dropdown.addEventListener( 'keyup', onKeyUp );
dropdown.addEventListener( 'click', onClick );
dropdown.addEventListener( 'change', onSelectChange );
})( "cat" );
//# sourceURL=WP_Widget_Categories%3A%3Awidget
</script>
</li><li id="archives-2" class="widget widget_archive"><h3 class="widget-title"><span>Archives</span></h3>
<ul>
<li><a href='https://cloudpundit.com/2026/04/'>April 2026</a></li>
<li><a href='https://cloudpundit.com/2023/03/'>March 2023</a></li>
<li><a href='https://cloudpundit.com/2022/09/'>September 2022</a></li>
<li><a href='https://cloudpundit.com/2022/03/'>March 2022</a></li>
<li><a href='https://cloudpundit.com/2022/02/'>February 2022</a></li>
<li><a href='https://cloudpundit.com/2021/12/'>December 2021</a></li>
<li><a href='https://cloudpundit.com/2021/11/'>November 2021</a></li>
<li><a href='https://cloudpundit.com/2021/10/'>October 2021</a></li>
<li><a href='https://cloudpundit.com/2021/09/'>September 2021</a></li>
<li><a href='https://cloudpundit.com/2021/03/'>March 2021</a></li>
<li><a href='https://cloudpundit.com/2021/01/'>January 2021</a></li>
<li><a href='https://cloudpundit.com/2020/10/'>October 2020</a></li>
<li><a href='https://cloudpundit.com/2020/09/'>September 2020</a></li>
<li><a href='https://cloudpundit.com/2020/08/'>August 2020</a></li>
<li><a href='https://cloudpundit.com/2020/07/'>July 2020</a></li>
<li><a href='https://cloudpundit.com/2019/07/'>July 2019</a></li>
<li><a href='https://cloudpundit.com/2018/06/'>June 2018</a></li>
<li><a href='https://cloudpundit.com/2016/12/'>December 2016</a></li>
<li><a href='https://cloudpundit.com/2016/09/'>September 2016</a></li>
<li><a href='https://cloudpundit.com/2016/08/'>August 2016</a></li>
<li><a href='https://cloudpundit.com/2016/06/'>June 2016</a></li>
<li><a href='https://cloudpundit.com/2016/04/'>April 2016</a></li>
<li><a href='https://cloudpundit.com/2016/01/'>January 2016</a></li>
<li><a href='https://cloudpundit.com/2015/01/'>January 2015</a></li>
<li><a href='https://cloudpundit.com/2014/10/'>October 2014</a></li>
<li><a href='https://cloudpundit.com/2014/09/'>September 2014</a></li>
<li><a href='https://cloudpundit.com/2014/08/'>August 2014</a></li>
<li><a href='https://cloudpundit.com/2014/07/'>July 2014</a></li>
<li><a href='https://cloudpundit.com/2014/05/'>May 2014</a></li>
<li><a href='https://cloudpundit.com/2014/02/'>February 2014</a></li>
<li><a href='https://cloudpundit.com/2014/01/'>January 2014</a></li>
<li><a href='https://cloudpundit.com/2013/12/'>December 2013</a></li>
<li><a href='https://cloudpundit.com/2013/11/'>November 2013</a></li>
<li><a href='https://cloudpundit.com/2013/10/'>October 2013</a></li>
<li><a href='https://cloudpundit.com/2013/09/'>September 2013</a></li>
<li><a href='https://cloudpundit.com/2013/08/'>August 2013</a></li>
<li><a href='https://cloudpundit.com/2013/06/'>June 2013</a></li>
<li><a href='https://cloudpundit.com/2013/05/'>May 2013</a></li>
<li><a href='https://cloudpundit.com/2013/04/'>April 2013</a></li>
<li><a href='https://cloudpundit.com/2013/03/'>March 2013</a></li>
<li><a href='https://cloudpundit.com/2012/12/'>December 2012</a></li>
<li><a href='https://cloudpundit.com/2012/11/'>November 2012</a></li>
<li><a href='https://cloudpundit.com/2012/10/'>October 2012</a></li>
<li><a href='https://cloudpundit.com/2012/08/'>August 2012</a></li>
<li><a href='https://cloudpundit.com/2012/07/'>July 2012</a></li>
<li><a href='https://cloudpundit.com/2012/05/'>May 2012</a></li>
<li><a href='https://cloudpundit.com/2012/04/'>April 2012</a></li>
<li><a href='https://cloudpundit.com/2012/03/'>March 2012</a></li>
<li><a href='https://cloudpundit.com/2011/12/'>December 2011</a></li>
<li><a href='https://cloudpundit.com/2011/11/'>November 2011</a></li>
<li><a href='https://cloudpundit.com/2011/10/'>October 2011</a></li>
<li><a href='https://cloudpundit.com/2011/08/'>August 2011</a></li>
<li><a href='https://cloudpundit.com/2011/07/'>July 2011</a></li>
<li><a href='https://cloudpundit.com/2011/06/'>June 2011</a></li>
<li><a href='https://cloudpundit.com/2011/05/'>May 2011</a></li>
<li><a href='https://cloudpundit.com/2011/04/'>April 2011</a></li>
<li><a href='https://cloudpundit.com/2011/03/'>March 2011</a></li>
<li><a href='https://cloudpundit.com/2011/02/'>February 2011</a></li>
<li><a href='https://cloudpundit.com/2011/01/'>January 2011</a></li>
<li><a href='https://cloudpundit.com/2010/12/'>December 2010</a></li>
<li><a href='https://cloudpundit.com/2010/11/'>November 2010</a></li>
<li><a href='https://cloudpundit.com/2010/10/'>October 2010</a></li>
<li><a href='https://cloudpundit.com/2010/09/'>September 2010</a></li>
<li><a href='https://cloudpundit.com/2010/08/'>August 2010</a></li>
<li><a href='https://cloudpundit.com/2010/07/'>July 2010</a></li>
<li><a href='https://cloudpundit.com/2010/06/'>June 2010</a></li>
<li><a href='https://cloudpundit.com/2010/05/'>May 2010</a></li>
<li><a href='https://cloudpundit.com/2010/04/'>April 2010</a></li>
<li><a href='https://cloudpundit.com/2010/03/'>March 2010</a></li>
<li><a href='https://cloudpundit.com/2010/01/'>January 2010</a></li>
<li><a href='https://cloudpundit.com/2009/11/'>November 2009</a></li>
<li><a href='https://cloudpundit.com/2009/10/'>October 2009</a></li>
<li><a href='https://cloudpundit.com/2009/08/'>August 2009</a></li>
<li><a href='https://cloudpundit.com/2009/07/'>July 2009</a></li>
<li><a href='https://cloudpundit.com/2009/06/'>June 2009</a></li>
<li><a href='https://cloudpundit.com/2009/05/'>May 2009</a></li>
<li><a href='https://cloudpundit.com/2009/04/'>April 2009</a></li>
<li><a href='https://cloudpundit.com/2009/03/'>March 2009</a></li>
<li><a href='https://cloudpundit.com/2009/02/'>February 2009</a></li>
<li><a href='https://cloudpundit.com/2009/01/'>January 2009</a></li>
<li><a href='https://cloudpundit.com/2008/12/'>December 2008</a></li>
<li><a href='https://cloudpundit.com/2008/11/'>November 2008</a></li>
<li><a href='https://cloudpundit.com/2008/10/'>October 2008</a></li>
<li><a href='https://cloudpundit.com/2008/09/'>September 2008</a></li>
</ul>
</li>
<li id="recent-posts-2" class="widget widget_recent_entries">
<h3 class="widget-title"><span>Recent Posts</span></h3>
<ul>
<li>
<a href="https://cloudpundit.com/2026/04/28/where-did-i-go/">Where did I&nbsp;go?</a>
</li>
<li>
<a href="https://cloudpundit.com/2023/03/31/finops-can-be-a-big-waste-of-money/">FinOps can be a big waste of&nbsp;money</a>
</li>
<li>
<a href="https://cloudpundit.com/2023/03/13/greenops-for-sustainability-must-parallel-finops-for-cost/">GreenOps for sustainability must parallel FinOps for&nbsp;cost</a>
</li>
<li>
<a href="https://cloudpundit.com/2022/09/22/the-road-to-cloud-purgatory/">The road to cloud&nbsp;purgatory</a>
</li>
<li>
<a href="https://cloudpundit.com/2022/09/12/cloud-adoption-will-fail-because-of-the-skills-gap/">Cloud adoption will fail because of the skills&nbsp;gap</a>
</li>
<li>
<a href="https://cloudpundit.com/2022/03/28/cloud-self-service-doesnt-need-to-invite-the-orc-apocalypse/">Cloud self-service doesn&#8217;t need to invite the orc&nbsp;apocalypse</a>
</li>
<li>
<a href="https://cloudpundit.com/2022/02/22/resilience-cloudy-without-a-chance-of-meatballs/" aria-current="page">Resilience: Cloudy without a chance of&nbsp;meatballs</a>
</li>
<li>
<a href="https://cloudpundit.com/2021/12/08/my-q1-2022-research-agenda/">My Q1 2022 research&nbsp;agenda</a>
</li>
<li>
<a href="https://cloudpundit.com/2021/11/24/the-cloud-budget-overrun-rainbow-of-flavors/">The cloud budget overrun rainbow of&nbsp;flavors</a>
</li>
<li>
<a href="https://cloudpundit.com/2021/10/28/five-p-factors-for-root-cause-analysis/">Five-P factors for root cause&nbsp;analysis</a>
</li>
<li>
<a href="https://cloudpundit.com/2021/10/27/dont-be-surprised-when-move-fast-and-break-things-results-in-broken-stuff/">Don&#8217;t be surprised when &#8220;move fast and break things&#8221; results in broken&nbsp;stuff</a>
</li>
<li>
<a href="https://cloudpundit.com/2021/10/22/group-hugs-for-managing-cloud-economics/">Group hugs for managing cloud&nbsp;economics</a>
</li>
<li>
<a href="https://cloudpundit.com/2021/10/21/improving-cloud-resilience-through-stuff-that-works/">Improving cloud resilience through stuff that&nbsp;works</a>
</li>
<li>
<a href="https://cloudpundit.com/2021/10/20/cloud-cost-overruns-may-be-a-business-leadership-failure/">Cloud cost overruns may be a business leadership&nbsp;failure</a>
</li>
<li>
<a href="https://cloudpundit.com/2021/10/14/multicloud-failover-is-almost-always-a-terrible-idea/">Multicloud failover is almost always a terrible&nbsp;idea</a>
</li>
</ul>
</li><li id="recent-comments-2" class="widget widget_recent_comments"><h3 class="widget-title"><span>Recent Comments</span></h3> <ul id="recentcomments">
<li class="recentcomments">
<a href="http://medicalresearch95.wordpress.com" class="url" rel="ugc external nofollow">Vaibhav</a> on <a href="https://cloudpundit.com/2012/10/01/the-meta-info-of-my-openstack-note/#comment-240466">The meta-info of my OpenStack&nbsp;note</a> </li>
<li class="recentcomments">
<a href="https://shorturl.at/fdE2J" class="url" rel="ugc external nofollow">business profitability</a> on <a href="https://cloudpundit.com/2011/04/21/amazon-outage-and-the-auto-immune-vulnerabilities-of-resiliency/#comment-240460">Amazon outage and the auto-immune vulnerabilities of&nbsp;resiliency</a> </li>
<li class="recentcomments">
<a href="https://fonateam.nasrblog.ir/post-56032.html" class="url" rel="ugc external nofollow">German</a> on <a href="https://cloudpundit.com/2011/01/10/the-process-of-a-magic-quadrant/#comment-240453">The process of a Magic&nbsp;Quadrant</a> </li>
<li class="recentcomments">
UPSKILLGENERATIVEAI on <a href="https://cloudpundit.com/2012/10/01/the-meta-info-of-my-openstack-note/#comment-240447">The meta-info of my OpenStack&nbsp;note</a> </li>
<li class="recentcomments">
Tim on <a href="https://cloudpundit.com/2021/09/22/the-cloud-is-not-just-someone-elses-computer/#comment-240446">The cloud is NOT just someone else&#8217;s&nbsp;computer</a> </li>
<li class="recentcomments">
<a href="http://innomax" class="url" rel="ugc external nofollow">innomax itsolution</a> on <a href="https://cloudpundit.com/2012/10/01/the-meta-info-of-my-openstack-note/#comment-240445">The meta-info of my OpenStack&nbsp;note</a> </li>
<li class="recentcomments">
<a href="http://IT%20Consulting%20and%20Services" class="url" rel="ugc external nofollow">innomax itsolution</a> on <a href="https://cloudpundit.com/2012/10/01/the-meta-info-of-my-openstack-note/#comment-240444">The meta-info of my OpenStack&nbsp;note</a> </li>
<li class="recentcomments">
<a href="http://sgholidaysresorts.com" class="url" rel="ugc external nofollow">SG holidays</a> on <a href="https://cloudpundit.com/2012/10/01/the-meta-info-of-my-openstack-note/#comment-240440">The meta-info of my OpenStack&nbsp;note</a> </li>
<li class="recentcomments">
<a href="https://multicloud365.com/dont-be-shocked-when-transfer-quick-and-break-issues-ends-in-damaged-stuff/" class="url" rel="ugc external nofollow">Don’t be shocked when “transfer quick and break issues” ends in damaged stuff - multicloud365</a> on <a href="https://cloudpundit.com/2021/10/20/cloud-cost-overruns-may-be-a-business-leadership-failure/#comment-240436">Cloud cost overruns may be a business leadership&nbsp;failure</a> </li>
<li class="recentcomments">
grace martin on <a href="https://cloudpundit.com/2023/03/13/greenops-for-sustainability-must-parallel-finops-for-cost/#comment-240409">GreenOps for sustainability must parallel FinOps for&nbsp;cost</a> </li>
</ul>
</li><li id="rss-251199281" class="widget widget_rss"><h3 class="widget-title"><span><a class="rsswidget" href="https://www.gartner.com:443/en/insights" title="Syndicate this content"><img style="background: orange; color: white; border: none;" width="14" height="14" src="https://s.wordpress.com/wp-includes/images/rss.png?m=1354137473i" alt="RSS" /></a> <a class="rsswidget" href="" title="">More Comments</a></span></h3><ul><li>An error has occurred; the feed is probably down. Try again later.</li></ul></li><li id="top-clicks-2" class="widget widget_top-clicks"><h3 class="widget-title"><span>Top Clicks</span></h3><ul><li>None</li></ul></li><li id="meta-2" class="widget widget_meta"><h3 class="widget-title"><span>Meta</span></h3>
<ul>
<li><a class="click-register" href="https://wordpress.com/start?ref=wplogin">Create account</a></li> <li><a href="https://cloudpundit.wordpress.com/wp-login.php">Log in</a></li>
<li><a href="https://cloudpundit.com/feed/">Entries feed</a></li>
<li><a href="https://cloudpundit.com/comments/feed/">Comments feed</a></li>
<li><a href="https://wordpress.com/" title="Powered by WordPress, state-of-the-art semantic personal publishing platform.">WordPress.com</a></li>
</ul>
</li>
</ul>
</div><!-- #sidebar .widget-area -->
</div><!-- #main -->
<div id="footer" role="contentinfo">
<div id="copyright">
<p>
<a href="https://wordpress.com/?ref=footer_blog" rel="nofollow">Blog at WordPress.com.</a>
</p>
</div><!-- #copyright -->
</div><!-- #footer -->
</div><!-- #container -->
</div><!-- #page -->
<!-- -->
<script type="speculationrules">
{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/files/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/pub/mystique/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
</script>
<div style="display:none">
</div>
<!-- CCPA [start] -->
<script type="text/javascript">
( function () {
var setupPrivacy = function() {
// Minimal Mozilla Cookie library
// https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie/Simple_document.cookie_framework
var cookieLib = window.cookieLib = {getItem:function(e){return e&&decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null},setItem:function(e,o,n,t,r,i){if(!e||/^(?:expires|max\-age|path|domain|secure)$/i.test(e))return!1;var c="";if(n)switch(n.constructor){case Number:c=n===1/0?"; expires=Fri, 31 Dec 9999 23:59:59 GMT":"; max-age="+n;break;case String:c="; expires="+n;break;case Date:c="; expires="+n.toUTCString()}return"rootDomain"!==r&&".rootDomain"!==r||(r=(".rootDomain"===r?".":"")+document.location.hostname.split(".").slice(-2).join(".")),document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(o)+c+(r?"; domain="+r:"")+(t?"; path="+t:"")+(i?"; secure":""),!0}};
// Implement IAB USP API.
window.__uspapi = function( command, version, callback ) {
// Validate callback.
if ( typeof callback !== 'function' ) {
return;
}
// Validate the given command.
if ( command !== 'getUSPData' || version !== 1 ) {
callback( null, false );
return;
}
// Check for GPC. If set, override any stored cookie.
if ( navigator.globalPrivacyControl ) {
callback( { version: 1, uspString: '1YYN' }, true );
return;
}
// Check for cookie.
var consent = cookieLib.getItem( 'usprivacy' );
// Invalid cookie.
if ( null === consent ) {
callback( null, false );
return;
}
// Everything checks out. Fire the provided callback with the consent data.
callback( { version: 1, uspString: consent }, true );
};
// Initialization.
document.addEventListener( 'DOMContentLoaded', function() {
// Internal functions.
var setDefaultOptInCookie = function() {
var value = '1YNN';
var domain = '.wordpress.com' === location.hostname.slice( -14 ) ? '.rootDomain' : location.hostname;
cookieLib.setItem( 'usprivacy', value, 365 * 24 * 60 * 60, '/', domain );
};
var setDefaultOptOutCookie = function() {
var value = '1YYN';
var domain = '.wordpress.com' === location.hostname.slice( -14 ) ? '.rootDomain' : location.hostname;
cookieLib.setItem( 'usprivacy', value, 24 * 60 * 60, '/', domain );
};
var setDefaultNotApplicableCookie = function() {
var value = '1---';
var domain = '.wordpress.com' === location.hostname.slice( -14 ) ? '.rootDomain' : location.hostname;
cookieLib.setItem( 'usprivacy', value, 24 * 60 * 60, '/', domain );
};
var setCcpaAppliesCookie = function( applies ) {
var domain = '.wordpress.com' === location.hostname.slice( -14 ) ? '.rootDomain' : location.hostname;
cookieLib.setItem( 'ccpa_applies', applies, 24 * 60 * 60, '/', domain );
}
var maybeCallDoNotSellCallback = function() {
if ( 'function' === typeof window.doNotSellCallback ) {
return window.doNotSellCallback();
}
return false;
}
// Look for usprivacy cookie first.
var usprivacyCookie = cookieLib.getItem( 'usprivacy' );
// Found a usprivacy cookie.
if ( null !== usprivacyCookie ) {
// If the cookie indicates that CCPA does not apply, then bail.
if ( '1---' === usprivacyCookie ) {
return;
}
// CCPA applies, so call our callback to add Do Not Sell link to the page.
maybeCallDoNotSellCallback();
// We're all done, no more processing needed.
return;
}
// We don't have a usprivacy cookie, so check to see if we have a CCPA applies cookie.
var ccpaCookie = cookieLib.getItem( 'ccpa_applies' );
// No CCPA applies cookie found, so we'll need to geolocate if this visitor is from California.
// This needs to happen client side because we do not have region geo data in our $SERVER headers,
// only country data -- therefore we can't vary cache on the region.
if ( null === ccpaCookie ) {
var request = new XMLHttpRequest();
request.open( 'GET', 'https://public-api.wordpress.com/geo/', true );
request.onreadystatechange = function () {
if ( 4 === this.readyState ) {
if ( 200 === this.status ) {
// Got a geo response. Parse out the region data.
var data = JSON.parse( this.response );
var region = data.region ? data.region.toLowerCase() : '';
var ccpa_applies = ['california', 'colorado', 'connecticut', 'delaware', 'indiana', 'iowa', 'montana', 'new jersey', 'oregon', 'tennessee', 'texas', 'utah', 'virginia'].indexOf( region ) > -1;
// Set CCPA applies cookie. This keeps us from having to make a geo request too frequently.
setCcpaAppliesCookie( ccpa_applies );
// Check if CCPA applies to set the proper usprivacy cookie.
if ( ccpa_applies ) {
if ( maybeCallDoNotSellCallback() ) {
// Do Not Sell link added, so set default opt-in.
setDefaultOptInCookie();
} else {
// Failed showing Do Not Sell link as required, so default to opt-OUT just to be safe.
setDefaultOptOutCookie();
}
} else {
// CCPA does not apply.
setDefaultNotApplicableCookie();
}
} else {
// Could not geo, so let's assume for now that CCPA applies to be safe.
setCcpaAppliesCookie( true );
if ( maybeCallDoNotSellCallback() ) {
// Do Not Sell link added, so set default opt-in.
setDefaultOptInCookie();
} else {
// Failed showing Do Not Sell link as required, so default to opt-OUT just to be safe.
setDefaultOptOutCookie();
}
}
}
};
// Send the geo request.
request.send();
} else {
// We found a CCPA applies cookie.
if ( ccpaCookie === 'true' ) {
if ( maybeCallDoNotSellCallback() ) {
// Do Not Sell link added, so set default opt-in.
setDefaultOptInCookie();
} else {
// Failed showing Do Not Sell link as required, so default to opt-OUT just to be safe.
setDefaultOptOutCookie();
}
} else {
// CCPA does not apply.
setDefaultNotApplicableCookie();
}
}
} );
};
// Kickoff initialization.
if ( window.defQueue && defQueue.isLOHP && defQueue.isLOHP === 2020 ) {
defQueue.items.push( setupPrivacy );
} else {
setupPrivacy();
}
} )();
</script>
<!-- CCPA [end] -->
<div class="widget widget_eu_cookie_law_widget">
<div
class="hide-on-button ads-active"
data-hide-timeout="30"
data-consent-expiration="180"
id="eu-cookie-law"
style="display: none"
>
<form method="post">
<input type="submit" value="Close and accept" class="accept" />
Privacy &amp; Cookies: This site uses cookies. By continuing to use this website, you agree to their use. <br />
To find out more, including how to control cookies, see here:
<a href="https://automattic.com/cookies/" rel="nofollow">
Cookie Policy </a>
</form>
</div>
</div> <div id="actionbar" dir="ltr" style="display: none;"
class="actnbr-pub-mystique actnbr-has-follow actnbr-has-actions">
<ul>
<li class="actnbr-btn actnbr-hidden">
<a class="actnbr-action actnbr-actn-comment" href="https://cloudpundit.com/2022/02/22/resilience-cloudy-without-a-chance-of-meatballs/#comments">
<svg class="gridicon gridicons-comment" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path d="M12 16l-5 5v-5H5c-1.1 0-2-.9-2-2V5c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v9c0 1.1-.9 2-2 2h-7z"/></g></svg> <span>Comment </span>
</a>
</li>
<li class="actnbr-btn actnbr-hidden">
<a class="actnbr-action actnbr-actn-reblog" href="">
<svg class="gridicon gridicons-reblog" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path d="M22.086 9.914L20 7.828V18c0 1.105-.895 2-2 2h-7v-2h7V7.828l-2.086 2.086L14.5 8.5 19 4l4.5 4.5-1.414 1.414zM6 16.172V6h7V4H6c-1.105 0-2 .895-2 2v10.172l-2.086-2.086L.5 15.5 5 20l4.5-4.5-1.414-1.414L6 16.172z"/></g></svg><span>Reblog</span>
</a>
</li>
<li class="actnbr-btn actnbr-hidden">
<a class="actnbr-action actnbr-actn-follow " href="">
<svg class="gridicon" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path clip-rule="evenodd" d="m4 4.5h12v6.5h1.5v-6.5-1.5h-1.5-12-1.5v1.5 10.5c0 1.1046.89543 2 2 2h7v-1.5h-7c-.27614 0-.5-.2239-.5-.5zm10.5 2h-9v1.5h9zm-5 3h-4v1.5h4zm3.5 1.5h-1v1h1zm-1-1.5h-1.5v1.5 1 1.5h1.5 1 1.5v-1.5-1-1.5h-1.5zm-2.5 2.5h-4v1.5h4zm6.5 1.25h1.5v2.25h2.25v1.5h-2.25v2.25h-1.5v-2.25h-2.25v-1.5h2.25z" fill-rule="evenodd"></path></svg>
<span>Subscribe</span>
</a>
<a class="actnbr-action actnbr-actn-following no-display" href="">
<svg class="gridicon" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M16 4.5H4V15C4 15.2761 4.22386 15.5 4.5 15.5H11.5V17H4.5C3.39543 17 2.5 16.1046 2.5 15V3H17.5V12.5H16V4.5ZM5.5 6.5H14.5V8H5.5V6.5ZM5.5 9.5H9.5V11H5.5V9.5ZM12 11H13V12H12V11ZM10.5 9.5H14.5V13.5H10.5V9.5ZM5.5 12H9.5V13.5H5.5V12Z" fill="#008A20"></path><path d="M19.5303 15.0303L15.5 19.0605L12.9697 16.5303L14.0303 15.4697L15.5 16.9395L18.4697 13.9697L19.5303 15.0303Z" fill="#008A20"></path></svg>
<span>Subscribed</span>
</a>
<div class="actnbr-popover tip tip-top-left actnbr-notice" id="follow-bubble">
<div class="tip-arrow"></div>
<div class="tip-inner actnbr-follow-bubble">
<ul>
<li class="actnbr-sitename">
<a href="https://cloudpundit.com">
<img loading='lazy' alt='' src='https://secure.gravatar.com/blavatar/e5c7caa00f5fa325ab6f2a78dd6af5d1ae91c7cfba1647029e9c8335439b58bf?s=50&#038;d=https%3A%2F%2Fs2.wp.com%2Fi%2Flogo%2Fwpcom-gray-white.png' srcset='https://secure.gravatar.com/blavatar/e5c7caa00f5fa325ab6f2a78dd6af5d1ae91c7cfba1647029e9c8335439b58bf?s=50&#038;d=https%3A%2F%2Fs2.wp.com%2Fi%2Flogo%2Fwpcom-gray-white.png 1x, https://secure.gravatar.com/blavatar/e5c7caa00f5fa325ab6f2a78dd6af5d1ae91c7cfba1647029e9c8335439b58bf?s=75&#038;d=https%3A%2F%2Fs2.wp.com%2Fi%2Flogo%2Fwpcom-gray-white.png 1.5x, https://secure.gravatar.com/blavatar/e5c7caa00f5fa325ab6f2a78dd6af5d1ae91c7cfba1647029e9c8335439b58bf?s=100&#038;d=https%3A%2F%2Fs2.wp.com%2Fi%2Flogo%2Fwpcom-gray-white.png 2x, https://secure.gravatar.com/blavatar/e5c7caa00f5fa325ab6f2a78dd6af5d1ae91c7cfba1647029e9c8335439b58bf?s=150&#038;d=https%3A%2F%2Fs2.wp.com%2Fi%2Flogo%2Fwpcom-gray-white.png 3x, https://secure.gravatar.com/blavatar/e5c7caa00f5fa325ab6f2a78dd6af5d1ae91c7cfba1647029e9c8335439b58bf?s=200&#038;d=https%3A%2F%2Fs2.wp.com%2Fi%2Flogo%2Fwpcom-gray-white.png 4x' class='avatar avatar-50' height='50' width='50' /> CloudPundit: Massive-Scale Computing </a>
</li>
<div class="actnbr-message no-display"></div>
<form method="post" action="https://subscribe.wordpress.com" accept-charset="utf-8" style="display: none;">
<div class="actnbr-follow-count">Join 182 other subscribers</div>
<div>
<input type="email" name="email" placeholder="Enter your email address" class="actnbr-email-field" aria-label="Enter your email address" />
</div>
<input type="hidden" name="action" value="subscribe" />
<input type="hidden" name="blog_id" value="4543198" />
<input type="hidden" name="source" value="https://cloudpundit.com/2022/02/22/resilience-cloudy-without-a-chance-of-meatballs/" />
<input type="hidden" name="sub-type" value="actionbar-follow" />
<input type="hidden" id="_wpnonce" name="_wpnonce" value="a5ad60f889" /> <div class="actnbr-button-wrap">
<button type="submit" value="Sign me up">
Sign me up </button>
</div>
</form>
<li class="actnbr-login-nudge">
<div>
Already have a WordPress.com account? <a href="https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fcloudpundit.com%252F2022%252F02%252F22%252Fresilience-cloudy-without-a-chance-of-meatballs%252F">Log in now.</a> </div>
</li>
</ul>
</div>
</div>
</li>
<li class="actnbr-ellipsis actnbr-hidden">
<svg class="gridicon gridicons-ellipsis" height="24" width="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path d="M7 12c0 1.104-.896 2-2 2s-2-.896-2-2 .896-2 2-2 2 .896 2 2zm12-2c-1.104 0-2 .896-2 2s.896 2 2 2 2-.896 2-2-.896-2-2-2zm-7 0c-1.104 0-2 .896-2 2s.896 2 2 2 2-.896 2-2-.896-2-2-2z"/></g></svg> <div class="actnbr-popover tip tip-top-left actnbr-more">
<div class="tip-arrow"></div>
<div class="tip-inner">
<ul>
<li class="actnbr-sitename">
<a href="https://cloudpundit.com">
<img loading='lazy' alt='' src='https://secure.gravatar.com/blavatar/e5c7caa00f5fa325ab6f2a78dd6af5d1ae91c7cfba1647029e9c8335439b58bf?s=50&#038;d=https%3A%2F%2Fs2.wp.com%2Fi%2Flogo%2Fwpcom-gray-white.png' srcset='https://secure.gravatar.com/blavatar/e5c7caa00f5fa325ab6f2a78dd6af5d1ae91c7cfba1647029e9c8335439b58bf?s=50&#038;d=https%3A%2F%2Fs2.wp.com%2Fi%2Flogo%2Fwpcom-gray-white.png 1x, https://secure.gravatar.com/blavatar/e5c7caa00f5fa325ab6f2a78dd6af5d1ae91c7cfba1647029e9c8335439b58bf?s=75&#038;d=https%3A%2F%2Fs2.wp.com%2Fi%2Flogo%2Fwpcom-gray-white.png 1.5x, https://secure.gravatar.com/blavatar/e5c7caa00f5fa325ab6f2a78dd6af5d1ae91c7cfba1647029e9c8335439b58bf?s=100&#038;d=https%3A%2F%2Fs2.wp.com%2Fi%2Flogo%2Fwpcom-gray-white.png 2x, https://secure.gravatar.com/blavatar/e5c7caa00f5fa325ab6f2a78dd6af5d1ae91c7cfba1647029e9c8335439b58bf?s=150&#038;d=https%3A%2F%2Fs2.wp.com%2Fi%2Flogo%2Fwpcom-gray-white.png 3x, https://secure.gravatar.com/blavatar/e5c7caa00f5fa325ab6f2a78dd6af5d1ae91c7cfba1647029e9c8335439b58bf?s=200&#038;d=https%3A%2F%2Fs2.wp.com%2Fi%2Flogo%2Fwpcom-gray-white.png 4x' class='avatar avatar-50' height='50' width='50' /> CloudPundit: Massive-Scale Computing </a>
</li>
<li class="actnbr-folded-follow">
<a class="actnbr-action actnbr-actn-follow " href="">
<svg class="gridicon" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path clip-rule="evenodd" d="m4 4.5h12v6.5h1.5v-6.5-1.5h-1.5-12-1.5v1.5 10.5c0 1.1046.89543 2 2 2h7v-1.5h-7c-.27614 0-.5-.2239-.5-.5zm10.5 2h-9v1.5h9zm-5 3h-4v1.5h4zm3.5 1.5h-1v1h1zm-1-1.5h-1.5v1.5 1 1.5h1.5 1 1.5v-1.5-1-1.5h-1.5zm-2.5 2.5h-4v1.5h4zm6.5 1.25h1.5v2.25h2.25v1.5h-2.25v2.25h-1.5v-2.25h-2.25v-1.5h2.25z" fill-rule="evenodd"></path></svg>
<span>Subscribe</span>
</a>
<a class="actnbr-action actnbr-actn-following no-display" href="">
<svg class="gridicon" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M16 4.5H4V15C4 15.2761 4.22386 15.5 4.5 15.5H11.5V17H4.5C3.39543 17 2.5 16.1046 2.5 15V3H17.5V12.5H16V4.5ZM5.5 6.5H14.5V8H5.5V6.5ZM5.5 9.5H9.5V11H5.5V9.5ZM12 11H13V12H12V11ZM10.5 9.5H14.5V13.5H10.5V9.5ZM5.5 12H9.5V13.5H5.5V12Z" fill="#008A20"></path><path d="M19.5303 15.0303L15.5 19.0605L12.9697 16.5303L14.0303 15.4697L15.5 16.9395L18.4697 13.9697L19.5303 15.0303Z" fill="#008A20"></path></svg>
<span>Subscribed</span>
</a>
</li>
<li class="actnbr-signup"><a href="https://wordpress.com/start/">Sign up</a></li>
<li class="actnbr-login"><a href="https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fcloudpundit.com%252F2022%252F02%252F22%252Fresilience-cloudy-without-a-chance-of-meatballs%252F">Log in</a></li>
<li class="actnbr-shortlink">
<a href="https://wp.me/pj3To-j8">
<span class="actnbr-shortlink__text">Copy shortlink</span>
<span class="actnbr-shortlink__icon"><svg class="gridicon gridicons-checkmark" height="16" width="16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path d="M9 19.414l-6.707-6.707 1.414-1.414L9 16.586 20.293 5.293l1.414 1.414"/></g></svg></span>
</a>
</li>
<li class="flb-report">
<a href="https://wordpress.com/abuse/?report_url=https://cloudpundit.com/2022/02/22/resilience-cloudy-without-a-chance-of-meatballs/" target="_blank" rel="noopener noreferrer">
Report this content </a>
</li>
<li class="actnbr-reader">
<a href="https://wordpress.com/reader/blogs/4543198/posts/1186">
View post in Reader </a>
</li>
<li class="actnbr-subs">
<a href="https://subscribe.wordpress.com/">Manage subscriptions</a>
</li>
<li class="actnbr-fold"><a href="">Collapse this bar</a></li>
</ul>
</div>
</div>
</li>
</ul>
</div>
<script>
window.addEventListener( "DOMContentLoaded", function( event ) {
var link = document.createElement( "link" );
link.href = "/wp-content/mu-plugins/actionbar/actionbar.css?v=20250116";
link.type = "text/css";
link.rel = "stylesheet";
document.head.appendChild( link );
var script = document.createElement( "script" );
script.src = "/wp-content/mu-plugins/actionbar/actionbar.js?v=20250204";
document.body.appendChild( script );
} );
</script>
<script type="text/javascript">
window.WPCOM_sharing_counts = {"https://cloudpundit.com/2022/02/22/resilience-cloudy-without-a-chance-of-meatballs/":1186};
</script>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
<script type="text/javascript">
( function () {
var currentScript = document.currentScript;
// Helper function to load an external script.
function loadScript( url, cb ) {
var script = document.createElement( 'script' );
var prev = currentScript || document.getElementsByTagName( 'script' )[ 0 ];
script.setAttribute( 'async', true );
script.setAttribute( 'src', url );
prev.parentNode.insertBefore( script, prev );
script.addEventListener( 'load', cb );
}
function init() {
loadScript( 'https://platform.linkedin.com/in.js?async=true', function () {
if ( typeof IN !== 'undefined' ) {
IN.init();
}
} );
}
if ( document.readyState === 'loading' ) {
document.addEventListener( 'DOMContentLoaded', init );
} else {
init();
}
document.body.addEventListener( 'is.post-load', function() {
if ( typeof IN !== 'undefined' ) {
IN.parse();
}
} );
} )();
</script>
<div id="fb-root"></div>
<script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&amp;appId=249643311490&version=v2.3'; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script>
<script>
document.body.addEventListener( 'is.post-load', function() {
if ( 'undefined' !== typeof FB ) {
FB.XFBML.parse();
}
} );
</script>
<script type="text/javascript">
(function () {
var wpcom_reblog = {
source: 'toolbar',
toggle_reblog_box_flair: function (obj_id, post_id) {
// Go to site selector. This will redirect to their blog if they only have one.
const postEndpoint = `https://wordpress.com/post`;
// Ideally we would use the permalink here, but fortunately this will be replaced with the
// post permalink in the editor.
const originalURL = `${ document.location.href }?page_id=${ post_id }`;
const url =
postEndpoint +
'?url=' +
encodeURIComponent( originalURL ) +
'&is_post_share=true' +
'&v=5';
const redirect = function () {
if (
! window.open( url, '_blank' )
) {
location.href = url;
}
};
if ( /Firefox/.test( navigator.userAgent ) ) {
setTimeout( redirect, 0 );
} else {
redirect();
}
},
};
window.wpcom_reblog = wpcom_reblog;
})();
</script>
<script crossorigin='anonymous' type='text/javascript' src='/_static/??-eJx9jEsOwjAMBS9EcIuqdoU4i2msNKnzoXbI9ckO1AXbeTMPWjFrTkpJ4cnZmcLV+STQ8mHRilkZRUggdITK5n27BrnATxbrN/LWkQpQ7WvePRnGBkqxMCqd+J8f9nu3X5UqbZgs09HlR7yPyzxM0zyMS/gAPatD8g=='></script>
<script id="wp-hooks-js" src="/wp-content/plugins/gutenberg-core/v23.9.1/build/scripts/hooks/index.min.js?m=1788785546i&#038;ver=f0f188028580e8dc1255"></script>
<script id="wp-i18n-js" src="/wp-content/plugins/gutenberg-core/v23.9.1/build/scripts/i18n/index.min.js?m=1788785546i&#038;ver=1dfe7db3940c23ea9216"></script>
<script id="wp-i18n-js-after">
wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
//# sourceURL=wp-i18n-js-after
</script>
<script id="verbum-settings-js-before">
window.VerbumComments = {"Log in or provide your name and email to leave a reply.":"Log in or provide your name and email to leave a reply.","Log in or provide your name and email to leave a comment.":"Log in or provide your name and email to leave a comment.","Receive web and mobile notifications for posts on this site.":"Receive web and mobile notifications for posts on this site.","Name":"Name","Email (address never made public)":"Email (address never made public)","Website (optional)":"Website (optional)","Leave a reply. (log in optional)":"Leave a reply. (log in optional)","Leave a comment. (log in optional)":"Leave a comment. (log in optional)","Log in to leave a reply.":"Log in to leave a reply.","Log in to leave a comment.":"Log in to leave a comment.","Logged in via %s":"Logged in via %s","Log out":"Log out","Your browser is blocking the cookies needed to log in and comment here. Allow cookies in your privacy settings, then reload the page.":"Your browser is blocking the cookies needed to log in and comment here. Allow cookies in your privacy settings, then reload the page.","Email":"Email","(Address never made public)":"(Address never made public)","Instantly":"Instantly","Daily":"Daily","Reply":"Reply","Comment":"Comment","WordPress":"WordPress","Weekly":"Weekly","Notify me of new posts":"Notify me of new posts","Email me new posts":"Email me new posts","Email me new comments":"Email me new comments","Cancel":"Cancel","Write a comment...":"Write a comment...","Write a reply...":"Write a reply...","Website":"Website","Optional":"Optional","We'll keep you in the loop!":"We'll keep you in the loop!","Loading your comment...":"Loading your comment...","Discover more from":"Discover more from CloudPundit: Massive-Scale Computing","Subscribe now to keep reading and get access to the full archive.":"Subscribe now to keep reading and get access to the full archive.","Continue reading":"Continue reading","Never miss a beat!":"Never miss a beat!","Interested in getting blog post updates? Simply click the button below to stay in the loop!":"Interested in getting blog post updates? Simply click the button below to stay in the loop!","Enter your email address":"Enter your email address","Subscribe":"Subscribe","Comment sent successfully":"Comment sent successfully","Save my name, email, and website in this browser for the next time I comment.":"Save my name, email, and website in this browser for the next time I comment.","hovercardi18n":{"Edit your profile \u2192":"Edit your profile \u2192","View profile \u2192":"View profile \u2192","Contact":"Contact","Send money":"Send money","Gravatar not found.":"Gravatar not found.","This profile is private.":"This profile is private.","Too Many Requests.":"Too Many Requests.","Internal Server Error.":"Internal Server Error.","Sorry, we are unable to load this Gravatar profile.":"Sorry, we are unable to load this Gravatar profile."},"siteId":4543198,"postId":1186,"mustLogIn":false,"requireNameEmail":true,"commentRegistration":false,"connectURL":"https://cloudpundit.wordpress.com/public.api/connect/?action=request\u0026domain=cloudpundit.com","logoutURL":"https://cloudpundit.wordpress.com/wp-login.php?action=logout\u0026_wpnonce=b263a00deb","homeURL":"https://cloudpundit.com/","subscribeToBlog":true,"subscribeToComment":true,"isJetpackCommentsLoggedIn":false,"jetpackUsername":"","jetpackUserId":0,"jetpackSignature":"","jetpackAvatar":null,"enableBlocks":true,"enableSubscriptionModal":true,"currentLocale":"en","isJetpackComments":false,"allowedBlocks":["core/paragraph","core/list","core/code","core/list-item","core/quote","core/image","core/embed","core/quote","core/code"],"embedNonce":"2db44e3fcc","verbumBundleUrl":"/wp-content/mu-plugins/jetpack-mu-wpcom-plugin/moon/jetpack_vendor/automattic/jetpack-mu-wpcom/src/features/verbum-comments/dist/index.js","isRTL":false,"vbeCacheBuster":1771405207,"iframeUniqueId":0,"colorScheme":false}
//# sourceURL=verbum-settings-js-before
</script>
<script data-wp-strategy="defer" defer id="verbum-dynamic-loader-js" src="/wp-content/mu-plugins/jetpack-mu-wpcom-plugin/moon/jetpack_vendor/automattic/jetpack-mu-wpcom/src/build/verbum-comments/assets/dynamic-loader.js?m=1772518873i&#038;minify=false&#038;ver=8b5296f9195db92c42e4"></script>
<script id="comment-like-js-extra">
var comment_like_text = {"loading":"Loading...","swipeUrl":"https://s2.wp.com/wp-content/mu-plugins/comment-likes/js/lib/swipe.js?m=1382645497i&amp;ver=20131008"};
//# sourceURL=comment-like-js-extra
</script>
<script id="sharing-js-js-extra">
var sharing_js_options = {"lang":"en","counts":"1","is_stats_active":"1"};
//# sourceURL=sharing-js-js-extra
</script>
<script id="jetpack-script-data-js-before">
window.JetpackScriptData = {"site":{"host":"wpcom","is_wpcom_platform":true}};
//# sourceURL=jetpack-script-data-js-before
</script>
<script crossorigin='anonymous' type='text/javascript' src='/_static/??-eJyNjtsKwjAMhl/ILhNxmxfio0hs60y3HlhSh2/vmDpERLwL33/ID2NSOgaxQcBnlfrcUmDQ0fsJqZ46y+A+QOF4Bd+DzkpC3akJjWkKPQXwMYaXeLzaYOIAmCV6FCG9xJDZCsMpU28WyHqgJMqg4I/P2BF7K2pTlHCkoBdwHmaz+WP1+9i54zGELzhYg8bc5pNCW3gKU9/B79d1U++2ZVNV7g4Fs3v2'></script>
<script id="sharing-js-js-after">
window.WPCOM_sharing_popups = window.WPCOM_sharing_popups || {};
window.WPCOM_sharing_popups[ "facebook" ] = "menubar=1,resizable=1,width=600,height=400";
//# sourceURL=sharing-js-js-after
</script>
<script id="wp-emoji-settings" type="application/json">
{"baseUrl":"https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/","ext":".png","svgUrl":"https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/svg/","svgExt":".svg","source":{"concatemoji":"/wp-includes/js/wp-emoji-release.min.js?m=1783090810i&ver=7.1.1-alpha-63555"}}
</script>
<script type="module">
/*! This file is auto-generated */
var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))});
//# sourceURL=/wp-includes/js/wp-emoji-loader.min.js
</script>
<iframe src='https://widgets.wp.com/likes/master.html?ver=20260912#ver=20260912' scrolling='no' id='likes-master' name='likes-master' style='display:none;'></iframe>
<div id='likes-other-gravatars' role="dialog" aria-hidden="true" tabindex="-1"><div class="likes-text"><span>%d</span></div><ul class="wpl-avatars sd-like-gravatars"></ul></div>
<script src="//stats.wp.com/w.js?69" defer></script> <script type="text/javascript">
_tkq = window._tkq || [];
_stq = window._stq || [];
_tkq.push(['storeContext', {'blog_id':'4543198','blog_tz':'-5','user_lang':'en','blog_lang':'en','user_id':'0'}]);
// Prevent sending pageview tracking from WP-Admin pages.
_stq.push(['view', {'blog':'4543198','v':'wpcom','tz':'-5','user_id':'0','post':'1186','subd':'cloudpundit'}]);
_stq.push(['extra', {'crypt':'UE5XaGUuOTlwaD85flAmcm1mcmZsaDhkV11YdWtpP0NsWnVkPS9sL0ViLndld3BuVT01Uj14Ti1yYTBnX3xuYUQ3Qz1oblZbVHV3MTZoVXFwTTVDK2wuPT1KWzJNV19iQk9bTmF0PUUlUlYzbW1nYyxHTnlKQiUsT0hKb2tYK09aZkN6LzJmYVtxMGpoLT9rJnJRJXg4RHBwdC13YTlWZEM/YlNwLG5fNVBiUkovSz96TEIxXzZycl1MWDMrc2JvUFYmNFBYRmd1JjhsSy55Wkx1bUxjc3w5dUV8fmhZOHItbXJZRit8TTRfMF9BeDNYY3dTMz1vTTBTPzlHRy5YOFE1SkNrY0FXdDVddEhRLHJCVkdVKzB3QiZ1TUtyan5MdXJ5WD9DanBKYS1SNHZyamdfTi8lN05qQjNKJmN0L2I9UEpCek9kUWN+UW80W2MudTNZeHU3QiVYaFBWQzYyZ0RvVH5Zamk0TEFJMmFJbm82WVpBP3R1WlFrfjgzclNWMGg4czZOSjk5SyZUaWpMbQ=='}]);
_stq.push([ 'clickTrackerInit', '4543198', '1186' ]);
</script>
<noscript><img src="https://pixel.wp.com/b.gif?v=noscript" style="height:1px;width:1px;overflow:hidden;position:absolute;bottom:1px;" alt="" /></noscript>
<meta id="bilmur" property="bilmur:data" content="" data-provider="wordpress.com" data-service="simple" data-site-tz="Etc/GMT+5" data-custom-props="{&quot;enq_jquery&quot;:&quot;1&quot;,&quot;logged_in&quot;:&quot;0&quot;,&quot;wptheme&quot;:&quot;pub\/mystique&quot;,&quot;wptheme_is_block&quot;:&quot;0&quot;}" >
<script defer src="/wp-content/js/bilmur.min.js?i=17&amp;m=202637"></script>
<script>
(function() {
'use strict';
const fetches = {};
const promises = {};
const urls = {
'wp-polyfill': '/wp-includes/js/dist/vendor/wp-polyfill.min.js?m=1786440387i&ver=3.15.0',
'verbum': '/wp-content/mu-plugins/jetpack-mu-wpcom-plugin/moon/jetpack_vendor/automattic/jetpack-mu-wpcom/src/build/verbum-comments/verbum-comments.js?m=1788898305i&minify=false&ver=3d6130a57c3104d5bc3b'
};
const loaders = {
'verbum': () => {
fetchExternalScript('wp-polyfill');
fetchExternalScript('verbum');
promises['wp-polyfill'] = promises['wp-polyfill'] || loadWPScript('wp-polyfill');
promises['verbum'] = promises['verbum'] || promises['wp-polyfill'].then( () => loadWPScript('verbum') );
return promises['verbum'];
},
};
const scriptExtras = {
};
window.WP_Enqueue_Dynamic_Script = {
loadScript: (handle) => {
if (!loaders[handle]) {
console.error('WP_Enqueue_Dynamic_Script: unregistered script `' + handle + '`.');
}
return loaders[handle]();
}
};
function fetchExternalScript(handle) {
if (!urls[handle]) {
return Promise.resolve();
}
fetches[handle] = fetches[handle] || fetch(urls[handle], { mode: 'no-cors' });
return fetches[handle];
}
function runExtraScript(handle, type, index) {
const id = 'wp-enqueue-dynamic-script:' + handle + ':' + type + ':' + (index + 1);
const template = document.getElementById(id);
if (!template) {
return Promise.reject();
}
const script = document.createElement( 'script' );
script.innerHTML = template.innerHTML;
document.body.appendChild( script );
return Promise.resolve();
}
function loadExternalScript(handle) {
if (!urls[handle]) {
return Promise.resolve();
}
return fetches[handle].then(() => {
return new Promise((resolve, reject) => {
const script = document.createElement('script');
script.onload = () => resolve();
script.onerror = (e) => reject(e);
script.src = urls[handle];
document.body.appendChild(script);
});
});
}
function loadExtra(handle, pos) {
const count = (scriptExtras[handle] && scriptExtras[handle][pos]) || 0;
let promise = Promise.resolve();
for (let i = 0; i < count; i++) {
promise = promise.then(() => runExtraScript(handle, pos, i));
}
return promise;
}
function loadWPScript(handle) {
// Core loads scripts in this order. See: https://github.com/WordPress/WordPress/blob/a59eb9d39c4fcba834b70c9e8dfd64feeec10ba6/wp-includes/class-wp-scripts.php#L428.
return loadExtra(handle, 'translations')
.then(() => loadExtra(handle, 'before'))
.then(() => loadExternalScript(handle))
.then(() => loadExtra(handle, 'after'));
}
} )();
</script>
</body>
</html>