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 » Feed" href="https://www.linux.com/feed/" /> 34<link rel="alternate" type="application/rss+xml" title="Linux.com » 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&display=swap&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&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&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.