PageSourceSearch

https://www.linux.com/topic/cloud/

html linux.com collected 2026-09-24 07:45:37 UTC 99,219 bytes, 825 lines download raw bytes

1<!doctype html >
2<!--[if IE 8]>    <html class="ie8" lang="en"> <![endif]-->
3<!--[if IE 9]>    <html class="ie9" lang="en"> <![endif]-->
4<!--[if gt IE 8]><!--> <html lang="en-US"> <!--<![endif]-->
5<head>
6    <title>Cloud Archives - Linux.com</title>
7    <meta charset="UTF-8" />
7<script type="text/javascript">(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={licenseKey:"981d6c8a9f",applicationID:"176909146",browserID:"194441354"};;/*! For license information please see nr-loader-rum-1.322.0.min.js.LICENSE.txt */
8(()=>{var e={8122(e,t,r){"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),a=0===Object.keys(r).length?e:r;for(let s in a)if(void 0!==e[s])try{if(null===e[s]){r[s]=null;continue}Array.isArray(e[s])&&Array.isArray(t[s])?r[s]=Array.from(new Set([...e[s],...t[s]])):e[s]instanceof Map||e[s]instanceof Set||e[s]instanceof Date||e[s]instanceof RegExp?r[s]=e[s]:"object"==typeof e[s]&&null!==t[s]&&"object"==typeof t[s]?r[s]=i(e[s],t[s]):r[s]=e[s]}catch(e){r[s]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>s});var n=r(384),i=r(8122);const a={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function s(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,a)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["xv",0,"1.322.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,a="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),s=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===s?.document?.visibilityState),c=""+s?.location,u=/iPad|iPhone|iPod/.test(s.navigator?.userAgent),d=u&&"undefined"==typeof SharedWorker,l=((()=>{const e=s.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);Array.isArray(e)&&e.length>=2&&e[1]})(),Date.now()-(0,n.t)());r.d(t,["OF",0,u,"RI",0,i,"WN",0,l,"bv",0,a,"gm",0,s,"m",0,c,"mw",0,o,"sb",0,d,"zk",0,()=>{const e=s?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<s.performance.now())return e}])},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>u,x3:()=>c});var n=r(3241),i=r(3606),a=r(860),s=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:a.P3[t]||0};e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&d(e))}function u(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,d(e)}}function d(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const a=e.ee,o=i.i.handlers;if(a&&!a.aborted&&a.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=a.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}
8).forEach(t=>{t[0]?.on&&t[0].context()instanceof s.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}a.isolatedBacklog||delete o[t],a.backlog[t]=null,a.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],a=e[2];n.apply(i,a)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),a=r(2646),s=r(5607);const o="nr@context:".concat(s.W),c=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&u.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,a){!1!==a&&(a=!0);if(c.aborted&&!i)return;t&&a&&t.emit(e,r,n);var o=g(n);m(e).forEach(e=>{e.apply(o,r)});var u=v()[s[e]];u&&u.push([f,e,r,o]);return o},get:h,listeners:m,context:g,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{s[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function g(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,o,()=>new a.y(o)):new a.y(o)}function p(e,t){n[e]=m(e).concat(t)}function m(e){return n[e]||[]}function h(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),u=(0,n.Zm)();u.ee||(u.ee=c),r.d(t,["P",0,o,"ee",0,c])},2646(e,t,r){"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908(e,t,r){"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,a){a?(a.buffer([e],i),a.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>a});var n=r(9908);a.on=s;var i=a.handlers={};function a(e,t,r,a){s(a||n.d,i,e,t,r)}function s(e,t,r,i,a){a||(a="feature"),e||(e=n.d);var s=t[a]=t[a]||{};(s[r]=s[r]||[]).push([e,i])}},3878(e,t,r){"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function a(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>a,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>s,bz:()=>a});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,a=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const s=[];for(var o=0;o<e;o++)s.push(i(r,a++).toString(16));return s.join("")}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},8990(e,t,r){"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},1910(e,t,r){"use strict";r.d(t,{i:()=>a});var n=r(944);const i=new Map;function a(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),a=t.includes("nrWrapper");return r||a||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},5289(e,t,r){"use strict";r.d(t,{GG:()=>s,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function a(){return"undefined"==typeof document||"complete"===document.readyState}function s(e,t){if(a())return e();const r=(0,i.J)(e),s=setInterval(()=>
8{a()&&(clearInterval(s),r())},500);(0,n.sp)("load",r,t)}function o(e){if(a())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(a())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>d,dV:()=>u,pV:()=>l});var n=r(6154),i=r(1863),a=r(944),s=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function u(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,s.i)(...Object.values(e.o))),e}function d(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,a.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),u(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>a,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function a(e,t,r){(0,n.sp)("pagehide",e,t,r)}},9300(e,t,r){"use strict";r(860).K7.ajax;r.d(t,["mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>a});var n=r(9566),i=r(1741);class a extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>a});var n=r(944),i=r(4261);class a{#e(e,...t){if(this[e]!==a.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>d});var n=r(3241),i=r(9908),a=r(1863),s=r(944),o=r(3969),c=r(8362),u=r(860);function d(e,t,r,a){const d=a||r;!d||d[e]&&d[e]!==c.d.prototype[e]||(d[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,u.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,s.R)(23,e)}})}function l(e,t,r,n,s){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(s||null===r)&&(0,i.p)("api-"+n,[(0,a.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",a="browser/blobs",s="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},u={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:a,[o.sessionReplay]:a,[o.logging]:s,[o.genericEvents]:"ins"};r.d(t,["$J",0,u,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,s,"df",0,a,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],a=t[n++];r.o(e,i)?0===a&&n++:0===a?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:a})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>"nr-rum-1.322.0.min.js",r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.322.0.PROD:";r.l=(n,i,a,s)=>{if(e[n])return void e[n].push(i);let o,c;if(void 0!==a){const e=document.getElementsByTagName("script");for(var u=0;u<e.length;u++){const r=e[u];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+a){o=r;break}}}if(!o){c=!0;var d={296:"sha512-/59P7qAoMYQDJAZerTRPChdYcdrlcoEAw2TwA1wz6Y0/XLmt3sblL
8I5JCXAuxG0YxsW7iqJzgrcO7NJWO58EfQ=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+a),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),d[s]&&(o.integrity=d[s])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={374:0,840:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const a=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=a);const s=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(s,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,a,s]=n;var o,c,u=0;if(i.some(t=>0!==e[t])){for(o in a)r.o(a,o)&&(r.m[o]=a[o]);if(s)s(r)}for(t&&t(n);u<i.length;u++)c=i[u],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.322.0.PROD"]=self["webpackChunk:NRBA-1.322.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),a=r(1741);var s=r(2555),o=r(981);t.K7.genericEvents,o.R.PA,o.R.UA,o.R.BP;const c={RESOURCES:"experimental.resources",REGISTER:"register"};var u=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var l=r(2614),f=r(944),g=r(8122);const p="[data-nr-mask]",m=e=>(0,g.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:u.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(c.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(c.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,f.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(c.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:l.wk,inactiveMs:l.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(p):""===t||null===t?e.mask_selector=p:(0,f.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,f.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,f.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var h=r(6154),v=r(9324);let b=0;const y={buildEnv:"PROD",distMethod:"CDN",version:v.xv,originTime:h.WN},_={consented:!1},w={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||_.consented},set consented(e){_.consented=e}
8,customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++b},listeningForIframeMessages:!1},R="BA";var A=r(7836),x=r(3241);const E={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908);const k="newrelic-iframe-";function T(e,t={},n,o){let{init:c,info:u,loader_config:d,runtime:l={},exposed:f=!0}=t;if(!u){const e=(0,i.pV)();c=e.init,u=e.info,d=e.loader_config}var p;e.init=m(c||{}),e.loader_config=(p=d||{},(0,g.a)(p,E)),u.jsAttributes??={},h.bv&&(u.jsAttributes.isWorker=!0),e.info=(0,s.D)(u);const v=e.init;e.runtime??=(e=>{const t=(0,g.a)(e,w),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:R,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(a.W.prototype).forEach(r=>{const n=a.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=A.ee.get(e.agentIdentifier),e.exposed=f,(0,x.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&h.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(k)&&(0,S.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var j=r(1863),P=r(4261),N=r(1738);
8var O=r(1687),M=r(4234),I=r(5289),D=r(7767);function V(e){return!!(0,i.dV)().o.MO&&(0,D.V)(e)&&!0===e?.session_trace.enabled}var W=r(6389),B=r(7699);const C=new WeakSet,K=new WeakMap;class U extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,W.J)(()=>{(0,O.Ak)(e,this.featureName),t()}))}):(0,O.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,s.f)(e.info))return(0,f.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(K.has(e))return K.get(e);const i=(async()=>{if((0,D.V)(e.init))try{const{setupAgentSession:t}=await r.e(296).then(r.bind(r,1768));t(e)}catch(e){(0,f.R)(20,e),t.emit("internal-error",[e]),(0,S.p)(B.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await Promise.resolve().then(function(){const e=new Error("Cannot find module '../../loaders/configure/iframe-message-handler'");throw e.code="MODULE_NOT_FOUND",e});t(e)}catch(e){(0,f.R)(23,e)}const[{Connector:i},{Harvester:a}]=await Promise.all([r.e(296).then(r.bind(r,6589)),r.e(296).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new a(e);const s=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(s.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();K.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,f.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,O.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,f.R)(34,e),this.abortHandler?.(),(0,O.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};h.RI?(0,I.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return V(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!C.has(e)&&(C.add(e),!(0,s.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}T(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var L=r(6630);class F extends U{static featureName=L.T;constructor(e){var t;super(e,L.T),this.setupInspectionEvents(),t=e,(0,N.Y)(P.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,S.p)("api-"+P.Fw,[(0,j.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(296).then(r.bind(r,908)):r.e(296).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,x.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,I.sB)(t=>{e(t,"DOMContentLoaded")}),(0,I.GG)(t=>{e(t,"load")}),(0,I.Qr)(t=>{e(t,"navigate")}),this.ee.on(l.tS.UPDATE,(e,t)=>{(0,x.W)({type:"lifecycle",name:"session",data:t})})}}class G extends e.d{constructor(e){var t;(super(),h.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(F),T(this,e,e.loaderType||"agent"),t=this,(0,N.Y)(P.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,P.cD,n);(0,f.R)(40,typeof r)}else(0,f.R)(39,typeof e)},t),function(e){(0,N.Y)(P.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,f.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,S.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,N.U)(e,"enduser.id",t,P.Dl,!0)},e)}(this),function(e){(0,N.Y)(P.nb,function(t){if("string"==typeof t||null===t)return(0,N.U)(e,"application.version",t,P.nb,!1);(0,f.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,N.Y)(P.Pv,function(t=!0){if("boolean"==typeof t){if((0,S.p)("api-"+P.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,f.R)(65,typeof t)},e)}(this),this.run()):(0,f.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};
8return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,f.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,f.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var H=r(2843),z=r(782);class Y extends U{static featureName=z.T;constructor(e){super(e,z.T),h.RI&&((0,H.u)(()=>(0,S.p)("docHidden",[(0,j.t)()],void 0,z.T,this.ee),!0),(0,H.G)(()=>(0,S.p)("winPagehide",[(0,j.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(296).then(r.bind(r,9981))))}}var Z=r(3969);class q extends U{static featureName=Z.TZ;constructor(e){super(e,Z.TZ),this.importAggregator(e,()=>r.e(296).then(r.bind(r,9623)))}}new G({features:[F,Y,q],loaderType:"lite"})})()})();</script>
8
9    <meta name="viewport" content="width=device-width, initial-scale=1.0">
10    <link rel="pingback" href="https://www.linux.com/xmlrpc.php" />
11    <meta name='robots' content='max-image-preview:large' />
12
13<!-- Google Tag Manager for WordPress by gtm4wp.com -->
14<script data-cfasync="false" data-pagespeed-no-defer>
15	var gtm4wp_datalayer_name = "dataLayer";
16	var dataLayer = dataLayer || [];
17</script>
17
18<!-- End Google Tag Manager for WordPress by gtm4wp.com --><link rel="icon" type="image/png" href="https://www.linux.com/wp-content/uploads/2019/08/favicon-300x300.png">
19<!-- This site is optimized with the Yoast SEO Premium plugin v11.9 - https://yoast.com/wordpress/plugins/seo/ -->
20<link rel="canonical" href="https://www.linux.com/topic/cloud/" />
21<link rel="next" href="https://www.linux.com/topic/cloud/page/2/" />
22<meta property="og:locale" content="en_US" />
23<meta property="og:type" content="object" />
24<meta property="og:title" content="Cloud Archives - Linux.com" />
25<meta property="og:url" content="https://www.linux.com/topic/cloud/" />
26<meta property="og:site_name" content="Linux.com" />
27<meta name="twitter:card" content="summary_large_image" />
28<meta name="twitter:title" content="Cloud Archives - Linux.com" />
29<script type='application/ld+json' class='yoast-schema-graph yoast-schema-graph--main'>{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://www.linux.com/#website","url":"https://www.linux.com/","name":"Linux.com","potentialAction":{"@type":"SearchAction","target":"https://www.linux.com/?s={search_term_string}","query-input":"required name=search_term_string"}},{"@type":"CollectionPage","@id":"https://www.linux.com/topic/cloud/#webpage","url":"https://www.linux.com/topic/cloud/","inLanguage":"en-US","name":"Cloud Archives - Linux.com","isPartOf":{"@id":"https://www.linux.com/#website"}}]}</script>
29
30<!-- / Yoast SEO Premium plugin. -->
31
32<link rel='dns-prefetch' href='//fonts.googleapis.com' />
33<link rel="alternate" type="application/rss+xml" title="Linux.com &raquo; Feed" href="https://www.linux.com/feed/" />
34<link rel="alternate" type="application/rss+xml" title="Linux.com &raquo; Cloud Category Feed" href="https://www.linux.com/topic/cloud/feed/" />
35<style id="wp-img-auto-sizes-contain-inline-css">
36img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
37/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
38</style>
39<style id="wp-emoji-styles-inline-css">
40
41	img.wp-smiley, img.emoji {
42		display: inline !important;
43		border: none !important;
44		box-shadow: none !important;
45		height: 1em !important;
46		width: 1em !important;
47		margin: 0 0.07em !important;
48		vertical-align: -0.1em !important;
49		background: none !important;
50		padding: 0 !important;
51	}
52/*# sourceURL=wp-emoji-styles-inline-css */
53</style>
54
55<link rel='stylesheet' id='mpp_gutenberg-css' href='https://www.linux.com/wp-content/plugins/profile-builder/add-ons-free/user-profile-picture/dist/blocks.style.build.css?ver=2.6.0' media='all' />
56
57<link rel='stylesheet' id='td-plugin-multi-purpose-css' href='https://www.linux.com/wp-content/plugins/td-composer/td-multi-purpose/style.css?ver=6d1f7270fa5f356ebd75d59ba3e2bb86' media='all' />
58<link rel='stylesheet' id='google-fonts-style-css' href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700|Roboto:400,600,700&#038;display=swap&#038;ver=12.7.8' media='all' />
59<link rel='stylesheet' id='td-theme-css' href='https://www.linux.com/wp-content/themes/Newspaper/style.css?ver=12.7.8' media='all' />
60<style id="td-theme-inline-css">@media (max-width:767px){.td-header-desktop-wrap{display:none}}@media (min-width:767px){.td-header-mobile-wrap{display:none}}</style>
61<link rel='stylesheet' id='td-theme-child-css' href='https://www.linux.com/wp-content/themes/Newspaper-child/style.css?ver=12.7.8c' media='all' />
62<link rel='stylesheet' id='td-legacy-framework-front-style-css' href='https://www.linux.com/wp-content/plugins/td-composer/legacy/Newspaper/assets/css/td_legacy_main.css?ver=6d1f7270fa5f356ebd75d59ba3e2bb86' media='all' />
63<link rel='stylesheet' id='td-standard-pack-framework-front-style-css' href='https://www.linux.com/wp-content/plugins/td-standard-pack/Newspaper/assets/css/td_standard_pack_main.css?ver=ca277ee5dcb470bd24a3f9654a38d235' media='all' />
64<link rel='stylesheet' id='wppb_stylesheet-css' href='https://www.linux.com/wp-content/plugins/profile-builder/assets/css/style-front-end.css?ver=4.0.2' media='all' />
65<script id="jquery-core-js" src="https://www.linux.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 65
65
66<script id="jquery-migrate-js" src="https://www.linux.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
66
67<link rel="https://api.w.org/" href="https://www.linux.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.linux.com/wp-json/wp/v2/categories/30" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.linux.com/xmlrpc.php?rsd" />
68<meta name="generator" content="WordPress 7.1.2" />
69
70<!-- Google Tag Manager for WordPress by gtm4wp.com -->
71<!-- GTM Container placement set to footer -->
72<script data-cfasync="false" data-pagespeed-no-defer>
73	var dataLayer_content = {"pagePostType":"post","pagePostType2":"category-post","pageCategory":["cloud","contributed","lf-silver-member","thelinuxfoundation"]};
74	dataLayer.push( dataLayer_content );
75</script>
vendor: 1 bytes, line 75
75
76<script data-cfasync="false" data-pagespeed-no-defer>
vendor: 322 bytes, lines 76-81
76
77(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
78new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
79j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
80'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
81})(window,document,'script','dataLayer','
81GTM-NXGNZW
vendor: 4 bytes, line 81
81');
82</script>
82
83<!-- End Google Tag Manager for WordPress by gtm4wp.com -->
83<script
84  src="https://transcend-cdn.com/cm/f484e2d0-ad2e-43a9-9d64-d07f6fa20966/airgap.js"
85  data-cfasync="false"
86  data-prompt="auto"
87></script>
87
88<!-- LFX Segments Analytics -->
89<script src="https://lfx-segment.platform.linuxfoundation.org/latest/lfx-segment-analytics.min.js"></script>
89
90<script>
91  // Initialize with default configuration (no custom write key needed)
92  LfxAnalytics.LfxSegmentsAnalytics.getInstance().init();
93</script>
93
94<!-- Start of HubSpot Embed Code -->
95<script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/8112310.js"></script>
95
96<!-- End of HubSpot Embed Code -->
97
98
99<link rel="preload" href="/wp-content/themes/Newspaper/images/icons/newspaper.woff" as="font" crossorigin="anonymous">
100
101<meta name="google-site-verification" content="SFIbV25byRzBgCOryWQide6d9AyjJiw9gofilBbT2Ts" />
102<!-- JS generated by theme -->
103
104<script type="text/javascript" id="td-generated-header-js">
105    
106    
107
108	    var tdBlocksArray = []; //here we store all the items for the current page
109
110	    // td_block class - each ajax block uses a object of this class for requests
111	    function tdBlock() {
112		    this.id = '';
113		    this.block_type = 1; //block type id (1-234 etc)
114		    this.atts = '';
115		    this.td_column_number = '';
116		    this.td_current_page = 1; //
117		    this.post_count = 0; //from wp
118		    this.found_posts = 0; //from wp
119		    this.max_num_pages = 0; //from wp
120		    this.td_filter_value = ''; //current live filter value
121		    this.is_ajax_running = false;
122		    this.td_user_action = ''; // load more or infinite loader (used by the animation)
123		    this.header_color = '';
124		    this.ajax_pagination_infinite_stop = ''; //show load more at page x
125	    }
126
127        // td_js_generator - mini detector
128        ( function () {
129            var htmlTag = document.getElementsByTagName("html")[0];
130
131	        if ( navigator.userAgent.indexOf("MSIE 10.0") > -1 ) {
132                htmlTag.className += ' ie10';
133            }
134
135            if ( !!navigator.userAgent.match(/Trident.*rv\:11\./) ) {
136                htmlTag.className += ' ie11';
137            }
138
139	        if ( navigator.userAgent.indexOf("Edge") > -1 ) {
140                htmlTag.className += ' ieEdge';
141            }
142
143            if ( /(iPad|iPhone|iPod)/g.test(navigator.userAgent) ) {
144                htmlTag.className += ' td-md-is-ios';
145            }
146
147            var user_agent = navigator.userAgent.toLowerCase();
148            if ( user_agent.indexOf("android") > -1 ) {
149                htmlTag.className += ' td-md-is-android';
150            }
151
152            if ( -1 !== navigator.userAgent.indexOf('Mac OS X')  ) {
153                htmlTag.className += ' td-md-is-os-x';
154            }
155
156            if ( /chrom(e|ium)/.test(navigator.userAgent.toLowerCase()) ) {
157               htmlTag.className += ' td-md-is-chrome';
158            }
159
160            if ( -1 !== navigator.userAgent.indexOf('Firefox') ) {
161                htmlTag.className += ' td-md-is-firefox';
162            }
163
164            if ( -1 !== navigator.userAgent.indexOf('Safari') && -1 === navigator.userAgent.indexOf('Chrome') ) {
165                htmlTag.className += ' td-md-is-safari';
166            }
167
168            if( -1 !== navigator.userAgent.indexOf('IEMobile') ){
169                htmlTag.className += ' td-md-is-iemobile';
170            }
171
172        })();
173
174        var tdLocalCache = {};
175
176        ( function () {
177            "use strict";
178
179            tdLocalCache = {
180                data: {},
181                remove: function (resource_id) {
182                    delete tdLocalCache.data[resource_id];
183                },
184                exist: function (resource_id) {
185                    return tdLocalCache.data.hasOwnProperty(resource_id) && tdLocalCache.data[resource_id] !== null;
186                },
187                get: function (resource_id) {
188                    return tdLocalCache.data[resource_id];
189                },
190                set: function (resource_id, cachedData) {
191                    tdLocalCache.remove(resource_id);
192                    tdLocalCache.data[resource_id] = cachedData;
193                }
194            };
195        })();
196
197    
198    
199var td_viewport_interval_list=[{"limitBottom":767,"sidebarWidth":228},{"limitBottom":1018,"sidebarWidth":300},{"limitBottom":1140,"sidebarWidth":324}];
200var tdc_is_installed="yes";
201var tdc_domain_active=false;
202var td_ajax_url="https:\/\/www.linux.com\/wp-admin\/admin-ajax.php?td_theme_name=Newspaper&v=12.7.8";
203var td_get_template_directory_uri="https:\/\/www.linux.com\/wp-content\/plugins\/td-composer\/legacy\/common";
204var tds_snap_menu="";
205var tds_logo_on_sticky="";
206var tds_header_style="6";
207var td_please_wait="Please wait...";
208var td_email_user_pass_incorrect="User or password incorrect!";
209var td_email_user_incorrect="Email or username incorrect!";
210var td_email_incorrect="Email incorrect!";
211var td_user_incorrect="Username incorrect!";
212var td_email_user_empty="Email or username empty!";
213var td_pass_empty="Pass empty!";
214var td_pass_pattern_incorrect="Invalid Pass Pattern!";
215var td_retype_pass_incorrect="Retyped Pass incorrect!";
216var tds_more_articles_on_post_enable="";
217var tds_more_articles_on_post_time_to_wait="";
218var tds_more_articles_on_post_pages_distance_from_top=0;
219var tds_captcha="";
220var tds_theme_color_site_wide="#ff6c0e";
221var tds_smart_sidebar="";
222var tdThemeName="Newspaper";
223var tdThemeNameWl="Newspaper";
224var td_magnific_popup_translation_tPrev="Previous (Left arrow key)";
225var td_magnific_popup_translation_tNext="Next (Right arrow key)";
226var td_magnific_popup_translation_tCounter="%curr% of %total%";
227var td_magnific_popup_translation_ajax_tError="The content from %url% could not be loaded.";
228var td_magnific_popup_translation_image_tError="The image #%curr% could not be loaded.";
229var tdBlockNonce="2f2f4d34d0";
230var tdMobileMenu="enabled";
231var tdMobileSearch="enabled";
232var tdDateNamesI18n={"month_names":["January","February","March","April","May","June","July","August","September","October","November","December"],"month_names_short":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"day_names":["Sunday","Monday","Tuesday","Wednesday","Thursday","Frid
232ay","Saturday"],"day_names_short":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]};
233var tdb_modal_confirm="Save";
234var tdb_modal_cancel="Cancel";
235var tdb_modal_confirm_alt="Yes";
236var tdb_modal_cancel_alt="No";
237var td_deploy_mode="deploy";
238var td_ad_background_click_link="";
239var td_ad_background_click_target="";
240</script>
240
241
242
243<!-- Header style compiled by theme -->
244
245<style>.td-page-title,.td-category-title-holder .td-page-title{text-transform:capitalize}:root{--td_theme_color:#ff6c0e;--td_slider_text:rgba(255,108,14,0.7);--td_mobile_menu_color:#ff6c0e;--td_mobile_gradient_one_mob:#333333;--td_mobile_gradient_two_mob:#333333;--td_mobile_text_active_color:#333333}.td-header-style-12 .td-header-menu-wrap-full,.td-header-style-12 .td-affix,.td-grid-style-1.td-hover-1 .td-big-grid-post:hover .td-post-category,.td-grid-style-5.td-hover-1 .td-big-grid-post:hover .td-post-category,.td_category_template_3 .td-current-sub-category,.td_category_template_8 .td-category-header .td-category a.td-current-sub-category,.td_category_template_4 .td-category-siblings .td-category a:hover,.td_block_big_grid_9.td-grid-style-1 .td-post-category,.td_block_big_grid_9.td-grid-style-5 .td-post-category,.td-grid-style-6.td-hover-1 .td-module-thumb:after,.tdm-menu-active-style5 .td-header-menu-wrap .sf-menu>.current-menu-item>a,.tdm-menu-active-style5 .td-header-menu-wrap .sf-menu>.current-menu-ancestor>a,.tdm-menu-active-style5 .td-header-menu-wrap .sf-menu>.current-category-ancestor>a,.tdm-menu-active-style5 .td-header-menu-wrap .sf-menu>li>
245a:hover,.tdm-menu-active-style5 .td-header-menu-wrap .sf-menu>.sfHover>a{background-color:#ff6c0e}.td_mega_menu_sub_cats .cur-sub-cat,.td-mega-span h3 a:hover,.td_mod_mega_menu:hover .entry-title a,.header-search-wrap .result-msg a:hover,.td-header-top-menu .td-drop-down-search .td_module_wrap:hover .entry-title a,.td-header-top-menu .td-icon-search:hover,.td-header-wrap .result-msg a:hover,.top-header-menu li a:hover,.top-header-menu .current-menu-item>a,.top-header-menu .current-menu-ancestor>a,.top-header-menu .current-category-ancestor>a,.td-social-icon-wrap>a:hover,.td-header-sp-top-widget .td-social-icon-wrap a:hover,.td_mod_related_posts:hover h3>a,.td-post-template-11 .td-related-title .td-related-left:hover,.td-post-template-11 .td-related-title .td-related-right:hover,.td-post-template-11 .td-related-title .td-cur-simple-item,.td-post-template-11 .td_block_related_posts .td-next-prev-wrap a:hover,.td-category-header .td-pulldown-category-filter-link:hover,.td-category-siblings .td-subcat-dropdown a:hover,.td-category-siblings .td-subcat-dropdown a.td-current-sub-category,.footer-text-wrap .footer-email-wrap a,.footer-social-wrap a:hover,.td_module_17 .td-read-more a:hover,.td_module_18 .td-read-more a:hover,.td_module_19 .td-post-author-name a:hover,.td-pulldown-syle-2 .td-subcat-dropdown:hover .td-subcat-more span,.td-pulldown-syle-2 .td-subcat-dropdown:hover .td-subcat-more i,.td-pulldown-syle-3 .td-subcat-dropdown:hover .td-subcat-more span,.td-pulldown-syle-3 .td-subcat-dropdown:hover .td-subcat-more i,.tdm-menu-active-style3 .tdm-header.td-header-wrap .sf-menu>.current-category-ancestor>a,.tdm-menu-active-style3 .tdm-header.td-header-wrap .sf-menu>.current-menu-ancestor>a,.tdm-menu-active-style3 .tdm-header.td-header-wrap .sf-menu>.current-menu-item>a,.tdm-menu-active-style3 .tdm-header.td-header-wrap .sf-menu>.sfHover>a,.tdm-menu-active-style3 .tdm-header.td-header-wrap .sf-menu>li>a:hover{color:#ff6c0e}.td-mega-menu-page .wpb_content_element ul li a:hover,.td-theme-wrap .td-aj-search-results .td_module_wrap:hover .entry-title a,.td-theme-wrap .header-search-wrap .result-msg a:hover{color:#ff6c0e!important}.td_category_template_8 .td-category-header .td-category a.td-current-sub-category,.td_category_template_4 .td-category-siblings .td-category a:hover,.tdm-menu
245-active-style4 .tdm-header .sf-menu>.current-menu-item>a,.tdm-menu-active-style4 .tdm-header .sf-menu>.current-menu-ancestor>a,.tdm-menu-active-style4 .tdm-header .sf-menu>.current-category-ancestor>a,.tdm-menu-active-style4 .tdm-header .sf-menu>li>a:hover,.tdm-menu-active-style4 .tdm-header .sf-menu>.sfHover>a{border-color:#ff6c0e}.td-header-wrap .td-header-top-menu-full,.td-header-wrap .top-header-menu .sub-menu,.tdm-header-style-1.td-header-wrap .td-header-top-menu-full,.tdm-header-style-1.td-header-wrap .top-header-menu .sub-menu,.tdm-header-style-2.td-header-wrap .td-header-top-menu-full,.tdm-header-style-2.td-header-wrap .top-header-menu .sub-menu,.tdm-header-style-3.td-header-wrap .td-header-top-menu-full,.tdm-header-style-3.td-header-wrap .top-header-menu .sub-menu{background-color:#ff6c0e}.td-header-style-8 .td-header-top-menu-full{background-color:transparent}.td-header-style-8 .td-header-top-menu-full .td-header-top-menu{background-color:#ff6c0e;padding-left:15px;padding-right:15px}.td-header-wrap .td-header-top-menu-full .td-header-top-menu,.td-header-wrap .td-header-top-menu-full{border-bottom:none}.td-header-top-menu,.td-header-top-menu a,.td-header-wrap .td-header-top-menu-full .td-header-top-menu,.td-header-wrap .td-header-top-menu-full a,.td-header-style-8 .td-header-top-menu,.td-header-style-8 .td-header-top-menu a,.td-header-top-menu .td-drop-down-search .entry-title a{color:#ffffff}.top-header-menu .current-menu-item>a,.top-header-menu .current-menu-ancestor>a,.top-header-menu .current-category-ancestor>a,.top-header-menu li a:hover,.td-header-sp-top-widget .td-icon-search:hover{color:#ffffff}.td-header-wrap .td-header-sp-top-widget i.td-icon-font:hover{color:#ffffff}.td-header-wrap .td-header-menu-wrap-full,.td-header-menu-wrap.td-affix,.td-header-style-3 .td-header-main-menu,.td-header-style-3 .td-affix .td-header-main-menu,.td-header-style-4 .td-header-main-menu,.td-header-style-4 .td-affix .td-header-main-menu,.td-header-style-8 .td-header-menu-wrap.td-affix,.td-header-style-8 .td-header-top-menu-full{background-color:#ff6c0e}.td-boxed-layout .td-header-style-3 .td-header-menu-wrap,.td-boxed-layout .td-header-style-4 .td-header-menu-wrap,.td-header-style-3 .td_stretch_content .td-header-menu-wrap,.td-header-style-4 .td_stretch_content .td-header-menu-wrap{background-color:#ff6c0e!important}@media (min-width:1019px){.td-header-style-1 .td-header-sp-recs,.td-header-style-1 .td-header-sp-logo{margin-bottom:28px}}@media (min-width:768px) and (max-width:1018px){.td-header-style-1 .td-header-sp-recs,.td-header-style-1 .td-header-sp-logo{margin-bottom:14px}}.td-header-style-7 .td-header-top-menu{border-bottom:none}.block-title>span,.block-title>a,.widgettitle,body .td-trending-now-title,.wpb_tabs li a,.vc_tta-container .vc_tta-color-grey.vc_tta-tabs-position-top.vc_tta-style-classic .vc_tta-tabs-container .vc_tta-tab>a,.td-theme-wrap .td-related-title a,.woocommerce div.product .woocommerce-tabs ul.tabs li a,.woocommerce .product .products h2:not(.woocommerce-loop-product__title),.td-theme-wrap .td-block-title{text-transform:capitalize}.td-theme-slider.iosSlider-col-1 .td-module-title{text-transform:capitalize}.td-theme-slider.iosSlider-col-2 .td-module-title{text-transform:capitalize}.td-theme-slider.iosSlider-col-3 .td-module-title{text-transform:capitalize}.homepage-post .td-post-template-8 .td-post-header .entry-title{text-transform:capitalize}.td_module_1 .td-module-title{text-transform:capitalize}.td_module_2 .td-module-title{text-transform:capitalize}.td_module_3 .td-module-title{text-transform:capitalize}.td_module_4 .td-module-title{text-transform:capitalize}.td_module_5 .td-module-title{text-transform:capitalize}.td_module_6 .td-module-title{text-transform:capitalize}.td_module_mx1 .td-module-title{text-transform:capitalize}.td_module_mx2 .td-module-title{text-transform:capitalize}.td_module_mx3 .td-module-title{text-transform:capitalize}.td_module_mx4 .td-module-title{text-transform:capitalize}.td-big-grid-post.td-big-thumb .td-big-grid-meta,.td-big-thumb .td-big-grid-meta .entry-title{text-transform:capitalize}.td-big-grid-post.td-medium-thumb .td-big-grid-meta,.td-medium-thumb .td-big-grid-meta .entry-title{text-transform:capitalize}.td-big-grid-post.td-small-thumb .td-big-grid-meta,.td-small-thumb .td-big-grid-meta .entry-title{text-transform:capitalize}.td-big-grid-post.td-tiny-thumb .td-big-grid-meta,.td-tiny-thumb .td-big-grid-meta .entry-title{text-transform:capitalize}.td-post-template-default .td-post-header .entry-title{text-transform:capitalize}.td-post-template-1 .td-post-header .entry-title{text-transform:capitalize}.td-post-template-2 .td-post-header .entry-title{text-transform:capitalize}.td-post-template-3 .td-post-header .entry-title{text-transform:capitalize}.td-post-template-4 .td-post-header .entry-title{text-transform:capitalize}.td-post-content h2{text-transform:capitalize}.td-page-title,.td-category-title-holder .td-page-title{text-transform:capitalize}:root{--td_theme_color:#ff6c0e;--td_slider_text:rgba(255,108,14,0.7);--td_mobile_menu_color:#ff6c0e;--td_mobile_gradient_one_mob:#333333;--td_mobile_gradient_two_mob:#333333;--td_mobile_text_active_color:#333333}.td-header-style-12 .td-header-menu-wrap-full,.td-header-style-12 .td-affix,.td-grid-style-1.td-hover-1 .td-big-grid-post:hover .td-post-category,.td-grid-style-5.td-hover-1 .td-big-grid-post:hover .td-post-category,.td_category_template_3 .td-current-sub-category,.td_category_template_8 .td-category-header .td-category a.td-current-sub-category,.td_category_template_4 .td-category-siblings .td-category a:hover,.td_block_big_grid_9.td-grid-style-1 .td-post-category,.td_block_big_grid_9.td-grid-style-5 .td-post-category,.td-grid-style-6.td-hover-1 .td-module-thumb:after,.tdm-menu
245-active-style5 .td-header-menu-wrap .sf-menu>.current-menu-item>a,.tdm-menu-active-style5 .td-header-menu-wrap .sf-menu>.current-menu-ancestor>a,.tdm-menu-active-style5 .td-header-menu-wrap .sf-menu>.current-category-ancestor>a,.tdm-menu-active-style5 .td-header-menu-wrap .sf-menu>li>a:hover,.tdm-menu-active-style5 .td-header-menu-wrap .sf-menu>.sfHover>a{background-color:#ff6c0e}.td_mega_menu_sub_cats .cur-sub-cat,.td-mega-span h3 a:hover,.td_mod_mega_menu:hover .entry-title a,.header-search-wrap .result-msg a:hover,.td-header-top-menu .td-drop-down-search .td_module_wrap:hover .entry-title a,.td-header-top-menu .td-icon-search:hover,.td-header-wrap .result-msg a:hover,.top-header-menu li a:hover,.top-header-menu .current-menu-item>a,.top-header-menu .current-menu-ancestor>a,.top-header-menu .current-category-ancestor>a,.td-social-icon-wrap>a:hover,.td-header-sp-top-widget .td-social-icon-wrap a:hover,.td_mod_related_posts:hover h3>a,.td-post-template-11 .td-related-title .td-related-left:hover,.td-post-template-11 .td-related-title .td-related-right:hover,.td-post-template-11 .td-related-title .td-cur-simple-item,.td-post-template-11 .td_block_related_posts .td-next-prev-wrap a:hover,.td-category-header .td-pulldown-category-filter-link:hover,.td-category-siblings .td-subcat-dropdown a:hover,.td-category-siblings .td-subcat-dropdown a.td-current-sub-category,.footer-text-wrap .footer-email-wrap a,.footer-social-wrap a:hover,.td_module_17 .td-read-more a:hover,.td_module_18 .td-read-more a:hover,.td_module_19 .td-post-author-name a:hover,.td-pulldown-syle-2 .td-subcat-dropdown:hover .td-subcat-more span,.td-pulldown-syle-2 .td-subcat-dropdown:hover .td-subcat-more i,.td-pulldown-syle-3 .td-subcat-dropdown:hover .td-subcat-more span,.td-pulldown-syle-3 .td-subcat-dropdown:hover .td-subcat-more i,.tdm-menu-active-style3 .tdm-header.td-header-wrap .sf-menu>.current-category-ancestor>a,.tdm-menu-active-style3 .tdm-header.td-header-wrap .sf-menu>.current-menu-ancestor>a,.tdm-menu-active-style3 .tdm-header.td-header-wrap .sf-menu>.current-menu-item>a,.tdm-menu-active-style3 .tdm-header.td-header-wrap .sf-menu>.sfHover>a,.tdm-menu-active-style3 .tdm-header.td-header-wrap .sf-menu>li>a:hover{color:#ff6c0e}.td-mega-menu-page .wpb_content_element ul li a:hover,.td-theme-wrap .td-aj-search-results .td_module_wrap:hover .entry-title a,.td-theme-wrap .header-search-wrap .result-msg a:hover{color:#ff6c0e!important}.td_category_template_8 .td-category-header .td-category a.td-current-sub-category,.td_category_template_4 .td-category-siblings .td-category a:hover,.tdm-menu
245-active-style4 .tdm-header .sf-menu>.current-menu-item>a,.tdm-menu-active-style4 .tdm-header .sf-menu>.current-menu-ancestor>a,.tdm-menu-active-style4 .tdm-header .sf-menu>.current-category-ancestor>a,.tdm-menu-active-style4 .tdm-header .sf-menu>li>a:hover,.tdm-menu-active-style4 .tdm-header .sf-menu>.sfHover>a{border-color:#ff6c0e}.td-header-wrap .td-header-top-menu-full,.td-header-wrap .top-header-menu .sub-menu,.tdm-header-style-1.td-header-wrap .td-header-top-menu-full,.tdm-header-style-1.td-header-wrap .top-header-menu .sub-menu,.tdm-header-style-2.td-header-wrap .td-header-top-menu-full,.tdm-header-style-2.td-header-wrap .top-header-menu .sub-menu,.tdm-header-style-3.td-header-wrap .td-header-top-menu-full,.tdm-header-style-3.td-header-wrap .top-header-menu .sub-menu{background-color:#ff6c0e}.td-header-style-8 .td-header-top-menu-full{background-color:transparent}.td-header-style-8 .td-header-top-menu-full .td-header-top-menu{background-color:#ff6c0e;padding-left:15px;padding-right:15px}.td-header-wrap .td-header-top-menu-full .td-header-top-menu,.td-header-wrap .td-header-top-menu-full{border-bottom:none}.td-header-top-menu,.td-header-top-menu a,.td-header-wrap .td-header-top-menu-full .td-header-top-menu,.td-header-wrap .td-header-top-menu-full a,.td-header-style-8 .td-header-top-menu,.td-header-style-8 .td-header-top-menu a,.td-header-top-menu .td-drop-down-search .entry-title a{color:#ffffff}.top-header-menu .current-menu-item>a,.top-header-menu .current-menu-ancestor>a,.top-header-menu .current-category-ancestor>a,.top-header-menu li a:hover,.td-header-sp-top-widget .td-icon-search:hover{color:#ffffff}.td-header-wrap .td-header-sp-top-widget i.td-icon-font:hover{color:#ffffff}.td-header-wrap .td-header-menu-wrap-full,.td-header-menu-wrap.td-affix,.td-header-style-3 .td-header-main-menu,.td-header-style-3 .td-affix .td-header-main-menu,.td-header-style-4 .td-header-main-menu,.td-header-style-4 .td-affix .td-header-main-menu,.td-header-style-8 .td-header-menu-wrap.td-affix,.td-header-style-8 .td-header-top-menu-full{background-color:#ff6c0e}.td-boxed-layout .td-header-style-3 .td-header-menu-wrap,.td-boxed-layout .td-header-style-4 .td-header-menu-wrap,.td-header-style-3 .td_stretch_content .td-header-menu-wrap,.td-header-style-4 .td_stretch_content .td-header-menu-wrap{background-color:#ff6c0e!important}@media (min-width:1019px){.td-header-style-1 .td-header-sp-recs,.td-header-style-1 .td-header-sp-logo{margin-bottom:28px}}@media (min-width:768px) and (max-width:1018px){.td-header-style-1 .td-header-sp-recs,.td-header-style-1 .td-header-sp-logo{margin-bottom:14px}}.td-header-style-7 .td-header-top-menu{border-bottom:none}.block-title>span,.block-title>a,.widgettitle,body .td-trending-now-title,.wpb_tabs li a,.vc_tta-container .vc_tta-color-grey.vc_tta-tabs-position-top.vc_tta-style-classic .vc_tta-tabs-container .vc_tta-tab>a,.td-theme-wrap .td-related-title a,.woocommerce div.product .woocommerce-tabs ul.tabs li a,.woocommerce .product .products h2:not(.woocommerce-loop-product__title),.td-theme-wrap .td-block-title{text-transform:capitalize}.td-theme-slider.iosSlider-col-1 .td-module-title{text-transform:capitalize}.td-theme-slider.iosSlider-col-2 .td-module-title{text-transform:capitalize}.td-theme-slider.iosSlider-col-3 .td-module-title{text-transform:capitalize}.homepage-post .td-post-template-8 .td-post-header .entry-title{text-transform:capitalize}.td_module_1 .td-module-title{text-transform:capitalize}.td_module_2 .td-module-title{text-transform:capitalize}.td_module_3 .td-module-title{text-transform:capitalize}.td_module_4 .td-module-title{text-transform:capitalize}.td_module_5 .td-module-title{text-transform:capitalize}.td_module_6 .td-module-title{text-transform:capitalize}.td_module_mx1 .td-module-title{text-transform:capitalize}.td_module_mx2 .td-module-title{text-transform:capitalize}.td_module_mx3 .td-module-title{text-transform:capitalize}.td_module_mx4 .td-module-title{text-transform:capitalize}.td-big-grid-post.td-big-thumb .td-big-grid-meta,.td-big-thumb .td-big-grid-meta .entry-title{text-transform:capitalize}.td-big-grid-post.td-medium-thumb .td-big-grid-meta,.td-medium-thumb .td-big-grid-meta .entry-title{text-transform:capitalize}.td-big-grid-post.td-small-thumb .td-big-grid-meta,.td-small-thumb .td-big-grid-meta .entry-title{text-transform:capitalize}.td-big-grid-post.td-tiny-thumb .td-big-grid-meta,.td-tiny-thumb .td-big-grid-meta .entry-title{text-transform:capitalize}.td-post-template-default .td-post-header .entry-title{text-transform:capitalize}.td-post-template-1 .td-post-header .entry-title{text-transform:capitalize}.td-post-template-2 .td-post-header .entry-title{text-transform:capitalize}.td-post-template-3 .td-post-header .entry-title{text-transform:capitalize}.td-post-template-4 .td-post-header .entry-title{text-transform:capitalize}.td-post-content h2{text-transform:capitalize}</style>
246
247<!-- LFX Segments Analytics -->
248<script src="https://lfx-segment.platform.linuxfoundation.org/latest/lfx-segment-analytics.min.js"></script>
248
249<script>
250  // Initialize with default configuration (no custom write key needed)
251  LfxAnalytics.LfxSegmentsAnalytics.getInstance().init();
252</script>
252
253
254
255<script type="application/ld+json">
256    {
257        "@context": "https://schema.org",
258        "@type": "BreadcrumbList",
259        "itemListElement": [
260            {
261                "@type": "ListItem",
262                "position": 1,
263                "item": {
264                    "@type": "WebSite",
265                    "@id": "https://www.linux.com/",
266                    "name": "Home"
267                }
268            },
269            {
270                "@type": "ListItem",
271                "position": 2,
272                    "item": {
273                    "@type": "WebPage",
274                    "@id": "https://www.linux.com/topic/",
275                    "name": "Topic"
276                }
277            }
278            ,{
279                "@type": "ListItem",
280                "position": 3,
281                    "item": {
282                    "@type": "WebPage",
283                    "@id": "https://www.linux.com/topic/cloud/",
284                    "name": "Cloud"                                
285                }
286            }    
287        ]
288    }
289</script>
289
290
291<!-- Button style compiled by theme -->
292
293<style>.tdm-btn-style1{background-color:#ff6c0e}.tdm-btn-style2:before{border-color:#ff6c0e}.tdm-btn-style2{color:#ff6c0e}.tdm-btn-style3{-webkit-box-shadow:0 2px 16px #ff6c0e;-moz-box-shadow:0 2px 16px #ff6c0e;box-shadow:0 2px 16px #ff6c0e}.tdm-btn-style3:hover{-webkit-box-shadow:0 4px 26px #ff6c0e;-moz-box-shadow:0 4px 26px #ff6c0e;box-shadow:0 4px 26px #ff6c0e}</style>
294
295	<style id="tdw-css-placeholder"></style></head>
296
297<body class="archive category category-cloud category-30 wp-theme-Newspaper wp-child-theme-Newspaper-child td-standard-pack global-block-template-4 td_category_template_1 td_category_top_posts_style_disable td-full-layout" itemscope="itemscope" itemtype="https://schema.org/WebPage">
298
299<div class="td-scroll-up" data-style="style1"><i class="td-icon-menu-up"></i></div>
300    <div class="td-menu-background" style="visibility:hidden"></div>
301<div id="td-mobile-nav" style="visibility:hidden">
302    <div class="td-mobile-container">
303        <!-- mobile menu top section -->
304        <div class="td-menu-socials-wrap">
305            <!-- socials -->
306            <div class="td-menu-socials">
307                
308        <span class="td-social-icon-wrap">
309            <a target="_blank" href="https://twitter.com/linuxdotcom" title="X">
310                <i class="td-icon-font td-icon-twitter"></i>
311                <span style="display: none">X</span>
312            </a>
313        </span>            </div>
314            <!-- close button -->
315            <div class="td-mobile-close">
316                <span><i class="td-icon-close-mobile"></i></span>
317            </div>
318        </div>
319
320        <!-- login section -->
321        
322        <!-- menu section -->
323        <div class="td-mobile-content">
324            <div class="menu-primary-menu-container"><ul id="menu-primary-menu" class="td-mobile-main-menu"><li id="menu-item-579695" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children menu-item-first menu-item-579695"><a href="https://linux.com/">Topic<i class="td-icon-menu-right td-element-after"></i></a>
325<ul class="sub-menu">
326	<li id="menu-item-577204" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-577204"><a href="https://www.linux.com/topic/ai-ml/">AI/ML</a></li>
327	<li id="menu-item-577207" class="menu-item menu-item-type-taxonomy menu-item-object-category current-menu-item menu-item-577207"><a href="https://www.linux.com/topic/cloud/">Cloud</a></li>
328	<li id="menu-item-577208" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-577208"><a href="https://www.linux.com/topic/desktop/">Desktop</a></li>
329	<li id="menu-item-577211" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-577211"><a href="https://www.linux.com/topic/embedded-iot/">Embedded/IoT</a></li>
330	<li id="menu-item-577212" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-577212"><a href="https://www.linux.com/topic/governance/">Governance</a></li>
331	<li id="menu-item-577213" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-577213"><a href="https://www.linux.com/topic/hardware/">Hardware</a></li>
332	<li id="menu-item-577215" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-577215"><a href="https://www.linux.com/topic/linux/">Linux</a></li>
333	<li id="menu-item-577216" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-577216"><a href="https://www.linux.com/topic/networking/">Networking</a></li>
334	<li id="menu-item-577217" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-577217"><a href="https://www.linux.com/topic/open-source/">Open Source</a></li>
335	<li id="menu-item-577219" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-577219"><a href="https://www.linux.com/topic/security/">Security</a></li>
336	<li id="menu-item-577221" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-577221"><a href="https://www.linux.com/topic/system-administration/">System Administration</a></li>
337</ul>
338</li>
339<li id="menu-item-577276" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-577276"><a href="https://linux.com/">Audience<i class="td-icon-menu-right td-element-after"></i></a>
340<ul class="sub-menu">
341	<li id="menu-item-577235" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-577235"><a href="https://www.linux.com/audience/developers/">Developers</a></li>
342	<li id="menu-item-577236" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-577236"><a href="https://www.linux.com/audience/devops/">DevOps</a></li>
343	<li id="menu-item-577237" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-577237"><a href="https://www.linux.com/audience/enterprise/">Enterprise</a></li>
344	<li id="menu-item-579694" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-579694"><a href="https://www.linux.com/audience/enthusiast/">Enthusiast</a></li>
345</ul>
346</li>
347<li id="menu-item-577257" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-577257"><a href="https://linux.com/">Resources<i class="td-icon-menu-right td-element-after"></i></a>
348<ul class="sub-menu">
349	<li id="menu-item-577289" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-577289"><a href="/tutorials">Tutorials</a></li>
350	<li id="menu-item-577260" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-577260"><a target="_blank" href="https://training.linuxfoundation.org/">Training</a></li>
351	<li id="menu-item-577261" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-577261"><a target="_blank" href="https://training.linuxfoundation.org/full-catalog/?_sft_product_type=certification">Certification</a></li>
352	<li id="menu-item-577259" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-577259"><a target="_blank" href="https://events.linuxfoundation.org/">Events</a></li>
353	<li id="menu-item-577256" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-577256"><a target="_blank" href="https://forum.linuxfoundation.org/">Forums</a></li>
354	<li id="menu-item-577274" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-577274"><a href="https://www.linux.com/qa/">Q&#038;A</a></li>
355	<li id="menu-item-577268" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-577268"><a href="https://www.linux.com/what-is-linux/">What is Linux?</a></li>
356</ul>
357</li>
358<li id="menu-item-577025" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-577025"><a href="https://www.linux.com/about/">About Us</a></li>
359</ul></div>        </div>
360    </div>
361
362    <!-- register/login section -->
363    </div><div class="td-search-background" style="visibility:hidden"></div>
364<div class="td-search-wrap-mob" style="visibility:hidden">
365	<div class="td-drop-down-search">
366		<form method="get" class="td-search-form" action="https://www.linux.com/">
367			<!-- close button -->
368			<div class="td-search-close">
369				<span><i class="td-icon-close-mobile"></i></span>
370			</div>
371			<div role="search" class="td-search-input">
372				<span>Search</span>
373				<input id="td-header-search-mob" type="text" value="" name="s" autocomplete="off" />
374			</div>
375		</form>
376		<div id="td-aj-search-mob" class="td-ajax-search-flex"></div>
377	</div>
378</div>
379
380    <div id="td-outer-wrap" class="td-theme-wrap">
381    
382        
383            <div class="tdc-header-wrap ">
384
385            <!--
386Header style 6
387-->
388
389
390<div class="td-header-wrap td-header-style-6 ">
391    
392    <div class="td-header-top-menu-full td-container-wrap ">
393        <div class="td-container td-header-row td-header-top-menu">
394            <!-- LOGIN MODAL -->
395
396                <div id="login-form" class="white-popup-block mfp-hide mfp-with-anim td-login-modal-wrap">
397                    <div class="td-login-wrap">
398                        <a href="#" aria-label="Back" class="td-back-button"><i class="td-icon-modal-back"></i></a>
399                        <div id="td-login-div" class="td-login-form-div td-display-block">
400                            <div class="td-login-panel-title">Sign in</div>
401                            <div class="td-login-panel-descr">Welcome! Log into your account</div>
402                            <div class="td_display_err"></div>
403                            <form id="loginForm" action="#" method="post">
404                                <div class="td-login-inputs"><input class="td-login-input" autocomplete="username" type="text" name="login_email" id="login_email" value="" required><label for="login_email">your username</label></div>
405                                <div class="td-login-inputs"><input class="td-login-input" autocomplete="current-password" type="password" name="login_pass" id="login_pass" value="" required><label for="login_pass">your password</label></div>
406                                <input type="button"  name="login_button" id="login_button" class="wpb_button btn td-login-button" value="Login">
407                                
408                            </form>
409
410                            
411
412                            <div class="td-login-info-text"><a href="#" id="forgot-pass-link">Forgot your password? Get help</a></div>
413                            
414                            
415                            
416                            
417                        </div>
418
419                        
420
421                         <div id="td-forgot-pass-div" class="td-login-form-div td-display-none">
422                            <div class="td-login-panel-title">Password recovery</div>
423                            <div class="td-login-panel-descr">Recover your password</div>
424                            <div class="td_display_err"></div>
425                            <form id="forgotpassForm" action="#" method="post">
426                                <div class="td-login-inputs"><input class="td-login-input" type="text" name="forgot_email" id="forgot_email" value="" required><label for="forgot_email">your email</label></div>
427                                <input type="button" name="forgot_button" id="forgot_button" class="wpb_button btn td-login-button" value="Send My Password">
428                            </form>
429                            <div class="td-login-info-text">A password will be e-mailed to you.</div>
430                        </div>
431                        
432                        
433                    </div>
434                </div>
435                        </div>
436    </div>
437
438    <div class="td-header-menu-wrap-full td-container-wrap ">
439        
440        <div class="td-header-menu-wrap ">
441            <div class="td-container td-header-row td-header-main-menu black-menu">
442                <div class="td-header-menu-social">
443        <span class="td-social-icon-wrap">
444            <a target="_blank" href="https://twitter.com/linuxdotcom" title="X">
445                <i class="td-icon-font td-icon-twitter"></i>
446                <span style="display: none">X</span>
447            </a>
448        </span></div>
449    <div class="header-search-wrap">
450        <div class="td-search-btns-wrap">
451            <a id="td-header-search-button" href="#" aria-label="Search" role="button" class="dropdown-toggle " data-toggle="dropdown"><i class="td-icon-search"></i></a>
452                            <a id="td-header-search-button-mob" href="#" aria-label="Search" class="dropdown-toggle " data-toggle="dropdown"><i class="td-icon-search"></i></a>
453                    </div>
454
455        <div class="td-drop-down-search" aria-labelledby="td-header-search-button">
456            <form method="get" class="td-search-form" action="https://www.linux.com/">
457                <div role="search" class="td-head-form-search-wrap">
458                    <input id="td-header-search" type="text" value="" name="s" autocomplete="off" /><input class="wpb_button wpb_btn-inverse btn" type="submit" id="td-header-search-top" value="Search" />
459                </div>
460            </form>
461            <div id="td-aj-search"></div>
462        </div>
463    </div>
464
465<div id="td-header-menu" role="navigation">
466        <div id="td-top-mobile-toggle"><a href="#" role="button" aria-label="Menu"><i class="td-icon-font td-icon-mobile"></i></a></div>
467        <div class="td-main-menu-logo td-logo-in-menu">
468                    <a class="td-main-logo" href="https://www.linux.com/">
469                <img src="https://www.linux.com/wp-content/uploads/2019/08/ldc-white-272.png" alt="Linux.com" title="Linux.com"  width="272" height="90"/>
470                <span class="td-visual-hidden">Linux.com</span>
471            </a>
472            </div>
473    <div class="menu-primary-menu-container"><ul id="menu-primary-menu-1" class="sf-menu"><li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children menu-item-first td-menu-item td-normal-menu menu-item-579695"><a href="https://linux.com/">Topic</a>
474<ul class="sub-menu">
475	<li class="menu-item menu-item-type-taxonomy menu-item-object-category td-menu-item td-normal-menu menu-item-577204"><a href="https://www.linux.com/topic/ai-ml/">AI/ML</a></li>
476	<li class="menu-item menu-item-type-taxonomy menu-item-object-category current-menu-item td-menu-item td-normal-menu menu-item-577207"><a href="https://www.linux.com/topic/cloud/">Cloud</a></li>
477	<li class="menu-item menu-item-type-taxonomy menu-item-object-category td-menu-item td-normal-menu menu-item-577208"><a href="https://www.linux.com/topic/desktop/">Desktop</a></li>
478	<li class="menu-item menu-item-type-taxonomy menu-item-object-category td-menu-item td-normal-menu menu-item-577211"><a href="https://www.linux.com/topic/embedded-iot/">Embedded/IoT</a></li>
479	<li class="menu-item menu-item-type-taxonomy menu-item-object-category td-menu-item td-normal-menu menu-item-577212"><a href="https://www.linux.com/topic/governance/">Governance</a></li>
480	<li class="menu-item menu-item-type-taxonomy menu-item-object-category td-menu-item td-normal-menu menu-item-577213"><a href="https://www.linux.com/topic/hardware/">Hardware</a></li>
481	<li class="menu-item menu-item-type-taxonomy menu-item-object-category td-menu-item td-normal-menu menu-item-577215"><a href="https://www.linux.com/topic/linux/">Linux</a></li>
482	<li class="menu-item menu-item-type-taxonomy menu-item-object-category td-menu-item td-normal-menu menu-item-577216"><a href="https://www.linux.com/topic/networking/">Networking</a></li>
483	<li class="menu-item menu-item-type-taxonomy menu-item-object-category td-menu-item td-normal-menu menu-item-577217"><a href="https://www.linux.com/topic/open-source/">Open Source</a></li>
484	<li class="menu-item menu-item-type-taxonomy menu-item-object-category td-menu-item td-normal-menu menu-item-577219"><a href="https://www.linux.com/topic/security/">Security</a></li>
485	<li class="menu-item menu-item-type-taxonomy menu-item-object-category td-menu-item td-normal-menu menu-item-577221"><a href="https://www.linux.com/topic/system-administration/">System Administration</a></li>
486</ul>
487</li>
488<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children td-menu-item td-normal-menu menu-item-577276"><a href="https://linux.com/">Audience</a>
489<ul class="sub-menu">
490	<li class="menu-item menu-item-type-taxonomy menu-item-object-category td-menu-item td-normal-menu menu-item-577235"><a href="https://www.linux.com/audience/developers/">Developers</a></li>
491	<li class="menu-item menu-item-type-taxonomy menu-item-object-category td-menu-item td-normal-menu menu-item-577236"><a href="https://www.linux.com/audience/devops/">DevOps</a></li>
492	<li class="menu-item menu-item-type-taxonomy menu-item-object-category td-menu-item td-normal-menu menu-item-577237"><a href="https://www.linux.com/audience/enterprise/">Enterprise</a></li>
493	<li class="menu-item menu-item-type-taxonomy menu-item-object-category td-menu-item td-normal-menu menu-item-579694"><a href="https://www.linux.com/audience/enthusiast/">Enthusiast</a></li>
494</ul>
495</li>
496<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children td-menu-item td-normal-menu menu-item-577257"><a href="https://linux.com/">Resources</a>
497<ul class="sub-menu">
498	<li class="menu-item menu-item-type-custom menu-item-object-custom td-menu-item td-normal-menu menu-item-577289"><a href="/tutorials">Tutorials</a></li>
499	<li class="menu-item menu-item-type-custom menu-item-object-custom td-menu-item td-normal-menu menu-item-577260"><a target="_blank" href="https://training.linuxfoundation.org/">Training</a></li>
500	<li class="menu-item menu-item-type-custom menu-item-object-custom td-menu-item td-normal-menu menu-item-577261"><a target="_blank" href="https://training.linuxfoundation.org/full-catalog/?_sft_product_type=certification">Certification</a></li>
501	<li class="menu-item menu-item-type-custom menu-item-object-custom td-menu-item td-normal-menu menu-item-577259"><a target="_blank" href="https://events.linuxfoundation.org/">Events</a></li>
502	<li class="menu-item menu-item-type-custom menu-item-object-custom td-menu-item td-normal-menu menu-item-577256"><a target="_blank" href="https://forum.linuxfoundation.org/">Forums</a></li>
503	<li class="menu-item menu-item-type-post_type menu-item-object-page td-menu-item td-normal-menu menu-item-577274"><a href="https://www.linux.com/qa/">Q&#038;A</a></li>
504	<li class="menu-item menu-item-type-post_type menu-item-object-page td-menu-item td-normal-menu menu-item-577268"><a href="https://www.linux.com/what-is-linux/">What is Linux?</a></li>
505</ul>
506</li>
507<li class="menu-item menu-item-type-post_type menu-item-object-page td-menu-item td-normal-menu menu-item-577025"><a href="https://www.linux.com/about/">About Us</a></li>
508</ul></div></div>
509
510            </div>
511        </div>
512    </div>
513
514    
515</div>
516            </div>
517
518            
519
520
521
522
523        <!-- subcategory -->
524        <div class="td-category-header td-container-wrap">
525            <div class="td-container">
526                <div class="td-pb-row">
527                    <div class="td-pb-span12">
528                        <div class="td-crumb-container"><div class="entry-crumbs"><span><a title="" class="entry-crumb" href="https://www.linux.com/">Home</a></span> <i class="td-icon-right td-bread-sep"></i> <span><a title="View all posts in Topic" class="entry-crumb" href="https://www.linux.com/topic/">Topic</a></span> <i class="td-icon-right td-bread-sep td-bred-no-url-last"></i> <span class="td-bred-no-url-last">Cloud</span></div></div>
529
530                        <h1 class="entry-title td-page-title">Cloud</h1>
531                        
532                    </div>
533                </div>
534                <div class="td-category-pulldown-filter td-wrapper-pulldown-filter"><div class="td-pulldown-filter-display-option"><div class="td-subcat-more">Latest <i class="td-icon-menu-down"></i></div><ul class="td-pulldown-filter-list"><li class="td-pulldown-filter-item"><a class="td-pulldown-category-filter-link" id="tdi_2" data-td_block_id="tdi_1" href="https://www.linux.com/topic/cloud/">Latest</a></li><li class="td-pulldown-filter-item"><a class="td-pulldown-category-filter-link" id="tdi_3" data-td_block_id="tdi_1" href="https://www.linux.com/topic/cloud/?filter_by=featured">Featured posts</a></li><li class="td-pulldown-filter-item"><a class="td-pulldown-category-filter-link" id="tdi_4" data-td_block_id="tdi_1" href="https://www.linux.com/topic/cloud/?filter_by=popular">Most popular</a></li><li class="td-pulldown-filter-item"><a class="td-pulldown-category-filter-link" id="tdi_5" data-td_block_id="tdi_1" href="https://www.linux.com/topic/cloud/?filter_by=popular7">7 days popular</a></li><li class="td-pulldown-filter-item"><a class="td-pulldown-category-filter-link" id="tdi_6" data-td_block_id="tdi_1" href="https://www.linux.com/topic/cloud/?filter_by=review_high">By review score</a></li><li class="td-pulldown-filter-item"><a class="td-pulldown-category-filter-link" id="tdi_7" data-td_block_id="tdi_1" href="https://www.linux.com/topic/cloud/?filter_by=random_posts">Random</a></li></ul></div></div>            </div>
535        </div>
536
537        
538	
539    <div class="td-main-content-wrap td-container-wrap" role="main">
540        <div class="td-container">
541
542            <!-- content -->
543            <div class="td-pb-row">
544                                        <div class="td-pb-span12 td-main-content">
545                            <div class="td-ss-main-content">
546                                
547
548	<div class="td-block-row">
549
550	<div class="td-block-span4">
551<!-- module -->
552        <div class="td_module_8 td_module_wrap">
553
554            <div class="item-details">
555                <h3 class="entry-title td-module-title"><a href="https://www.linux.com/topic/cloud/kubernetes-on-bare-metal-for-maximum-performance/"  rel="bookmark" title="Kubernetes on Bare Metal for Maximum Performance">Kubernetes on Bare Metal for Maximum Performance</a></h3>
556                <div class="td-module-meta-info">
557                                                            <span class="td-post-date"><time class="entry-date updated td-module-date" datetime="2025-10-14T06:00:00-07:00" >October 14, 2025</time></span>                                    </div>
558            </div>
559
560            
561        </div>
562
563        
564	</div> <!-- ./td-block-span4 -->
565
566	<div class="td-block-span4">
567<!-- module -->
568        <div class="td_module_8 td_module_wrap">
569
570            <div class="item-details">
571                <h3 class="entry-title td-module-title"><a href="https://www.linux.com/news/using-opentelemetry-and-the-otel-collector-for-logs-metrics-and-traces/"  rel="bookmark" title="Using OpenTelemetry and the OTel Collector for Logs, Metrics, and Traces">Using OpenTelemetry and the OTel Collector for Logs, Metrics, and Traces</a></h3>
572                <div class="td-module-meta-info">
573                                                            <span class="td-post-date"><time class="entry-date updated td-module-date" datetime="2025-04-04T11:16:05-07:00" >April 4, 2025</time></span>                                    </div>
574            </div>
575
576            
577        </div>
578
579        
580	</div> <!-- ./td-block-span4 -->
581
582	<div class="td-block-span4">
583<!-- module -->
584        <div class="td_module_8 td_module_wrap">
585
586            <div class="item-details">
587                <h3 class="entry-title td-module-title"><a href="https://www.linux.com/news/bridging-design-and-runtime-gaps-asyncapi-in-event-driven-architecture/"  rel="bookmark" title="Bridging Design and Runtime Gaps: AsyncAPI in Event-Driven Architecture">Bridging Design and Runtime Gaps: AsyncAPI in Event-Driven Architecture</a></h3>
588                <div class="td-module-meta-info">
589                                                            <span class="td-post-date"><time class="entry-date updated td-module-date" datetime="2024-02-25T05:42:15-08:00" >February 25, 2024</time></span>                                    </div>
590            </div>
591
592            
593        </div>
594
595        
596	</div> <!-- ./td-block-span4 --></div><!--./row-fluid-->
597
598	<div class="td-block-row">
599
600	<div class="td-block-span4">
601<!-- module -->
602        <div class="td_module_8 td_module_wrap">
603
604            <div class="item-details">
605                <h3 class="entry-title td-module-title"><a href="https://www.linux.com/news/download-the-2021-linux-foundation-annual-report/"  rel="bookmark" title="Download the 2021 Linux Foundation Annual Report">Download the 2021 Linux Foundation Annual Report</a></h3>
606                <div class="td-module-meta-info">
607                                                            <span class="td-post-date"><time class="entry-date updated td-module-date" datetime="2021-12-08T15:42:44-08:00" >December 8, 2021</time></span>                                    </div>
608            </div>
609
610            
611        </div>
612
613        
614	</div> <!-- ./td-block-span4 -->
615
616	<div class="td-block-span4">
617<!-- module -->
618        <div class="td_module_8 td_module_wrap">
619
620            <div class="item-details">
621                <h3 class="entry-title td-module-title"><a href="https://www.linux.com/news/how-ebpf-streamlines-the-service-mesh-tns/"  rel="bookmark" title="How eBPF Streamlines the Service Mesh (TNS)">How eBPF Streamlines the Service Mesh (TNS)</a></h3>
622                <div class="td-module-meta-info">
623                                                            <span class="td-post-date"><time class="entry-date updated td-module-date" datetime="2021-10-26T09:16:01-07:00" >October 26, 2021</time></span>                                    </div>
624            </div>
625
626            
627        </div>
628
629        
630	</div> <!-- ./td-block-span4 -->
631
632	<div class="td-block-span4">
633<!-- module -->
634        <div class="td_module_8 td_module_wrap">
635
636            <div class="item-details">
637                <h3 class="entry-title td-module-title"><a href="https://www.linux.com/news/prestodb-is-recognized-as-best-open-source-software-of-2021-bossie-awards-infoworld/"  rel="bookmark" title="PrestoDB is Recognized as Best Open Source Software of 2021 Bossie Awards (InfoWorld)">PrestoDB is Recognized as Best Open Source Software of 2021 Bossie Awards (InfoWorld)</a></h3>
638                <div class="td-module-meta-info">
639                                                            <span class="td-post-date"><time class="entry-date updated td-module-date" datetime="2021-10-21T13:56:02-07:00" >October 21, 2021</time></span>                                    </div>
640            </div>
641
642            
643        </div>
644
645        
646	</div> <!-- ./td-block-span4 --></div><!--./row-fluid-->
647
648	<div class="td-block-row">
649
650	<div class="td-block-span4">
651<!-- module -->
652        <div class="td_module_8 td_module_wrap">
653
654            <div class="item-details">
655                <h3 class="entry-title td-module-title"><a href="https://www.linux.com/news/open-source-block-storage-for-opennebula-clouds/"  rel="bookmark" title="Open Source Block Storage for OpenNebula Clouds">Open Source Block Storage for OpenNebula Clouds</a></h3>
656                <div class="td-module-meta-info">
657                                                            <span class="td-post-date"><time class="entry-date updated td-module-date" datetime="2021-03-26T12:20:28-07:00" >March 26, 2021</time></span>                                    </div>
658            </div>
659
660            
661        </div>
662
663        
664	</div> <!-- ./td-block-span4 -->
665
666	<div class="td-block-span4">
667<!-- module -->
668        <div class="td_module_8 td_module_wrap">
669
670            <div class="item-details">
671                <h3 class="entry-title td-module-title"><a href="https://www.linux.com/news/seapath-a-software-driven-open-source-project-for-the-energy-sector/"  rel="bookmark" title="SEAPATH: A Software Driven Open Source Project for the Energy Sector">SEAPATH: A Software Driven Open Source Project for the Energy Sector</a></h3>
672                <div class="td-module-meta-info">
673                                                            <span class="td-post-date"><time class="entry-date updated td-module-date" datetime="2021-03-19T08:55:03-07:00" >March 19, 2021</time></span>                                    </div>
674            </div>
675
676            
677        </div>
678
679        
680	</div> <!-- ./td-block-span4 -->
681
682	<div class="td-block-span4">
683<!-- module -->
684        <div class="td_module_8 td_module_wrap">
685
686            <div class="item-details">
687                <h3 class="entry-title td-module-title"><a href="https://www.linux.com/news/the-tars-foundation-celebrates-its-first-anniversary/"  rel="bookmark" title="The TARS Foundation Celebrates its First Anniversary">The TARS Foundation Celebrates its First Anniversary</a></h3>
688                <div class="td-module-meta-info">
689                                                            <span class="td-post-date"><time class="entry-date updated td-module-date" datetime="2021-03-12T12:01:43-08:00" >March 12, 2021</time></span>                                    </div>
690            </div>
691
692            
693        </div>
694
695        
696	</div> <!-- ./td-block-span4 --></div><!--./row-fluid-->
697
698	<div class="td-block-row">
699
700	<div class="td-block-span4">
701<!-- module -->
702        <div class="td_module_8 td_module_wrap">
703
704            <div class="item-details">
705                <h3 class="entry-title td-module-title"><a href="https://www.linux.com/news/here-is-how-to-create-a-clean-resilient-electrical-grid-forbes/"  rel="bookmark" title="Here Is How To Create A Clean, Resilient Electrical Grid (Forbes)">Here Is How To Create A Clean, Resilient Electrical Grid (Forbes)</a></h3>
706                <div class="td-module-meta-info">
707                                                            <span class="td-post-date"><time class="entry-date updated td-module-date" datetime="2021-02-25T13:36:41-08:00" >February 25, 2021</time></span>                                    </div>
708            </div>
709
710            
711        </div>
712
713        
714	</div> <!-- ./td-block-span4 --></div><!--./row-fluid--><div class="page-nav td-pb-padding-side"><span class="current">1</span><a href="https://www.linux.com/topic/cloud/page/2/" class="page" title="2">2</a><a href="https://www.linux.com/topic/cloud/page/3/" class="page" title="3">3</a><span class="extend">...</span><a href="https://www.linux.com/topic/cloud/page/251/" class="last" title="251">251</a><a href="https://www.linux.com/topic/cloud/page/2/"  aria-label="next-page" ><i class="td-icon-menu-right"></i></a><span class="pages">Page 1 of 251</span><div class="clearfix"></div></div>                            </div>
715                        </div>
716                                    </div> <!-- /.td-pb-row -->
717        </div> <!-- /.td-container -->
718    </div> <!-- /.td-main-content-wrap -->
719
720
721	
722	
723            <div class="tdc-footer-wrap ">
724
725                <!-- Footer -->
726				
727                <!-- Sub Footer -->
728				    <div class="td-sub-footer-container td-container-wrap ">
729        <div class="td-container">
730            <div class="td-pb-row">
731                <div class="td-pb-span td-sub-footer-menu">
732                                    </div>
733
734                <div class="td-pb-span td-sub-footer-copy">
735                    <div class="td-pb-row">
736   <div class="td-pb-span10">
737      <aside class="footer-text-wrap">
738Copyright © 2026 The Linux Foundation®. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our <a href="https://www.linuxfoundation.org/trademark-usage">Trademark Usage</a> page. Linux is a registered trademark of Linus Torvalds.
739      </aside>
740   </div>
741   <div class="td-pb-span2">
742         <a target="_blank" href="https://twitter.com/linuxdotcom" title="Twitter">
743         <i class="td-icon-font td-icon-twitter"></i>
744         </a>
745   </div>
746</div>                </div>
747            </div>
748        </div>
749    </div>
750            </div><!--close td-footer-wrap-->
751			
752
753</div><!--close td-outer-wrap-->
754
755
756<script type="speculationrules">
757{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/Newspaper-child/*","/wp-content/themes/Newspaper/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
758</script>
758
759
760<!-- GTM Container placement set to footer -->
761<!-- Google Tag Manager (noscript) -->
762				<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NXGNZW" height="0" width="0" style="display:none;visibility:hidden" aria-hidden="true"></iframe></noscript>
763<!-- End Google Tag Manager (noscript) --><style type="text/css"> 
764         /* Hide reCAPTCHA V3 badge */
765        .grecaptcha-badge {
766        
767            visibility: hidden !important;
768        
769        }
770    </style>
771
772    <!--
773
774        Theme: Newspaper by tagDiv.com 2026
775        Version: 12.7.8 (rara)
776        Deploy mode: deploy
777        
778        uid: 6ab4d36dea938
779    -->
780
781    
782<!-- Custom css from theme panel -->
783<style type="text/css" media="screen">.td-grid-style-2 .td-big-grid-post-0 .td-module-thumb a:last-child:before,.td-grid-style-3 .td-big-grid-post-0 .td-module-thumb a:last-child:before{background:linear-gradient(45deg,#4db2ec 0%,#4a8f5e 100%)}.td-grid-style-3 .td-module-thumb a:last-child:before{opacity:0.2}.td-header-style-6 .td-header-menu-social{margin-left:44px;margin-right:44px;line-height:80px}.td-header-menu-social .td-social-icon-wrap i{font-size:20px}.td-pb-span.td-sub-footer-copy i.td-icon-font.td-icon-twitter{font-size:20px;padding:10px!important;display:inline-block}.td-scroll-up.td-hide-scroll-up-on-mob{display:none}</style>
784
785<script id="mpp_gutenberg_tabs-js" src="https://www.linux.com/wp-content/plugins/profile-builder/add-ons-free/user-profile-picture/js/mpp-frontend.js?ver=2.6.0"></script>
vendor: 1 bytes, line 785
785
786<script id="gtm4wp-form-move-tracker-js-before">
787var gtm4wp_form_move_config = {"filledOnly":false};
788//# sourceURL=gtm4wp-form-move-tracker-js-before
789</script>
vendor: 1 bytes, line 789
789
790<script data-wp-strategy="defer" defer id="gtm4wp-form-move-tracker-js" src="https://www.linux.com/wp-content/plugins/duracelltomi-google-tag-manager/build/gtm4wp-form-move-tracker.js?ver=2.0.2"></script>
vendor: 1 bytes, line 790
790
791<script id="td-site-min-js" src="https://www.linux.com/wp-content/plugins/td-composer/legacy/Newspaper/js/tagdiv_theme.min.js?ver=12.7.8"></script>
vendor: 1 bytes, line 791
791
792<script id="tdSocialSharing-js" src="https://www.linux.com/wp-content/plugins/td-composer/legacy/Newspaper/js/tdSocialSharing.js?ver=12.7.8"></script>
vendor: 1 bytes, line 792
792
793<script id="wp-emoji-settings" type="application/json">
794{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://www.linux.com/wp-includes/js/wp-emoji-release.min.js?ver=7.1.2"}}
795</script>
vendor: 1 bytes, line 795
795
796<script type="module">
797/*! This file is auto-generated */
798var 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)))});
799//# sourceURL=https://www.linux.com/wp-includes/js/wp-emoji-loader.min.js
800</script>
800
801
802
803<script type="text/javascript" src="https://www.linux.com/wp-content/plugins/td-composer/legacy/Newspaper/js/tdToTop.js?ver=12.7.8" id="tdToTop-js"></script>
803
804
805<script type="text/javascript" src="https://www.linux.com/wp-content/plugins/td-composer/legacy/Newspaper/js/tdLogin.js?ver=12.7.8" id="tdLogin-js"></script>
805
806
807<script type="text/javascript" src="https://www.linux.com/wp-content/plugins/td-composer/legacy/Newspaper/js/tdMenu.js?ver=12.7.8" id="tdMenu-js"></script>
807
808
809<script type="text/javascript" src="https://www.linux.com/wp-content/plugins/td-composer/legacy/Newspaper/js/tdAjaxSearch.js?ver=12.7.8" id="tdAjaxSearch-js"></script>
809
810<!-- JS generated by theme -->
811
812<script type="text/javascript" id="td-generated-footer-js">
813    
814jQuery().ready(function() {
815var pulldown_size = jQuery(".td-category-pulldown-filter:first").width();
816if (pulldown_size > 113) { jQuery(".td-category-pulldown-filter .td-pulldown-filter-list").css({"min-width": pulldown_size, "border-top": "1px solid #444"}); }
817});
818</script>
818
819
820
821<script>var td_res_context_registered_atts=[];</script>
821
822
823<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"981d6c8a9f","applicationID":"176909146","transactionName":"ZwZWMhNZXxcFABFaXF5MdQUVUV4KSwAER1ZXDEYf","queueTime":0,"applicationTime":280,"atts":"S0FVRFtDTBk=","errorBeacon":"bam.nr-data.net","agent":""}</script>
823</body>
824</html>
825<!-- plugin=object-cache-pro client=phpredis metric#hits=4651 metric#misses=12 metric#hit-ratio=99.7 metric#bytes=988195 metric#prefetches=281 metric#store-reads=28 metric#store-writes=5 metric#store-hits=288 metric#store-misses=2 metric#sql-queries=9 metric#ms-total=277.29 metric#ms-cache=36.85 metric#ms-cache-avg=1.1515 metric#ms-cache-ratio=13.3 -->

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.