CINXE.COM
Forrester Blog Network | ITPro Today
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="robots" content="max-image-preview:large"/><title>Forrester Blog Network | ITPro Today</title><meta name="description" content="Explore the latest news and expert commentary by Forrester Blog Network, brought to you by the Contributor of ITPro Today"/><meta property="og:title" content="Forrester Blog Network | ITPro Today"/><meta property="og:description" content="Explore the latest news and expert commentary by Forrester Blog Network, brought to you by the Contributor of ITPro Today"/><meta property="og:url" content="https://www.itprotoday.com/author/forrester-blog-network"/><meta property="og:type" content="website"/><meta property="og:image" content="https://www.itprotoday.com/build/_assets/itprotoday-TDRQNNNW.ico"/><meta property="og:site_name" content="ITPro Today"/><link rel="canonical" href="https://www.itprotoday.com/author/forrester-blog-network"/><script type="application/ld+json">{"@context":"https://schema.org","@type":"ProfilePage","mainEntity":{"@type":"Person","name":"Forrester Blog Network","description":"Forrester Blog Network, ","image":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png","disambiguatingDescription":"","sameAs":[]}}</script><link rel="preload" href="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltef1c012c16d42c8e/673f31ea0b465e9d0dc63974/skills-1716x965_-_2024-09-20.jpg?width=700&auto=webp&quality=10&disable=upscale&blur=40" as="image"/><link rel="preload" href="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf7bac6b68b386c8f/6735d37b0993df6bb8785f0a/edge-computing-1716x965_-_2024-11-14.jpg?width=700&auto=webp&quality=10&disable=upscale&blur=40" as="image"/><meta property="twitter:card" content="summary"/><script type="text/javascript">window.NREUM||(NREUM={});NREUM.info = {"agent":"","beacon":"bam.eu01.nr-data.net","errorBeacon":"bam.eu01.nr-data.net","licenseKey":"NRJS-26ae6a3b09493bbcc87","applicationID":"514059305","agentToken":null,"applicationTime":23.197141,"transactionName":"MhBSZQoZWEEDU0ZaXgtadUkIClNBEVpBHHYgIR8eUg==","queueTime":0,"ttGuid":"00bcbff944762676"}; (window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.eu01.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"538480682",accountID:"3936348",trustKey:"3288925",xpid:"Vw8EV1VXABAFVVVSAggEVlE=",licenseKey:"NRJS-26ae6a3b09493bbcc87",applicationID:"514059305"};;/*! For license information please see nr-loader-spa-1.274.0.min.js.LICENSE.txt */ (()=>{var e,t,r={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)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={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},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>h,gD:()=>g,xN:()=>p});var n=r(993);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u="[data-nr-mask]",d=()=>{const e={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,harvestTimeSeconds:10,autoStart:!0},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},feature_flags:[],generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,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){i(t)?e.mask_selector="".concat(t,",").concat(u):""===t||null===t?e.mask_selector=u:(0,a.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){i(t)?e.block_selector+=",".concat(t):""!==t&&(0,a.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,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0,user_actions:{enabled:!0}}},l={},f="All configuration objects require an agent identifier!";function h(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function p(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r&&(r.init=l[e])}function g(e,t){if(!e)throw new Error(f);var r=h(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.274.0",i="PROD",o="CDN",a="^2.0.0-alpha.17"},6154:(e,t,r)=>{"use strict";r.d(t,{A4:()=>s,OF:()=>d,RI:()=>i,WN:()=>h,bv:()=>o,gm:()=>a,lR:()=>f,m:()=>u,mw:()=>c,sb:()=>l});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s="complete"===a?.document?.readyState,c=Boolean("hidden"===a?.document?.visibilityState),u=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d&&"undefined"==typeof SharedWorker,f=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(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],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).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,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=g(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,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 h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},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,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[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 o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(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))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";function n(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)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},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})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,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}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{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)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),h(a.gm,f),h(c.prototype,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,Zp:()=>i,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log",a=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>s,Qu:()=>c,TZ:()=>a,ih:()=>u,tC:()=>i});var n=r(860);const i=["click","keydown","submit"],o="api",a=n.K7.softNav,s={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},c={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},u={IP:"in progress",FIN:"finished",CAN:"cancelled"}},7378:(e,t,r)=>{"use strict";r.d(t,{$p:()=>x,BR:()=>b,Kp:()=>R,L3:()=>y,Lc:()=>c,NC:()=>o,SG:()=>d,TZ:()=>i,U6:()=>p,UT:()=>m,d3:()=>w,dT:()=>f,e5:()=>A,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>E,uP:()=>s,wW:()=>T,xq:()=>a});var n=r(384);const i=r(860).K7.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=(0,n.dV)().o.ST,w="-start",R="-end",x="-body",T="cb"+R,A="jsTime",E="fetch"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},425:(e,t,r)=>{"use strict";r.d(t,{j:()=>j});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),p=r(6344);const g=["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),w=r(3785),R=r(2646),x=r(3434);function T(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,x.YM)(i),a=new R.y(s.P);return a.level=n.level,a.customAttributes=n.customAttributes,o.inPlace(t,[r],"wrap-logger-",a),i}function A(){const e=(0,h.pV)();g.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const E={};var S=r(9417),N=r(5603),O=r(5284);const _=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let I=!1;function j(e,t={},g,R){let{init:x,info:j,loader_config:P,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();j||(x=L.init,j=L.info,P=L.loader_config),(0,S.xN)(e.agentIdentifier,x||{}),(0,N.a)(e.agentIdentifier,P||{}),j.jsAttributes??={},d.bv&&(j.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,j);const H=(0,S.D0)(e.agentIdentifier),D=[j.beacon,j.errorBeacon];I||(H.proxy.assets&&(_(H.proxy.assets),D.push(H.proxy.assets)),H.proxy.beacon&&D.push(H.proxy.beacon),A(),(0,h.US)("activatedFeatures",O.B),e.runSoftNavOverSpa&&=!0===H.soft_navigations.enabled&&H.feature_flags.includes("soft_nav")),C.denyList=[...H.ajax.deny_list||[],...H.ajax.block_internal?D:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const g={};var R=s.ee.get(e),x=R.get("tracer");E[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=>{E[e]=t}));var A="api-",S=A+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(A,n,!0,o||null===r?"session":void 0)(t,r)}function O(){}g.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e=>{g[e]=I(A,e,!0,"api")})),g.addPageAction=I(A,"addPageAction",!0,n.K7.genericEvents),g.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(A,"setPageViewName",!0)()},g.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},g.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},g.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,R),R.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},g[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,R)},g[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,R)},g.interaction=function(e){return(new O).get("object"==typeof e?e:{})};const _=O.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,R),h||(0,a.p)(S+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,R),function(){if(x.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw x.emit("fn-err",[arguments,this,t],r),t}finally{x.emit("fn-end",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,R),i&&(0,a.p)(e+t,[(0,v.t)(),...arguments],r?null:this,i,R),r?void 0:this}}function j(){r.e(478).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),R.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{_[e]=I(S,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(S,"routeName",void 0,n.K7.softNav):I(A,"routeName",!0,n.K7.spa),g.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,R),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!E[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=>j()),!0):j(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),I=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>o,K7:()=>n,P3:()=>i});const n={ajax:"ajax",genericEvents:"generic_events",jserrors:"jserrors",logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.spa]:5,[n.ajax]:6,[n.sessionTrace]:7,[n.softNav]:8,[n.sessionReplay]:9,[n.logging]:10,[n.genericEvents]:11},o={[n.pageViewTiming]:"events",[n.ajax]:"events",[n.spa]:"events",[n.softNav]:"events",[n.metrics]:"jserrors",[n.jserrors]:"jserrors",[n.sessionTrace]:"browser/blobs",[n.sessionReplay]:"browser/blobs",[n.logging]:"browser/logs",[n.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.274.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.274.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={478:"sha512-1vUqEfJPB8Pihje9mv5CfYgkitO1FWcS+UQb84DbXqP8oYctRv4/lzl/MzNLPlRhcY1WVDBGL20I8vm6s2VV7g==",249:"sha512-Y/BeZAh6VSTmUtUNmS5XdyKxL92s30Fyyj8xVW76HSPxcKItL4+x2+kGMZc8pMJnUpZDz1L4eftZQAJh3D8NnA==",212:"sha512-Gn2tQ3qog5Yhrx/gRutkSTYPp+7nkKFt4/mIXg99LxcNpMDAYJZDBYmAACdoHNM86+iq1F3cBcQotFNzjIX8bw=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={38:0,788:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.274.0.PROD"]=self["webpackChunk:NRBA-1.274.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(e=(0,r.LA)(16)){this.agentIdentifier=e}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregator=i.e(478).then(i.bind(i,9337));const{EventAggregator:e}=await t.sharedAggregator;t.sharedAggregator=new e}if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),T=i(2843),A=i(3878),E=i(782),S=i(1863);class N extends b{static featureName=E.T;constructor(e,t=!0){super(e,E.T,t),p.RI&&((0,T.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,E.T,this.ee)),!0),(0,A.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,E.T,this.ee))),this.importAggregator(e))}}var O=i(3969);class _ extends b{static featureName=O.TZ;constructor(e,t=!0){super(e,O.TZ,t),this.importAggregator(e)}}var I=i(6774),j=i(3304);class P{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,j.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new P(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(H(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function L(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new P(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error&&!!e.stack}class D extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(e=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),p.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,x.p)("err",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener("error",(e=>{this.abortHandler&&(0,x.p)("err",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var M=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===p.gm?0:(0,M.I)(e,U,(function(){return K++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,j.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,A.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var g=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",J=["arrayBuffer","blob","json","text","formData"],Q=p.gm.Request,ee=p.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=>{r(Q[te],e,X),r(ee[te],e,X)})),r(p.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof p.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,j.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};p.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};pe(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){T(t,e)}),(0,A.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,A.jT)(!1))}function o(e){this.params={method:e[0]},pe(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],this.listener,(0,A.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function g(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&p.RI&&(t=""+p.gm.location.href):e[0]&&e[0].url?t=e[0].url:p.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:p.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),pe(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCazptureCalled||4!==e.readyState?null==t.status&&(t.status=0):T(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function T(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,x.p)(O.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",u),t.on("xhr-load-added",d),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",g),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function pe(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const ge={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!p.RI||ge[t.debugId]++||(ge[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:we,d3:Re,Kp:xe,TZ:Te,Lc:Ae,uP:Ee,Rz:Se}=be;class Ne extends b{static featureName=Te;constructor(e,t=!0){super(e,Te,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ee,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Ae,(function(e,t){(0,x.p)("bst",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+Re,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+xe,(function(e){(0,x.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,x.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:we,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var Oe=i(2614);class _e extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(Oe.H3,"_").concat(Oe.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===Oe.g.FULL||e.sessionReplayMode===Oe.g.ERROR)||(0,g.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==Oe.g.FULL&&this.featAggregate.initializeRecording(Oe.g.FULL,!0):(this.#i=Oe.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==Oe.g.FULL&&(this.recorder.parent.mode=Oe.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class je extends b{static featureName=Ie.TZ;constructor(e,t=!0){if(super(e,Ie.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=ve(this.ee);Ie.tC.forEach((e=>{(0,A.sp)(e,(e=>{a(e)}),!0)}));const n=()=>(0,x.p)("newURL",[(0,S.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,A.sp)("popstate",(e=>(0,x.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=>{i||(i=!0,requestAnimationFrame((()=>{(0,x.p)("newDom",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=>{(0,x.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,{domObserver:o})}}var Pe=i(7378);const Ce={},ke=["appendChild","insertBefore","replaceChild"];function Le(e){const t=function(e){return(e||B.ee).get("jsonp")}(e);if(!p.RI||Ce[t.debugId])return t;Ce[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*)\.([^.]+)/,o=/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,ke,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t&&t.length>=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,A.jT)(!1)),e.addEventListener("error",f,(0,A.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const He={};function De(e){const t=function(e){return(e||B.ee).get("promise")}(e);if(He[t.debugId])return t;He[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i&&function(){function e(r){var o=t.context(),a=n(r,"executor-",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),["all","race"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],"cb-",a,null,!1),e[1]=n(e[1],"cb-",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit("propagate",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on("executor-start",(function(e){e[0]=n(e[0],"resolve-",this,null,!1),e[1]=n(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const Me={},Ke="setTimeout",Ue="setInterval",Ve="clearTimeout",Ge="-start",Fe=[Ke,"setImmediate",Ue,Ve,"clearImmediate"];function Be(e){const t=function(e){return(e||B.ee).get("timer")}(e);if(Me[t.debugId]++)return t;Me[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Fe.slice(0,2),Ke+"-"),r.inPlace(p.gm,Fe.slice(2,3),Ue+"-"),r.inPlace(p.gm,Fe.slice(3),Ve+"-"),t.on(Ue+Ge,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(Ke+Ge,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}const We={};function ze(e){const t=function(e){return(e||B.ee).get("mutation")}(e);if(!p.RI||We[t.debugId])return t;We[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n&&(window.MutationObserver=function(e){return this instanceof n?new n(r(e,"fn-")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:qe,d3:Ze,Kp:Ye,$p:Xe,wW:Je,e5:Qe,tH:$e,uP:et,rw:tt,Lc:rt}=Pe;class nt extends b{static featureName=qe;constructor(e,t=!0){if(super(e,qe,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get("tracer"),o=Le(this.ee),a=De(this.ee),s=Be(this.ee),c=Z(this.ee),u=this.ee.get("events"),d=ne(this.ee),l=ve(this.ee),f=ze(this.ee);function h(e,t){l.emit("newURL",[""+window.location,t])}function g(){n++,r=window.location.hash,this[et]=(0,S.t)()}function m(){n--,window.location.hash!==r&&h(0,!0);var e=(0,S.t)();this[Qe]=~~this[Qe]+e-this[et],this[rt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(et,g),a.on(tt,g),o.on(tt,g),this.ee.on(rt,m),a.on(Je,m),o.on(Je,m),this.ee.on("fn-err",((...t)=>{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)("function-err",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([et,rt,"xhr-resolved"],this.featureName),u.buffer([et],this.featureName),s.buffer(["setTimeout"+Ye,"clearTimeout"+Ze,et],this.featureName),c.buffer([et,"new-xhr","send-xhr"+Ze],this.featureName),d.buffer([$e+Ze,$e+"-done",$e+Xe+Ze,$e+Xe+Ye],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([et],this.featureName),a.buffer(["propagate",tt,Je,"executor-err","resolve"+Ze],this.featureName),i.buffer([et,"no-"+et],this.featureName),o.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),v(d,$e+Ze),v(d,$e+"-done"),v(o,"new-jsonp"),v(o,"jsonp-end"),v(o,"cb-start"),l.on("pushState-end",h),l.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,A.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var it=i(3333);class ot extends b{static featureName=it.TZ;constructor(e,t=!0){super(e,it.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled];p.RI&&e.init.user_actions.enabled&&(it.Zp.forEach((e=>(0,A.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=>(0,A.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)))))),r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var at=i(993),st=i(3785);class ct extends b{static featureName=at.TZ;constructor(e,t=!0){super(e,at.TZ,t);const r=this.ee;this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,st.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t,r){super(r),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[he,w,N,Ne,_e,_,D,ot,ct,je,nt],loaderType:"spa"})})()})();</script><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="stylesheet" href="/build/_assets/styles.generated-IVZR5GKI.css"/><link rel="stylesheet" href="/build/_assets/brand.generated-IHMU25E3.css"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap"/><link rel="icon" type="image/x-icon" href="/build/_assets/itprotoday-TDRQNNNW.ico"/><noscript><style type="text/css">.gptHideContent { opacity: 1!important; }</style></noscript><script type="text/javascript" src="https://cdn.cookielaw.org/consent/dfd08c13-c8cf-43d1-8ccc-a1ca99dc6d5e/OtAutoBlock.js"></script><script type="text/javascript" src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" data-domain-script="dfd08c13-c8cf-43d1-8ccc-a1ca99dc6d5e"></script><script> function OptanonWrapper() { const isClosed = OneTrust.IsAlertBoxClosed() const allowPersonalised = /,C0004,/.test(OnetrustActiveGroups) console.log('cookieBannerConsentChanged emit', isClosed, allowPersonalised) const event = new CustomEvent('cookieBannerConsentChanged', { detail: { allowPersonalised, isClosed } }) window.dispatchEvent(event) }</script><link rel="preconnect" href="https://dev.visualwebsiteoptimizer.com"/><script type="text/javascript" id="vwoCode">window._vwo_code = window._vwo_code || (function () { var account_id = 734041, version = 1.5, settings_tolerance = 2000, library_tolerance = 2500, use_existing_jquery = false, is_spa = 1, hide_element = 'body', hide_element_style = 'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important',/* DO NOT EDIT BELOW THIS LINE */ f = false, d = document, vwoCodeEl = d.querySelector('#vwoCode'), code = { use_existing_jquery: function () { return use_existing_jquery }, library_tolerance: function () { return library_tolerance }, hide_element_style: function () { return '{' + hide_element_style + '}' }, finish: function () { if (!f) { f = true; var e = d.getElementById('_vis_opt_path_hides'); if (e) e.parentNode.removeChild(e) } }, finished: function () { return f }, load: function (e) { var t = d.createElement('script'); t.fetchPriority = 'high'; t.src = e; t.type = 'text/javascript'; t.onerror = function () { _vwo_code.finish() }; d.getElementsByTagName('head')[0].appendChild(t) }, getVersion: function () { return version }, getMatchedCookies: function (e) { var t = []; if (document.cookie) { t = document.cookie.match(e) || [] } return t }, getCombinationCookie: function () { var e = code.getMatchedCookies(/(?:^|;)\s?(_vis_opt_exp_\d+_combi=[^;$]*)/gi); e = e.map(function (e) { try { var t = decodeURIComponent(e); if (!/_vis_opt_exp_\d+_combi=(?:\d+,?)+\s*$/.test(t)) { return '' } return t } catch (e) { return '' } }); var i = []; e.forEach(function (e) { var t = e.match(/([\d,]+)/g); t && i.push(t.join('-')) }); return i.join('|') }, init: function () { if (d.URL.indexOf('__vwo_disable__') > -1) return; window.settings_timer = setTimeout(function () { _vwo_code.finish() }, settings_tolerance); var e = d.createElement('style'), t = hide_element ? hide_element + '{' + hide_element_style + '}' : '', i = d.getElementsByTagName('head')[0]; e.setAttribute('id', '_vis_opt_path_hides'); vwoCodeEl && e.setAttribute('nonce', vwoCodeEl.nonce); e.setAttribute('type', 'text/css'); if (e.styleSheet) e.styleSheet.cssText = t; else e.appendChild(d.createTextNode(t)); i.appendChild(e); var n = this.getCombinationCookie(); this.load('https://dev.visualwebsiteoptimizer.com/j.php?a=' + account_id + '&u=' + encodeURIComponent(d.URL) + '&f=' + +is_spa + '&vn=' + version + (n ? '&c=' + n : '')); return settings_timer } }; window._vwo_settings_timer = code.init(); return code; }()); </script><script async="" src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" type="text/javascript"></script></head><body class="brand-itprotoday gptHideContent"><noscript></noscript><div id="bigsky_v"></div><div id="fb-root"></div><div id="welcome_v"></div><main data-theme="theme1" class="Provider"><div class="ads ad adsbox doubleclick ad-placement carbon-ads" style="height:1px;width:1px;position:absolute;left:-999em;top:-999em"></div><div><div data-template="layout" class="Layout"><nav data-module="navigation" aria-label="navigation" class="Navigation"><div data-testid="header" class="Navigation-HeaderWrapper"><div class="FullScreenBackground Navigation-HeaderBackground"></div><div class="Navigation-Header"><div class="InformaBar" data-component="informa-bar"><div class="InformaBar-ContentSection InformaBar-ContentSection_hidden" data-testid="informa-bar-content-section"><div class="InformaBar-LeftSection" data-testid="informa-bar-left-section"><div>IT Pro Today is part of the Informa Tech Division of Informa PLC</div><div><a class="InformaBar-SubMenuItem" data-testid="informa-bar-sub-menu-item" href="https://informa.com/" title="INFORMA PLC" target="_blank" rel="noreferrer">INFORMA PLC</a><span class="InformaBar-Delimiter">|</span><a class="InformaBar-SubMenuItem" data-testid="informa-bar-sub-menu-item" href="https://informa.com/about-us/" title="ABOUT US" target="_blank" rel="noreferrer">ABOUT US</a><span class="InformaBar-Delimiter">|</span><a class="InformaBar-SubMenuItem" data-testid="informa-bar-sub-menu-item" href="https://informa.com/investors/" title="INVESTOR RELATIONS" target="_blank" rel="noreferrer">INVESTOR RELATIONS</a><span class="InformaBar-Delimiter">|</span><a class="InformaBar-SubMenuItem" data-testid="informa-bar-sub-menu-item" href="https://informa.com/talent/" title="TALENT" target="_blank" rel="noreferrer">TALENT</a></div></div><div class="InformaBar-RightSection" data-testid="informa-bar-right-section">This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.</div></div><div class="InformaBar-LogoSection" data-testid="informa-bar-logo-section" role="button" tabindex="0" aria-label="Open Informa bar"><div class="InformaBar-LogoWrapper"><img class="InformaBar-Logo" src="/build/_assets/informaLogoWhite-RZAE7EJI.png" alt="Logo Informa"/></div><span class="InformaBar-IconWrapper InformaBar-IconWrapper_closed"><svg viewBox="0 0 320 512" aria-hidden="true" focusable="false" role="img" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="currentColor" height="100%"><path fill="#ffffff" d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span></div></div></div></div><div class="Navigation-SecondaryMenuWrapper"><div class="FullScreenBackground Navigation-SecondaryMenuBackground"></div><div class="Navigation-SecondaryMenu"><nav data-testid="SecondaryMenu" class="SecondaryMenu"><a class="SecondaryMenu-Link" data-discover="true" href="/documents">Documents</a><a class="SecondaryMenu-Link" data-discover="true" href="/resources?page=1&types=Virtual+Event&types=Webinar">Online Events</a><a class="SecondaryMenu-Link" data-discover="true" href="/advertise">Advertise</a><a class="SecondaryMenu-Link" data-discover="true" href="/about-us">About</a></nav></div></div><div style="padding-top:0px"></div><div id="navigation-header" class="Navigation-NavBase"><div data-testid="navBase" class="NavBase"><div class="NavBase-Content"><div class="FullScreenBackground NavBase-SecondaryMenuBackground"></div><div class="NavBase-HeaderWrapper"><div class="NavBase-IconsWrapper"><button data-testid="navBase-megaMenuButton" class="NavBase-MegaMenuButton" aria-label="Open Mega menu"><span data-component="icon" data-name="Bars" class="NavBase-MegaMenuIcon NavBase-MegaMenuIcon_iconVariant_small NavBase-MegaMenuIcon_iconType_bars" style="mask-image:url(/build/_assets/Bars-F4G2A5NO.svg);-webkit-mask-image:url(/build/_assets/Bars-F4G2A5NO.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button><button data-testid="SearchButtonDesktop" class="NavBase-SearchButtonDesktop" aria-label="Open Search"><span data-component="icon" data-name="Search" class="NavBase-SearchIcon NavBase-SearchIcon_iconVariant_large NavBase-SearchIcon_iconType_search" style="mask-image:url(/build/_assets/Search-T2ANYVG5.svg);-webkit-mask-image:url(/build/_assets/Search-T2ANYVG5.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button><button data-testid="SearchButtonTablet" class="NavBase-SearchButtonTablet" aria-label="Open Search in MegaMenu"><span data-component="icon" data-name="Search" class="NavBase-SearchIcon NavBase-SearchIcon_iconVariant_small NavBase-SearchIcon_iconType_search" style="mask-image:url(/build/_assets/Search-T2ANYVG5.svg);-webkit-mask-image:url(/build/_assets/Search-T2ANYVG5.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div><div class="NavBase-LogoWrapper"><button data-testid="navBase-LogoMegaMenuButton" class="NavBase-LogoMegaMenuButton" aria-label="Open Mega menu"><span data-component="icon" data-name="Bars" class="NavBase-LogoMegaMenuIcon NavBase-LogoMegaMenuIcon_iconVariant_small NavBase-LogoMegaMenuIcon_iconType_bars" style="mask-image:url(/build/_assets/Bars-F4G2A5NO.svg);-webkit-mask-image:url(/build/_assets/Bars-F4G2A5NO.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button><a class="NavBase-Logo" data-discover="true" href="/"><img data-testid="logo-image" data-component="image" class="NavBase-LogoImage" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6a28f214e959257b/65dc5966d7e7df040ab9cb3f/Logo_-_IT_Pro_Today.svg?width=476&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6a28f214e959257b/65dc5966d7e7df040ab9cb3f/Logo_-_IT_Pro_Today.svg?width=476&auto=webp&quality=80&disable=upscale" loading="lazy" alt="ITPro Today Logo" title="ITPro Today Logo"/></a></div><div class="NavBase-RegisterWrapper"><div data-module="newsletter-signup-promo"><div class="NewsletterSignupPromo-Button NewsletterSignupPromo-Button_small NewsletterSignupButton"><a data-component="button" data-testid="headerSmallNewsletterButton" class="Button Button_size_small Button_variant_primaryFilled" href="https://itp-resources.itprotoday.com/c/pubRD.mpl?secure=1&sr=pp&_t=pp:&qf=w_itpb86&ch=itpsitebtn" target="_blank" rel="nofollow" data-name="subscribe-nav" data-action-type="sign-up"><span data-component="icon" data-name="Email" class="Button-Icon Button-Icon_position_left" style="mask-image:url(/build/_assets/Email-47H7P533.svg);-webkit-mask-image:url(/build/_assets/Email-47H7P533.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span><span class="Button-ContentWrapper">Newsletter Sign-Up</span></a></div><div class="NewsletterSignupPromo-Button NewsletterSignupPromo-Button_medium NewsletterSignupButton"><div data-component="social-share" class="SocialShare SocialShare_variant_layout Layout-SocialShare"><a target="_blank" rel="noreferrer" aria-label="Facebook" class="Layout-SocialLink" href="https://www.facebook.com/ITProToday/"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Facebook" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_facebook" style="mask-image:url(/build/_assets/Facebook-CJB5G2HY.svg);-webkit-mask-image:url(/build/_assets/Facebook-CJB5G2HY.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Twitter" class="Layout-SocialLink" href="https://twitter.com/ITProToday"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Twitter" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_twitter" style="mask-image:url(/build/_assets/Twitter-WD5AOEQ7.svg);-webkit-mask-image:url(/build/_assets/Twitter-WD5AOEQ7.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Linkedin" class="Layout-SocialLink" href="https://www.linkedin.com/company/itpro-today/"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Linkedin" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_linkedin" style="mask-image:url(/build/_assets/Linkedin-VQUF3EEQ.svg);-webkit-mask-image:url(/build/_assets/Linkedin-VQUF3EEQ.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Youtube" class="Layout-SocialLink" href="https://www.youtube.com/channel/UCedUgT8R7qC3vsOSxXS5-ZA"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Youtube" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_youtube" style="mask-image:url(/build/_assets/Youtube-S4PSC4UA.svg);-webkit-mask-image:url(/build/_assets/Youtube-S4PSC4UA.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="GoogleNews" class="Layout-SocialLink" href="https://news.google.com/publications/CAAqKQgKIiNDQklTRkFnTWFoQUtEbWwwY0hKdmRHOWtZWGt1WTI5dEtBQVAB"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="GoogleNews" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_googleNews" style="mask-image:url(/build/_assets/GoogleNews-6O72APW7.svg);-webkit-mask-image:url(/build/_assets/GoogleNews-6O72APW7.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="RSS" class="Layout-SocialLink" href="https://www.itprotoday.com/rss.xml"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="RSS" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_rss" style="mask-image:url(/build/_assets/RSS-3XFHIVCK.svg);-webkit-mask-image:url(/build/_assets/RSS-3XFHIVCK.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a></div><a data-component="button" data-testid="headerMediumNewsletterButton" class="Button Button_size_medium Button_variant_primaryFilled" href="https://itp-resources.itprotoday.com/c/pubRD.mpl?secure=1&sr=pp&_t=pp:&qf=w_itpb86&ch=itpsitebtn" target="_blank" rel="nofollow" data-name="subscribe-nav" data-action-type="sign-up"><span data-component="icon" data-name="Email" class="Button-Icon Button-Icon_position_left" style="mask-image:url(/build/_assets/Email-47H7P533.svg);-webkit-mask-image:url(/build/_assets/Email-47H7P533.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span><span class="Button-ContentWrapper">Newsletter Sign-Up</span></a></div></div><button data-testid="RegisterSearchButton" class="NavBase-RegisterSearchButton" aria-label="Open Search in MegaMenu"><span data-component="icon" data-name="Search" class="NavBase-SearchIcon NavBase-SearchIcon_iconVariant_large NavBase-SearchIcon_iconType_search" style="mask-image:url(/build/_assets/Search-T2ANYVG5.svg);-webkit-mask-image:url(/build/_assets/Search-T2ANYVG5.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div></div><div class="NavBase-SearchWrapper"><div class="FullScreenBackground NavBase-SearchBackground"></div><button data-testid="SearchCloseButton" class="NavBase-SearchCloseButton" aria-label="Close Search"><span data-component="icon" data-name="Close" class="NavBase-SearchIcon NavBase-SearchIcon_iconVariant_medium NavBase-SearchIcon_iconType_close" style="mask-image:url(/build/_assets/Close-KKOYAUD6.svg);-webkit-mask-image:url(/build/_assets/Close-KKOYAUD6.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div></div></div><div class="Navigation-MainMenu"><div data-testid="mainMenu"><div class="FullScreenBackground MainMenu-BackgroundSubmenu"></div><div class="FullScreenBackground MainMenu-BackgroundMenuItem"></div><div class="MainMenu-Content"><div class="MainMenu-MegaMenuButtonWrapper"><button data-testid="mainMenu-MegaMenuButton" aria-label="Open MegaMenu" class="MainMenu-MegaMenuButton"><span data-component="icon" data-name="Bars" class="MainMenu-MegaMenuIcon" style="mask-image:url(/build/_assets/Bars-F4G2A5NO.svg);-webkit-mask-image:url(/build/_assets/Bars-F4G2A5NO.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div><div class="MainMenu-ItemsWrapper" role="menu"><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Cloud"><span class="MainMenu-MainTitle">Cloud<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url(/build/_assets/ChevronDown-PF4EH6J6.svg);-webkit-mask-image:url(/build/_assets/ChevronDown-PF4EH6J6.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/cloud-computing/cloud-services">Cloud Services</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/cloud-computing/hybrid-cloud">Hybrid Cloud</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/cloud-computing/private-cloud">Private Cloud</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/cloud-computing/public-cloud">Public Cloud</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" data-discover="true" href="/cloud-computing">Cloud</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" data-discover="true" href="/cloud-computing"><span class="SubMenu-SeeMoreText">SEE ALL Cloud</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);-webkit-mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/cloud-computing/microsoft-ignite-2024-azure-ai-take-center-stage-with-major-platform-updates"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">Microsoft CEO Satya Nadella giving his Ignite keynote</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt53af070a52be6e03/6740dfde63eae2e6b3cef491/Nadella-Ignite-1716x965_-_2024-11-22.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt53af070a52be6e03/6740dfde63eae2e6b3cef491/Nadella-Ignite-1716x965_-_2024-11-22.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_cloudComputing ContentPreview-Category" data-discover="true" href="/cloud-computing">Cloud Computing</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/cloud-computing/microsoft-ignite-2024-azure-ai-take-center-stage-with-major-platform-updates">Microsoft Ignite 2024: Azure, AI Take Center Stage with Major Platform Updates</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/cloud-computing/microsoft-ignite-2024-azure-ai-take-center-stage-with-major-platform-updates">Microsoft Ignite 2024: Azure, AI Take Center Stage with Major Platform Updates</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/sean-michael-kerner">Sean Michael Kerner</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 22, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>5 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/cloud-computing/future-proofing-the-federal-cloud-why-the-public-sector-needs-finops"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">FinOps concept art</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt8484312d2456ee2c/673f2a293d97736ae4c631fb/FinOps-concept-1716x1000.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt8484312d2456ee2c/673f2a293d97736ae4c631fb/FinOps-concept-1716x1000.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_cloudComputing ContentPreview-Category" data-discover="true" href="/cloud-computing">Cloud Computing</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/cloud-computing/future-proofing-the-federal-cloud-why-the-public-sector-needs-finops">Future-Proofing the Federal Cloud: Why the Public Sector Needs FinOps</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/cloud-computing/future-proofing-the-federal-cloud-why-the-public-sector-needs-finops">Future-Proofing the Federal Cloud: Why the Public Sector Needs FinOps</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/industry-perspectives">Industry Perspectives</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 21, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>5 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of OS"><span class="MainMenu-MainTitle">OS<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url(/build/_assets/ChevronDown-PF4EH6J6.svg);-webkit-mask-image:url(/build/_assets/ChevronDown-PF4EH6J6.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/operating-systems/microsoft-windows">Microsoft Windows</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/operating-systems/windows-server">Windows Server</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/operating-systems/powershell">PowerShell</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/operating-systems/linux-os">Linux OS</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/operating-systems/sql-server">SQL Server</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/operating-systems/macos">MacOS</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/operating-systems/android-os">Android OS</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/operating-systems/chromeos">ChromeOS</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/operating-systems/ubuntu">Ubuntu</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/operating-systems/red-hat-os">Red Hat OS</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" data-discover="true" href="/operating-systems">OS</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" data-discover="true" href="/operating-systems"><span class="SubMenu-SeeMoreText">See All OS</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);-webkit-mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/operating-systems/what-is-a-real-time-operating-system-and-who-needs-one-"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">empty cockpit of autonomous car</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt8d62652f26754e66/6650a078b58e50d58b79f554/autonomous-car-1800.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt8d62652f26754e66/6650a078b58e50d58b79f554/autonomous-car-1800.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_operatingSystems ContentPreview-Category" data-discover="true" href="/operating-systems">Operating Systems</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/operating-systems/what-is-a-real-time-operating-system-and-who-needs-one-">What Is a Real-Time Operating System, and Who Needs One?</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/operating-systems/what-is-a-real-time-operating-system-and-who-needs-one-">What Is a Real-Time Operating System, and Who Needs One?</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/christopher-tozzi">Christopher Tozzi</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Mar 5, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>6 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/powershell/powershell-parameter-validation-ensuring-valid-input-for-functions"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">cubes with arrows and checkmarks illustrating a validation process</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltcaa6c9c167380d22/6617f81c4a487a61abdcc7e2/cubes_20with_20arrows_20and_20checkmarks_20illustrating_20a_20validation_20process.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltcaa6c9c167380d22/6617f81c4a487a61abdcc7e2/cubes_20with_20arrows_20and_20checkmarks_20illustrating_20a_20validation_20process.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_powerShell ContentPreview-Category" data-discover="true" href="/operating-systems/powershell">PowerShell</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/powershell/powershell-parameter-validation-ensuring-valid-input-for-functions">PowerShell Parameter Validation: Ensuring Valid Input for Functions</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/powershell/powershell-parameter-validation-ensuring-valid-input-for-functions">PowerShell Parameter Validation: Ensuring Valid Input for Functions</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/brien-posey">Brien Posey</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Feb 20, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of IT Mgmt"><span class="MainMenu-MainTitle">IT Mgmt<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url(/build/_assets/ChevronDown-PF4EH6J6.svg);-webkit-mask-image:url(/build/_assets/ChevronDown-PF4EH6J6.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/it-management/it-operations">IT Operations</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/it-management/devops">DevOps</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/it-management/ops-and-more">Ops and More</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/it-management/it-sustainability">IT Sustainability</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/it-management/it-automation">IT Automation</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" data-discover="true" href="/it-management">IT Mgmt</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" data-discover="true" href="/it-management"><span class="SubMenu-SeeMoreText">See All IT Mgmt</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);-webkit-mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/it-management/use-skills-based-talent-practices-to-future-proof-your-tech-organization"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">hand turning a Skills knob</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltef1c012c16d42c8e/673f31ea0b465e9d0dc63974/skills-1716x965_-_2024-09-20.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltef1c012c16d42c8e/673f31ea0b465e9d0dc63974/skills-1716x965_-_2024-09-20.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_itManagement ContentPreview-Category" data-discover="true" href="/it-management">IT Management</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/it-management/use-skills-based-talent-practices-to-future-proof-your-tech-organization">Use Skills-Based Talent Practices to Future-Proof Your Tech Organization</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/it-management/use-skills-based-talent-practices-to-future-proof-your-tech-organization">Use Skills-Based Talent Practices to Future-Proof Your Tech Organization</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 21, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>2 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/career-management/it-jobs-outlook-2025-evolving-skills-ai-workplace-flexibility-will-shape-it-workforce"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">jobs key on keyboard</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blted009d53042b6a96/673dc873f59c3326ad835a0e/jobs-key-1716x965_-_2024-08-21.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blted009d53042b6a96/673dc873f59c3326ad835a0e/jobs-key-1716x965_-_2024-08-21.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_careerManagement ContentPreview-Category" data-discover="true" href="/career-management">Career Management</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/career-management/it-jobs-outlook-2025-evolving-skills-ai-workplace-flexibility-will-shape-it-workforce">IT Jobs Outlook 2025: Evolving Skills, AI, Workplace Flexibility Will Shape IT Workforce</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/career-management/it-jobs-outlook-2025-evolving-skills-ai-workplace-flexibility-will-shape-it-workforce">IT Jobs Outlook 2025: Evolving Skills, AI, Workplace Flexibility Will Shape IT Workforce</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/nathan-eddy">Nathan Eddy</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 20, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>8 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Career"><span class="MainMenu-MainTitle">Career<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url(/build/_assets/ChevronDown-PF4EH6J6.svg);-webkit-mask-image:url(/build/_assets/ChevronDown-PF4EH6J6.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/career-management/career-tips">Career Tips</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/career-management/certifications">Certifications</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/career-management/training">Training</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" data-discover="true" href="/career-management">Career</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" data-discover="true" href="/career-management"><span class="SubMenu-SeeMoreText">See All Career Mgmt</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);-webkit-mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/it-management/use-skills-based-talent-practices-to-future-proof-your-tech-organization"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">hand turning a Skills knob</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltef1c012c16d42c8e/673f31ea0b465e9d0dc63974/skills-1716x965_-_2024-09-20.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltef1c012c16d42c8e/673f31ea0b465e9d0dc63974/skills-1716x965_-_2024-09-20.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_itManagement ContentPreview-Category" data-discover="true" href="/it-management">IT Management</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/it-management/use-skills-based-talent-practices-to-future-proof-your-tech-organization">Use Skills-Based Talent Practices to Future-Proof Your Tech Organization</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/it-management/use-skills-based-talent-practices-to-future-proof-your-tech-organization">Use Skills-Based Talent Practices to Future-Proof Your Tech Organization</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 21, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>2 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/career-management/it-jobs-outlook-2025-evolving-skills-ai-workplace-flexibility-will-shape-it-workforce"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">jobs key on keyboard</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blted009d53042b6a96/673dc873f59c3326ad835a0e/jobs-key-1716x965_-_2024-08-21.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blted009d53042b6a96/673dc873f59c3326ad835a0e/jobs-key-1716x965_-_2024-08-21.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_careerManagement ContentPreview-Category" data-discover="true" href="/career-management">Career Management</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/career-management/it-jobs-outlook-2025-evolving-skills-ai-workplace-flexibility-will-shape-it-workforce">IT Jobs Outlook 2025: Evolving Skills, AI, Workplace Flexibility Will Shape IT Workforce</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/career-management/it-jobs-outlook-2025-evolving-skills-ai-workplace-flexibility-will-shape-it-workforce">IT Jobs Outlook 2025: Evolving Skills, AI, Workplace Flexibility Will Shape IT Workforce</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/nathan-eddy">Nathan Eddy</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 20, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>8 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Storage"><span class="MainMenu-MainTitle">Storage<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url(/build/_assets/ChevronDown-PF4EH6J6.svg);-webkit-mask-image:url(/build/_assets/ChevronDown-PF4EH6J6.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/data-storage/cloud-storage">Cloud Storage</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/data-storage/high-speed-storage">High Speed Storage</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/data-storage/data-backup">Data Backup</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/data-storage/disaster-recovery">Disaster Recovery</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" data-discover="true" href="/data-storage">Storage</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" data-discover="true" href="/data-storage"><span class="SubMenu-SeeMoreText">See All Data Storage</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);-webkit-mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/data-backup/data-protection-is-critical-in-the-multicloud"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">A silver and gray cloud data protection icon showing a cloud with a lock inside of it.</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt353b531613f7649b/671fd698f99f6629af82a1f1/Cloud_Data_Protection_Icon_YAY_Media_AS_via_Alamy_Stock.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt353b531613f7649b/671fd698f99f6629af82a1f1/Cloud_Data_Protection_Icon_YAY_Media_AS_via_Alamy_Stock.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_dataBackup ContentPreview-Category" data-discover="true" href="/data-storage/data-backup">Data Backup</a><a class="ContentPreview-IconWrapper" title="Link to all video" data-testid="content-preview-icon-link" data-discover="true" href="/videos"><span data-component="icon" data-name="Play" class="ContentPreview-Icon" style="mask-image:url(/build/_assets/Play-CLWHZVKX.svg);-webkit-mask-image:url(/build/_assets/Play-CLWHZVKX.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/data-backup/data-protection-is-critical-in-the-multicloud">Data Protection Is Critical in the Multi-Cloud</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/data-backup/data-protection-is-critical-in-the-multicloud">Data Protection Is Critical in the Multi-Cloud</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/brandon-taylor">Brandon Taylor</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Oct 31, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>5 Min<!-- --> <!-- -->View</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/it-infrastructure/mainframe-technology-is-far-from-obsolete"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">mainframe</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt09f304627bf20e3c/671a597a2184e03751062d8b/mainframe-1716x965_-_2024-10-24.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt09f304627bf20e3c/671a597a2184e03751062d8b/mainframe-1716x965_-_2024-10-24.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_itInfrastructure ContentPreview-Category" data-discover="true" href="/it-infrastructure">IT Infrastructure</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/it-infrastructure/mainframe-technology-is-far-from-obsolete">Mainframe Technology Is Far From Obsolete</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/it-infrastructure/mainframe-technology-is-far-from-obsolete">Mainframe Technology Is Far From Obsolete</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/industry-perspectives">Industry Perspectives</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Oct 24, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Security"><span class="MainMenu-MainTitle">Security<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url(/build/_assets/ChevronDown-PF4EH6J6.svg);-webkit-mask-image:url(/build/_assets/ChevronDown-PF4EH6J6.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/it-security/vulnerabilities-threats">Vulnerabilities & Threats</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/it-security/attacks-breaches">Attacks & Breaches</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/it-security/regulatory-compliance">Regulatory Compliance</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/it-security/data-privacy">Data Privacy</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/it-security/cloud-security">Cloud Security</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/it-security/endpoint-security">Endpoint Security</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/it-security/identity-management-access-control">Identity Mgmt & Access Control</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" data-discover="true" href="/it-security">Security</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" data-discover="true" href="/it-security"><span class="SubMenu-SeeMoreText">See All IT Security</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);-webkit-mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/it-security/how-do-i-tell-my-it-security-manager-to-stop-crying-wolf-"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">a person rolls their eyes at the sounding of an alarm bell</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt43ed0d8939877e78/673e1365c8592f3713678cc2/root_access_alarm_bell.gif?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt43ed0d8939877e78/673e1365c8592f3713678cc2/root_access_alarm_bell.gif?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_itSecurity ContentPreview-Category" data-discover="true" href="/it-security">IT Security</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/it-security/how-do-i-tell-my-it-security-manager-to-stop-crying-wolf-">How Do I Tell My IT Security Manager To Stop Crying Wolf?</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/it-security/how-do-i-tell-my-it-security-manager-to-stop-crying-wolf-">How Do I Tell My IT Security Manager To Stop Crying Wolf?</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/danielle-meinert">Danielle Meinert</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 21, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/regulatory-compliance/why-future-proofing-cybersecurity-regulatory-frameworks-is-essential"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">artwork showing fingerprint and binary code</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt82f6619072e322fb/67334461514ccda012ede816/fingerprint-1716x965_-_2024-11-12T070413.515.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt82f6619072e322fb/67334461514ccda012ede816/fingerprint-1716x965_-_2024-11-12T070413.515.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_regulatoryCompliance ContentPreview-Category" data-discover="true" href="/it-security/regulatory-compliance">Regulatory Compliance</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/regulatory-compliance/why-future-proofing-cybersecurity-regulatory-frameworks-is-essential">Why Future-proofing Cybersecurity Regulatory Frameworks Is Essential</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/regulatory-compliance/why-future-proofing-cybersecurity-regulatory-frameworks-is-essential">Why Future-proofing Cybersecurity Regulatory Frameworks Is Essential</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/industry-perspectives">Industry Perspectives</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 12, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>6 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Dev"><span class="MainMenu-MainTitle">Dev<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url(/build/_assets/ChevronDown-PF4EH6J6.svg);-webkit-mask-image:url(/build/_assets/ChevronDown-PF4EH6J6.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/software-development/cloud-native">Cloud Native</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/software-development/programming-languages">Programming Languages</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/software-development/no-code-low-code">No-Code/Low-Code</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/software-development/software-development-techniques">Software Development Techniques</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" data-discover="true" href="/software-development">Dev</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" data-discover="true" href="/software-development"><span class="SubMenu-SeeMoreText">See All Software Dev</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);-webkit-mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/software-development/from-declarative-to-iterative-how-software-development-is-evolving"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">software developer working at his workstation</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf57781f189deb1bc/673b30c17a0f43d044091d3b/DevOps-1716x965.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf57781f189deb1bc/673b30c17a0f43d044091d3b/DevOps-1716x965.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_softwareDevelopment ContentPreview-Category" data-discover="true" href="/software-development">Software Development</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/software-development/from-declarative-to-iterative-how-software-development-is-evolving">From Declarative to Iterative: How Software Development Is Evolving</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/software-development/from-declarative-to-iterative-how-software-development-is-evolving">From Declarative to Iterative: How Software Development Is Evolving</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName Contributors-ContributorName_showComma" data-testid="contributor-name" data-discover="true" href="/author/lisa-morgan">Lisa Morgan<!-- -->, </a><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/informationweek">InformationWeek</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 18, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/regulatory-compliance/why-future-proofing-cybersecurity-regulatory-frameworks-is-essential"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">artwork showing fingerprint and binary code</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt82f6619072e322fb/67334461514ccda012ede816/fingerprint-1716x965_-_2024-11-12T070413.515.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt82f6619072e322fb/67334461514ccda012ede816/fingerprint-1716x965_-_2024-11-12T070413.515.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_regulatoryCompliance ContentPreview-Category" data-discover="true" href="/it-security/regulatory-compliance">Regulatory Compliance</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/regulatory-compliance/why-future-proofing-cybersecurity-regulatory-frameworks-is-essential">Why Future-proofing Cybersecurity Regulatory Frameworks Is Essential</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/regulatory-compliance/why-future-proofing-cybersecurity-regulatory-frameworks-is-essential">Why Future-proofing Cybersecurity Regulatory Frameworks Is Essential</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/industry-perspectives">Industry Perspectives</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 12, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>6 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of DX"><span class="MainMenu-MainTitle">DX<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url(/build/_assets/ChevronDown-PF4EH6J6.svg);-webkit-mask-image:url(/build/_assets/ChevronDown-PF4EH6J6.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/digital-transformation/ai-machine-learning">AI & Machine Learning</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/digital-transformation/edge-computing">Edge Computing</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/digital-transformation/iot">IoT</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" data-discover="true" href="/digital-transformation">DX</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" data-discover="true" href="/digital-transformation"><span class="SubMenu-SeeMoreText">See All Digital Transformation</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);-webkit-mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/digital-transformation/what-comes-after-hololens-2-exploring-microsoft-s-ar-vr-future"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">the microsoft hololens glasses on display</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt13044b7405422cb5/67363b557bfb2a6b4a43f78a/HoloLens_on_display.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt13044b7405422cb5/67363b557bfb2a6b4a43f78a/HoloLens_on_display.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_digitalTransformation ContentPreview-Category" data-discover="true" href="/digital-transformation">Digital Transformation</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/digital-transformation/what-comes-after-hololens-2-exploring-microsoft-s-ar-vr-future">What Comes After HoloLens 2? Exploring Microsoft’s AR/VR Future</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/digital-transformation/what-comes-after-hololens-2-exploring-microsoft-s-ar-vr-future">What Comes After HoloLens 2? Exploring Microsoft’s AR/VR Future</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/brien-posey">Brien Posey</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 15, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>3 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/digital-transformation/how-to-repair-corrupt-stl-files-for-3d-printing"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">a 3d printer in the process of printing an object</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blta3ddc604c28a7356/67362760798a713a01062308/image-1716x1000_(7).jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blta3ddc604c28a7356/67362760798a713a01062308/image-1716x1000_(7).jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_digitalTransformation ContentPreview-Category" data-discover="true" href="/digital-transformation">Digital Transformation</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/digital-transformation/how-to-repair-corrupt-stl-files-for-3d-printing">How To Repair Corrupt STL Files for 3D Printing</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/digital-transformation/how-to-repair-corrupt-stl-files-for-3d-printing">How To Repair Corrupt STL Files for 3D Printing</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/industry-perspectives">Industry Perspectives</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 14, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>3 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Infrastructure"><span class="MainMenu-MainTitle">Infrastructure<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url(/build/_assets/ChevronDown-PF4EH6J6.svg);-webkit-mask-image:url(/build/_assets/ChevronDown-PF4EH6J6.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/it-infrastructure/high-performance-computing">High Performance Computing</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/it-infrastructure/containerization">Containerization</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/it-infrastructure/server-virtualization">Server Virtualization</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" data-discover="true" href="/it-infrastructure">Infrastructure</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" data-discover="true" href="/it-infrastructure"><span class="SubMenu-SeeMoreText">See All Infrastructure</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);-webkit-mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/ops-and-more/transforming-enterprise-networks-with-aiops-a-new-era-of-intelligent-connectivity"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">AIOps</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt241793d56bb052d5/6731f5bfc64003eae43f7108/AIOps-1716x965_-_2024-10-29.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt241793d56bb052d5/6731f5bfc64003eae43f7108/AIOps-1716x965_-_2024-10-29.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_opsAndMore ContentPreview-Category" data-discover="true" href="/it-management/ops-and-more">Ops and More</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/ops-and-more/transforming-enterprise-networks-with-aiops-a-new-era-of-intelligent-connectivity">Transforming Enterprise Networks With AIOps: A New Era of Intelligent Connectivity</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/ops-and-more/transforming-enterprise-networks-with-aiops-a-new-era-of-intelligent-connectivity">Transforming Enterprise Networks With AIOps: A New Era of Intelligent Connectivity</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 11, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/it-infrastructure/mainframe-technology-is-far-from-obsolete"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">mainframe</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt09f304627bf20e3c/671a597a2184e03751062d8b/mainframe-1716x965_-_2024-10-24.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt09f304627bf20e3c/671a597a2184e03751062d8b/mainframe-1716x965_-_2024-10-24.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_itInfrastructure ContentPreview-Category" data-discover="true" href="/it-infrastructure">IT Infrastructure</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/it-infrastructure/mainframe-technology-is-far-from-obsolete">Mainframe Technology Is Far From Obsolete</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/it-infrastructure/mainframe-technology-is-far-from-obsolete">Mainframe Technology Is Far From Obsolete</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/industry-perspectives">Industry Perspectives</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Oct 24, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of More"><span class="MainMenu-MainTitle">More<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url(/build/_assets/ChevronDown-PF4EH6J6.svg);-webkit-mask-image:url(/build/_assets/ChevronDown-PF4EH6J6.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" rel="nofollow" target="_blank" href="https://itp-resources.itprotoday.com/c/pubRD.mpl?secure=1&sr=pp&_t=pp:&qf=w_itpb86&ch=itpnav">Newsletters</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/latest-how-to">How To…?</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/program/industry-perspectives">Industry Perspectives</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/resources">Business Resources</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/resources?types=Survey+Report&page=1">Reports/Research</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/resources?page=1&types=Virtual+Event&types=Webinar">Online Events</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/events">Live Events</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/videos">Videos</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/resources?page=1&types=White+Paper">White Papers</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/advertise">Advertise With Us</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/about-us">About Us</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent SubMenu-MoreContent_noRecent" data-discover="true" href="/resources"><span class="SubMenu-SeeMoreText">Resource Library</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);-webkit-mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div></div></div></div></div></div></div><div class="MainMenu-SearchButtonWrapper"><button data-testid="mainMenu-SearchButton" aria-label="Open Search" class="MainMenu-SearchButton"><span data-component="icon" data-name="Search" class="MainMenu-SearchButtonIcon" style="mask-image:url(/build/_assets/Search-T2ANYVG5.svg);-webkit-mask-image:url(/build/_assets/Search-T2ANYVG5.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div></div><div class="MainMenu-SearchWrapper"><div class="FullScreenBackground MainMenu-SearchBackground MainMenu-SearchBackground_withSearchBar"></div><button data-testid="mainMenu-SearchCloseButton" class="MainMenu-SearchCloseButton" aria-label="Close Search"><span data-component="icon" data-name="Close" class="MainMenu-SearchCloseIcon" style="mask-image:url(/build/_assets/Close-KKOYAUD6.svg);-webkit-mask-image:url(/build/_assets/Close-KKOYAUD6.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div></div></div></div></nav><section class="Layout-Section"><div id="iiris-identity" data-testid="iris-identity"></div><div class="ContributorList" data-template="contributor-list"><div data-template="list-content" class="ListContent"><div class="TwoColumnLayout"><div id="portal-root"></div><div class="TwoColumnLayout-Head"><div class="ContributorList-Head" data-testid="contributor-list-head"><ul data-component="breadcrumb" class="Breadcrumb"><li class="Breadcrumb-ListItem"><span data-component="icon" data-name="ChevronRight" class="Breadcrumb-DividerIcon Breadcrumb-PrevIcon" style="mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);-webkit-mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span><a class="Breadcrumb-GetText Breadcrumb-GetText_isNearLastItem" data-testid="breadcrumb-link" data-discover="true" href="/">Home</a><span data-component="icon" data-name="ChevronRight" class="Breadcrumb-DividerIcon Breadcrumb-NextIcon" style="mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);-webkit-mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></li><li class="Breadcrumb-ListItem"><a class="Breadcrumb-GetText Breadcrumb-GetText_isLastItem" data-testid="breadcrumb-link" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></li></ul><div data-component="contributor-summary" class="ContributorSummary ContributorSummary_variant_normal"><div class="ContributorSummary-ImageWrapper ContributorSummary-ImageWrapper_variant_normal"><img data-component="image" class="ContributorSummary-Image ContributorSummary-Image_variant_normal" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=400&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=400&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div><div class="ContributorSummary-InfoWrapper ContributorSummary-InfoWrapper_variant_normal"><div class="ContributorSummary-TitleWrapper"><p class="ContributorSummary-Title ContributorSummary-Title_variant_normal" data-testid="contributor-summary-title">Forrester Blog Network</p></div><div class="ContributorSummary-SubTitleWrapper ContributorSummary-SubTitleWrapper_variant_normal"><p class="ContributorSummary-SubTitle ContributorSummary-SubTitle_variant_normal" data-testid="contributor-summary-subtitle"></p></div><div class="ContributorSummary-ContentWrapper ContributorSummary-ContentWrapper_variant_normal"><div class="ContributorSummary-Content ContributorSummary-Content_variant_normal ContributorSummary-Content_showFullContent" data-testid="contributor-summary-content"></div></div><div data-component="social-share" class="SocialShare SocialShare_variant_normal"></div></div></div><hr class="ContributorList-Divider"/></div></div><div class="TwoColumnLayout-Content"><div class="TwoColumnLayout-Body"><div class="ListContent-Body" data-testid="list-content-body"><h2 class="ListContent-Title ListContent-Title_latest" data-testid="latest-content-title">Latest from Forrester Blog Network</h2><div class="ListContent-Content ListContent-Content_latest"><div class="ListContent-ContentWrapper"><div class="ListContent-ContentContainer"><div class="ContentPreview ListContent-LatestItem" data-module="content-preview" data-variant="normal"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_normal ContentPreview-Wrapper_articleSize_big"><a data-testid="thumbnail" data-discover="true" href="/it-management/use-skills-based-talent-practices-to-future-proof-your-tech-organization"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">hand turning a Skills knob</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltef1c012c16d42c8e/673f31ea0b465e9d0dc63974/skills-1716x965_-_2024-09-20.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltef1c012c16d42c8e/673f31ea0b465e9d0dc63974/skills-1716x965_-_2024-09-20.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_itManagement ContentPreview-Category" data-discover="true" href="/it-management">IT Management</a><div class="ContentCard"><div class="ContentCard-Body"><a class="ContentCard-Title ContentCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/it-management/use-skills-based-talent-practices-to-future-proof-your-tech-organization">Use Skills-Based Talent Practices to Future-Proof Your Tech Organization</a><a class="ContentCard-Title ContentCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/it-management/use-skills-based-talent-practices-to-future-proof-your-tech-organization">Use Skills-Based Talent Practices to Future-Proof Your Tech Organization</a><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_normal" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div><div class="ContentCard-Footer"><span class="ContentCard-Date" data-testid="content-card-date">Nov 21, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>2 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview ListContent-LatestItem" data-module="content-preview" data-variant="normal"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_normal ContentPreview-Wrapper_articleSize_big"><a data-testid="thumbnail" data-discover="true" href="/ops-and-more/navigating-the-convergence-of-edge-computing-iot-and-ot-with-aiops"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">edge computing gears</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf7bac6b68b386c8f/6735d37b0993df6bb8785f0a/edge-computing-1716x965_-_2024-11-14.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf7bac6b68b386c8f/6735d37b0993df6bb8785f0a/edge-computing-1716x965_-_2024-11-14.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_opsAndMore ContentPreview-Category" data-discover="true" href="/it-management/ops-and-more">Ops and More</a><div class="ContentCard"><div class="ContentCard-Body"><a class="ContentCard-Title ContentCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/ops-and-more/navigating-the-convergence-of-edge-computing-iot-and-ot-with-aiops">Navigating the Convergence of Edge Computing, IoT, and OT With AIOps</a><a class="ContentCard-Title ContentCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/ops-and-more/navigating-the-convergence-of-edge-computing-iot-and-ot-with-aiops">Navigating the Convergence of Edge Computing, IoT, and OT With AIOps</a><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_normal" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div><div class="ContentCard-Footer"><span class="ContentCard-Date" data-testid="content-card-date">Nov 14, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div><h2 class="ListContent-Title ListContent-Title_normal" data-testid="content-title">All from Forrester Blog Network</h2><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: AIOps" data-discover="true" href="/ops-and-more/transforming-enterprise-networks-with-aiops-a-new-era-of-intelligent-connectivity"><div title="AIOps"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt241793d56bb052d5/6731f5bfc64003eae43f7108/AIOps-1716x965_-_2024-10-29.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt241793d56bb052d5/6731f5bfc64003eae43f7108/AIOps-1716x965_-_2024-10-29.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="AIOps" title="AIOps"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_opsAndMore ListPreview-Keyword" data-discover="true" href="/it-management/ops-and-more">Ops and More</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/ops-and-more/transforming-enterprise-networks-with-aiops-a-new-era-of-intelligent-connectivity">Transforming Enterprise Networks With AIOps: A New Era of Intelligent Connectivity</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/ops-and-more/transforming-enterprise-networks-with-aiops-a-new-era-of-intelligent-connectivity">Transforming Enterprise Networks With AIOps: A New Era of Intelligent Connectivity</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Nov 11, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: robot typing on a keyboard" data-discover="true" href="/ops-and-more/embracing-aiops-revolutionizing-devops-and-agile-methodologies"><div title="robot typing on a keyboard"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf97c6806f5d7d289/672a0f469a91abb579803669/AI-robot-1716x965_-_2024-11-05.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf97c6806f5d7d289/672a0f469a91abb579803669/AI-robot-1716x965_-_2024-11-05.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="robot typing on a keyboard" title="robot typing on a keyboard"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_opsAndMore ListPreview-Keyword" data-discover="true" href="/it-management/ops-and-more">Ops and More</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/ops-and-more/embracing-aiops-revolutionizing-devops-and-agile-methodologies">Embracing AIOps: Revolutionizing DevOps and Agile Methodologies</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/ops-and-more/embracing-aiops-revolutionizing-devops-and-agile-methodologies">Embracing AIOps: Revolutionizing DevOps and Agile Methodologies</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Nov 5, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: AIOps written on top of a circuit board" data-discover="true" href="/ops-and-more/embracing-aiops-transforming-it-operations-in-the-digital-age"><div title="AIOps written on top of a circuit board"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt3d7f56460672edfe/6721343ca53736c27d96477f/AIOps-1716x965_-_2024-10-29.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt3d7f56460672edfe/6721343ca53736c27d96477f/AIOps-1716x965_-_2024-10-29.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="AIOps written on top of a circuit board" title="AIOps written on top of a circuit board"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_opsAndMore ListPreview-Keyword" data-discover="true" href="/it-management/ops-and-more">Ops and More</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/ops-and-more/embracing-aiops-transforming-it-operations-in-the-digital-age">Embracing AIOps: Transforming IT Operations in the Digital Age</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/ops-and-more/embracing-aiops-transforming-it-operations-in-the-digital-age">Embracing AIOps: Transforming IT Operations in the Digital Age</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Oct 29, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: the word "CLOUD" written on blocks" data-discover="true" href="/cloud-computing/predictions-2025-clouds-shift-from-riches-to-rags"><div title="the word "CLOUD" written on blocks"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf146e52be2cc42e8/671a653d40e07f6eaf972165/cloud-written-on-blocks-1716x965.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf146e52be2cc42e8/671a653d40e07f6eaf972165/cloud-written-on-blocks-1716x965.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="the word "CLOUD" written on blocks" title="the word "CLOUD" written on blocks"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_cloudComputing ListPreview-Keyword" data-discover="true" href="/cloud-computing">Cloud Computing</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/cloud-computing/predictions-2025-clouds-shift-from-riches-to-rags">Predictions 2025: Clouds Shift From Riches to RAGs</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/cloud-computing/predictions-2025-clouds-shift-from-riches-to-rags">Predictions 2025: Clouds Shift From Riches to RAGs</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Oct 24, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>3 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: talent button" data-discover="true" href="/career-management/support-your-talent-goals-by-managing-your-evp-and-employer-brand"><div title="talent button"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6d20941c3c27b5fc/6712aa70dffe522c6d92e2fd/talent-1716x965_-_2024-09-13.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6d20941c3c27b5fc/6712aa70dffe522c6d92e2fd/talent-1716x965_-_2024-09-13.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="talent button" title="talent button"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_careerManagement ListPreview-Keyword" data-discover="true" href="/career-management">Career Management</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/career-management/support-your-talent-goals-by-managing-your-evp-and-employer-brand">Support Your Talent Goals by Managing Your EVP and Employer Brand</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/career-management/support-your-talent-goals-by-managing-your-evp-and-employer-brand">Support Your Talent Goals by Managing Your EVP and Employer Brand</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Oct 19, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>2 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: cloud surrounded by dollar signs" data-discover="true" href="/ops-and-more/ibm-vies-for-positioning-as-the-de-facto-finops-solution"><div title="cloud surrounded by dollar signs"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt49abda4a5a4bba27/66f69e5d8da4ba2d409c62a1/finops-1716x965.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt49abda4a5a4bba27/66f69e5d8da4ba2d409c62a1/finops-1716x965.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="cloud surrounded by dollar signs" title="cloud surrounded by dollar signs"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_opsAndMore ListPreview-Keyword" data-discover="true" href="/it-management/ops-and-more">Ops and More</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/ops-and-more/ibm-vies-for-positioning-as-the-de-facto-finops-solution">IBM Vies for Positioning as the De Facto FinOps Solution</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/ops-and-more/ibm-vies-for-positioning-as-the-de-facto-finops-solution">IBM Vies for Positioning as the De Facto FinOps Solution</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Sep 27, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>3 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: tech sprawl" data-discover="true" href="/it-management/cios-get-tech-sprawl-under-control"><div title="tech sprawl"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf7dd6ada180271c5/66ec261fc84ea6db4c461844/tech-sprawl-1716x965_-_2024-09-19.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf7dd6ada180271c5/66ec261fc84ea6db4c461844/tech-sprawl-1716x965_-_2024-09-19.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="tech sprawl" title="tech sprawl"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_itManagement ListPreview-Keyword" data-discover="true" href="/it-management">IT Management</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/it-management/cios-get-tech-sprawl-under-control">CIOs: Get Tech Sprawl Under Control</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/it-management/cios-get-tech-sprawl-under-control">CIOs: Get Tech Sprawl Under Control</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Sep 19, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>2 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: a robot hand puts the letters 'AI' to the word sustainable" data-discover="true" href="/ai-machine-learning/ai-and-the-green-market-revolution-will-intertwine"><div title="a robot hand puts the letters 'AI' to the word sustainable"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt59394a316ecf9041/66db22f658cf9acd492d3087/image-1719x965_(13).jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt59394a316ecf9041/66db22f658cf9acd492d3087/image-1719x965_(13).jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="a robot hand puts the letters 'AI' to the word sustainable" title="a robot hand puts the letters 'AI' to the word sustainable"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_aiMachineLearning ListPreview-Keyword" data-discover="true" href="/digital-transformation/ai-machine-learning">AI & Machine Learning</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/ai-machine-learning/ai-and-the-green-market-revolution-will-intertwine">AI and the Green Market Revolution Will Intertwine</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/ai-machine-learning/ai-and-the-green-market-revolution-will-intertwine">AI and the Green Market Revolution Will Intertwine</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Sep 6, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: a stack of servers with a "no" symbol over it" data-discover="true" href="/software-development-techniques/serverless-is-trending-again-in-modern-application-development"><div title="a stack of servers with a "no" symbol over it"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9eb31714bdc303a0/66d9ab84c5adb0a56910e759/serverless-1716x965_-_2024-09-05.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9eb31714bdc303a0/66d9ab84c5adb0a56910e759/serverless-1716x965_-_2024-09-05.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="a stack of servers with a "no" symbol over it" title="a stack of servers with a "no" symbol over it"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_softwareDevelopmentTechniques ListPreview-Keyword" data-discover="true" href="/software-development/software-development-techniques">Software Development Techniques</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/software-development-techniques/serverless-is-trending-again-in-modern-application-development">Serverless Is Trending Again in Modern Application Development</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/software-development-techniques/serverless-is-trending-again-in-modern-application-development">Serverless Is Trending Again in Modern Application Development</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Sep 5, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>5 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem ListContent-ContentItem_borderless" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: the words "open source" stamped on a document" data-discover="true" href="/linux-os/open-source-doesn-t-mean-a-trademark-free-for-all"><div title="the words "open source" stamped on a document"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt83adf9797b39d033/66bf20b5d998347b979ae9c5/open-source-stamp-1716x965.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt83adf9797b39d033/66bf20b5d998347b979ae9c5/open-source-stamp-1716x965.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="the words "open source" stamped on a document" title="the words "open source" stamped on a document"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" data-discover="true" href="/operating-systems/linux-os">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/linux-os/open-source-doesn-t-mean-a-trademark-free-for-all">Open Source Doesn't Mean a Trademark Free-For-All</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/linux-os/open-source-doesn-t-mean-a-trademark-free-for-all">Open Source Doesn't Mean a Trademark Free-For-All</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Aug 16, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>2 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: padlock icons with a background photo of a business meeting" data-discover="true" href="/vulnerabilities-threats/invest-experiment-and-scale-back-budget-priorities-for-cisos-in-2025"><div title="padlock icons with a background photo of a business meeting"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt912bdd62d0fa6c75/66b64de61b6f66ced823da7c/image-1716x965_(19).jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt912bdd62d0fa6c75/66b64de61b6f66ced823da7c/image-1716x965_(19).jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="padlock icons with a background photo of a business meeting" title="padlock icons with a background photo of a business meeting"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_vulnerabilitiesThreats ListPreview-Keyword" data-discover="true" href="/it-security/vulnerabilities-threats">Vulnerabilities & Threats</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/vulnerabilities-threats/invest-experiment-and-scale-back-budget-priorities-for-cisos-in-2025">Invest, Experiment, And Scale Back: Budget Priorities For CISOs In 2025</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/vulnerabilities-threats/invest-experiment-and-scale-back-budget-priorities-for-cisos-in-2025">Invest, Experiment, And Scale Back: Budget Priorities For CISOs In 2025</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Aug 8, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>3 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: "software development" header on paper on a clipboard" data-discover="true" href="/software-development-techniques/ai-and-the-end-of-software-development-as-we-know-it"><div title=""software development" header on paper on a clipboard"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blte37a56f50f8305ef/66b1e1c6ed449621fd08bddf/software-development-on-clipboard-1716x965.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blte37a56f50f8305ef/66b1e1c6ed449621fd08bddf/software-development-on-clipboard-1716x965.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt=""software development" header on paper on a clipboard" title=""software development" header on paper on a clipboard"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_softwareDevelopmentTechniques ListPreview-Keyword" data-discover="true" href="/software-development/software-development-techniques">Software Development Techniques</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/software-development-techniques/ai-and-the-end-of-software-development-as-we-know-it">AI and the End of Software Development as We Know It</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/software-development-techniques/ai-and-the-end-of-software-development-as-we-know-it">AI and the End of Software Development as We Know It</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Aug 6, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>2 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: German Shepherd lying in a doghouse" data-discover="true" href="/software-development/gitlab-customers-hope-to-stay-out-of-the-doghouse-if-acquired-by-datadog"><div title="German Shepherd lying in a doghouse"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blte3781840f96b0023/66a0dec241a60bdd0e46274e/doughouse-1716x965.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blte3781840f96b0023/66a0dec241a60bdd0e46274e/doughouse-1716x965.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="German Shepherd lying in a doghouse" title="German Shepherd lying in a doghouse"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_softwareDevelopment ListPreview-Keyword" data-discover="true" href="/software-development">Software Development</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/software-development/gitlab-customers-hope-to-stay-out-of-the-doghouse-if-acquired-by-datadog">GitLab Customers Hope to Stay Out of the Doghouse if Acquired by Datadog</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/software-development/gitlab-customers-hope-to-stay-out-of-the-doghouse-if-acquired-by-datadog">GitLab Customers Hope to Stay Out of the Doghouse if Acquired by Datadog</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Jul 24, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: cloud key on a keyboard" data-discover="true" href="/cloud-computing/how-utilities-and-telcos-are-rationalizing-their-clouds"><div title="cloud key on a keyboard"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltcab1bb82c78e2328/669a80675b5b9e473294f8b9/cloud-key-1716x965.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltcab1bb82c78e2328/669a80675b5b9e473294f8b9/cloud-key-1716x965.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="cloud key on a keyboard" title="cloud key on a keyboard"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_cloudComputing ListPreview-Keyword" data-discover="true" href="/cloud-computing">Cloud Computing</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/cloud-computing/how-utilities-and-telcos-are-rationalizing-their-clouds">How Utilities and Telcos Are Rationalizing Their Clouds</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/cloud-computing/how-utilities-and-telcos-are-rationalizing-their-clouds">How Utilities and Telcos Are Rationalizing Their Clouds</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Jul 19, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>3 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: robot typing on a laptop" data-discover="true" href="/software-development-techniques/threading-the-needle-on-genai-and-developer-experience"><div title="robot typing on a laptop"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf467f079489fa278/66914f0596a129aa40e692b3/genAI-robot-typing-1716x965.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf467f079489fa278/66914f0596a129aa40e692b3/genAI-robot-typing-1716x965.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="robot typing on a laptop" title="robot typing on a laptop"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_softwareDevelopmentTechniques ListPreview-Keyword" data-discover="true" href="/software-development/software-development-techniques">Software Development Techniques</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/software-development-techniques/threading-the-needle-on-genai-and-developer-experience">Threading the Needle on GenAI and Developer Experience</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/software-development-techniques/threading-the-needle-on-genai-and-developer-experience">Threading the Needle on GenAI and Developer Experience</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Jul 12, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>2 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Bust of Aristotle in Uffizi Gallery, Florence" data-discover="true" href="/ops-and-more/greeking-out-aristotle-s-guide-to-aiops-mastery"><div title="Bust of Aristotle in Uffizi Gallery, Florence"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt99cae4a14c3aa3bd/668bf2adca9a044aec1bf0d4/Aristotle-1716x965.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt99cae4a14c3aa3bd/668bf2adca9a044aec1bf0d4/Aristotle-1716x965.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Bust of Aristotle in Uffizi Gallery, Florence" title="Bust of Aristotle in Uffizi Gallery, Florence"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_opsAndMore ListPreview-Keyword" data-discover="true" href="/it-management/ops-and-more">Ops and More</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/ops-and-more/greeking-out-aristotle-s-guide-to-aiops-mastery">Greeking Out: Aristotle's Guide to AIOps Mastery</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/ops-and-more/greeking-out-aristotle-s-guide-to-aiops-mastery">Greeking Out: Aristotle's Guide to AIOps Mastery</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Jul 8, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>5 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: cloud-native" data-discover="true" href="/cloud-native/how-cloud-native-development-benefits-saas"><div title="cloud-native"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt2d803d8619571ea8/667e9e0935736c7c17b4afa7/cloud-native-1716x965_(29).jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt2d803d8619571ea8/667e9e0935736c7c17b4afa7/cloud-native-1716x965_(29).jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="cloud-native" title="cloud-native"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_cloudNative ListPreview-Keyword" data-discover="true" href="/software-development/cloud-native">Cloud Native</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/cloud-native/how-cloud-native-development-benefits-saas">How Cloud-Native Development Benefits SaaS</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/cloud-native/how-cloud-native-development-benefits-saas">How Cloud-Native Development Benefits SaaS</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Jun 28, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>3 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: software developer working at his workstation" data-discover="true" href="/software-development/tech-leaders-must-adapt-to-the-evolving-us-developer-labor-market"><div title="software developer working at his workstation"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blte64dd87b2d84aae3/666ad0780feabc366116c102/DevOps-1716x965.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blte64dd87b2d84aae3/666ad0780feabc366116c102/DevOps-1716x965.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="software developer working at his workstation" title="software developer working at his workstation"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_softwareDevelopment ListPreview-Keyword" data-discover="true" href="/software-development">Software Development</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/software-development/tech-leaders-must-adapt-to-the-evolving-us-developer-labor-market">Tech Leaders Must Adapt to the Evolving US Developer Labor Market</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/software-development/tech-leaders-must-adapt-to-the-evolving-us-developer-labor-market">Tech Leaders Must Adapt to the Evolving US Developer Labor Market</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Jun 13, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>2 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: business software on a laptop screen with a 3D cloud" data-discover="true" href="/it-operations/align-or-fall-behind-overcoming-software-strategy-execution-challenges-in-apac"><div title=" business software on a laptop screen with a 3D cloud"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt1193d2108e6245b5/66620617d8183d57d84c4033/software-new.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt1193d2108e6245b5/66620617d8183d57d84c4033/software-new.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt=" business software on a laptop screen with a 3D cloud" title=" business software on a laptop screen with a 3D cloud"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_itOperations ListPreview-Keyword" data-discover="true" href="/it-management/it-operations">IT Operations</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/it-operations/align-or-fall-behind-overcoming-software-strategy-execution-challenges-in-apac">Align or Fall Behind: Overcoming Software Strategy Execution Challenges in APAC</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/it-operations/align-or-fall-behind-overcoming-software-strategy-execution-challenges-in-apac">Align or Fall Behind: Overcoming Software Strategy Execution Challenges in APAC</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Jun 6, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem ListContent-ContentItem_borderless" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: earth and a network of digital padlock icons.jpg" data-discover="true" href="/it-security/recapping-this-year-s-incyber-forum"><div title="earth and a network of digital padlock icons.jpg"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfb7639a4174b368c/665a14e9a6b88a7d9d45d4ac/earth_and_a_network_of_digital_padlock_icons.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfb7639a4174b368c/665a14e9a6b88a7d9d45d4ac/earth_and_a_network_of_digital_padlock_icons.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="earth and a network of digital padlock icons.jpg" title="earth and a network of digital padlock icons.jpg"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_itSecurity ListPreview-Keyword" data-discover="true" href="/it-security">IT Security</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/it-security/recapping-this-year-s-incyber-forum">Recapping This Year’s InCyber Forum</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/it-security/recapping-this-year-s-incyber-forum">Recapping This Year’s InCyber Forum</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">May 31, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>3 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: pen and pencil on the software development life cycle chart" data-discover="true" href="/software-development/the-future-is-now-turingbots-will-collapse-the-software-development-lifecycle-silos"><div title="pen and pencil on the software development life cycle chart"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd7df81119ac19212/66574d826a5c38805830e93f/SDLC.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd7df81119ac19212/66574d826a5c38805830e93f/SDLC.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="pen and pencil on the software development life cycle chart" title="pen and pencil on the software development life cycle chart"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_softwareDevelopment ListPreview-Keyword" data-discover="true" href="/software-development">Software Development</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/software-development/the-future-is-now-turingbots-will-collapse-the-software-development-lifecycle-silos">The Future Is Now: TuringBots Will Collapse the Software Development Lifecycle Silos</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/software-development/the-future-is-now-turingbots-will-collapse-the-software-development-lifecycle-silos">The Future Is Now: TuringBots Will Collapse the Software Development Lifecycle Silos</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">May 29, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: sustainability written in clouds" data-discover="true" href="/green-it/greenops-finops-and-the-sustainable-cloud"><div title="sustainability written in clouds"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltebb341849ad41cb7/6650a0e7a1396e43840aa805/cloud-sustainability_2.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltebb341849ad41cb7/6650a0e7a1396e43840aa805/cloud-sustainability_2.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="sustainability written in clouds" title="sustainability written in clouds"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_greenIt ListPreview-Keyword" data-discover="true" href="/it-management/it-sustainability/green-it">Green IT</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/green-it/greenops-finops-and-the-sustainable-cloud">GreenOps, FinOps, and the Sustainable Cloud</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/green-it/greenops-finops-and-the-sustainable-cloud">GreenOps, FinOps, and the Sustainable Cloud</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">May 14, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Wooden letter blocks spelling out Generative AI against marble stone" data-discover="true" href="/ai-machine-learning/build-your-genai-strategy-on-a-rock-solid-foundation-model-"><div title="Wooden letter blocks spelling out Generative AI against marble stone"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt2d33cde151134671/6650a21090b2ab02e28491fb/2R62H5E.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt2d33cde151134671/6650a21090b2ab02e28491fb/2R62H5E.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Wooden letter blocks spelling out Generative AI against marble stone" title="Wooden letter blocks spelling out Generative AI against marble stone"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_aiMachineLearning ListPreview-Keyword" data-discover="true" href="/digital-transformation/ai-machine-learning">AI & Machine Learning</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/ai-machine-learning/build-your-genai-strategy-on-a-rock-solid-foundation-model-">Build Your GenAI Strategy on a Rock-Solid Foundation (Model)</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/ai-machine-learning/build-your-genai-strategy-on-a-rock-solid-foundation-model-">Build Your GenAI Strategy on a Rock-Solid Foundation (Model)</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Apr 18, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>3 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: crystal ball" data-discover="true" href="/ai-machine-learning/predictions-2024-an-ex-recession-and-an-ai-revolution-reshape-the-future-of-work"><div title="crystal ball"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltc954cc1db3ab281b/6617f9ce0690367f698f5f44/crystal-ball_1.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltc954cc1db3ab281b/6617f9ce0690367f698f5f44/crystal-ball_1.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="crystal ball" title="crystal ball"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_aiMachineLearning ListPreview-Keyword" data-discover="true" href="/digital-transformation/ai-machine-learning">AI & Machine Learning</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/ai-machine-learning/predictions-2024-an-ex-recession-and-an-ai-revolution-reshape-the-future-of-work">Predictions 2024: An EX Recession and an AI Revolution Reshape the Future of Work</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/ai-machine-learning/predictions-2024-an-ex-recession-and-an-ai-revolution-reshape-the-future-of-work">Predictions 2024: An EX Recession and an AI Revolution Reshape the Future of Work</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Nov 7, 2023</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Microsoft 365 Copilot logo is seen on a smartphone screen" data-discover="true" href="/microsoft-365/how-to-build-your-business-case-for-microsoft-365-copilot"><div title="Microsoft 365 Copilot logo is seen on a smartphone screen"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9735e9739abb7e56/6617fa1822d09c930062f826/Microsoft_20365_20Copilot_20logo_20is_20seen_20on_20a_20smartphone_20screen.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9735e9739abb7e56/6617fa1822d09c930062f826/Microsoft_20365_20Copilot_20logo_20is_20seen_20on_20a_20smartphone_20screen.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Microsoft 365 Copilot logo is seen on a smartphone screen" title="Microsoft 365 Copilot logo is seen on a smartphone screen"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_microsoft365 ListPreview-Keyword" data-discover="true" href="/cloud-computing/cloud-services/microsoft-365">Microsoft 365</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/microsoft-365/how-to-build-your-business-case-for-microsoft-365-copilot">How To Build Your Business Case For Microsoft 365 Copilot</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/microsoft-365/how-to-build-your-business-case-for-microsoft-365-copilot">How To Build Your Business Case For Microsoft 365 Copilot</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Oct 27, 2023</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>3 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: A shrugging business person stands on top of a whistle" data-discover="true" href="/regulatory-compliance/the-whistleblower-diaries-don-t-blow-off-the-disgruntled-employee"><div title="A shrugging business person stands on top of a whistle"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt8ec877bd092695b5/6617fa5645d84516c0a867b4/A_20shrugging_20businessman_20standing_20above_20whistle.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt8ec877bd092695b5/6617fa5645d84516c0a867b4/A_20shrugging_20businessman_20standing_20above_20whistle.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="A shrugging business person stands on top of a whistle" title="A shrugging business person stands on top of a whistle"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_regulatoryCompliance ListPreview-Keyword" data-discover="true" href="/it-security/regulatory-compliance">Regulatory Compliance</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/regulatory-compliance/the-whistleblower-diaries-don-t-blow-off-the-disgruntled-employee">The Whistleblower Diaries: Don’t Blow Off The Disgruntled Employee</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/regulatory-compliance/the-whistleblower-diaries-don-t-blow-off-the-disgruntled-employee">The Whistleblower Diaries: Don’t Blow Off The Disgruntled Employee</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Oct 12, 2023</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>3 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: finger pressing "cloud" button" data-discover="true" href="/edge-computing/the-new-major-cloud-adopters-financial-services"><div title="finger pressing "cloud" button"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt8da4ca39042ef784/6617fda8bce51f929c51a604/cloud-computing-button_1.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt8da4ca39042ef784/6617fda8bce51f929c51a604/cloud-computing-button_1.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="finger pressing "cloud" button" title="finger pressing "cloud" button"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_edgeComputing ListPreview-Keyword" data-discover="true" href="/digital-transformation/edge-computing">Edge Computing</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/edge-computing/the-new-major-cloud-adopters-financial-services">The New Major Cloud Adopters: Financial Services</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/edge-computing/the-new-major-cloud-adopters-financial-services">The New Major Cloud Adopters: Financial Services</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">May 3, 2023</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: sustainability word cloud" data-discover="true" href="/it-sustainability/keys-to-succeeding-as-a-chief-sustainability-officer"><div title="sustainability word cloud"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt33bb593a1c174b12/6617fdbf84743751ba2c309a/sustainability_20word_20cloud.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt33bb593a1c174b12/6617fdbf84743751ba2c309a/sustainability_20word_20cloud.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="sustainability word cloud" title="sustainability word cloud"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_itSustainability ListPreview-Keyword" data-discover="true" href="/it-management/it-sustainability">IT Sustainability</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/it-sustainability/keys-to-succeeding-as-a-chief-sustainability-officer">Keys To Succeeding as a Chief Sustainability Officer</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/it-sustainability/keys-to-succeeding-as-a-chief-sustainability-officer">Keys To Succeeding as a Chief Sustainability Officer</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">May 1, 2023</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>2 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Java logo on a laptop screen" data-discover="true" href="/oracle-cloud-infrastructure/plan-now-for-major-changes-to-oracle-java-licensing-costs"><div title="Java logo on a laptop screen"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blte4f33349f9f247a3/6617fe17f659be521bbbe266/Java-on-screen_0.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blte4f33349f9f247a3/6617fe17f659be521bbbe266/Java-on-screen_0.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Java logo on a laptop screen" title="Java logo on a laptop screen"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_oracleCloudInfrastructure ListPreview-Keyword" data-discover="true" href="/cloud-computing/public-cloud/oracle-cloud-infrastructure">Oracle Cloud Infrastructure</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/oracle-cloud-infrastructure/plan-now-for-major-changes-to-oracle-java-licensing-costs">Plan Now for Major Changes to Oracle Java Licensing Costs</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/oracle-cloud-infrastructure/plan-now-for-major-changes-to-oracle-java-licensing-costs">Plan Now for Major Changes to Oracle Java Licensing Costs</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Apr 12, 2023</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>2 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: accessibility key on keyboard" data-discover="true" href="/career-management/all-i-want-for-christmas-is-an-accessibility-expert"><div title="accessibility key on keyboard"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt2427e9fe99dcbb16/66180111292103181f5c6a57/accessibility_0.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt2427e9fe99dcbb16/66180111292103181f5c6a57/accessibility_0.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="accessibility key on keyboard" title="accessibility key on keyboard"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_careerManagement ListPreview-Keyword" data-discover="true" href="/career-management">Career Management</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/career-management/all-i-want-for-christmas-is-an-accessibility-expert">All I Want For Christmas Is an Accessibility Expert</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/career-management/all-i-want-for-christmas-is-an-accessibility-expert">All I Want For Christmas Is an Accessibility Expert</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Dec 2, 2022</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>3 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: programmer looking through code" data-discover="true" href="/software-development/predictions-2023-citizen-development-metaverse-stir-up-software-development"><div title="programmer looking through code"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltdfff2931aa3bf686/661801734a487a752adcc824/programmer-looking-through-code_2.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltdfff2931aa3bf686/661801734a487a752adcc824/programmer-looking-through-code_2.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="programmer looking through code" title="programmer looking through code"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_softwareDevelopment ListPreview-Keyword" data-discover="true" href="/software-development">Software Development</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/software-development/predictions-2023-citizen-development-metaverse-stir-up-software-development">Predictions 2023: Citizen Development, Metaverse Stir Up Software Development</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/software-development/predictions-2023-citizen-development-metaverse-stir-up-software-development">Predictions 2023: Citizen Development, Metaverse Stir Up Software Development</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Nov 18, 2022</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>3 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: diverse team" data-discover="true" href="/digital-transformation/diversity-and-inclusion-matter-in-the-digital-context"><div title="diverse team"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt1d28322051bca936/6618018f3dee0f20228efa66/diversity-hiring_0.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt1d28322051bca936/6618018f3dee0f20228efa66/diversity-hiring_0.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="diverse team" title="diverse team"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_digitalTransformation ListPreview-Keyword" data-discover="true" href="/digital-transformation">Digital Transformation</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/digital-transformation/diversity-and-inclusion-matter-in-the-digital-context">Diversity and Inclusion Matter in the Digital Context</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/digital-transformation/diversity-and-inclusion-matter-in-the-digital-context">Diversity and Inclusion Matter in the Digital Context</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Nov 14, 2022</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>3 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem ListContent-ContentItem_borderless" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Predictions 2023: Tech Teams Set Sights On Communication Coordination To Inform Insights Initiatives" data-discover="true" href="/it-management/predictions-2023-tech-teams-set-sights-on-communication-coordination-to-inform-insights-initiatives"><div title="Predictions 2023: Tech Teams Set Sights On Communication Coordination To Inform Insights Initiatives"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt49d8763eef5ffd5d/66277ab5b1627011519d32de/colleagues_with_tablet_0.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt49d8763eef5ffd5d/66277ab5b1627011519d32de/colleagues_with_tablet_0.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Predictions 2023: Tech Teams Set Sights On Communication Coordination To Inform Insights Initiatives" title="Predictions 2023: Tech Teams Set Sights On Communication Coordination To Inform Insights Initiatives"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_itManagement ListPreview-Keyword" data-discover="true" href="/it-management">IT Management</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" data-discover="true" href="/it-management/predictions-2023-tech-teams-set-sights-on-communication-coordination-to-inform-insights-initiatives">Predictions 2023: Tech Teams Set Sights On Communication Coordination To Inform Insights Initiatives</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" data-discover="true" href="/it-management/predictions-2023-tech-teams-set-sights-on-communication-coordination-to-inform-insights-initiatives">Predictions 2023: Tech Teams Set Sights On Communication Coordination To Inform Insights Initiatives</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Nov 14, 2022</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>3 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Forrester Blog Network" data-discover="true" href="/author/forrester-blog-network"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Forrester Blog Network" title="Picture of Forrester Blog Network"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/forrester-blog-network">Forrester Blog Network</a></div></div></div></div></div><nav role="navigation" aria-label="Pagination Navigation" data-component="pagination" class="ListContent-Pagination"><ul class="Pagination-Wrapper"><li><a tabindex="-1" aria-label="Cannot go to Previous page" class="Pagination-Link Pagination-Link_disabled" data-discover="true" href="/author/forrester-blog-network"><span class="Pagination-PageWrapper"><span class="Pagination-ArrowIconWrapper Pagination-ArrowIconWrapper_disabled"><span data-component="icon" data-name="ArrowLeft" class="Pagination-ArrowIcon Pagination-ArrowIcon_disabled" style="mask-image:url(/build/_assets/ArrowLeft-LJREXKU3.svg);-webkit-mask-image:url(/build/_assets/ArrowLeft-LJREXKU3.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span><span data-testid="labelText" class="Pagination-Move">Previous</span></span></a></li><li><a tabindex="-1" aria-label="Current page, page 1" class="Pagination-PageNumber Pagination-PageNumber_current" data-discover="true" href="/author/forrester-blog-network">1</a></li><li><a tabindex="0" aria-label="Go to page 2" class="Pagination-PageNumber" data-discover="true" href="/author/forrester-blog-network?page=2">2</a></li><li><a tabindex="0" aria-label="Go to Next page 2" class="Pagination-Link" data-discover="true" href="/author/forrester-blog-network?page=2"><span class="Pagination-PageWrapper"><span data-testid="labelText" class="Pagination-Move">Next</span><span class="Pagination-ArrowIconWrapper"><span data-component="icon" data-name="ArrowRight" class="Pagination-ArrowIcon" style="mask-image:url(/build/_assets/ArrowRight-KNUWEVNZ.svg);-webkit-mask-image:url(/build/_assets/ArrowRight-KNUWEVNZ.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></span></a></li></ul></nav></div></div><div class="TwoColumnLayout-Sidebar"><div class="Sidebar" data-module="sidebar"><div class="Sidebar-SidebarItem" data-testid="sidebar-item"><div data-module="content-cards" class="ContentCards ContentCards_sidebar"><div class="ContentCards-CardsWrapper ContentCards-CardsWrapper_default"><div class="ContentCards-Header ContentCards-Header_default" data-testid="content-cards-header"><h3 class="ContentCards-Title" data-testid="contentCardsTitle">Editor's Choice</h3></div><div class="ContentCards-Content ContentCards-Content_default"><div class="ContentCards-ContentPreview ContentCards-ContentPreview_default" data-testid="content-preview-default"><div class="ContentPreview" data-module="content-preview" data-variant="card-horizontal"><div class="HorizontalCard"><div class="HorizontalCard-ImageWrapper"><a data-discover="true" href="/powershell/how-i-built-my-own-powershell-multi-file-search-tool"><span class="HorizontalCard-ImageScreenReaderText">the interface of the PowerShell search tool with a hand holding a magnifying glass on a background of a blue sky and clouds in the shape of gears</span><img data-component="image" class="HorizontalCard-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blte7be8ee65ed686ae/67128e1e98e874167c4f05e1/hero_powershell_multifile_tool.png?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blte7be8ee65ed686ae/67128e1e98e874167c4f05e1/hero_powershell_multifile_tool.png?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></a></div><div class="HorizontalCard-ContentWrapper"><div class="HorizontalCard-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_powerShell HorizontalCard-Keyword" data-discover="true" href="/operating-systems/powershell">PowerShell</a></div><div class="HorizontalCard-TitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-default-title" data-discover="true" href="/powershell/how-i-built-my-own-powershell-multi-file-search-tool">How I Built My Own PowerShell Multi-File Search Tool</a></div><div class="HorizontalCard-MobileTitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-mobile-title" data-discover="true" href="/powershell/how-i-built-my-own-powershell-multi-file-search-tool">How I Built My Own PowerShell Multi-File Search Tool</a></div><p class="HorizontalCard-Date" data-testid="horizontalCardDate">Oct 22, 2024</p></div></div></div></div><div class="ContentCards-ContentPreview ContentCards-ContentPreview_default" data-testid="content-preview-default"><div class="ContentPreview" data-module="content-preview" data-variant="card-horizontal"><div class="HorizontalCard"><div class="HorizontalCard-ImageWrapper"><a data-discover="true" href="/career-tips/am-i-burned-out-how-to-identify-and-address-burnout-in-it"><span class="HorizontalCard-ImageScreenReaderText">burnout gif featuring a mannequin surrounded by office technology on fire</span><img data-component="image" class="HorizontalCard-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf8db9c6bab6974be/67191ffa32efaa4f10cc0da3/burnout_gif.gif?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf8db9c6bab6974be/67191ffa32efaa4f10cc0da3/burnout_gif.gif?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></a></div><div class="HorizontalCard-ContentWrapper"><div class="HorizontalCard-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_careerTips HorizontalCard-Keyword" data-discover="true" href="/career-management/career-tips">Career Tips</a></div><div class="HorizontalCard-TitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-default-title" data-discover="true" href="/career-tips/am-i-burned-out-how-to-identify-and-address-burnout-in-it">Am I Burned Out? How To Identify and Address Burnout in IT</a></div><div class="HorizontalCard-MobileTitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-mobile-title" data-discover="true" href="/career-tips/am-i-burned-out-how-to-identify-and-address-burnout-in-it">Am I Burned Out? How To Identify and Address Burnout in IT</a></div><p class="HorizontalCard-Date" data-testid="horizontalCardDate">Oct 24, 2024</p></div></div></div></div><div class="ContentCards-ContentPreview ContentCards-ContentPreview_default" data-testid="content-preview-default"><div class="ContentPreview" data-module="content-preview" data-variant="card-horizontal"><div class="HorizontalCard"><div class="HorizontalCard-ImageWrapper"><a data-discover="true" href="/ops-and-more/choosing-between-cloud-and-on-prem-mlops-what-s-best-for-your-needs-"><span class="HorizontalCard-ImageScreenReaderText">MLOps</span><img data-component="image" class="HorizontalCard-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6848a0ecb0125906/6718d881c3b38d9d32d538ac/ML-1716x965_-_2024-10-23.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6848a0ecb0125906/6718d881c3b38d9d32d538ac/ML-1716x965_-_2024-10-23.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></a></div><div class="HorizontalCard-ContentWrapper"><div class="HorizontalCard-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_opsAndMore HorizontalCard-Keyword" data-discover="true" href="/it-management/ops-and-more">Ops and More</a></div><div class="HorizontalCard-TitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-default-title" data-discover="true" href="/ops-and-more/choosing-between-cloud-and-on-prem-mlops-what-s-best-for-your-needs-">Choosing Between Cloud and On-Prem MLOps: What's Best for Your Needs?</a></div><div class="HorizontalCard-MobileTitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-mobile-title" data-discover="true" href="/ops-and-more/choosing-between-cloud-and-on-prem-mlops-what-s-best-for-your-needs-">Choosing Between Cloud and On-Prem MLOps: What's Best for Your Needs?</a></div><p class="HorizontalCard-Date" data-testid="horizontalCardDate">Oct 23, 2024</p></div></div></div></div></div></div></div></div><div class="Sidebar-SidebarItem" data-testid="sidebar-item"><div data-component="content-list" class="ContentList"><div class="ContentList-Header"><span data-component="icon" data-name="Document" class="ContentList-Icon" style="mask-image:url(/build/_assets/Document-NG4YMZFA.svg);-webkit-mask-image:url(/build/_assets/Document-NG4YMZFA.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span><span class="ContentList-Title" data-testid="content-list-title">Exclusive ITPro Resources</span></div><ul class="ContentList-List"><li class="ContentList-ListItem"><a data-testid="content-list-item-title" data-discover="true" href="/disaster-recovery/bcdr-basics-a-quick-reference-guide-for-business-continuity-disaster-recovery" target=""><p class="ContentList-ListItemTitle">BCDR Basics: A Quick Reference Guide for Business Continuity & Disaster Recovery</p></a><span class="ContentList-ListItemDate" data-testid="content-list-item-date">Oct 10, 2024<div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></span></li><li class="ContentList-ListItem"><a data-testid="content-list-item-title" data-discover="true" href="/career-management/itpro-today-s-2024-it-priorities-report" target=""><p class="ContentList-ListItemTitle">ITPro Today’s 2024 IT Priorities Report</p></a><span class="ContentList-ListItemDate" data-testid="content-list-item-date">Sep 25, 2024<div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></span></li><li class="ContentList-ListItem"><a data-testid="content-list-item-title" data-discover="true" href="/career-management/tech-careers-quick-reference-guide-to-it-job-titles" target=""><p class="ContentList-ListItemTitle">Tech Careers: Quick Reference Guide to IT Job Titles</p></a><span class="ContentList-ListItemDate" data-testid="content-list-item-date">Sep 13, 2024<div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></span></li><li class="ContentList-ListItem"><a data-testid="content-list-item-title" data-discover="true" href="/vmware/migrating-from-vmware-guide-to-a-successful-transition" target=""><p class="ContentList-ListItemTitle">Migrating From VMware: Guide to a Successful Transition</p></a><span class="ContentList-ListItemDate" data-testid="content-list-item-date">Sep 3, 2024<div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></span></li></ul><div class="ContentList-CTAButton"><span data-component="button" role="presentation" class="Button Button_size_medium Button_variant_textLink"><span class="Button-ContentWrapper"><a class="ContentList-CTAText" rel="noreferrer" data-discover="true" href="/documents" target="_blank">See all ITPro Resources</a></span><span data-component="icon" data-name="ChevronRight" class="Button-Icon Button-Icon_position_right" style="mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);-webkit-mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div></div></div><div class="Sidebar-SidebarItem" data-testid="sidebar-item"><div data-module="content-cards" class="ContentCards ContentCards_sidebar"><div class="ContentCards-CardsWrapper ContentCards-CardsWrapper_default"><div class="ContentCards-Header ContentCards-Header_default" data-testid="content-cards-header"><h3 class="ContentCards-Title" data-testid="contentCardsTitle">Featured Technical Explainers</h3></div><div class="ContentCards-Content ContentCards-Content_default"><div class="ContentCards-ContentPreview ContentCards-ContentPreview_default" data-testid="content-preview-default"><div class="ContentPreview" data-module="content-preview" data-variant="card-horizontal"><div class="HorizontalCard"><div class="HorizontalCard-ImageWrapper"><a data-discover="true" href="/cloud-computing/cloud-vs-on-prem-ai-accelerators-choosing-the-best-fit-for-your-ai-workloads"><span class="HorizontalCard-ImageScreenReaderText">AI chip</span><img data-component="image" class="HorizontalCard-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfec5fcbd31c7f2a6/673b100cd675084d0707e288/AI-chip-1716x965_-_2024-11-18.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfec5fcbd31c7f2a6/673b100cd675084d0707e288/AI-chip-1716x965_-_2024-11-18.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></a></div><div class="HorizontalCard-ContentWrapper"><div class="HorizontalCard-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_cloudComputing HorizontalCard-Keyword" data-discover="true" href="/cloud-computing">Cloud Computing</a></div><div class="HorizontalCard-TitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-default-title" data-discover="true" href="/cloud-computing/cloud-vs-on-prem-ai-accelerators-choosing-the-best-fit-for-your-ai-workloads">Cloud vs. On-Prem AI Accelerators: Choosing the Best Fit for Your AI Workloads</a></div><div class="HorizontalCard-MobileTitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-mobile-title" data-discover="true" href="/cloud-computing/cloud-vs-on-prem-ai-accelerators-choosing-the-best-fit-for-your-ai-workloads">Cloud vs. On-Prem AI Accelerators: Choosing the Best Fit for Your AI Workloads</a></div></div></div></div></div><div class="ContentCards-ContentPreview ContentCards-ContentPreview_default" data-testid="content-preview-default"><div class="ContentPreview" data-module="content-preview" data-variant="card-horizontal"><div class="HorizontalCard"><div class="HorizontalCard-ImageWrapper"><a data-discover="true" href="/cloud-computing/why-saas-backup-matters-protecting-data-beyond-vendor-guarantees"><span class="HorizontalCard-ImageScreenReaderText">SaaS concept on a tablet</span><img data-component="image" class="HorizontalCard-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd277e0c4548d3c42/673278ac8d8bc463268a48b4/SaaS-1716x965_-_2024-11-11.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd277e0c4548d3c42/673278ac8d8bc463268a48b4/SaaS-1716x965_-_2024-11-11.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></a></div><div class="HorizontalCard-ContentWrapper"><div class="HorizontalCard-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_cloudComputing HorizontalCard-Keyword" data-discover="true" href="/cloud-computing">Cloud Computing</a></div><div class="HorizontalCard-TitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-default-title" data-discover="true" href="/cloud-computing/why-saas-backup-matters-protecting-data-beyond-vendor-guarantees">Why SaaS Backup Matters: Protecting Data Beyond Vendor Guarantees</a></div><div class="HorizontalCard-MobileTitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-mobile-title" data-discover="true" href="/cloud-computing/why-saas-backup-matters-protecting-data-beyond-vendor-guarantees">Why SaaS Backup Matters: Protecting Data Beyond Vendor Guarantees</a></div></div></div></div></div><div class="ContentCards-ContentPreview ContentCards-ContentPreview_default" data-testid="content-preview-default"><div class="ContentPreview" data-module="content-preview" data-variant="card-horizontal"><div class="HorizontalCard"><div class="HorizontalCard-ImageWrapper"><a data-discover="true" href="/devops/devops-key-to-faster-more-efficient-government-software-development"><span class="HorizontalCard-ImageScreenReaderText">DevOps logo on top of code</span><img data-component="image" class="HorizontalCard-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltdf272a7a39b366c2/672b48253c936766d5282090/DevOps-code-1716x965_-_2024-09-06.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltdf272a7a39b366c2/672b48253c936766d5282090/DevOps-code-1716x965_-_2024-09-06.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></a></div><div class="HorizontalCard-ContentWrapper"><div class="HorizontalCard-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_devOps HorizontalCard-Keyword" data-discover="true" href="/it-management/devops">DevOps</a></div><div class="HorizontalCard-TitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-default-title" data-discover="true" href="/devops/devops-key-to-faster-more-efficient-government-software-development">DevOps: Key to Faster, More Efficient Government Software Development</a></div><div class="HorizontalCard-MobileTitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-mobile-title" data-discover="true" href="/devops/devops-key-to-faster-more-efficient-government-software-development">DevOps: Key to Faster, More Efficient Government Software Development</a></div></div></div></div></div></div></div></div></div><div class="Sidebar-SidebarItem" data-testid="sidebar-item"><div data-module="newsletter-signup-promo"><div class="SubscribeBanner SubscribeBanner_mode_dark SubscribeBanner_variant_vertical"><div class="SubscribeBanner-Wrapper"><div class="SubscribeBanner-Title" data-testid="subscribeBanner_title">Sign up for the ITPro Today newsletter</div><div class="SubscribeBanner-Message" data-testid="subscribeBanner_message">Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.</div><div class="SubscribeBanner-Button"><a data-component="button" data-testid="bannerNewsletterbutton" class="Button Button_size_medium Button_variant_secondaryFilled" href="https://itp-resources.itprotoday.com/c/pubRD.mpl?secure=1&sr=pp&_t=pp:&qf=w_itpb86&ch=itpsitebtn" target="_blank" rel="nofollow" data-name="subscribe-banner" data-action-type="sign-up"><span class="Button-ContentWrapper">Newsletter Sign-Up</span></a></div></div></div></div></div><div class="Sidebar-SidebarItem" data-testid="sidebar-item"><div data-module="content-cards" class="ContentCards ContentCards_sidebar"><div class="ContentCards-CardsWrapper ContentCards-CardsWrapper_column"><div class="ContentCards-Header ContentCards-Header_column" data-testid="content-cards-header"><h3 class="ContentCards-Title" data-testid="contentCardsTitle">Recent What Is</h3></div><div class="ContentCards-Content ContentCards-Content_column"><div class="ContentCards-ContentPreview ContentCards-ContentPreview_column" data-testid="content-preview-column"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/disaster-recovery/bcdr-basics-a-quick-reference-guide-for-business-continuity-disaster-recovery"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">cartoon shows a person next to a checklist and several icons that represent disaster scenarios</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd6267f0056e427cb/6707f1e94c215e0bdbe8db2f/image-1795x965_(2).jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd6267f0056e427cb/6707f1e94c215e0bdbe8db2f/image-1795x965_(2).jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_disasterRecovery ContentPreview-Category" data-discover="true" href="/data-storage/disaster-recovery">Disaster Recovery</a><a class="ContentPreview-IconWrapper" title="Link to all document" data-testid="content-preview-icon-link" data-discover="true" href="/disaster-recovery/bcdr-basics-a-quick-reference-guide-for-business-continuity-disaster-recovery"><span data-component="icon" data-name="Document" class="ContentPreview-Icon" style="mask-image:url(/build/_assets/Document-NG4YMZFA.svg);-webkit-mask-image:url(/build/_assets/Document-NG4YMZFA.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/disaster-recovery/bcdr-basics-a-quick-reference-guide-for-business-continuity-disaster-recovery">BCDR Basics: A Quick Reference Guide for Business Continuity & Disaster Recovery</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/disaster-recovery/bcdr-basics-a-quick-reference-guide-for-business-continuity-disaster-recovery">BCDR Basics: A Quick Reference Guide for IT Pros</a></div></div></div></div></div><div class="ContentCards-ContentPreview ContentCards-ContentPreview_column" data-testid="content-preview-column"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/powershell/introduction-to-powershell-environment-variables"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">technology interface with a person's hand drawing gears and cogs</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfffa964ee37aaf1e/66f6ee6fe8a6b02af4dab7fe/powershell_environment_variables_chart.png?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfffa964ee37aaf1e/66f6ee6fe8a6b02af4dab7fe/powershell_environment_variables_chart.png?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_powerShell ContentPreview-Category" data-discover="true" href="/operating-systems/powershell">PowerShell</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/powershell/introduction-to-powershell-environment-variables">Introduction To PowerShell Environment Variables</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/powershell/introduction-to-powershell-environment-variables">Introduction To PowerShell Environment Variables</a></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="ListContent-NewsletterSignupPromo"><div data-module="newsletter-signup-promo"><div class="SubscribeBanner SubscribeBanner_mode_dark SubscribeBanner_variant_vertical"><div class="SubscribeBanner-Wrapper"><div class="SubscribeBanner-Title" data-testid="subscribeBanner_title">Sign up for the ITPro Today newsletter</div><div class="SubscribeBanner-Message" data-testid="subscribeBanner_message">Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.</div><div class="SubscribeBanner-Button"><a data-component="button" data-testid="bannerNewsletterbutton" class="Button Button_size_medium Button_variant_secondaryFilled" href="https://itp-resources.itprotoday.com/c/pubRD.mpl?secure=1&sr=pp&_t=pp:&qf=w_itpb86&ch=itpsitebtn" target="_blank" rel="nofollow" data-name="subscribe-banner" data-action-type="sign-up"><span class="Button-ContentWrapper">Newsletter Sign-Up</span></a></div></div></div></div></div></div></div></section><footer data-module="footer" class="Footer"><div class="Footer-Background"></div><div data-testid="logo" class="Footer-LogoContainer Footer-LogoContainer_length_2"><a data-discover="true" href="/"><img title="ITPro Today Logo" data-component="image" class="Footer-LogoImage Footer-LogoImage_length_2" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6988047454ea0f07/65def58180429104075f67f7/Logo_-_IT_Pro_Today@2x.png?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6988047454ea0f07/65def58180429104075f67f7/Logo_-_IT_Pro_Today@2x.png?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="ITPro Today Logo"/></a></div><div data-testid="LinkSection" class="LinkSection LinkSection_length_2"><h5 class="LinkSection-Title" data-testid="link-section-title">Discover More</h5><div class="LinkSection-LinksWrapper"><a class="LinkSection-Link" target="_blank" rel="noreferrer" href="https://www.datacenterknowledge.com/">Data Center Knowledge</a><a class="LinkSection-Link" target="_blank" rel="noreferrer" href="https://www.informationweek.com/">InformationWeek</a><a class="LinkSection-Link" target="_blank" rel="noreferrer" href="https://www.networkcomputing.com/">Network Computing</a><a class="LinkSection-Link" target="_blank" rel="noreferrer" href="https://www.nojitter.com/">No Jitter</a><a class="LinkSection-Link" target="_blank" rel="noreferrer" href="https://afcom.com/">AFCOM</a></div></div><div data-testid="LinkSection" class="LinkSection LinkSection_length_2"><h5 class="LinkSection-Title" data-testid="link-section-title">Working With Us</h5><div class="LinkSection-LinksWrapper"><a class="LinkSection-Link" rel="noreferrer" data-discover="true" href="/about-us" target="_blank">About Us</a><a class="LinkSection-Link" target="_blank" rel="noreferrer" href="https://info.wrightsmedia.com/informa-licensing-reprints-request">Reprints</a><a class="LinkSection-Link" rel="noreferrer" data-discover="true" href="/advertise" target="_blank">Advertise</a><a class="LinkSection-Link" rel="noreferrer" data-discover="true" href="/contact-us" target="_blank">Contact Us</a></div></div><div data-testid="registration" class="Footer-RegistrationWrapper"><div class="RegistrationSection RegistrationSection_linkSectionLength_2"><h5 class="RegistrationSection-Title">Join Us</h5><div class="Layout-Register Layout-Register_variant_footer"></div><div class="Layout-NewsLetter Layout-NewsLetter_variant_footer"><div data-module="newsletter-signup-promo"><a data-component="button" data-testid="footerNewsletterButton" class="Button Button_size_medium Button_variant_primaryFilled" href="https://itp-resources.itprotoday.com/c/pubRD.mpl?secure=1&sr=pp&_t=pp:&qf=w_itpb86&ch=itpsitebtn" target="_blank" rel="nofollow" data-name="subscribe-footer" data-action-type="sign-up"><span class="Button-ContentWrapper">Newsletter Sign-Up</span></a></div></div></div></div><div data-testid="social" class="SocialSection SocialSection_linkSectionLength_2"><h5 class="SocialSection-Title">Follow Us</h5><div data-component="social-share" class="SocialShare SocialShare_variant_layout"><a target="_blank" rel="noreferrer" aria-label="Facebook" href="https://www.facebook.com/ITProToday/"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Facebook" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_facebook" style="mask-image:url(/build/_assets/Facebook-CJB5G2HY.svg);-webkit-mask-image:url(/build/_assets/Facebook-CJB5G2HY.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Twitter" href="https://twitter.com/ITProToday"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Twitter" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_twitter" style="mask-image:url(/build/_assets/Twitter-WD5AOEQ7.svg);-webkit-mask-image:url(/build/_assets/Twitter-WD5AOEQ7.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Linkedin" href="https://www.linkedin.com/company/itpro-today/"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Linkedin" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_linkedin" style="mask-image:url(/build/_assets/Linkedin-VQUF3EEQ.svg);-webkit-mask-image:url(/build/_assets/Linkedin-VQUF3EEQ.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Youtube" href="https://www.youtube.com/channel/UCedUgT8R7qC3vsOSxXS5-ZA"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Youtube" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_youtube" style="mask-image:url(/build/_assets/Youtube-S4PSC4UA.svg);-webkit-mask-image:url(/build/_assets/Youtube-S4PSC4UA.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="GoogleNews" href="https://news.google.com/publications/CAAqKQgKIiNDQklTRkFnTWFoQUtEbWwwY0hKdmRHOWtZWGt1WTI5dEtBQVAB"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="GoogleNews" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_googleNews" style="mask-image:url(/build/_assets/GoogleNews-6O72APW7.svg);-webkit-mask-image:url(/build/_assets/GoogleNews-6O72APW7.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="RSS" href="https://www.itprotoday.com/rss.xml"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="RSS" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_rss" style="mask-image:url(/build/_assets/RSS-3XFHIVCK.svg);-webkit-mask-image:url(/build/_assets/RSS-3XFHIVCK.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a></div></div><div class="CopyrightsSection"><div class="CopyrightsSection-Background"></div><div data-testid="copyrights" class="CopyrightsSection-Wrapper"><a data-testid="businessUnit" class="CopyrightsSection-BusinessLink" target="_blank" href="https://www.informatech.com/"><img title="Informa Tech" data-component="image" class="CopyrightsSection-BusinessImage" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt677f6470bd1b54d5/65d7393aac9ea2040a7bf57c/InformaTechBTYB_240x60.png?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt677f6470bd1b54d5/65d7393aac9ea2040a7bf57c/InformaTechBTYB_240x60.png?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Informa Tech"/></a><div class="CopyrightsSection-TextWrapper"><p data-testid="copyrightText" class="CopyrightsSection-Text"><span class="CopyrightsSection-TextBlock"></span>Copyright © 2024 Informa PLC Informa UK Limited is a company registered in England and Wales with company number 1072954 whose registered office is 5 Howick Place, London, SW1P 1WG.</p><div data-testid="copyrightLinks" class="CopyrightsSection-LinksWrapper CopyrightsSection-LinksWrapper_hasLinks"><a class="CopyrightsSection-Link" target="_blank" href="https://www.informatech.com/">Home<span class="CopyrightsSection-LinkSeparator">|</span></a><a class="CopyrightsSection-Link" rel="noreferrer" target="_blank" href="https://privacyportal-eu-cdn.onetrust.com/dsarwebform/c1f53e84-9f05-4169-a854-85052b63c50b/5f26b553-52cc-4973-a761-295d5634a6b6.html">CCPA: Do not sell my personal info<span class="CopyrightsSection-LinkSeparator">|</span></a><a class="CopyrightsSection-Link" rel="noreferrer" data-discover="true" href="/cookie-policy" target="_blank">Cookies<span class="CopyrightsSection-LinkSeparator">|</span></a><a class="CopyrightsSection-Link" rel="noreferrer" target="_blank" href="https://informa.com/privacy-policy/">Privacy<span class="CopyrightsSection-LinkSeparator">|</span></a><a class="CopyrightsSection-Link" rel="noreferrer" target="_blank" href="https://tech.informa.com/terms-and-conditions">Terms</a></div></div></div></div></footer></div></div></main><script>((STORAGE_KEY, restoreKey) => { if (!window.history.state || !window.history.state.key) { let key = Math.random().toString(32).slice(2); window.history.replaceState({ key }, ""); } try { let positions = JSON.parse(sessionStorage.getItem(STORAGE_KEY) || "{}"); let storedY = positions[restoreKey || window.history.state.key]; if (typeof storedY === "number") { window.scrollTo(0, storedY); } } catch (error) { console.error(error); sessionStorage.removeItem(STORAGE_KEY); } })("positions", null)</script><link rel="modulepreload" href="/build/manifest-1DDC3B48.js"/><link rel="modulepreload" href="/build/entry.client-IJHKMLWO.js"/><link rel="modulepreload" href="/build/_shared/chunk-UL2XTJCN.js"/><link rel="modulepreload" href="/build/_shared/chunk-X2QZ46OV.js"/><link rel="modulepreload" href="/build/_shared/chunk-63EVRDSK.js"/><link rel="modulepreload" href="/build/_shared/chunk-ADMCF34Z.js"/><link rel="modulepreload" href="/build/_shared/chunk-VAILQJN5.js"/><link rel="modulepreload" href="/build/_shared/chunk-RZRUW7QG.js"/><link rel="modulepreload" href="/build/_shared/chunk-FLVCZ6LB.js"/><link rel="modulepreload" href="/build/_shared/chunk-CZQQJKCG.js"/><link rel="modulepreload" href="/build/_shared/chunk-B7M2L5OV.js"/><link rel="modulepreload" href="/build/_shared/chunk-DVAO4FWX.js"/><link rel="modulepreload" href="/build/_shared/chunk-UJX7RBTD.js"/><link rel="modulepreload" href="/build/_shared/chunk-GA6KRG5M.js"/><link rel="modulepreload" href="/build/_shared/chunk-VZQVWFLO.js"/><link rel="modulepreload" href="/build/_shared/chunk-SQAZXDZA.js"/><link rel="modulepreload" href="/build/_shared/chunk-LRRZYZ4S.js"/><link rel="modulepreload" href="/build/_shared/chunk-67AEZZKK.js"/><link rel="modulepreload" href="/build/_shared/chunk-DA6QKOVK.js"/><link rel="modulepreload" href="/build/_shared/chunk-NV4QQ2K3.js"/><link rel="modulepreload" href="/build/_shared/chunk-ZX65YBHQ.js"/><link rel="modulepreload" href="/build/_shared/chunk-NIBETJH6.js"/><link rel="modulepreload" href="/build/_shared/chunk-QVUW3IXO.js"/><link rel="modulepreload" href="/build/_shared/chunk-SDR4T2CD.js"/><link rel="modulepreload" href="/build/_shared/chunk-VAO7RAES.js"/><link rel="modulepreload" href="/build/_shared/chunk-ZJGIOTWJ.js"/><link rel="modulepreload" href="/build/_shared/chunk-IW54JVOH.js"/><link rel="modulepreload" href="/build/root-EIFOE2ED.js"/><link rel="modulepreload" href="/build/_shared/chunk-DOGBJXU4.js"/><link rel="modulepreload" href="/build/_shared/chunk-4263J36I.js"/><link rel="modulepreload" href="/build/_shared/chunk-BP5UUZOO.js"/><link rel="modulepreload" href="/build/_shared/chunk-GE63C5K2.js"/><link rel="modulepreload" href="/build/_shared/chunk-3NMSOMAP.js"/><link rel="modulepreload" href="/build/_shared/chunk-PKX65DMJ.js"/><link rel="modulepreload" href="/build/_shared/chunk-JEV5KMDX.js"/><link rel="modulepreload" href="/build/_shared/chunk-R6EIBCBL.js"/><link rel="modulepreload" href="/build/_shared/chunk-A3FJAPGP.js"/><link rel="modulepreload" href="/build/_shared/chunk-7WX3BG7O.js"/><link rel="modulepreload" href="/build/_shared/chunk-LHFD2AZM.js"/><link rel="modulepreload" href="/build/_shared/chunk-VXTTYPWD.js"/><link rel="modulepreload" href="/build/_shared/chunk-HJNZPSV5.js"/><link rel="modulepreload" href="/build/_shared/chunk-OJ5IIOG7.js"/><link rel="modulepreload" href="/build/_shared/chunk-6LPVB4UM.js"/><link rel="modulepreload" href="/build/_shared/chunk-PHSYQFSR.js"/><link rel="modulepreload" href="/build/_shared/chunk-QRYTEACA.js"/><link rel="modulepreload" href="/build/_shared/chunk-4QGBRIOX.js"/><link rel="modulepreload" href="/build/_shared/chunk-IJ353W5V.js"/><link rel="modulepreload" href="/build/_shared/chunk-WHP5D2LC.js"/><link rel="modulepreload" href="/build/_shared/chunk-V7BE2ITJ.js"/><link rel="modulepreload" href="/build/_shared/chunk-O5OSGOEN.js"/><link rel="modulepreload" href="/build/routes/author.$slug-Q4M3ULIT.js"/><script>window.__remixContext = {"future":{"v3_fetcherPersist":false,"v3_relativeSplatPath":false,"v3_throwAbortReason":false},"state":{"loaderData":{"root":{"brand":"itprotoday","siteName":"ITPro Today","ads":{"networkId":3834,"parentAdUnit":"itprotoday.home","enabledAds":"all","checkClientIP":false,"disableSponsorBar":true},"authConfig":{"enabled":false,"disableCaptcha":false},"vwo":{"enabled":true,"accountId":"734041"},"isDctsTurnOn":false,"oneTrust":{"siteId":"dfd08c13-c8cf-43d1-8ccc-a1ca99dc6d5e"},"gtmIds":{"primary":"GTM-5523ZCM","secondary":"GTM-MTN2X7K"},"ui":{"brand":"itprotoday","theme":"theme1","font":{"primary":{"name":"Inter","url":"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900\u0026display=swap"},"secondary":{"name":"Inter","url":"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900\u0026display=swap"}}},"environment":"prod","featureToggles":{"elnNewsletter":false,"elnWithoutNewsletter":false,"iirisAuthentication":false,"subBrand":false,"useSettingsRedirectAPIVersion1":false,"gatingEnabled":false,"iirisRecommendationDisabled":false,"iasPetEnabled":false,"bridgedMediaEnabled":false,"ecommerceEnabled":false,"iirisRecommendationVer":"version4","weather3MonthForecastEnabled":false},"layout":{"socialLinks":[{"type":"Facebook","url":"https://www.facebook.com/ITProToday/"},{"type":"Twitter","url":"https://twitter.com/ITProToday"},{"type":"Linkedin","url":"https://www.linkedin.com/company/itpro-today/"},{"type":"Youtube","url":"https://www.youtube.com/channel/UCedUgT8R7qC3vsOSxXS5-ZA"},{"type":"GoogleNews","url":"https://news.google.com/publications/CAAqKQgKIiNDQklTRkFnTWFoQUtEbWwwY0hKdmRHOWtZWGt1WTI5dEtBQVAB"},{"type":"RSS","url":"https://www.itprotoday.com/rss.xml"}],"informaBar":{"enabled":true,"leftSection":{"description":"IT Pro Today is part of the Informa Tech Division of Informa PLC","subMenu":[{"title":"INFORMA PLC","url":"https://informa.com/"},{"title":"ABOUT US","url":"https://informa.com/about-us/"},{"title":"INVESTOR RELATIONS","url":"https://informa.com/investors/"},{"title":"TALENT","url":"https://informa.com/talent/"}]},"rightSection":{"description":"This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726."}},"nav":{"mainMenuItems":[{"title":"Cloud","url":"/cloud-computing","seeAllLink":"SEE ALL Cloud","seeAllLinkUrl":"/cloud-computing","hasSubMenu":true,"subMenu":[{"title":"Cloud Services","url":"/cloud-computing/cloud-services"},{"title":"Hybrid Cloud","url":"/cloud-computing/hybrid-cloud"},{"title":"Private Cloud","url":"/cloud-computing/private-cloud"},{"title":"Public Cloud","url":"/cloud-computing/public-cloud"}],"recentContents":[{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt53af070a52be6e03/6740dfde63eae2e6b3cef491/Nadella-Ignite-1716x965_-_2024-11-22.jpg","alt":"Microsoft CEO Satya Nadella giving his Ignite keynote"},"articleName":"Microsoft Ignite 2024: Azure, AI Take Center Stage with Major Platform Updates","mobileHeadline":"Microsoft Ignite 2024: Azure, AI Take Center Stage with Major Platform Updates","articleSummary":"Microsoft is growing its cloud portfolio with a series of innovations it announced at Ignite that are aimed to boost AI and cloud-native deployments.","articleUrl":"/cloud-computing/microsoft-ignite-2024-azure-ai-take-center-stage-with-major-platform-updates","listPageUrl":"","date":"Nov 22, 2024","webinarStartTime":"","categoryName":"Cloud Computing","categoryUrl":"/cloud-computing","contentType":"Article","contributors":[{"name":"Sean Michael Kerner","link":"/author/sean-michael-kerner","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltee90581768c0b698/661d3e06d44b2446681f4a1d/SM-kerner.png"}],"timeRead":5,"variant":"card-vertical","layoutVariant":"vertical"},{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt8484312d2456ee2c/673f2a293d97736ae4c631fb/FinOps-concept-1716x1000.jpg","alt":"FinOps concept art"},"articleName":"Future-Proofing the Federal Cloud: Why the Public Sector Needs FinOps","mobileHeadline":"Future-Proofing the Federal Cloud: Why the Public Sector Needs FinOps","articleSummary":"As federal agencies embrace multi-cloud strategies, FinOps emerges as a vital framework to optimize cloud spending and navigate the complexities of modernization and security.","articleUrl":"/cloud-computing/future-proofing-the-federal-cloud-why-the-public-sector-needs-finops","listPageUrl":"","date":"Nov 21, 2024","webinarStartTime":"","categoryName":"Cloud Computing","categoryUrl":"/cloud-computing","contentType":"Article","contributors":[{"name":"Industry Perspectives","link":"/author/industry-perspectives","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd7fa51c8929351c1/6659df384bcb3c8c0e786295/ITP_IP.png"}],"timeRead":5,"variant":"card-vertical","layoutVariant":"vertical"}]},{"title":"OS","url":"/operating-systems","seeAllLink":"See All OS","seeAllLinkUrl":"/operating-systems","hasSubMenu":true,"subMenu":[{"title":"Microsoft Windows","url":"/operating-systems/microsoft-windows"},{"title":"Windows Server","url":"/operating-systems/windows-server"},{"title":"PowerShell","url":"/operating-systems/powershell"},{"title":"Linux OS","url":"/operating-systems/linux-os"},{"title":"SQL Server","url":"/operating-systems/sql-server"},{"title":"MacOS","url":"/operating-systems/macos"},{"title":"Android OS","url":"/operating-systems/android-os"},{"title":"ChromeOS","url":"/operating-systems/chromeos"},{"title":"Ubuntu","url":"/operating-systems/ubuntu"},{"title":"Red Hat OS","url":"/operating-systems/red-hat-os"}],"recentContents":[{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt8d62652f26754e66/6650a078b58e50d58b79f554/autonomous-car-1800.jpg","alt":"empty cockpit of autonomous car"},"articleName":"What Is a Real-Time Operating System, and Who Needs One?","mobileHeadline":"What Is a Real-Time Operating System, and Who Needs One?","articleSummary":"With such cutting-edge technology as autonomous vehicles and medical IoT devices, real-time performance is becoming a necessity — thus, the increasing need for real-time operating systems.","articleUrl":"/operating-systems/what-is-a-real-time-operating-system-and-who-needs-one-","listPageUrl":"","date":"Mar 5, 2024","webinarStartTime":"","categoryName":"Operating Systems","categoryUrl":"/operating-systems","contentType":"Article","contributors":[{"name":"Christopher Tozzi","link":"/author/christopher-tozzi","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt363e2b757d4697ca/6613c9a4e92bcfe48a891995/christophertozzi_2.jpg"}],"timeRead":6,"variant":"card-vertical","layoutVariant":"vertical"},{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltcaa6c9c167380d22/6617f81c4a487a61abdcc7e2/cubes_20with_20arrows_20and_20checkmarks_20illustrating_20a_20validation_20process.jpg","alt":"cubes with arrows and checkmarks illustrating a validation process"},"articleName":"PowerShell Parameter Validation: Ensuring Valid Input for Functions","mobileHeadline":"PowerShell Parameter Validation: Ensuring Valid Input for Functions","articleSummary":"It’s a good idea to validate function parameters before executing any actions. Learn these two techniques for performing parameter validation.","articleUrl":"/powershell/powershell-parameter-validation-ensuring-valid-input-for-functions","listPageUrl":"","date":"Feb 20, 2024","webinarStartTime":"","categoryName":"PowerShell","categoryUrl":"/operating-systems/powershell","contentType":"Article","contributors":[{"name":"Brien Posey","link":"/author/brien-posey","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltbd2d61ed5b87072c/6613c9a9bce8e3a5a1d68782/Brien_Posey.jpg"}],"timeRead":4,"variant":"card-vertical","layoutVariant":"vertical"}]},{"title":"IT Mgmt","url":"/it-management","seeAllLink":"See All IT Mgmt","seeAllLinkUrl":"/it-management","hasSubMenu":true,"subMenu":[{"title":"IT Operations","url":"/it-management/it-operations"},{"title":"DevOps","url":"/it-management/devops"},{"title":"Ops and More","url":"/it-management/ops-and-more"},{"title":"IT Sustainability","url":"/it-management/it-sustainability"},{"title":"IT Automation","url":"/it-management/it-automation"}],"recentContents":[{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltef1c012c16d42c8e/673f31ea0b465e9d0dc63974/skills-1716x965_-_2024-09-20.jpg","alt":"hand turning a Skills knob"},"articleName":"Use Skills-Based Talent Practices to Future-Proof Your Tech Organization","mobileHeadline":"Use Skills-Based Talent Practices to Future-Proof Your Tech Organization","articleSummary":"As tech leaders face resource constraints and rapid technological change, adopting a skills-based talent approach ensures teams remain adaptable and equipped to meet current and future business demands.","articleUrl":"/it-management/use-skills-based-talent-practices-to-future-proof-your-tech-organization","listPageUrl":"","date":"Nov 21, 2024","webinarStartTime":"","categoryName":"IT Management","categoryUrl":"/it-management","contentType":"Article","contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"timeRead":2,"variant":"card-vertical","layoutVariant":"vertical"},{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blted009d53042b6a96/673dc873f59c3326ad835a0e/jobs-key-1716x965_-_2024-08-21.jpg","alt":"jobs key on keyboard"},"articleName":"IT Jobs Outlook 2025: Evolving Skills, AI, Workplace Flexibility Will Shape IT Workforce","mobileHeadline":"IT Jobs Outlook 2025: Evolving Skills, AI, Workplace Flexibility Will Shape IT Workforce","articleSummary":"Demand for IT professionals will remain strong in 2025 as companies seek to meet the challenges of a rapidly changing tech landscape.","articleUrl":"/career-management/it-jobs-outlook-2025-evolving-skills-ai-workplace-flexibility-will-shape-it-workforce","listPageUrl":"","date":"Nov 20, 2024","webinarStartTime":"","categoryName":"Career Management","categoryUrl":"/career-management","contentType":"Article","contributors":[{"name":"Nathan Eddy","link":"/author/nathan-eddy","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd76bf4740a6e8198/6658946837ce132abb475f63/nathan-eddy-pic.webp"}],"timeRead":8,"variant":"card-vertical","layoutVariant":"vertical"}]},{"title":"Career","url":"/career-management","seeAllLink":"See All Career Mgmt","seeAllLinkUrl":"/career-management","hasSubMenu":true,"subMenu":[{"title":"Career Tips","url":"/career-management/career-tips"},{"title":"Certifications","url":"/career-management/certifications"},{"title":"Training","url":"/career-management/training"}],"recentContents":[{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltef1c012c16d42c8e/673f31ea0b465e9d0dc63974/skills-1716x965_-_2024-09-20.jpg","alt":"hand turning a Skills knob"},"articleName":"Use Skills-Based Talent Practices to Future-Proof Your Tech Organization","mobileHeadline":"Use Skills-Based Talent Practices to Future-Proof Your Tech Organization","articleSummary":"As tech leaders face resource constraints and rapid technological change, adopting a skills-based talent approach ensures teams remain adaptable and equipped to meet current and future business demands.","articleUrl":"/it-management/use-skills-based-talent-practices-to-future-proof-your-tech-organization","listPageUrl":"","date":"Nov 21, 2024","webinarStartTime":"","categoryName":"IT Management","categoryUrl":"/it-management","contentType":"Article","contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"timeRead":2,"variant":"card-vertical","layoutVariant":"vertical"},{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blted009d53042b6a96/673dc873f59c3326ad835a0e/jobs-key-1716x965_-_2024-08-21.jpg","alt":"jobs key on keyboard"},"articleName":"IT Jobs Outlook 2025: Evolving Skills, AI, Workplace Flexibility Will Shape IT Workforce","mobileHeadline":"IT Jobs Outlook 2025: Evolving Skills, AI, Workplace Flexibility Will Shape IT Workforce","articleSummary":"Demand for IT professionals will remain strong in 2025 as companies seek to meet the challenges of a rapidly changing tech landscape.","articleUrl":"/career-management/it-jobs-outlook-2025-evolving-skills-ai-workplace-flexibility-will-shape-it-workforce","listPageUrl":"","date":"Nov 20, 2024","webinarStartTime":"","categoryName":"Career Management","categoryUrl":"/career-management","contentType":"Article","contributors":[{"name":"Nathan Eddy","link":"/author/nathan-eddy","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd76bf4740a6e8198/6658946837ce132abb475f63/nathan-eddy-pic.webp"}],"timeRead":8,"variant":"card-vertical","layoutVariant":"vertical"}]},{"title":"Storage","url":"/data-storage","seeAllLink":"See All Data Storage","seeAllLinkUrl":"/data-storage","hasSubMenu":true,"subMenu":[{"title":"Cloud Storage","url":"/data-storage/cloud-storage"},{"title":"High Speed Storage","url":"/data-storage/high-speed-storage"},{"title":"Data Backup","url":"/data-storage/data-backup"},{"title":"Disaster Recovery","url":"/data-storage/disaster-recovery"}],"recentContents":[{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt353b531613f7649b/671fd698f99f6629af82a1f1/Cloud_Data_Protection_Icon_YAY_Media_AS_via_Alamy_Stock.jpg","alt":"A silver and gray cloud data protection icon showing a cloud with a lock inside of it."},"articleName":"Data Protection Is Critical in the Multi-Cloud","mobileHeadline":"Data Protection Is Critical in the Multi-Cloud","articleSummary":"This session reveals risks to consider when designing a data protection strategy and the importance of remote recovery for catastrophic incidents.","articleUrl":"/data-backup/data-protection-is-critical-in-the-multicloud","listPageUrl":"/videos","date":"Oct 31, 2024","webinarStartTime":"","categoryName":"Data Backup","categoryUrl":"/data-storage/data-backup","contentType":"Video","contributors":[{"name":"Brandon Taylor","link":"/author/brandon-taylor","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blte8d1693765e9e98a/661d3e06f6197395e0dc3b59/BT_Headshot_cropped.jpg"}],"timeRead":5,"variant":"card-vertical","layoutVariant":"vertical"},{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt09f304627bf20e3c/671a597a2184e03751062d8b/mainframe-1716x965_-_2024-10-24.jpg","alt":"mainframe"},"articleName":"Mainframe Technology Is Far From Obsolete","mobileHeadline":"Mainframe Technology Is Far From Obsolete","articleSummary":"Mainframe technology remains essential for security, scalability, and efficiency. To stay competitive, companies must blend legacy mainframes with modern systems.","articleUrl":"/it-infrastructure/mainframe-technology-is-far-from-obsolete","listPageUrl":"","date":"Oct 24, 2024","webinarStartTime":"","categoryName":"IT Infrastructure","categoryUrl":"/it-infrastructure","contentType":"Article","contributors":[{"name":"Industry Perspectives","link":"/author/industry-perspectives","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd7fa51c8929351c1/6659df384bcb3c8c0e786295/ITP_IP.png"}],"timeRead":4,"variant":"card-vertical","layoutVariant":"vertical"}]},{"title":"Security","url":"/it-security","seeAllLink":"See All IT Security","seeAllLinkUrl":"/it-security","hasSubMenu":true,"subMenu":[{"title":"Vulnerabilities \u0026 Threats","url":"/it-security/vulnerabilities-threats"},{"title":"Attacks \u0026 Breaches","url":"/it-security/attacks-breaches"},{"title":"Regulatory Compliance","url":"/it-security/regulatory-compliance"},{"title":"Data Privacy","url":"/it-security/data-privacy"},{"title":"Cloud Security","url":"/it-security/cloud-security"},{"title":"Endpoint Security","url":"/it-security/endpoint-security"},{"title":"Identity Mgmt \u0026 Access Control","url":"/it-security/identity-management-access-control"}],"recentContents":[{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt43ed0d8939877e78/673e1365c8592f3713678cc2/root_access_alarm_bell.gif","alt":"a person rolls their eyes at the sounding of an alarm bell"},"articleName":"How Do I Tell My IT Security Manager To Stop Crying Wolf?","mobileHeadline":"How Do I Tell My IT Security Manager To Stop Crying Wolf?","articleSummary":"An IT security pro asks for advice on handling a manager who constantly sounds the alarm on potential incidents.","articleUrl":"/it-security/how-do-i-tell-my-it-security-manager-to-stop-crying-wolf-","listPageUrl":"","date":"Nov 21, 2024","webinarStartTime":"","categoryName":"IT Security","categoryUrl":"/it-security","contentType":"Article","contributors":[{"name":"Danielle Meinert","link":"/author/danielle-meinert","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6cea48e7fba9fe0c/66744228de07df7824ca2798/danielle-profile-photo.jpeg"}],"timeRead":4,"variant":"card-vertical","layoutVariant":"vertical"},{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt82f6619072e322fb/67334461514ccda012ede816/fingerprint-1716x965_-_2024-11-12T070413.515.jpg","alt":"artwork showing fingerprint and binary code"},"articleName":"Why Future-proofing Cybersecurity Regulatory Frameworks Is Essential","mobileHeadline":"Why Future-proofing Cybersecurity Regulatory Frameworks Is Essential","articleSummary":"Learn why and how to design adaptable regulatory frameworks in the age of AI.","articleUrl":"/regulatory-compliance/why-future-proofing-cybersecurity-regulatory-frameworks-is-essential","listPageUrl":"","date":"Nov 12, 2024","webinarStartTime":"","categoryName":"Regulatory Compliance","categoryUrl":"/it-security/regulatory-compliance","contentType":"Article","contributors":[{"name":"Industry Perspectives","link":"/author/industry-perspectives","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd7fa51c8929351c1/6659df384bcb3c8c0e786295/ITP_IP.png"}],"timeRead":6,"variant":"card-vertical","layoutVariant":"vertical"}]},{"title":"Dev","url":"/software-development","seeAllLink":"See All Software Dev","seeAllLinkUrl":"/software-development","hasSubMenu":true,"subMenu":[{"title":"Cloud Native","url":"/software-development/cloud-native"},{"title":"Programming Languages","url":"/software-development/programming-languages"},{"title":"No-Code/Low-Code","url":"/software-development/no-code-low-code"},{"title":"Software Development Techniques","url":"/software-development/software-development-techniques"}],"recentContents":[{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf57781f189deb1bc/673b30c17a0f43d044091d3b/DevOps-1716x965.jpg","alt":"software developer working at his workstation"},"articleName":"From Declarative to Iterative: How Software Development Is Evolving","mobileHeadline":"From Declarative to Iterative: How Software Development Is Evolving","articleSummary":"AI is changing the way code is generated so developers can gain more speed advantages. Embedded capabilities in IDEs and low-code platforms help.","articleUrl":"/software-development/from-declarative-to-iterative-how-software-development-is-evolving","listPageUrl":"","date":"Nov 18, 2024","webinarStartTime":"","categoryName":"Software Development","categoryUrl":"/software-development","contentType":"Article","contributors":[{"name":"Lisa Morgan","link":"/author/lisa-morgan","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb11c8ae625be7abe/6613c9bdd9d6083199a9aceb/lisamorgan.jpg"},{"name":"InformationWeek","link":"/author/informationweek","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfe700963d293545b/662c186ab6e73c2096cb1da7/251403_Favicon_512x512.png"}],"timeRead":1,"variant":"card-vertical","layoutVariant":"vertical"},{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt82f6619072e322fb/67334461514ccda012ede816/fingerprint-1716x965_-_2024-11-12T070413.515.jpg","alt":"artwork showing fingerprint and binary code"},"articleName":"Why Future-proofing Cybersecurity Regulatory Frameworks Is Essential","mobileHeadline":"Why Future-proofing Cybersecurity Regulatory Frameworks Is Essential","articleSummary":"Learn why and how to design adaptable regulatory frameworks in the age of AI.","articleUrl":"/regulatory-compliance/why-future-proofing-cybersecurity-regulatory-frameworks-is-essential","listPageUrl":"","date":"Nov 12, 2024","webinarStartTime":"","categoryName":"Regulatory Compliance","categoryUrl":"/it-security/regulatory-compliance","contentType":"Article","contributors":[{"name":"Industry Perspectives","link":"/author/industry-perspectives","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd7fa51c8929351c1/6659df384bcb3c8c0e786295/ITP_IP.png"}],"timeRead":6,"variant":"card-vertical","layoutVariant":"vertical"}]},{"title":"DX","url":"/digital-transformation","seeAllLink":"See All Digital Transformation","seeAllLinkUrl":"/digital-transformation","hasSubMenu":true,"subMenu":[{"title":"AI \u0026 Machine Learning","url":"/digital-transformation/ai-machine-learning"},{"title":"Edge Computing","url":"/digital-transformation/edge-computing"},{"title":"IoT","url":"/digital-transformation/iot"}],"recentContents":[{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt13044b7405422cb5/67363b557bfb2a6b4a43f78a/HoloLens_on_display.jpg","alt":"the microsoft hololens glasses on display"},"articleName":"What Comes After HoloLens 2? Exploring Microsoft’s AR/VR Future","mobileHeadline":"What Comes After HoloLens 2? Exploring Microsoft’s AR/VR Future","articleSummary":"Microsoft revealed no plans for an immediate HoloLens 2 successor, raising questions about the company’s commitment to its VR/AR technologies.","articleUrl":"/digital-transformation/what-comes-after-hololens-2-exploring-microsoft-s-ar-vr-future","listPageUrl":"","date":"Nov 15, 2024","webinarStartTime":"","categoryName":"Digital Transformation","categoryUrl":"/digital-transformation","contentType":"Article","contributors":[{"name":"Brien Posey","link":"/author/brien-posey","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltbd2d61ed5b87072c/6613c9a9bce8e3a5a1d68782/Brien_Posey.jpg"}],"timeRead":3,"variant":"card-vertical","layoutVariant":"vertical"},{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blta3ddc604c28a7356/67362760798a713a01062308/image-1716x1000_(7).jpg","alt":"a 3d printer in the process of printing an object"},"articleName":"How To Repair Corrupt STL Files for 3D Printing","mobileHeadline":"How To Repair Corrupt STL Files for 3D Printing","articleSummary":"Repair options include using dedicated STL repair software, manual CAD edits, or slicer repair tools, along with preventative practices like backing up files and checking geometry integrity to ensure successful prints.","articleUrl":"/digital-transformation/how-to-repair-corrupt-stl-files-for-3d-printing","listPageUrl":"","date":"Nov 14, 2024","webinarStartTime":"","categoryName":"Digital Transformation","categoryUrl":"/digital-transformation","contentType":"Article","contributors":[{"name":"Industry Perspectives","link":"/author/industry-perspectives","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd7fa51c8929351c1/6659df384bcb3c8c0e786295/ITP_IP.png"}],"timeRead":3,"variant":"card-vertical","layoutVariant":"vertical"}]},{"title":"Infrastructure","url":"/it-infrastructure","seeAllLink":"See All Infrastructure","seeAllLinkUrl":"/it-infrastructure","hasSubMenu":true,"subMenu":[{"title":"High Performance Computing","url":"/it-infrastructure/high-performance-computing"},{"title":"Containerization","url":"/it-infrastructure/containerization"},{"title":"Server Virtualization","url":"/it-infrastructure/server-virtualization"}],"recentContents":[{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt241793d56bb052d5/6731f5bfc64003eae43f7108/AIOps-1716x965_-_2024-10-29.jpg","alt":"AIOps"},"articleName":"Transforming Enterprise Networks With AIOps: A New Era of Intelligent Connectivity","mobileHeadline":"Transforming Enterprise Networks With AIOps: A New Era of Intelligent Connectivity","articleSummary":"Learn how AIOps provides real-time contextualization and insights across the IT estate, ensuring that network infrastructure operates at peak efficiency in serving business needs.","articleUrl":"/ops-and-more/transforming-enterprise-networks-with-aiops-a-new-era-of-intelligent-connectivity","listPageUrl":"","date":"Nov 11, 2024","webinarStartTime":"","categoryName":"Ops and More","categoryUrl":"/it-management/ops-and-more","contentType":"Article","contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"timeRead":4,"variant":"card-vertical","layoutVariant":"vertical"},{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt09f304627bf20e3c/671a597a2184e03751062d8b/mainframe-1716x965_-_2024-10-24.jpg","alt":"mainframe"},"articleName":"Mainframe Technology Is Far From Obsolete","mobileHeadline":"Mainframe Technology Is Far From Obsolete","articleSummary":"Mainframe technology remains essential for security, scalability, and efficiency. To stay competitive, companies must blend legacy mainframes with modern systems.","articleUrl":"/it-infrastructure/mainframe-technology-is-far-from-obsolete","listPageUrl":"","date":"Oct 24, 2024","webinarStartTime":"","categoryName":"IT Infrastructure","categoryUrl":"/it-infrastructure","contentType":"Article","contributors":[{"name":"Industry Perspectives","link":"/author/industry-perspectives","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd7fa51c8929351c1/6659df384bcb3c8c0e786295/ITP_IP.png"}],"timeRead":4,"variant":"card-vertical","layoutVariant":"vertical"}]},{"title":"More","url":"/resources","seeAllLink":"Resource Library","seeAllLinkUrl":"/resources","hasSubMenu":true,"subMenu":[{"title":"Newsletters","url":"https://itp-resources.itprotoday.com/c/pubRD.mpl?secure=1\u0026sr=pp\u0026_t=pp:\u0026qf=w_itpb86\u0026ch=itpnav"},{"title":"How To…?","url":"/latest-how-to"},{"title":"Industry Perspectives","url":"/program/industry-perspectives"},{"title":"Business Resources","url":"/resources"},{"title":"Reports/Research","url":"/resources?types=Survey+Report\u0026page=1"},{"title":"Online Events","url":"/resources?page=1\u0026types=Virtual+Event\u0026types=Webinar"},{"title":"Live Events","url":"/events"},{"title":"Videos","url":"/videos"},{"title":"White Papers","url":"/resources?page=1\u0026types=White+Paper"},{"title":"Advertise With Us","url":"/advertise"},{"title":"About Us","url":"/about-us"}],"recentContents":[]}],"secondaryMenu":[{"title":"Documents","url":"/documents"},{"title":"Online Events","url":"/resources?page=1\u0026types=Virtual+Event\u0026types=Webinar"},{"title":"Advertise","url":"/advertise"},{"title":"About","url":"/about-us"}]},"megaMenu":{"largeMenu":[{"title":"Cloud","url":"/cloud-computing","subMenu":[{"title":"Cloud Services","url":"/cloud-computing/cloud-services"},{"title":"Hybrid Cloud","url":"/cloud-computing/hybrid-cloud"},{"title":"Private Cloud","url":"/cloud-computing/private-cloud"},{"title":"Public Cloud","url":"/cloud-computing/public-cloud"}],"seeAllLink":"SEE ALL Cloud","seeAllLinkUrl":"/cloud-computing"},{"title":"OS","url":"/operating-systems","subMenu":[{"title":"Microsoft Windows","url":"/operating-systems/microsoft-windows"},{"title":"Windows Server","url":"/operating-systems/windows-server"},{"title":"PowerShell","url":"/operating-systems/powershell"},{"title":"Linux OS","url":"/operating-systems/linux-os"},{"title":"SQL Server","url":"/operating-systems/sql-server"},{"title":"MacOS","url":"/operating-systems/macos"},{"title":"Android OS","url":"/operating-systems/android-os"},{"title":"ChromeOS","url":"/operating-systems/chromeos"},{"title":"Ubuntu","url":"/operating-systems/ubuntu"},{"title":"Red Hat OS","url":"/operating-systems/red-hat-os"}],"seeAllLink":"See All OS","seeAllLinkUrl":"/operating-systems"},{"title":"IT Mgmt","url":"/it-management","subMenu":[{"title":"IT Operations","url":"/it-management/it-operations"},{"title":"DevOps","url":"/it-management/devops"},{"title":"Ops and More","url":"/it-management/ops-and-more"},{"title":"IT Sustainability","url":"/it-management/it-sustainability"},{"title":"IT Automation","url":"/it-management/it-automation"}],"seeAllLink":"See All IT Mgmt","seeAllLinkUrl":"/it-management"},{"title":"Career","url":"/career-management","subMenu":[{"title":"Career Tips","url":"/career-management/career-tips"},{"title":"Certifications","url":"/career-management/certifications"},{"title":"Training","url":"/career-management/training"}],"seeAllLink":"See All Career Mgmt","seeAllLinkUrl":"/career-management"},{"title":"Storage","url":"/data-storage","subMenu":[{"title":"Cloud Storage","url":"/data-storage/cloud-storage"},{"title":"High Speed Storage","url":"/data-storage/high-speed-storage"},{"title":"Data Backup","url":"/data-storage/data-backup"},{"title":"Disaster Recovery","url":"/data-storage/disaster-recovery"}],"seeAllLink":"See All Data Storage","seeAllLinkUrl":"/data-storage"},{"title":"Security","url":"/it-security","subMenu":[{"title":"Vulnerabilities \u0026 Threats","url":"/it-security/vulnerabilities-threats"},{"title":"Attacks \u0026 Breaches","url":"/it-security/attacks-breaches"},{"title":"Regulatory Compliance","url":"/it-security/regulatory-compliance"},{"title":"Data Privacy","url":"/it-security/data-privacy"},{"title":"Cloud Security","url":"/it-security/cloud-security"},{"title":"Endpoint Security","url":"/it-security/endpoint-security"},{"title":"Identity Mgmt \u0026 Access Control","url":"/it-security/identity-management-access-control"}],"seeAllLink":"See All IT Security","seeAllLinkUrl":"/it-security"},{"title":"Dev","url":"/software-development","subMenu":[{"title":"Cloud Native","url":"/software-development/cloud-native"},{"title":"Programming Languages","url":"/software-development/programming-languages"},{"title":"No-Code/Low-Code","url":"/software-development/no-code-low-code"},{"title":"Software Development Techniques","url":"/software-development/software-development-techniques"}],"seeAllLink":"See All Software Dev","seeAllLinkUrl":"/software-development"},{"title":"DX","url":"/digital-transformation","subMenu":[{"title":"AI \u0026 Machine Learning","url":"/digital-transformation/ai-machine-learning"},{"title":"Edge Computing","url":"/digital-transformation/edge-computing"},{"title":"IoT","url":"/digital-transformation/iot"}],"seeAllLink":"See All Digital Transformation","seeAllLinkUrl":"/digital-transformation"},{"title":"Infrastructure","url":"/it-infrastructure","subMenu":[{"title":"High Performance Computing","url":"/it-infrastructure/high-performance-computing"},{"title":"Containerization","url":"/it-infrastructure/containerization"},{"title":"Server Virtualization","url":"/it-infrastructure/server-virtualization"}],"seeAllLink":"See All Infrastructure","seeAllLinkUrl":"/it-infrastructure"},{"title":"More","url":"/resources","subMenu":[{"title":"Newsletters","url":"https://itp-resources.itprotoday.com/c/pubRD.mpl?secure=1\u0026sr=pp\u0026_t=pp:\u0026qf=w_itpb86\u0026ch=itpnav"},{"title":"How To…?","url":"/latest-how-to"},{"title":"Industry Perspectives","url":"/program/industry-perspectives"},{"title":"Business Resources","url":"/resources"},{"title":"Reports/Research","url":"/resources?types=Survey+Report\u0026page=1"},{"title":"Online Events","url":"/resources?page=1\u0026types=Virtual+Event\u0026types=Webinar"},{"title":"Live Events","url":"/events"},{"title":"Videos","url":"/videos"},{"title":"White Papers","url":"/resources?page=1\u0026types=White+Paper"},{"title":"Advertise With Us","url":"/advertise"},{"title":"About Us","url":"/about-us"}],"seeAllLink":"Resource Library","seeAllLinkUrl":"/resources"}],"smallMenu":[{"title":"Browse","url":"","subMenu":[{"title":"Documents","url":"/documents"},{"title":"Online Events","url":"/resources?page=1\u0026types=Virtual+Event\u0026types=Webinar"},{"title":"Live Events","url":"/events"},{"title":"Videos","url":"/videos"},{"title":"Industry Perspectives","url":"/program/industry-perspectives"},{"title":"Business Resources","url":"/resources"}]},{"title":"Advertise","url":"","subMenu":[{"title":"Explore Marketing Solutions","url":"/advertise"}]},{"title":"Discover More","url":"","subMenu":[{"title":"Data Center Knowledge","url":"https://www.datacenterknowledge.com/"},{"title":"InformationWeek","url":"https://www.informationweek.com/"},{"title":"Network Computing","url":"https://www.networkcomputing.com/"},{"title":"No Jitter","url":"https://www.nojitter.com/"},{"title":"AFCOM","url":"https://afcom.com/"}]}],"sideNavSections":[{"title":"Communicate","url":"","subMenu":[{"title":"About Us","url":"/about-us"},{"title":"Contact Us","url":"/contact-us"}],"seeAllLink":"","seeAllLinkUrl":""}]},"navBase":{"logo":{"url":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6a28f214e959257b/65dc5966d7e7df040ab9cb3f/Logo_-_IT_Pro_Today.svg","altText":"ITPro Today Logo"}},"footer":{"logo":{"url":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6988047454ea0f07/65def58180429104075f67f7/Logo_-_IT_Pro_Today@2x.png","altText":"ITPro Today Logo"},"linkSections":[{"links":[{"image":{"altText":"","url":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6988047454ea0f07/65def58180429104075f67f7/Logo_-_IT_Pro_Today@2x.png"},"openInNewTab":true,"title":"Data Center Knowledge","url":"https://www.datacenterknowledge.com/"},{"image":{"altText":"","url":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6988047454ea0f07/65def58180429104075f67f7/Logo_-_IT_Pro_Today@2x.png"},"openInNewTab":true,"title":"InformationWeek","url":"https://www.informationweek.com/"},{"image":{"altText":"","url":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6988047454ea0f07/65def58180429104075f67f7/Logo_-_IT_Pro_Today@2x.png"},"openInNewTab":true,"title":"Network Computing","url":"https://www.networkcomputing.com/"},{"image":{"altText":"","url":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6988047454ea0f07/65def58180429104075f67f7/Logo_-_IT_Pro_Today@2x.png"},"openInNewTab":true,"title":"No Jitter","url":"https://www.nojitter.com/"},{"image":{"altText":"","url":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6988047454ea0f07/65def58180429104075f67f7/Logo_-_IT_Pro_Today@2x.png"},"openInNewTab":true,"title":"AFCOM","url":"https://afcom.com/"}],"title":"Discover More","type":"1"},{"links":[{"image":{"altText":"","url":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6988047454ea0f07/65def58180429104075f67f7/Logo_-_IT_Pro_Today@2x.png"},"openInNewTab":true,"title":"About Us","url":"/about-us"},{"image":{"altText":"","url":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6988047454ea0f07/65def58180429104075f67f7/Logo_-_IT_Pro_Today@2x.png"},"openInNewTab":true,"title":"Reprints","url":"https://info.wrightsmedia.com/informa-licensing-reprints-request"},{"image":{"altText":"","url":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6988047454ea0f07/65def58180429104075f67f7/Logo_-_IT_Pro_Today@2x.png"},"openInNewTab":true,"title":"Advertise","url":"/advertise"},{"image":{"altText":"","url":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6988047454ea0f07/65def58180429104075f67f7/Logo_-_IT_Pro_Today@2x.png"},"openInNewTab":true,"title":"Contact Us","url":"/contact-us"}],"title":"Working With Us","type":"1"}],"brandLinks":[],"copyright":{"businessUnit":{"url":"https://www.informatech.com/","name":"Informa Tech","logoUrl":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt677f6470bd1b54d5/65d7393aac9ea2040a7bf57c/InformaTechBTYB_240x60.png"},"links":[{"image":{"altText":"Home","url":"https://www.informatech.com/"},"openInNewTab":false,"title":"Home","url":"https://www.informatech.com/"},{"image":{"altText":"CCPA: Do not sell my personal info","url":"https://privacyportal-eu-cdn.onetrust.com/dsarwebform/c1f53e84-9f05-4169-a854-85052b63c50b/5f26b553-52cc-4973-a761-295d5634a6b6.html"},"openInNewTab":true,"title":"CCPA: Do not sell my personal info","url":"https://privacyportal-eu-cdn.onetrust.com/dsarwebform/c1f53e84-9f05-4169-a854-85052b63c50b/5f26b553-52cc-4973-a761-295d5634a6b6.html"},{"image":{"altText":"Cookies","url":"/cookie-policy"},"openInNewTab":true,"title":"Cookies","url":"/cookie-policy"},{"image":{"altText":"Privacy","url":"https://informa.com/privacy-policy/"},"openInNewTab":true,"title":"Privacy","url":"https://informa.com/privacy-policy/"},{"image":{"altText":"Terms","url":"https://tech.informa.com/terms-and-conditions"},"openInNewTab":true,"title":"Terms","url":"https://tech.informa.com/terms-and-conditions"}],"title":" Informa PLC Informa UK Limited is a company registered in England and Wales with company number 1072954 whose registered office is 5 Howick Place, London, SW1P 1WG."}},"isSponsorBarEnabled":true,"isPaidContent":false},"newRelicJs":"window.NREUM||(NREUM={});NREUM.info = {\"agent\":\"\",\"beacon\":\"bam.eu01.nr-data.net\",\"errorBeacon\":\"bam.eu01.nr-data.net\",\"licenseKey\":\"NRJS-26ae6a3b09493bbcc87\",\"applicationID\":\"514059305\",\"agentToken\":null,\"applicationTime\":23.197141,\"transactionName\":\"MhBSZQoZWEEDU0ZaXgtadUkIClNBEVpBHHYgIR8eUg==\",\"queueTime\":0,\"ttGuid\":\"00bcbff944762676\"}; (window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:[\"bam.eu01.nr-data.net\"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:\"538480682\",accountID:\"3936348\",trustKey:\"3288925\",xpid:\"Vw8EV1VXABAFVVVSAggEVlE=\",licenseKey:\"NRJS-26ae6a3b09493bbcc87\",applicationID:\"514059305\"};;/*! For license information please see nr-loader-spa-1.274.0.min.js.LICENSE.txt */\n(()=\u003e{var e,t,r={8122:(e,t,r)=\u003e{\"use strict\";r.d(t,{a:()=\u003ei});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)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])\u0026\u0026Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):\"object\"==typeof e[a]\u0026\u0026\"object\"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=\u003e{\"use strict\";r.d(t,{Vp:()=\u003ec,fn:()=\u003es,x1:()=\u003eu});var n=r(384),i=r(8122);const o={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},a={};function s(e){try{const t=c(e);return!!t.licenseKey\u0026\u0026!!t.errorBeacon\u0026\u0026!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error(\"All info objects require an agent identifier!\");if(!a[e])throw new Error(\"Info for \".concat(e,\" was never set\"));return a[e]}function u(e,t){if(!e)throw new Error(\"All info objects require an agent identifier!\");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r\u0026\u0026(r.info=a[e])}},9417:(e,t,r)=\u003e{\"use strict\";r.d(t,{D0:()=\u003eh,gD:()=\u003eg,xN:()=\u003ep});var n=r(993);const i=e=\u003e{if(!e||\"string\"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u=\"[data-nr-mask]\",d=()=\u003e{const e={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,harvestTimeSeconds:10,autoStart:!0},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},feature_flags:[],generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,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){i(t)?e.mask_selector=\"\".concat(t,\",\").concat(u):\"\"===t||null===t?e.mask_selector=u:(0,a.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){i(t)?e.block_selector+=\",\".concat(t):\"\"!==t\u0026\u0026(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t\u0026\u0026\"object\"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0,user_actions:{enabled:!0}}},l={},f=\"All configuration objects require an agent identifier!\";function h(e){if(!e)throw new Error(f);if(!l[e])throw new Error(\"Configuration for \".concat(e,\" was never set\"));return l[e]}function p(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r\u0026\u0026(r.init=l[e])}function g(e,t){if(!e)throw new Error(f);var r=h(e);if(r){for(var n=t.split(\".\"),i=0;i\u003cn.length-1;i++)if(\"object\"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=\u003e{\"use strict\";r.d(t,{a:()=\u003ec,o:()=\u003es});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error(\"All loader-config objects require an agent identifier!\");if(!a[e])throw new Error(\"LoaderConfig for \".concat(e,\" was never set\"));return a[e]}function c(e,t){if(!e)throw new Error(\"All loader-config objects require an agent identifier!\");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r\u0026\u0026(r.loader_config=a[e])}},3371:(e,t,r)=\u003e{\"use strict\";r.d(t,{V:()=\u003ef,f:()=\u003el});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0},d={};function l(e){if(!e)throw new Error(\"All runtime objects require an agent identifier!\");if(!d[e])throw new Error(\"Runtime for \".concat(e,\" was never set\"));return d[e]}function f(e,t){if(!e)throw new Error(\"All runtime objects require an agent identifier!\");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],\"harvestCount\")||Object.defineProperty(d[e],\"harvestCount\",{get:()=\u003e++s});const r=(0,i.nY)(e);r\u0026\u0026(r.runtime=d[e])}},9324:(e,t,r)=\u003e{\"use strict\";r.d(t,{F3:()=\u003ei,Xs:()=\u003eo,Yq:()=\u003ea,xv:()=\u003en});const n=\"1.274.0\",i=\"PROD\",o=\"CDN\",a=\"^2.0.0-alpha.17\"},6154:(e,t,r)=\u003e{\"use strict\";r.d(t,{A4:()=\u003es,OF:()=\u003ed,RI:()=\u003ei,WN:()=\u003eh,bv:()=\u003eo,gm:()=\u003ea,lR:()=\u003ef,m:()=\u003eu,mw:()=\u003ec,sb:()=\u003el});var n=r(1863);const i=\"undefined\"!=typeof window\u0026\u0026!!window.document,o=\"undefined\"!=typeof WorkerGlobalScope\u0026\u0026(\"undefined\"!=typeof self\u0026\u0026self instanceof WorkerGlobalScope\u0026\u0026self.navigator instanceof WorkerNavigator||\"undefined\"!=typeof globalThis\u0026\u0026globalThis instanceof WorkerGlobalScope\u0026\u0026globalThis.navigator instanceof WorkerNavigator),a=i?window:\"undefined\"!=typeof WorkerGlobalScope\u0026\u0026(\"undefined\"!=typeof self\u0026\u0026self instanceof WorkerGlobalScope\u0026\u0026self||\"undefined\"!=typeof globalThis\u0026\u0026globalThis instanceof WorkerGlobalScope\u0026\u0026globalThis),s=\"complete\"===a?.document?.readyState,c=Boolean(\"hidden\"===a?.document?.visibilityState),u=\"\"+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d\u0026\u0026\"undefined\"==typeof SharedWorker,f=(()=\u003e{const e=a.navigator?.userAgent?.match(/Firefox[/\\s](\\d+\\.\\d+)/);return Array.isArray(e)\u0026\u0026e.length\u003e=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=\u003e{\"use strict\";r.d(t,{Xv:()=\u003ea,gX:()=\u003ei,iW:()=\u003eo});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t\u003cn.length;t++){var r=n[t];if(\"*\"===r.hostname)return!1;if(s(r.hostname,e.hostname)\u0026\u0026c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e\u0026\u0026e.length)for(var t=0;t\u003ce.length;t++){let r=e[t];if(!r)continue;0===r.indexOf(\"http://\")?r=r.substring(7):0===r.indexOf(\"https://\")\u0026\u0026(r=r.substring(8));const i=r.indexOf(\"/\");let o,a;i\u003e0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a=\"\");let[s]=o.split(\":\");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length\u003et.length)\u0026\u0026t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf(\"/\")\u0026\u0026(e=e.substring(1)),0===t.indexOf(\"/\")\u0026\u0026(t=t.substring(1)),\"\"===e||e===t}},1687:(e,t,r)=\u003e{\"use strict\";r.d(t,{Ak:()=\u003ec,Ze:()=\u003el,x3:()=\u003eu});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e\u0026\u0026s[e]\u0026\u0026(s[e].get(t)\u0026\u0026s[e].delete(t),h(e,t,!1),s[e].size\u0026\u0026f(e))}function d(e){if(!e)throw new Error(\"agentIdentifier required\");s[e]||(s[e]=new Map)}function l(e=\"\",t=\"feature\",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=\u003et.staged))\u0026\u0026(t.sort(((e,t)=\u003ee[1].priority-t[1].priority)),t.forEach((([t])=\u003e{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted\u0026\u0026o.backlog\u0026\u0026s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e\u0026\u0026t\u003ce.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=\u003e{Object.values(t||{}).forEach((t=\u003e{t[0]?.on\u0026\u0026t[0]?.context()instanceof a.y\u0026\u0026t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit(\"drain-\"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=\u003e{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=\u003e{\"use strict\";r.d(t,{P:()=\u003ec,ee:()=\u003eu});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c=\"nr@context:\".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length\u0026\u0026(0,o.f)(r).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\u003cr.length;i++)r[i]===t\u0026\u0026r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o\u0026\u0026(o=!0);if(u.aborted\u0026\u0026!i)return;t\u0026\u0026o\u0026\u0026t.emit(e,r,n);for(var a=h(n),c=g(e),d=c.length,l=0;l\u003cd;l++)c[l].apply(a,r);var p=v()[s[e]];p\u0026\u0026p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||\"feature\",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=\u003e{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=\u003e{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t\u0026\u0026\"object\"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,\"aborted\",{get:()=\u003e{let e=f._aborted||!1;return e||(t\u0026\u0026(e=t.aborted),e)}}),f;function h(e){return e\u0026\u0026e instanceof a.y?e:e?(0,i.I)(e,c,(()=\u003enew a.y(c))):new a.y(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,\"globalEE\"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=\u003e{\"use strict\";r.d(t,{y:()=\u003en});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=\u003e{\"use strict\";r.d(t,{d:()=\u003en,p:()=\u003ei});var n=r(7836).ee.get(\"handle\");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=\u003e{\"use strict\";r.d(t,{i:()=\u003eo});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o=\"feature\"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=\u003e{\"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 o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=\u003eo,jT:()=\u003en,sp:()=\u003ei})},5607:(e,t,r)=\u003e{\"use strict\";r.d(t,{W:()=\u003en});const n=(0,r(9566).bz)()},9566:(e,t,r)=\u003e{\"use strict\";r.d(t,{LA:()=\u003es,ZF:()=\u003ec,bz:()=\u003ea,el:()=\u003eu});var n=r(6154);const i=\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\";function o(e,t){return e?15\u0026e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e\u0026\u0026e.getRandomValues\u0026\u0026(t=e.getRandomValues(new Uint8Array(30))),i.split(\"\").map((e=\u003e\"x\"===e?o(t,r++).toString(16):\"y\"===e?(3\u0026o()|8).toString(16):e)).join(\"\")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t\u0026\u0026t.getRandomValues\u0026\u0026(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s\u003ce;s++)a.push(o(r,i++).toString(16));return a.join(\"\")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=\u003e{\"use strict\";r.d(t,{BB:()=\u003ea,H3:()=\u003en,g:()=\u003eu,iL:()=\u003ec,tS:()=\u003es,uh:()=\u003ei,wk:()=\u003eo});const n=\"NRBA\",i=\"SESSION\",o=144e5,a=18e5,s={STARTED:\"session-started\",PAUSE:\"session-pause\",RESET:\"session-reset\",RESUME:\"session-resume\",UPDATE:\"session-update\"},c={SAME_TAB:\"same-tab\",CROSS_TAB:\"cross-tab\"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=\u003e{\"use strict\";function n(){return Math.floor(performance.now())}r.d(t,{t:()=\u003en})},7485:(e,t,r)=\u003e{\"use strict\";r.d(t,{D:()=\u003ei});var n=r(6154);function i(e){if(0===(e||\"\").indexOf(\"data:\"))return{protocol:\"data\"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(\":\")),sameOrigin:t.protocol===n.gm?.location?.protocol\u0026\u0026t.host===n.gm?.location?.host};return r.port\u0026\u0026\"\"!==r.port||(\"http:\"===t.protocol\u0026\u0026(r.port=\"80\"),\"https:\"===t.protocol\u0026\u0026(r.port=\"443\")),r.pathname\u0026\u0026\"\"!==r.pathname?r.pathname.startsWith(\"/\")||(r.pathname=\"/\".concat(r.pathname)):r.pathname=\"/\",r}catch(e){return{}}}},944:(e,t,r)=\u003e{\"use strict\";function n(e,t){\"function\"==typeof console.debug\u0026\u0026console.debug(\"New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#\".concat(e),t)}r.d(t,{R:()=\u003en})},5284:(e,t,r)=\u003e{\"use strict\";r.d(t,{t:()=\u003ec,B:()=\u003es});var n=r(7836),i=r(6154);const o=\"newrelic\";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e\u0026\u0026\"object\"==typeof e\u0026\u0026(a.has(t)||(r.emit(\"rumresp\",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=\u003e{\"use strict\";r.d(t,{I:()=\u003ei});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty\u0026\u0026Object.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)=\u003e{\"use strict\";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=\u003e{n\u0026\u0026void 0===i\u0026\u0026(e.apply(this,r),i=setTimeout((()=\u003e{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=\u003e{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=\u003e{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=\u003ei,s:()=\u003en})},3304:(e,t,r)=\u003e{\"use strict\";r.d(t,{A:()=\u003eo});var n=r(7836);const i=()=\u003e{const e=new WeakSet;return(t,r)=\u003e{if(\"object\"==typeof r\u0026\u0026null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??\"\"}catch(e){try{n.ee.emit(\"internal-error\",[e])}catch(e){}return\"\"}}},5289:(e,t,r)=\u003e{\"use strict\";r.d(t,{GG:()=\u003eo,sB:()=\u003ea});var n=r(3878);function i(){return\"undefined\"==typeof document||\"complete\"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)(\"load\",e,t)}function a(e){if(i())return e();(0,n.DD)(\"DOMContentLoaded\",e)}},384:(e,t,r)=\u003e{\"use strict\";r.d(t,{NT:()=\u003eo,US:()=\u003ed,Zm:()=\u003ea,bQ:()=\u003ec,dV:()=\u003es,nY:()=\u003eu,pV:()=\u003el});var n=r(6154),i=r(1863);const o={beacon:\"bam.nr-data.net\",errorBeacon:\"bam.nr-data.net\"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic\u0026\u0026(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,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}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=\u003e{\"use strict\";r.d(t,{u:()=\u003ei});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)(\"visibilitychange\",(function(){if(t)return void(\"hidden\"===document.visibilityState\u0026\u0026e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=\u003e{\"use strict\";r.d(t,{u:()=\u003ef});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u=\"addEventListener\",d=\"removeEventListener\",l=\"nr@wrapped:\".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get(\"events\")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],\"-\",p)}function p(e,t){return e[1]}return\"getPrototypeOf\"in Object\u0026\u0026(a.RI\u0026\u0026h(document,f),h(a.gm,f),h(c.prototype,f)),t.on(u+\"-start\",(function(e,t){var n=e[1];if(null!==n\u0026\u0026(\"function\"==typeof n||\"object\"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if(\"function\"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,\"fn-\",null,e.name||\"anonymous\"):n}));this.wrapped=e[1]=i}})),t.on(d+\"-start\",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;\"object\"==typeof n\u0026\u0026!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n\u0026\u0026t(n,...r)}},3434:(e,t,r)=\u003e{\"use strict\";r.d(t,{Jt:()=\u003eo,YM:()=\u003ec});var n=r(7836),i=r(5607);const o=\"nr@original:\".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n=\"\");const a=\"-\"===n.charAt(0);for(let s=0;s\u003ct.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=\"\"),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty\u0026\u0026Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)\u0026\u0026(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d=\"function\"==typeof n?n(o,a):n||{}}catch(t){u([t,\"\",[o,a,s],d],e)}i(r+\"start\",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+\"err\",[o,a,e],d,c),e}finally{i(r+\"end\",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit(\"internal-error\",e)}catch(e){}}function d(e){return!(e\u0026\u0026\"function\"==typeof e\u0026\u0026e.apply\u0026\u0026!e[o])}},9300:(e,t,r)=\u003e{\"use strict\";r.d(t,{T:()=\u003en});const n=r(860).K7.ajax},3333:(e,t,r)=\u003e{\"use strict\";r.d(t,{TZ:()=\u003en,Zp:()=\u003ei,mq:()=\u003es,nf:()=\u003ea,qN:()=\u003eo});const n=r(860).K7.genericEvents,i=[\"auxclick\",\"click\",\"copy\",\"keydown\",\"paste\",\"scrollend\"],o=[\"focus\",\"blur\"],a=4,s=1e3},6774:(e,t,r)=\u003e{\"use strict\";r.d(t,{T:()=\u003en});const n=r(860).K7.jserrors},993:(e,t,r)=\u003e{\"use strict\";r.d(t,{ET:()=\u003eo,TZ:()=\u003ea,p_:()=\u003ei});var n=r(860);const i={ERROR:\"ERROR\",WARN:\"WARN\",INFO:\"INFO\",DEBUG:\"DEBUG\",TRACE:\"TRACE\"},o=\"log\",a=n.K7.logging},3785:(e,t,r)=\u003e{\"use strict\";r.d(t,{R:()=\u003ec,b:()=\u003eu});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,[\"API/logging/\".concat(c.toLowerCase(),\"/called\")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return\"string\"==typeof e\u0026\u0026Object.values(s.p_).some((t=\u003et===e.toUpperCase().trim()))}},3969:(e,t,r)=\u003e{\"use strict\";r.d(t,{TZ:()=\u003en,XG:()=\u003es,rs:()=\u003ei,xV:()=\u003ea,z_:()=\u003eo});const n=r(860).K7.metrics,i=\"sm\",o=\"cm\",a=\"storeSupportabilityMetrics\",s=\"storeEventMetrics\"},6630:(e,t,r)=\u003e{\"use strict\";r.d(t,{T:()=\u003en});const n=r(860).K7.pageViewEvent},782:(e,t,r)=\u003e{\"use strict\";r.d(t,{T:()=\u003en});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=\u003e{\"use strict\";r.d(t,{BB:()=\u003ed,G4:()=\u003eo,Qb:()=\u003el,TZ:()=\u003ei,Ug:()=\u003ea,_s:()=\u003es,bc:()=\u003eu,yP:()=\u003ec});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:\"recordReplay\",PAUSE:\"pauseReplay\",REPLAY_RUNNING:\"replayRunning\",ERROR_DURING_REPLAY:\"errorDuringReplay\"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:\"Session was reset\",sm:\"Reset\"},IMPORT:{message:\"Recorder failed to import\",sm:\"Import\"},TOO_MANY:{message:\"429: Too Many Requests\",sm:\"Too-Many\"},TOO_BIG:{message:\"Payload was too large\",sm:\"Too-Big\"},CROSS_TAB:{message:\"Session Entity was set to OFF on another tab\",sm:\"Cross-Tab\"},ENTITLEMENTS:{message:\"Session Replay is not allowed and will not be started\",sm:\"Entitlement\"}},d=5e3,l={API:\"api\"}},5270:(e,t,r)=\u003e{\"use strict\";r.d(t,{Aw:()=\u003ec,CT:()=\u003eu,SR:()=\u003es});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO\u0026\u0026(0,o.V)(e)\u0026\u0026!0===(0,i.gD)(e,\"session_trace.enabled\")}function c(e){return!0===(0,i.gD)(e,\"session_replay.preload\")\u0026\u0026s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=\u003e{\"use strict\";r.d(t,{He:()=\u003ei,Kp:()=\u003es,Lc:()=\u003eu,Rz:()=\u003ed,TZ:()=\u003en,bD:()=\u003eo,d3:()=\u003ea,jx:()=\u003el,uP:()=\u003ec});const n=r(860).K7.sessionTrace,i=\"bstResource\",o=\"resource\",a=\"-start\",s=\"-end\",c=\"fn\"+a,u=\"fn\"+s,d=\"pushState\",l=1e3},3962:(e,t,r)=\u003e{\"use strict\";r.d(t,{AM:()=\u003eo,O2:()=\u003es,Qu:()=\u003ec,TZ:()=\u003ea,ih:()=\u003eu,tC:()=\u003ei});var n=r(860);const i=[\"click\",\"keydown\",\"submit\"],o=\"api\",a=n.K7.softNav,s={INITIAL_PAGE_LOAD:\"\",ROUTE_CHANGE:1,UNSPECIFIED:2},c={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},u={IP:\"in progress\",FIN:\"finished\",CAN:\"cancelled\"}},7378:(e,t,r)=\u003e{\"use strict\";r.d(t,{$p:()=\u003ex,BR:()=\u003eb,Kp:()=\u003eR,L3:()=\u003ey,Lc:()=\u003ec,NC:()=\u003eo,SG:()=\u003ed,TZ:()=\u003ei,U6:()=\u003ep,UT:()=\u003em,d3:()=\u003ew,dT:()=\u003ef,e5:()=\u003eA,gx:()=\u003ev,l9:()=\u003el,oW:()=\u003eh,op:()=\u003eg,rw:()=\u003eu,tH:()=\u003eE,uP:()=\u003es,wW:()=\u003eT,xq:()=\u003ea});var n=r(384);const i=r(860).K7.spa,o=[\"click\",\"submit\",\"keypress\",\"keydown\",\"keyup\",\"change\"],a=999,s=\"fn-start\",c=\"fn-end\",u=\"cb-start\",d=\"api-ixn-\",l=\"remaining\",f=\"interaction\",h=\"spaNode\",p=\"jsonpNode\",g=\"fetch-start\",m=\"fetch-done\",v=\"fetch-body-\",b=\"jsonp-end\",y=(0,n.dV)().o.ST,w=\"-start\",R=\"-end\",x=\"-body\",T=\"cb\"+R,A=\"jsTime\",E=\"fetch\"},4234:(e,t,r)=\u003e{\"use strict\";r.d(t,{W:()=\u003eo});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=\u003e{\"use strict\";r.d(t,{V:()=\u003eo});var n=r(9417),i=r(6154);const o=e=\u003ei.RI\u0026\u0026!0===(0,n.gD)(e,\"privacy.cookies_enabled\")},425:(e,t,r)=\u003e{\"use strict\";r.d(t,{j:()=\u003ej});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),p=r(6344);const g=[\"setErrorHandler\",\"finished\",\"addToTrace\",\"addRelease\",\"addPageAction\",\"setCurrentRouteName\",\"setPageViewName\",\"setCustomAttribute\",\"interaction\",\"noticeError\",\"setUserId\",\"setApplicationVersion\",\"start\",p.G4.RECORD,p.G4.PAUSE,\"log\",\"wrapLogger\"],m=[\"setErrorHandler\",\"finished\",\"addToTrace\",\"addRelease\"];var v=r(1863),b=r(2614),y=r(993),w=r(3785),R=r(2646),x=r(3434);function T(e,t,r,n){if(\"object\"!=typeof t||!t||\"string\"!=typeof r||!r||\"function\"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get(\"logger\")}(e),o=(0,x.YM)(i),a=new R.y(s.P);return a.level=n.level,a.customAttributes=n.customAttributes,o.inPlace(t,[r],\"wrap-logger-\",a),i}function A(){const e=(0,h.pV)();g.forEach((t=\u003e{e[t]=(...r)=\u003efunction(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=\u003e{e\u0026\u0026e.api?e.exposed\u0026\u0026e.api[t]\u0026\u0026n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length\u003e1?n:n[0]}(t,...r)}))}const E={};var S=r(9417),N=r(5603),O=r(5284);const _=e=\u003e{const t=e.startsWith(\"http\");e+=\"/\",r.p=t?e:\"https://\"+e};let I=!1;function j(e,t={},g,R){let{init:x,info:j,loader_config:P,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();j||(x=L.init,j=L.info,P=L.loader_config),(0,S.xN)(e.agentIdentifier,x||{}),(0,N.a)(e.agentIdentifier,P||{}),j.jsAttributes??={},d.bv\u0026\u0026(j.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,j);const H=(0,S.D0)(e.agentIdentifier),D=[j.beacon,j.errorBeacon];I||(H.proxy.assets\u0026\u0026(_(H.proxy.assets),D.push(H.proxy.assets)),H.proxy.beacon\u0026\u0026D.push(H.proxy.beacon),A(),(0,h.US)(\"activatedFeatures\",O.B),e.runSoftNavOverSpa\u0026\u0026=!0===H.soft_navigations.enabled\u0026\u0026H.feature_flags.includes(\"soft_nav\")),C.denyList=[...H.ajax.deny_list||[],...H.ajax.block_internal?D:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api\u0026\u0026(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,\"api\");const g={};var R=s.ee.get(e),x=R.get(\"tracer\");E[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=\u003e{E[e]=t}));var A=\"api-\",S=A+\"ixn-\";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(A,n,!0,o||null===r?\"session\":void 0)(t,r)}function O(){}g.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,[\"API/log/called\"],void 0,n.K7.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=\u003e{(0,a.p)(f.xV,[\"API/wrapLogger/called\"],void 0,n.K7.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e=\u003e{g[e]=I(A,e,!0,\"api\")})),g.addPageAction=I(A,\"addPageAction\",!0,n.K7.genericEvents),g.setPageViewName=function(t,r){if(\"string\"==typeof t)return\"/\"!==t.charAt(0)\u0026\u0026(t=\"/\"+t),(0,o.f)(e).customTransaction=(r||\"http://custom.transaction\")+t,I(A,\"setPageViewName\",!0)()},g.setCustomAttribute=function(e,t,r=!1){if(\"string\"==typeof e){if([\"string\",\"number\",\"boolean\"].includes(typeof t)||null===t)return N(e,t,\"setCustomAttribute\",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserId=function(e){if(\"string\"==typeof e||null===e)return N(\"enduser.id\",e,\"setUserId\",!0);(0,l.R)(41,typeof e)},g.setApplicationVersion=function(e){if(\"string\"==typeof e||null===e)return N(\"application.version\",e,\"setApplicationVersion\",!1);(0,l.R)(42,typeof e)},g.start=()=\u003e{try{(0,a.p)(f.xV,[\"API/start/called\"],void 0,n.K7.metrics,R),R.emit(\"manual-start-all\")}catch(e){(0,l.R)(23,e)}},g[p.G4.RECORD]=function(){(0,a.p)(f.xV,[\"API/recordReplay/called\"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,R)},g[p.G4.PAUSE]=function(){(0,a.p)(f.xV,[\"API/pauseReplay/called\"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,R)},g.interaction=function(e){return(new O).get(\"object\"==typeof e?e:{})};const _=O.prototype={createTracer:function(e,t){var r={},i=this,o=\"function\"==typeof t;return(0,a.p)(f.xV,[\"API/createTracer/called\"],void 0,n.K7.metrics,R),h||(0,a.p)(S+\"tracer\",[(0,v.t)(),e,r],i,n.K7.spa,R),function(){if(x.emit((o?\"\":\"no-\")+\"fn-start\",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t=\"string\"==typeof e?new Error(e):e;throw x.emit(\"fn-err\",[arguments,this,t],r),t}finally{x.emit(\"fn-end\",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,[\"API/\"+t+\"/called\"],void 0,n.K7.metrics,R),i\u0026\u0026(0,a.p)(e+t,[(0,v.t)(),...arguments],r?null:this,i,R),r?void 0:this}}function j(){r.e(478).then(r.bind(r,8778)).then((({setAPI:t})=\u003e{t(e),(0,c.Ze)(e,\"api\")})).catch((e=\u003e{(0,l.R)(27,e),R.abort()}))}return[\"actionText\",\"setName\",\"setAttribute\",\"save\",\"ignore\",\"onEnd\",\"getContext\",\"end\",\"get\"].forEach((e=\u003e{_[e]=I(S,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(S,\"routeName\",void 0,n.K7.softNav):I(A,\"routeName\",!0,n.K7.spa),g.noticeError=function(t,r){\"string\"==typeof t\u0026\u0026(t=new Error(t)),(0,a.p)(f.xV,[\"API/noticeError/called\"],void 0,n.K7.metrics,R),(0,a.p)(\"err\",[t,(0,v.t)(),!1,r,!!E[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=\u003ej()),!0):j(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed\u0026\u0026(e.exposed=k),I=!0}},8374:(e,t,r)=\u003e{r.nc=(()=\u003e{try{return document?.currentScript?.nonce}catch(e){}return\"\"})()},860:(e,t,r)=\u003e{\"use strict\";r.d(t,{$J:()=\u003eo,K7:()=\u003en,P3:()=\u003ei});const n={ajax:\"ajax\",genericEvents:\"generic_events\",jserrors:\"jserrors\",logging:\"logging\",metrics:\"metrics\",pageAction:\"page_action\",pageViewEvent:\"page_view_event\",pageViewTiming:\"page_view_timing\",sessionReplay:\"session_replay\",sessionTrace:\"session_trace\",softNav:\"soft_navigations\",spa:\"spa\"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.spa]:5,[n.ajax]:6,[n.sessionTrace]:7,[n.softNav]:8,[n.sessionReplay]:9,[n.logging]:10,[n.genericEvents]:11},o={[n.pageViewTiming]:\"events\",[n.ajax]:\"events\",[n.spa]:\"events\",[n.softNav]:\"events\",[n.metrics]:\"jserrors\",[n.jserrors]:\"jserrors\",[n.sessionTrace]:\"browser/blobs\",[n.sessionReplay]:\"browser/blobs\",[n.logging]:\"browser/logs\",[n.genericEvents]:\"ins\"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=\u003e{for(var r in t)i.o(t,r)\u0026\u0026!i.o(e,r)\u0026\u0026Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=\u003ePromise.all(Object.keys(i.f).reduce(((t,r)=\u003e(i.f[r](e,t),t)),[])),i.u=e=\u003e({212:\"nr-spa-compressor\",249:\"nr-spa-recorder\",478:\"nr-spa\"}[e]+\"-1.274.0.min.js\"),i.o=(e,t)=\u003eObject.prototype.hasOwnProperty.call(e,t),e={},t=\"NRBA-1.274.0.PROD:\",i.l=(r,n,o,a)=\u003e{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName(\"script\"),d=0;d\u003cu.length;d++){var l=u[d];if(l.getAttribute(\"src\")==r||l.getAttribute(\"data-webpack\")==t+o){s=l;break}}if(!s){c=!0;var f={478:\"sha512-1vUqEfJPB8Pihje9mv5CfYgkitO1FWcS+UQb84DbXqP8oYctRv4/lzl/MzNLPlRhcY1WVDBGL20I8vm6s2VV7g==\",249:\"sha512-Y/BeZAh6VSTmUtUNmS5XdyKxL92s30Fyyj8xVW76HSPxcKItL4+x2+kGMZc8pMJnUpZDz1L4eftZQAJh3D8NnA==\",212:\"sha512-Gn2tQ3qog5Yhrx/gRutkSTYPp+7nkKFt4/mIXg99LxcNpMDAYJZDBYmAACdoHNM86+iq1F3cBcQotFNzjIX8bw==\"};(s=document.createElement(\"script\")).charset=\"utf-8\",s.timeout=120,i.nc\u0026\u0026s.setAttribute(\"nonce\",i.nc),s.setAttribute(\"data-webpack\",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+\"/\")\u0026\u0026(s.crossOrigin=\"anonymous\"),f[a]\u0026\u0026(s.integrity=f[a])}e[r]=[n];var h=(t,n)=\u003e{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode\u0026\u0026s.parentNode.removeChild(s),i\u0026\u0026i.forEach((e=\u003ee(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:\"timeout\",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c\u0026\u0026document.head.appendChild(s)}},i.r=e=\u003e{\"undefined\"!=typeof Symbol\u0026\u0026Symbol.toStringTag\u0026\u0026Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},i.p=\"https://js-agent.newrelic.com/\",(()=\u003e{var e={38:0,788:0};i.f.j=(t,r)=\u003e{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=\u003en=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=\u003e{if(i.o(e,t)\u0026\u0026(0!==(n=e[t])\u0026\u0026(e[t]=void 0),n)){var o=r\u0026\u0026(\"load\"===r.type?\"missing\":r.type),a=r\u0026\u0026r.target\u0026\u0026r.target.src;s.message=\"Loading chunk \"+t+\" failed.\\n(\"+o+\": \"+a+\")\",s.name=\"ChunkLoadError\",s.type=o,s.request=a,n[1](s)}}),\"chunk-\"+t,t)}};var t=(t,r)=\u003e{var n,o,[a,s,c]=r,u=0;if(a.some((t=\u003e0!==e[t]))){for(n in s)i.o(s,n)\u0026\u0026(i.m[n]=s[n]);if(c)c(i)}for(t\u0026\u0026t(r);u\u003ca.length;u++)o=a[u],i.o(e,o)\u0026\u0026e[o]\u0026\u0026e[o][0](),e[o]=0},r=self[\"webpackChunk:NRBA-1.274.0.PROD\"]=self[\"webpackChunk:NRBA-1.274.0.PROD\"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=\u003e{\"use strict\";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(e=(0,r.LA)(16)){this.agentIdentifier=e}#e(t,...r){if(\"function\"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e(\"addPageAction\",e,t)}setPageViewName(e,t){return this.#e(\"setPageViewName\",e,t)}setCustomAttribute(e,t,r){return this.#e(\"setCustomAttribute\",e,t,r)}noticeError(e,t){return this.#e(\"noticeError\",e,t)}setUserId(e){return this.#e(\"setUserId\",e)}setApplicationVersion(e){return this.#e(\"setApplicationVersion\",e)}setErrorHandler(e){return this.#e(\"setErrorHandler\",e)}addRelease(e,t){return this.#e(\"addRelease\",e,t)}log(e,t){return this.#e(\"log\",e,t)}}class o extends n{#e(t,...r){if(\"function\"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e(\"start\")}finished(e){return this.#e(\"finished\",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e(\"addToTrace\",e)}setCurrentRouteName(e){return this.#e(\"setCurrentRouteName\",e)}interaction(){return this.#e(\"interaction\")}wrapLogger(e,t,r){return this.#e(\"wrapLogger\",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=\u003e{t[r]=function(e,t){return!0===(0,s.gD)(t,\"\".concat(e,\".enabled\"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart\u0026\u0026(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on(\"manual-start-all\",(0,v.J)((()=\u003e{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=\u003e{n=e}));const o=async()=\u003e{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit(\"internal-error\",[t]),this.featureName===a.K7.sessionReplay\u0026\u0026this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregator=i.e(478).then(i.bind(i,9337));const{EventAggregator:e}=await t.sharedAggregator;t.sharedAggregator=new e}if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,\"aggregate\");this.featAggregate=new a(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee\u0026\u0026this.ee.abort()}};p.RI?(0,h.GG)((()=\u003eo()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)\u0026\u0026!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),T=i(2843),A=i(3878),E=i(782),S=i(1863);class N extends b{static featureName=E.T;constructor(e,t=!0){super(e,E.T,t),p.RI\u0026\u0026((0,T.u)((()=\u003e(0,x.p)(\"docHidden\",[(0,S.t)()],void 0,E.T,this.ee)),!0),(0,A.sp)(\"pagehide\",(()=\u003e(0,x.p)(\"winPagehide\",[(0,S.t)()],void 0,E.T,this.ee))),this.importAggregator(e))}}var O=i(3969);class _ extends b{static featureName=O.TZ;constructor(e,t=!0){super(e,O.TZ,t),this.importAggregator(e)}}var I=i(6774),j=i(3304);class P{constructor(e,t,r,n,i){this.name=\"UncaughtError\",this.message=\"string\"==typeof e?e:(0,j.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new P(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t=\"Unhandled Promise Rejection\";if(!e?.reason)return;if(H(e.reason))try{return e.reason.message=t+\": \"+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+\": \"+r?.message,r}function L(e){if(e.error instanceof SyntaxError\u0026\u0026!/:\\d+$/.test(e.error.stack?.trim())){const t=new P(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error\u0026\u0026!!e.stack}class D extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on(\"internal-error\",(e=\u003e{this.abortHandler\u0026\u0026(0,x.p)(\"ierr\",[C(e),(0,S.t)(),!0,{},this.#r],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=\u003e{this.#r=e})),p.gm.addEventListener(\"unhandledrejection\",(e=\u003e{this.abortHandler\u0026\u0026(0,x.p)(\"err\",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener(\"error\",(e=\u003e{this.abortHandler\u0026\u0026(0,x.p)(\"err\",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var M=i(8990);let K=1;const U=\"nr@id\";function V(e){const t=typeof e;return!e||\"object\"!==t\u0026\u0026\"function\"!==t?-1:e===p.gm?0:(0,M.I)(e,U,(function(){return K++}))}function G(e){if(\"string\"==typeof e\u0026\u0026e.length)return e.length;if(\"object\"==typeof e){if(\"undefined\"!=typeof ArrayBuffer\u0026\u0026e instanceof ArrayBuffer\u0026\u0026e.byteLength)return e.byteLength;if(\"undefined\"!=typeof Blob\u0026\u0026e instanceof Blob\u0026\u0026e.size)return e.size;if(!(\"undefined\"!=typeof FormData\u0026\u0026e instanceof FormData))try{return(0,j.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=[\"open\",\"send\"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get(\"xhr\")}(r);if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u=\"readystatechange\",d=[\"onload\",\"onerror\",\"onabort\",\"onloadstart\",\"onloadend\",\"onprogress\",\"ontimeout\"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit(\"new-xhr\",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState\u003e3\u0026\u0026!s.resolved\u0026\u0026(s.resolved=!0,n.emit(\"xhr-resolved\",[],e)),i.inPlace(e,d,\"fn-\",y)}),(0,A.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit(\"internal-error\",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,[\"onreadystatechange\"],\"fn-\",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,\"-xhr-\",y),n.on(\"send-xhr-start\",(function(e,t){h(e,t),function(e){l.push(e),a\u0026\u0026(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on(\"open-xhr-start\",h),a){var g=s\u0026\u0026s.resolve();if(!c\u0026\u0026!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on(\"fn-end\",(function(e){e[0]\u0026\u0026e[0].type===u||b()}));function b(){for(var e=0;e\u003cl.length;e++)h(0,l[e]);l.length\u0026\u0026(l=[])}function y(e,t){return t}return n}var Y=\"fetch-\",X=Y+\"body-\",J=[\"arrayBuffer\",\"blob\",\"json\",\"text\",\"formData\"],Q=p.gm.Request,ee=p.gm.Response,te=\"prototype\";const re={};function ne(e){const t=function(e){return(e||B.ee).get(\"fetch\")}(e);if(!(Q\u0026\u0026ee\u0026\u0026p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];\"function\"==typeof i\u0026\u0026(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+\"before-start\",[r],o),o[B.P]\u0026\u0026o[B.P].dt\u0026\u0026(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+\"start\",[r,e],a),a.then((function(e){return t.emit(n+\"end\",[null,e],a),e}),(function(e){throw t.emit(n+\"end\",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=\u003e{r(Q[te],e,X),r(ee[te],e,X)})),r(p.gm,\"fetch\",Y),t.on(Y+\"end\",(function(e,r){var n=this;if(r){var i=r.headers.get(\"content-length\");null!==i\u0026\u0026(n.rxSize=i),t.emit(Y+\"done\",[null,r],n)}else t.emit(Y+\"done\",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||\"\").toString()||null,i=(t.agentID||\"\").toString()||null,o=(t.trustKey||\"\").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)\u0026\u0026this.useTraceContextHeadersForCors())\u0026\u0026(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin\u0026\u0026!this.excludeNewrelicHeader()||!e.sameOrigin\u0026\u0026this.isAllowedOrigin(e)\u0026\u0026this.useNewrelicHeaderForCors())\u0026\u0026(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return\"00-\"+t+\"-\"+e+\"-01\"}generateTraceContextStateHeader(e,t,r,n,i){return i+\"@nr=0-1-\"+r+\"-\"+n+\"-\"+e+\"----\"+t}generateTraceHeader(e,t,r,n,i,o){if(!(\"function\"==typeof p.gm?.btoa))return null;var a={v:[0,1],d:{ty:\"Browser\",ac:n,ap:i,id:e,tr:t,ti:r}};return o\u0026\u0026n!==o\u0026\u0026(a.d.tk=o),btoa((0,j.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()\u0026\u0026this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,\"distributed_tracing\")\u0026\u0026(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n\u003cr.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname\u0026\u0026e.protocol===i.protocol\u0026\u0026e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,\"distributed_tracing\");return!!e\u0026\u0026!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,\"distributed_tracing\");return!!e\u0026\u0026!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,\"distributed_tracing\");return!!e\u0026\u0026!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,\"distributed_tracing\");return!!e\u0026\u0026!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=[\"load\",\"error\",\"abort\",\"timeout\"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=\u003e(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:\"xhr\",fetch:\"fetch\",beacon:\"beacon\"};p.gm?.performance?.getEntriesByType(\"resource\").forEach((t=\u003e{if(t.initiatorType in e\u0026\u00260!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};pe(r,t.name),this.handler(\"xhr\",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener(\"load\",(function(r){T(t,e)}),(0,A.jT)(!1)),p.lR||e.addEventListener(\"progress\",(function(e){t.lastSize=e.loaded}),(0,A.jT)(!1))}function o(e){this.params={method:e[0]},pe(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid\u0026\u0026this.sameOrigin\u0026\u0026r.setRequestHeader(\"X-NewRelic-ID\",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader\u0026\u0026(r.setRequestHeader(\"newrelic\",i.newrelicHeader),o=!0),i.traceContextParentHeader\u0026\u0026(r.setRequestHeader(\"traceparent\",i.traceContextParentHeader),i.traceContextStateHeader\u0026\u0026r.setRequestHeader(\"tracestate\",i.traceContextStateHeader),o=!0),o\u0026\u0026(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n\u0026\u0026i){var a=G(i);a\u0026\u0026(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{\"abort\"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),(\"load\"!==e.type||o.called===o.totalCbs\u0026\u0026(o.onloadCalled||\"function\"!=typeof r.onload)\u0026\u0026\"function\"==typeof o.end)\u0026\u0026o.end(r)}catch(e){try{t.emit(\"internal-error\",[e])}catch(e){}}};for(var s=0;s\u003cde;s++)r.addEventListener(ue[s],this.listener,(0,A.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled\u0026\u0026\"function\"==typeof r.onload||\"function\"!=typeof this.end||this.end(r)}function d(e,t){var r=\"\"+V(e)+!!t;this.xhrGuids\u0026\u0026!this.xhrGuids[r]\u0026\u0026(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=\"\"+V(e)+!!t;this.xhrGuids\u0026\u0026this.xhrGuids[r]\u0026\u0026(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe\u0026\u0026\"load\"===e[0]\u0026\u0026t.emit(\"xhr-load-added\",[e[1],e[2]],r)}function g(e,r){r instanceof fe\u0026\u0026\"load\"===e[0]\u0026\u0026t.emit(\"xhr-load-removed\",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe\u0026\u0026(\"onload\"===r\u0026\u0026(this.onload=!0),(\"load\"===(e[0]\u0026\u0026e[0].type)||this.onload)\u0026\u0026(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart\u0026\u0026t.emit(\"xhr-cb-time\",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if(\"string\"==typeof e[0]?0===(t=e[0]).length\u0026\u0026p.RI\u0026\u0026(t=\"\"+p.gm.location.href):e[0]\u0026\u0026e[0].url?t=e[0].url:p.gm?.URL\u0026\u0026e[0]\u0026\u0026e[0]instanceof URL?t=e[0].href:\"function\"==typeof e[0].toString\u0026\u0026(t=e[0].toString()),\"string\"==typeof t\u0026\u00260!==t.length){t\u0026\u0026(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i\u0026\u0026(i.newrelicHeader||i.traceContextParentHeader))if(e[0]\u0026\u0026e[0].headers)s(e[0].headers,i)\u0026\u0026(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)\u0026\u0026(this.dt=i),e.length\u003e1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader\u0026\u0026(e.set(\"newrelic\",t.newrelicHeader),r=!0),t.traceContextParentHeader\u0026\u0026(e.set(\"traceparent\",t.traceContextParentHeader),t.traceContextStateHeader\u0026\u0026e.set(\"tracestate\",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length\u003e=1\u0026\u0026(this.target=e[0]),e.length\u003e=2\u0026\u0026(this.opts=e[1]);var r,n=this.opts||{},i=this.target;\"string\"==typeof i?r=i:\"object\"==typeof i\u0026\u0026i instanceof le?r=i.url:p.gm?.URL\u0026\u0026\"object\"==typeof i\u0026\u0026i instanceof URL\u0026\u0026(r=i.href),pe(this,r);var o=(\"\"+(i\u0026\u0026i instanceof le\u0026\u0026i.method||n.method||\"GET\")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,\"string\"==typeof this.rxSize\u0026\u0026this.rxSize.length\u003e0\u0026\u0026(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r(\"xhr\",[this.params,i,this.startTime,this.endTime,\"fetch\"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t\u003cde;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCazptureCalled||4!==e.readyState?null==t.status\u0026\u0026(t.status=0):T(this,e),n.cbTime=this.cbTime,r(\"xhr\",[t,n,this.startTime,this.endTime,\"xhr\"],this,a.K7.ajax))}}function T(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return\"json\"===r\u0026\u0026null!==t?t:\"arraybuffer\"===r||\"blob\"===r||\"json\"===r?G(e.response):\"text\"===r||\"\"===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n\u0026\u0026(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader(\"X-NewRelic-App-Data\");i\u0026\u0026((0,x.p)(O.rs,[\"Ajax/CrossApplicationTracing/Header/Seen\"],void 0,a.K7.metrics,t),e.params.cat=i.split(\", \").pop())}e.loadCaptureCalled=!0}t.on(\"new-xhr\",i),t.on(\"open-xhr-start\",o),t.on(\"open-xhr-end\",s),t.on(\"send-xhr-start\",c),t.on(\"xhr-cb-time\",u),t.on(\"xhr-load-added\",d),t.on(\"xhr-load-removed\",l),t.on(\"xhr-resolved\",f),t.on(\"addEventListener-end\",h),t.on(\"removeEventListener-end\",g),t.on(\"fn-end\",v),t.on(\"fetch-before-start\",b),t.on(\"fetch-start\",y),t.on(\"fn-start\",m),t.on(\"fetch-done\",w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function pe(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+\":\"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const ge={},me=[\"pushState\",\"replaceState\"];function ve(e){const t=function(e){return(e||B.ee).get(\"history\")}(e);return!p.RI||ge[t.debugId]++||(ge[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,\"-\")),t}var be=i(3738);const{He:ye,bD:we,d3:Re,Kp:xe,TZ:Te,Lc:Ae,uP:Ee,Rz:Se}=be;class Ne extends b{static featureName=Te;constructor(e,t=!0){super(e,Te,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ee,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Ae,(function(e,t){(0,x.p)(\"bst\",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+Re,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+xe,(function(e){(0,x.p)(\"bstHist\",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=\u003e{const t=e.getEntries();(0,x.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:we,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var Oe=i(2614);class _e extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem(\"\".concat(Oe.H3,\"_\").concat(Oe.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)\u0026\u0026this.ee.on(t.G4.RECORD,(()=\u003ethis.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on(\"err\",(e=\u003e{this.replayRunning\u0026\u0026(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=\u003e{this.replayRunning=e}))}#s(e){return e\u0026\u0026(e.sessionReplayMode===Oe.g.FULL||e.sessionReplayMode===Oe.g.ERROR)||(0,g.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==Oe.g.FULL\u0026\u0026this.featAggregate.initializeRecording(Oe.g.FULL,!0):(this.#i=Oe.g.FULL,this.#c(t.Qb.API),this.recorder\u0026\u0026this.recorder.parent.mode!==Oe.g.FULL\u0026\u0026(this.recorder.parent.mode=Oe.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class je extends b{static featureName=Ie.TZ;constructor(e,t=!0){if(super(e,Ie.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=ve(this.ee);Ie.tC.forEach((e=\u003e{(0,A.sp)(e,(e=\u003e{a(e)}),!0)}));const n=()=\u003e(0,x.p)(\"newURL\",[(0,S.t)(),\"\"+window.location],void 0,this.featureName,this.ee);r.on(\"pushState-end\",n),r.on(\"replaceState-end\",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,A.sp)(\"popstate\",(e=\u003e(0,x.p)(\"newURL\",[e.timeStamp,\"\"+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=\u003e{i||(i=!0,requestAnimationFrame((()=\u003e{(0,x.p)(\"newDom\",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=\u003e{(0,x.p)(\"newUIEvent\",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,{domObserver:o})}}var Pe=i(7378);const Ce={},ke=[\"appendChild\",\"insertBefore\",\"replaceChild\"];function Le(e){const t=function(e){return(e||B.ee).get(\"jsonp\")}(e);if(!p.RI||Ce[t.debugId])return t;Ce[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?\u0026](?:callback|cb)=([^\u0026#]+)/,i=/(.*)\\.([^.]+)/,o=/^(\\w+)(\\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,ke,\"dom-\"),t.on(\"dom-start\",(function(e){!function(e){if(!e||\"string\"!=typeof e.nodeName||\"script\"!==e.nodeName.toLowerCase())return;if(\"function\"!=typeof e.addEventListener)return;var o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t\u0026\u0026t.length\u003e=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if(\"function\"!=typeof u.parent[u.key])return;var d={};function l(){t.emit(\"jsonp-end\",[],d),e.removeEventListener(\"load\",l,(0,A.jT)(!1)),e.removeEventListener(\"error\",f,(0,A.jT)(!1))}function f(){t.emit(\"jsonp-error\",[],d),t.emit(\"jsonp-end\",[],d),e.removeEventListener(\"load\",l,(0,A.jT)(!1)),e.removeEventListener(\"error\",f,(0,A.jT)(!1))}r.inPlace(u.parent,[u.key],\"cb-\",d),e.addEventListener(\"load\",l,(0,A.jT)(!1)),e.addEventListener(\"error\",f,(0,A.jT)(!1)),t.emit(\"new-jsonp\",[e.src],d)}(e[0])})),t}const He={};function De(e){const t=function(e){return(e||B.ee).get(\"promise\")}(e);if(He[t.debugId])return t;He[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i\u0026\u0026function(){function e(r){var o=t.context(),a=n(r,\"executor-\",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,\"name\",{value:\"Promise\"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),[\"all\",\"race\"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=\u003e{this.resolve(e).then(a(\"all\"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit(\"propagate\",[null,!i],o,!1,!1),i=i||!e}}}})),[\"resolve\",\"reject\"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r\u0026\u0026t.emit(\"propagate\",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],\"cb-\",a,null,!1),e[1]=n(e[1],\"cb-\",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit(\"propagate\",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on(\"executor-start\",(function(e){e[0]=n(e[0],\"resolve-\",this,null,!1),e[1]=n(e[1],\"resolve-\",this,null,!1)})),t.on(\"executor-err\",(function(e,t,r){e[1](r)})),t.on(\"cb-end\",(function(e,r,n){t.emit(\"propagate\",[n,!0],this.nextPromise,!1,!1)})),t.on(\"propagate\",(function(e,r,n){this.getCtx\u0026\u0026!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r\u0026\u0026r.getCtx?r.getCtx():this})}))}(),t}const Me={},Ke=\"setTimeout\",Ue=\"setInterval\",Ve=\"clearTimeout\",Ge=\"-start\",Fe=[Ke,\"setImmediate\",Ue,Ve,\"clearImmediate\"];function Be(e){const t=function(e){return(e||B.ee).get(\"timer\")}(e);if(Me[t.debugId]++)return t;Me[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Fe.slice(0,2),Ke+\"-\"),r.inPlace(p.gm,Fe.slice(2,3),Ue+\"-\"),r.inPlace(p.gm,Fe.slice(3),Ve+\"-\"),t.on(Ue+Ge,(function(e,t,n){e[0]=r(e[0],\"fn-\",null,n)})),t.on(Ke+Ge,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],\"fn-\",this,n)})),t}const We={};function ze(e){const t=function(e){return(e||B.ee).get(\"mutation\")}(e);if(!p.RI||We[t.debugId])return t;We[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n\u0026\u0026(window.MutationObserver=function(e){return this instanceof n?new n(r(e,\"fn-\")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:qe,d3:Ze,Kp:Ye,$p:Xe,wW:Je,e5:Qe,tH:$e,uP:et,rw:tt,Lc:rt}=Pe;class nt extends b{static featureName=qe;constructor(e,t=!0){if(super(e,qe,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get(\"tracer\"),o=Le(this.ee),a=De(this.ee),s=Be(this.ee),c=Z(this.ee),u=this.ee.get(\"events\"),d=ne(this.ee),l=ve(this.ee),f=ze(this.ee);function h(e,t){l.emit(\"newURL\",[\"\"+window.location,t])}function g(){n++,r=window.location.hash,this[et]=(0,S.t)()}function m(){n--,window.location.hash!==r\u0026\u0026h(0,!0);var e=(0,S.t)();this[Qe]=~~this[Qe]+e-this[et],this[rt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(et,g),a.on(tt,g),o.on(tt,g),this.ee.on(rt,m),a.on(Je,m),o.on(Je,m),this.ee.on(\"fn-err\",((...t)=\u003e{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)(\"function-err\",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([et,rt,\"xhr-resolved\"],this.featureName),u.buffer([et],this.featureName),s.buffer([\"setTimeout\"+Ye,\"clearTimeout\"+Ze,et],this.featureName),c.buffer([et,\"new-xhr\",\"send-xhr\"+Ze],this.featureName),d.buffer([$e+Ze,$e+\"-done\",$e+Xe+Ze,$e+Xe+Ye],this.featureName),l.buffer([\"newURL\"],this.featureName),f.buffer([et],this.featureName),a.buffer([\"propagate\",tt,Je,\"executor-err\",\"resolve\"+Ze],this.featureName),i.buffer([et,\"no-\"+et],this.featureName),o.buffer([\"new-jsonp\",\"cb-start\",\"jsonp-error\",\"jsonp-end\"],this.featureName),v(d,$e+Ze),v(d,$e+\"-done\"),v(o,\"new-jsonp\"),v(o,\"jsonp-end\"),v(o,\"cb-start\"),l.on(\"pushState-end\",h),l.on(\"replaceState-end\",h),window.addEventListener(\"hashchange\",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener(\"load\",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener(\"popstate\",(function(){h(0,n\u003e1)}),(0,A.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var it=i(3333);class ot extends b{static featureName=it.TZ;constructor(e,t=!0){super(e,it.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled];p.RI\u0026\u0026e.init.user_actions.enabled\u0026\u0026(it.Zp.forEach((e=\u003e(0,A.sp)(e,(e=\u003e(0,x.p)(\"ua\",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=\u003e(0,A.sp)(e,(e=\u003e(0,x.p)(\"ua\",[e],void 0,this.featureName,this.ee)))))),r.some((e=\u003ee))?this.importAggregator(e):this.deregisterDrain()}}var at=i(993),st=i(3785);class ct extends b{static featureName=at.TZ;constructor(e,t=!0){super(e,at.TZ,t);const r=this.ee;this.ee.on(\"wrap-logger-end\",(function([e]){const{level:t,customAttributes:n}=this;(0,st.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t,r){super(r),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=\u003ee.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||\"agent\"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=\u003ea.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=\u003e{if(!t[r.featureName]\u0026\u0026r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa\u0026\u0026r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa\u0026\u0026r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=\u003e!(e in this.features)));n.length\u003e0\u0026\u0026(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[he,w,N,Ne,_e,_,D,ot,ct,je,nt],loaderType:\"spa\"})})()})();","testAutomationFlags":{"disableAds":false,"disableIirisAuth":false,"disableWelcomeAd":false,"disableBigskyAd":false,"disableIirisRecommend":false,"disableDcts":false,"disableWeatherWidget":false,"disableCashGrainWidget":false,"disableCommoditiesWidget":false,"disableCaptcha":false,"disableCookieBanner":false,"overrideBrandStyling":"","overrideThemeStyling":""},"configState":{"font":{"primary":{"name":"Inter","url":"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900\u0026display=swap"},"secondary":{"name":"Inter","url":"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900\u0026display=swap"}},"theme":"theme1","uiBrand":"itprotoday","isMarketsDivision":false,"image":{"brand":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt06f49c53183e1192/65def48d237abe040a0cdb1b/Placeholder_Image.svg","contributor":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltae99c6600909049d/6582ebe1e746c5040a189f2b/theme1_placeholder_avatar.png"},"media":{"brightcoveAccountId":""},"newsletterSignupPromo":{"unbounceURL":"https://itp-resources.itprotoday.com/c/pubRD.mpl?secure=1\u0026sr=pp\u0026_t=pp:\u0026qf=w_itpb86\u0026ch=itpsitebtn","elnConfig":{"newsletter":{"subscribeForm":{"title":"Subscribe to Our Newsletters","subtitle":"Subtitle"},"subscribeConfirm":{"title":"Subscribe to Our Newsletters","subtitle":"Subtitle"}}}},"isOneTrustLoaded":false}},"routes/author.$slug":{"template":{"author":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png","alt":"","url":"/author/forrester-blog-network","title":"Forrester Blog Network","subTitle":"","content":[],"socialInfo":[{"url":"#","type":"Facebook"},{"url":"#","type":"Instagram"},{"url":"#","type":"Linkedin"},{"url":"#","type":"Twitter"}]},"breadcrumbs":[{"title":"Home","url":"/"},{"title":"Forrester Blog Network","url":"/author/forrester-blog-network"}],"pagination":{"totalCount":2,"currentPage":1},"contents":[{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltef1c012c16d42c8e/673f31ea0b465e9d0dc63974/skills-1716x965_-_2024-09-20.jpg","alt":"hand turning a Skills knob"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"Use Skills-Based Talent Practices to Future-Proof Your Tech Organization","mobileHeadline":"Use Skills-Based Talent Practices to Future-Proof Your Tech Organization","articleUrl":"/it-management/use-skills-based-talent-practices-to-future-proof-your-tech-organization","linkAttrs":{},"listPageUrl":"","date":"Nov 21, 2024","webinarStartTime":"","articleSummary":"As tech leaders face resource constraints and rapid technological change, adopting a skills-based talent approach ensures teams remain adaptable and equipped to meet current and future business demands.","articleBodyJsonSummary":"","variant":"normal","categoryName":"IT Management","categoryUrl":"/it-management","timeRead":2,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf7bac6b68b386c8f/6735d37b0993df6bb8785f0a/edge-computing-1716x965_-_2024-11-14.jpg","alt":"edge computing gears"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"Navigating the Convergence of Edge Computing, IoT, and OT With AIOps","mobileHeadline":"Navigating the Convergence of Edge Computing, IoT, and OT With AIOps","articleUrl":"/ops-and-more/navigating-the-convergence-of-edge-computing-iot-and-ot-with-aiops","linkAttrs":{},"listPageUrl":"","date":"Nov 14, 2024","webinarStartTime":"","articleSummary":"By providing contextualization within the larger IT estate, AIOps ensures seamless performance, enhanced security, and operational efficiency. ","articleBodyJsonSummary":"","variant":"normal","categoryName":"Ops and More","categoryUrl":"/it-management/ops-and-more","timeRead":4,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt241793d56bb052d5/6731f5bfc64003eae43f7108/AIOps-1716x965_-_2024-10-29.jpg","alt":"AIOps"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"Transforming Enterprise Networks With AIOps: A New Era of Intelligent Connectivity","mobileHeadline":"Transforming Enterprise Networks With AIOps: A New Era of Intelligent Connectivity","articleUrl":"/ops-and-more/transforming-enterprise-networks-with-aiops-a-new-era-of-intelligent-connectivity","linkAttrs":{},"listPageUrl":"","date":"Nov 11, 2024","webinarStartTime":"","articleSummary":"Learn how AIOps provides real-time contextualization and insights across the IT estate, ensuring that network infrastructure operates at peak efficiency in serving business needs.","articleBodyJsonSummary":"","variant":"normal","categoryName":"Ops and More","categoryUrl":"/it-management/ops-and-more","timeRead":4,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf97c6806f5d7d289/672a0f469a91abb579803669/AI-robot-1716x965_-_2024-11-05.jpg","alt":"robot typing on a keyboard"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"Embracing AIOps: Revolutionizing DevOps and Agile Methodologies","mobileHeadline":"Embracing AIOps: Revolutionizing DevOps and Agile Methodologies","articleUrl":"/ops-and-more/embracing-aiops-revolutionizing-devops-and-agile-methodologies","linkAttrs":{},"listPageUrl":"","date":"Nov 5, 2024","webinarStartTime":"","articleSummary":"Learn how AIOps can significantly enhance the efficiency, speed, and reliability of software development and deployment processes.","articleBodyJsonSummary":"","variant":"normal","categoryName":"Ops and More","categoryUrl":"/it-management/ops-and-more","timeRead":4,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt3d7f56460672edfe/6721343ca53736c27d96477f/AIOps-1716x965_-_2024-10-29.jpg","alt":"AIOps written on top of a circuit board"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"Embracing AIOps: Transforming IT Operations in the Digital Age","mobileHeadline":"Embracing AIOps: Transforming IT Operations in the Digital Age","articleUrl":"/ops-and-more/embracing-aiops-transforming-it-operations-in-the-digital-age","linkAttrs":{},"listPageUrl":"","date":"Oct 29, 2024","webinarStartTime":"","articleSummary":"AIOps is rapidly gaining traction across enterprises and industries. Learn how AIOps can enhance efficiency, reduce downtime, and drive innovation in this new blog series.","articleBodyJsonSummary":"","variant":"normal","categoryName":"Ops and More","categoryUrl":"/it-management/ops-and-more","timeRead":4,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf146e52be2cc42e8/671a653d40e07f6eaf972165/cloud-written-on-blocks-1716x965.jpg","alt":"the word \"CLOUD\" written on blocks"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"Predictions 2025: Clouds Shift From Riches to RAGs","mobileHeadline":"Predictions 2025: Clouds Shift From Riches to RAGs","articleUrl":"/cloud-computing/predictions-2025-clouds-shift-from-riches-to-rags","linkAttrs":{},"listPageUrl":"","date":"Oct 24, 2024","webinarStartTime":"","articleSummary":"In 2025, AI advancements will drive growth in public cloud services, while private cloud gains momentum, Forrester predicts.","articleBodyJsonSummary":"","variant":"normal","categoryName":"Cloud Computing","categoryUrl":"/cloud-computing","timeRead":3,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6d20941c3c27b5fc/6712aa70dffe522c6d92e2fd/talent-1716x965_-_2024-09-13.jpg","alt":"talent button"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"Support Your Talent Goals by Managing Your EVP and Employer Brand","mobileHeadline":"Support Your Talent Goals by Managing Your EVP and Employer Brand","articleUrl":"/career-management/support-your-talent-goals-by-managing-your-evp-and-employer-brand","linkAttrs":{},"listPageUrl":"","date":"Oct 19, 2024","webinarStartTime":"","articleSummary":"Forrester's latest research helps business leaders align employee value proposition (EVP) and employer brand.","articleBodyJsonSummary":"","variant":"normal","categoryName":"Career Management","categoryUrl":"/career-management","timeRead":2,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt49abda4a5a4bba27/66f69e5d8da4ba2d409c62a1/finops-1716x965.jpg","alt":"cloud surrounded by dollar signs"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"IBM Vies for Positioning as the De Facto FinOps Solution","mobileHeadline":"IBM Vies for Positioning as the De Facto FinOps Solution","articleUrl":"/ops-and-more/ibm-vies-for-positioning-as-the-de-facto-finops-solution","linkAttrs":{},"listPageUrl":"","date":"Sep 27, 2024","webinarStartTime":"","articleSummary":"IBM's acquisition of Kubecost enhances its cloud cost management capabilities, positioning it as a leader in FinOps solutions, though questions remain about integration and future pricing models.","articleBodyJsonSummary":"","variant":"normal","categoryName":"Ops and More","categoryUrl":"/it-management/ops-and-more","timeRead":3,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf7dd6ada180271c5/66ec261fc84ea6db4c461844/tech-sprawl-1716x965_-_2024-09-19.jpg","alt":"tech sprawl"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"CIOs: Get Tech Sprawl Under Control","mobileHeadline":"CIOs: Get Tech Sprawl Under Control","articleUrl":"/it-management/cios-get-tech-sprawl-under-control","linkAttrs":{},"listPageUrl":"","date":"Sep 19, 2024","webinarStartTime":"","articleSummary":"Find out what the impacts of tech sprawl can be and how to get it under control.","articleBodyJsonSummary":"","variant":"normal","categoryName":"IT Management","categoryUrl":"/it-management","timeRead":2,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt59394a316ecf9041/66db22f658cf9acd492d3087/image-1719x965_(13).jpg","alt":"a robot hand puts the letters 'AI' to the word sustainable"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"AI and the Green Market Revolution Will Intertwine","mobileHeadline":"AI and the Green Market Revolution Will Intertwine","articleUrl":"/ai-machine-learning/ai-and-the-green-market-revolution-will-intertwine","linkAttrs":{},"listPageUrl":"","date":"Sep 6, 2024","webinarStartTime":"","articleSummary":"While AI has huge potential to mitigate the environmental crisis, the technology that powers AI has a huge impact on climate change and water resources. Learn how the futures of AI and the green market revolution are intimately linked and how they will both become invisibly embedded into our daily lives.","articleBodyJsonSummary":"","variant":"normal","categoryName":"AI \u0026 Machine Learning","categoryUrl":"/digital-transformation/ai-machine-learning","timeRead":4,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9eb31714bdc303a0/66d9ab84c5adb0a56910e759/serverless-1716x965_-_2024-09-05.jpg","alt":"a stack of servers with a \"no\" symbol over it"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"Serverless Is Trending Again in Modern Application Development","mobileHeadline":"Serverless Is Trending Again in Modern Application Development","articleUrl":"/software-development-techniques/serverless-is-trending-again-in-modern-application-development","linkAttrs":{},"listPageUrl":"","date":"Sep 5, 2024","webinarStartTime":"","articleSummary":"After a decline in interest, serverless computing is resurging, positioning it as a key technology for modern cloud-native development.","articleBodyJsonSummary":"","variant":"normal","categoryName":"Software Development Techniques","categoryUrl":"/software-development/software-development-techniques","timeRead":5,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt83adf9797b39d033/66bf20b5d998347b979ae9c5/open-source-stamp-1716x965.jpg","alt":"the words \"open source\" stamped on a document"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"Open Source Doesn't Mean a Trademark Free-For-All","mobileHeadline":"Open Source Doesn't Mean a Trademark Free-For-All","articleUrl":"/linux-os/open-source-doesn-t-mean-a-trademark-free-for-all","linkAttrs":{},"listPageUrl":"","date":"Aug 16, 2024","webinarStartTime":"","articleSummary":"Open-source licenses give you rights to copy, and in some cases, they define patent rights and responsibilities, but when they mention trademarks at all, most of them exclude rights rather than include them.","articleBodyJsonSummary":"","variant":"normal","categoryName":"Linux OS","categoryUrl":"/operating-systems/linux-os","timeRead":2,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt912bdd62d0fa6c75/66b64de61b6f66ced823da7c/image-1716x965_(19).jpg","alt":"padlock icons with a background photo of a business meeting"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"Invest, Experiment, And Scale Back: Budget Priorities For CISOs In 2025","mobileHeadline":"Invest, Experiment, And Scale Back: Budget Priorities For CISOs In 2025","articleUrl":"/vulnerabilities-threats/invest-experiment-and-scale-back-budget-priorities-for-cisos-in-2025","linkAttrs":{},"listPageUrl":"","date":"Aug 8, 2024","webinarStartTime":"","articleSummary":"The majority of security technology decision-makers anticipate further budget increases in 2025. ","articleBodyJsonSummary":"","variant":"normal","categoryName":"Vulnerabilities \u0026 Threats","categoryUrl":"/it-security/vulnerabilities-threats","timeRead":3,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blte37a56f50f8305ef/66b1e1c6ed449621fd08bddf/software-development-on-clipboard-1716x965.jpg","alt":"\"software development\" header on paper on a clipboard"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"AI and the End of Software Development as We Know It","mobileHeadline":"AI and the End of Software Development as We Know It","articleUrl":"/software-development-techniques/ai-and-the-end-of-software-development-as-we-know-it","linkAttrs":{},"listPageUrl":"","date":"Aug 6, 2024","webinarStartTime":"","articleSummary":"We've tried agile, DevSecOps, and low-code — now what?","articleBodyJsonSummary":"","variant":"normal","categoryName":"Software Development Techniques","categoryUrl":"/software-development/software-development-techniques","timeRead":2,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blte3781840f96b0023/66a0dec241a60bdd0e46274e/doughouse-1716x965.jpg","alt":"German Shepherd lying in a doghouse"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"GitLab Customers Hope to Stay Out of the Doghouse if Acquired by Datadog","mobileHeadline":"GitLab Customers Hope to Stay Out of the Doghouse if Acquired by Datadog","articleUrl":"/software-development/gitlab-customers-hope-to-stay-out-of-the-doghouse-if-acquired-by-datadog","linkAttrs":{},"listPageUrl":"","date":"Jul 24, 2024","webinarStartTime":"","articleSummary":"Rumors of Datadog acquiring GitLab could reshape the DevOps landscape by consolidating CI/CD and monitoring tools, offering a seamless experience but posing integration challenges.","articleBodyJsonSummary":"","variant":"normal","categoryName":"Software Development","categoryUrl":"/software-development","timeRead":4,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltcab1bb82c78e2328/669a80675b5b9e473294f8b9/cloud-key-1716x965.jpg","alt":"cloud key on a keyboard"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"How Utilities and Telcos Are Rationalizing Their Clouds","mobileHeadline":"How Utilities and Telcos Are Rationalizing Their Clouds","articleUrl":"/cloud-computing/how-utilities-and-telcos-are-rationalizing-their-clouds","linkAttrs":{},"listPageUrl":"","date":"Jul 19, 2024","webinarStartTime":"","articleSummary":"Forrester's latest report highlights how these linear asset-intensive industries, although relatively late to public cloud, are now eagerly pursuing its potential.","articleBodyJsonSummary":"","variant":"normal","categoryName":"Cloud Computing","categoryUrl":"/cloud-computing","timeRead":3,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf467f079489fa278/66914f0596a129aa40e692b3/genAI-robot-typing-1716x965.jpg","alt":"robot typing on a laptop"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"Threading the Needle on GenAI and Developer Experience","mobileHeadline":"Threading the Needle on GenAI and Developer Experience","articleUrl":"/software-development-techniques/threading-the-needle-on-genai-and-developer-experience","linkAttrs":{},"listPageUrl":"","date":"Jul 12, 2024","webinarStartTime":"","articleSummary":"Generative AI can relieve developers of routine tasks, allowing them to concentrate on creative problem-solving, but it will not eliminate the need for skilled developers.","articleBodyJsonSummary":"","variant":"normal","categoryName":"Software Development Techniques","categoryUrl":"/software-development/software-development-techniques","timeRead":2,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt99cae4a14c3aa3bd/668bf2adca9a044aec1bf0d4/Aristotle-1716x965.jpg","alt":"Bust of Aristotle in Uffizi Gallery, Florence"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"Greeking Out: Aristotle's Guide to AIOps Mastery","mobileHeadline":"Greeking Out: Aristotle's Guide to AIOps Mastery","articleUrl":"/ops-and-more/greeking-out-aristotle-s-guide-to-aiops-mastery","linkAttrs":{},"listPageUrl":"","date":"Jul 8, 2024","webinarStartTime":"","articleSummary":"Aristotle's wisdom nails it: Mastering precision, appropriateness, timeliness, intentionality, and methodology isn't just for anger management — it's crucial for AIOps too.","articleBodyJsonSummary":"","variant":"normal","categoryName":"Ops and More","categoryUrl":"/it-management/ops-and-more","timeRead":5,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt2d803d8619571ea8/667e9e0935736c7c17b4afa7/cloud-native-1716x965_(29).jpg","alt":"cloud-native"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"How Cloud-Native Development Benefits SaaS","mobileHeadline":"How Cloud-Native Development Benefits SaaS","articleUrl":"/cloud-native/how-cloud-native-development-benefits-saas","linkAttrs":{},"listPageUrl":"","date":"Jun 28, 2024","webinarStartTime":"","articleSummary":"For many organizations, SaaS and commercial off-the-shelf software are at best an 80% solution to the business need. Find out how cloud-native development can help close the gap.","articleBodyJsonSummary":"","variant":"normal","categoryName":"Cloud Native","categoryUrl":"/software-development/cloud-native","timeRead":3,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blte64dd87b2d84aae3/666ad0780feabc366116c102/DevOps-1716x965.jpg","alt":"software developer working at his workstation"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"Tech Leaders Must Adapt to the Evolving US Developer Labor Market","mobileHeadline":"Tech Leaders Must Adapt to the Evolving US Developer Labor Market","articleUrl":"/software-development/tech-leaders-must-adapt-to-the-evolving-us-developer-labor-market","linkAttrs":{},"listPageUrl":"","date":"Jun 13, 2024","webinarStartTime":"","articleSummary":"Despite the uncertain economic climate and continued layoffs, competition for skilled software developers will remain high. Get three key insights from Forrester's latest TIER report to help attract the best developers.","articleBodyJsonSummary":"","variant":"normal","categoryName":"Software Development","categoryUrl":"/software-development","timeRead":2,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt1193d2108e6245b5/66620617d8183d57d84c4033/software-new.jpg","alt":" business software on a laptop screen with a 3D cloud"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"Align or Fall Behind: Overcoming Software Strategy Execution Challenges in APAC","mobileHeadline":"Align or Fall Behind: Overcoming Software Strategy Execution Challenges in APAC","articleUrl":"/it-operations/align-or-fall-behind-overcoming-software-strategy-execution-challenges-in-apac","linkAttrs":{},"listPageUrl":"","date":"Jun 6, 2024","webinarStartTime":"","articleSummary":"The APAC software industry is booming, yet mastering a software strategy remains a complex task for technology leaders. Learn how to fine-tune your 2025 IT budgeting efforts to match the intensity of investment.","articleBodyJsonSummary":"","variant":"normal","categoryName":"IT Operations","categoryUrl":"/it-management/it-operations","timeRead":4,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfb7639a4174b368c/665a14e9a6b88a7d9d45d4ac/earth_and_a_network_of_digital_padlock_icons.jpg","alt":"earth and a network of digital padlock icons.jpg"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"Recapping This Year’s InCyber Forum","mobileHeadline":"Recapping This Year’s InCyber Forum","articleUrl":"/it-security/recapping-this-year-s-incyber-forum","linkAttrs":{},"listPageUrl":"","date":"May 31, 2024","webinarStartTime":"","articleSummary":"AI and European cybersecurity regulations were among the hottest topics at the recent InCyber Forum in Lille, France. Get more detail on the key trends in this event review.","articleBodyJsonSummary":"","variant":"normal","categoryName":"IT Security","categoryUrl":"/it-security","timeRead":3,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd7df81119ac19212/66574d826a5c38805830e93f/SDLC.jpg","alt":"pen and pencil on the software development life cycle chart"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"The Future Is Now: TuringBots Will Collapse the Software Development Lifecycle Silos","mobileHeadline":"The Future Is Now: TuringBots Will Collapse the Software Development Lifecycle Silos","articleUrl":"/software-development/the-future-is-now-turingbots-will-collapse-the-software-development-lifecycle-silos","linkAttrs":{},"listPageUrl":"","date":"May 29, 2024","webinarStartTime":"","articleSummary":"By 2028, software development as we know it today will have undergone a radical transformation, allowing teams to create new applications at unprecedented speeds.","articleBodyJsonSummary":"","variant":"normal","categoryName":"Software Development","categoryUrl":"/software-development","timeRead":4,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltebb341849ad41cb7/6650a0e7a1396e43840aa805/cloud-sustainability_2.jpg","alt":"sustainability written in clouds"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"GreenOps, FinOps, and the Sustainable Cloud","mobileHeadline":"GreenOps, FinOps, and the Sustainable Cloud","articleUrl":"/green-it/greenops-finops-and-the-sustainable-cloud","linkAttrs":{},"listPageUrl":"","date":"May 14, 2024","webinarStartTime":"","articleSummary":"It's not just up to public cloud providers to ensure sustainability. Forrester advises companies to implement these actions.","articleBodyJsonSummary":"","variant":"normal","categoryName":"Green IT","categoryUrl":"/it-management/it-sustainability/green-it","timeRead":4,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt2d33cde151134671/6650a21090b2ab02e28491fb/2R62H5E.jpg","alt":"Wooden letter blocks spelling out Generative AI against marble stone"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"Build Your GenAI Strategy on a Rock-Solid Foundation (Model)","mobileHeadline":"Build Your GenAI Strategy on a Rock-Solid Foundation (Model)","articleUrl":"/ai-machine-learning/build-your-genai-strategy-on-a-rock-solid-foundation-model-","linkAttrs":{},"listPageUrl":"","date":"Apr 18, 2024","webinarStartTime":"","articleSummary":"The market for AI foundation models is still in its infancy. While enterprises still rely mostly on pretrained large language models for AI needs, the market is evolving and changing quickly. Tech leaders must understand how to navigate it.","articleBodyJsonSummary":"","variant":"normal","categoryName":"AI \u0026 Machine Learning","categoryUrl":"/digital-transformation/ai-machine-learning","timeRead":3,"paidGating":null,"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltc954cc1db3ab281b/6617f9ce0690367f698f5f44/crystal-ball_1.jpg","alt":"crystal ball"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"Predictions 2024: An EX Recession and an AI Revolution Reshape the Future of Work","mobileHeadline":"Predictions 2024: An EX Recession and an AI Revolution Reshape the Future of Work","articleUrl":"/ai-machine-learning/predictions-2024-an-ex-recession-and-an-ai-revolution-reshape-the-future-of-work","linkAttrs":{},"listPageUrl":"","date":"Nov 7, 2023","webinarStartTime":"","articleSummary":"Forrester foresees a decline in organizational DEI, as well as employee engagement and cultural energy, and AI causing mischief in recruiting in 2024.","articleBodyJsonSummary":"","variant":"normal","categoryName":"AI \u0026 Machine Learning","categoryUrl":"/digital-transformation/ai-machine-learning","timeRead":4,"paidGating":null,"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9735e9739abb7e56/6617fa1822d09c930062f826/Microsoft_20365_20Copilot_20logo_20is_20seen_20on_20a_20smartphone_20screen.jpg","alt":"Microsoft 365 Copilot logo is seen on a smartphone screen"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"How To Build Your Business Case For Microsoft 365 Copilot","mobileHeadline":"How To Build Your Business Case For Microsoft 365 Copilot","articleUrl":"/microsoft-365/how-to-build-your-business-case-for-microsoft-365-copilot","linkAttrs":{},"listPageUrl":"","date":"Oct 27, 2023","webinarStartTime":"","articleSummary":"Microsoft 365 Copilot’s general-availability day is here. Forrester’s new research can help you build your business case for adoption.","articleBodyJsonSummary":"","variant":"normal","categoryName":"Microsoft 365","categoryUrl":"/cloud-computing/cloud-services/microsoft-365","timeRead":3,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt8ec877bd092695b5/6617fa5645d84516c0a867b4/A_20shrugging_20businessman_20standing_20above_20whistle.jpg","alt":"A shrugging business person stands on top of a whistle"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"The Whistleblower Diaries: Don’t Blow Off The Disgruntled Employee","mobileHeadline":"The Whistleblower Diaries: Don’t Blow Off The Disgruntled Employee","articleUrl":"/regulatory-compliance/the-whistleblower-diaries-don-t-blow-off-the-disgruntled-employee","linkAttrs":{},"listPageUrl":"","date":"Oct 12, 2023","webinarStartTime":"","articleSummary":"Ignoring whistleblowers is costly and bad for business. Learn three things that security and risk pros need to know about a new breed of whistleblower.","articleBodyJsonSummary":"","variant":"normal","categoryName":"Regulatory Compliance","categoryUrl":"/it-security/regulatory-compliance","timeRead":3,"paidGating":null,"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt8da4ca39042ef784/6617fda8bce51f929c51a604/cloud-computing-button_1.jpg","alt":"finger pressing \"cloud\" button"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"The New Major Cloud Adopters: Financial Services","mobileHeadline":"The New Major Cloud Adopters: Financial Services","articleUrl":"/edge-computing/the-new-major-cloud-adopters-financial-services","linkAttrs":{},"listPageUrl":"","date":"May 3, 2023","webinarStartTime":"","articleSummary":"In 2023, major banks, wealth managers, insurance companies, and other FS organizations are leaning heavily on public cloud for digital banking services.","articleBodyJsonSummary":"","variant":"normal","categoryName":"Edge Computing","categoryUrl":"/digital-transformation/edge-computing","timeRead":4,"paidGating":null,"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt33bb593a1c174b12/6617fdbf84743751ba2c309a/sustainability_20word_20cloud.jpg","alt":"sustainability word cloud"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"Keys To Succeeding as a Chief Sustainability Officer","mobileHeadline":"Keys To Succeeding as a Chief Sustainability Officer","articleUrl":"/it-sustainability/keys-to-succeeding-as-a-chief-sustainability-officer","linkAttrs":{},"listPageUrl":"","date":"May 1, 2023","webinarStartTime":"","articleSummary":"Urgency isn’t enough to drive climate action and improve environmental sustainability practices. Learn several key insights from successful chief sustainability officers.","articleBodyJsonSummary":"","variant":"normal","categoryName":"IT Sustainability","categoryUrl":"/it-management/it-sustainability","timeRead":2,"paidGating":null,"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blte4f33349f9f247a3/6617fe17f659be521bbbe266/Java-on-screen_0.jpg","alt":"Java logo on a laptop screen"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"Plan Now for Major Changes to Oracle Java Licensing Costs","mobileHeadline":"Plan Now for Major Changes to Oracle Java Licensing Costs","articleUrl":"/oracle-cloud-infrastructure/plan-now-for-major-changes-to-oracle-java-licensing-costs","linkAttrs":{},"listPageUrl":"","date":"Apr 12, 2023","webinarStartTime":"","articleSummary":"The new Java SE Universal Subscription can be complicated — and expensive. Here's what to consider before making any changes.","articleBodyJsonSummary":"","variant":"normal","categoryName":"Oracle Cloud Infrastructure","categoryUrl":"/cloud-computing/public-cloud/oracle-cloud-infrastructure","timeRead":2,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]},"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt2427e9fe99dcbb16/66180111292103181f5c6a57/accessibility_0.jpg","alt":"accessibility key on keyboard"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"All I Want For Christmas Is an Accessibility Expert","mobileHeadline":"All I Want For Christmas Is an Accessibility Expert","articleUrl":"/career-management/all-i-want-for-christmas-is-an-accessibility-expert","linkAttrs":{},"listPageUrl":"","date":"Dec 2, 2022","webinarStartTime":"","articleSummary":"Twenty-seven percent of design teams plan to hire accessibility experts in the next 12 months. Learn what success in the role requires.","articleBodyJsonSummary":"","variant":"normal","categoryName":"Career Management","categoryUrl":"/career-management","timeRead":3,"paidGating":null,"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltdfff2931aa3bf686/661801734a487a752adcc824/programmer-looking-through-code_2.jpg","alt":"programmer looking through code"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"Predictions 2023: Citizen Development, Metaverse Stir Up Software Development","mobileHeadline":"Predictions 2023: Citizen Development, Metaverse Stir Up Software Development","articleUrl":"/software-development/predictions-2023-citizen-development-metaverse-stir-up-software-development","linkAttrs":{},"listPageUrl":"","date":"Nov 18, 2022","webinarStartTime":"","articleSummary":"The year ahead will be a tumultuous one for software developers. Read Forrester's top three predictions for software development in 2023.","articleBodyJsonSummary":"","variant":"normal","categoryName":"Software Development","categoryUrl":"/software-development","timeRead":3,"paidGating":null,"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt1d28322051bca936/6618018f3dee0f20228efa66/diversity-hiring_0.jpg","alt":"diverse team"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"Diversity and Inclusion Matter in the Digital Context","mobileHeadline":"Diversity and Inclusion Matter in the Digital Context","articleUrl":"/digital-transformation/diversity-and-inclusion-matter-in-the-digital-context","linkAttrs":{},"listPageUrl":"","date":"Nov 14, 2022","webinarStartTime":"","articleSummary":"Here are three reasons why a strong DEI strategy is critical for digital business leaders.","articleBodyJsonSummary":"","variant":"normal","categoryName":"Digital Transformation","categoryUrl":"/digital-transformation","timeRead":3,"paidGating":null,"articleSize":"big"},{"contentType":"Article","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt49d8763eef5ffd5d/66277ab5b1627011519d32de/colleagues_with_tablet_0.jpg","alt":"Predictions 2023: Tech Teams Set Sights On Communication Coordination To Inform Insights Initiatives"},"contributors":[{"name":"Forrester Blog Network","link":"/author/forrester-blog-network","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png"}],"articleName":"Predictions 2023: Tech Teams Set Sights On Communication Coordination To Inform Insights Initiatives","mobileHeadline":"Predictions 2023: Tech Teams Set Sights On Communication Coordination To Inform Insights Initiatives","articleUrl":"/it-management/predictions-2023-tech-teams-set-sights-on-communication-coordination-to-inform-insights-initiatives","linkAttrs":{},"listPageUrl":"","date":"Nov 14, 2022","webinarStartTime":"","articleSummary":"Data and analytics teams are in for a bumpy ride in 2023. Those that can configure their content and communications best will outperform (and outlast) their competitors in the long run.","articleBodyJsonSummary":"","variant":"normal","categoryName":"IT Management","categoryUrl":"/it-management","timeRead":3,"paidGating":null,"articleSize":"big"}],"sidebarModules":[{"type":"module_content_cards","data":{"title":"Editor's Choice","moduleLabel":"Editor's Choice","variant":"default","contents":[{"type":"contentPreview","data":{"contentType":"Article","variant":"card-horizontal","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blte7be8ee65ed686ae/67128e1e98e874167c4f05e1/hero_powershell_multifile_tool.png","alt":"the interface of the PowerShell search tool with a hand holding a magnifying glass on a background of a blue sky and clouds in the shape of gears"},"articleName":"How I Built My Own PowerShell Multi-File Search Tool","mobileHeadline":"How I Built My Own PowerShell Multi-File Search Tool","articleUrl":"/powershell/how-i-built-my-own-powershell-multi-file-search-tool","listPageUrl":"/powershell/how-i-built-my-own-powershell-multi-file-search-tool","linkAttrs":{},"date":"Oct 22, 2024","webinarStartTime":"","categoryName":"PowerShell","categoryUrl":"/operating-systems/powershell","contributors":[{"name":"Brien Posey","link":"/author/brien-posey","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltbd2d61ed5b87072c/6613c9a9bce8e3a5a1d68782/Brien_Posey.jpg"}],"timeRead":10,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]}}},{"type":"ad","data":{"pos":"native_right_1v"}},{"type":"contentPreview","data":{"contentType":"Article","variant":"card-horizontal","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf8db9c6bab6974be/67191ffa32efaa4f10cc0da3/burnout_gif.gif","alt":"burnout gif featuring a mannequin surrounded by office technology on fire"},"articleName":"Am I Burned Out? How To Identify and Address Burnout in IT","mobileHeadline":"Am I Burned Out? How To Identify and Address Burnout in IT","articleUrl":"/career-tips/am-i-burned-out-how-to-identify-and-address-burnout-in-it","listPageUrl":"/career-tips/am-i-burned-out-how-to-identify-and-address-burnout-in-it","linkAttrs":{},"date":"Oct 24, 2024","webinarStartTime":"","categoryName":"Career Tips","categoryUrl":"/career-management/career-tips","contributors":[{"name":"Danielle Meinert","link":"/author/danielle-meinert","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6cea48e7fba9fe0c/66744228de07df7824ca2798/danielle-profile-photo.jpeg"}],"timeRead":4,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]}}},{"type":"contentPreview","data":{"contentType":"Article","variant":"card-horizontal","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6848a0ecb0125906/6718d881c3b38d9d32d538ac/ML-1716x965_-_2024-10-23.jpg","alt":"MLOps"},"articleName":"Choosing Between Cloud and On-Prem MLOps: What's Best for Your Needs?","mobileHeadline":"Choosing Between Cloud and On-Prem MLOps: What's Best for Your Needs?","articleUrl":"/ops-and-more/choosing-between-cloud-and-on-prem-mlops-what-s-best-for-your-needs-","listPageUrl":"/ops-and-more/choosing-between-cloud-and-on-prem-mlops-what-s-best-for-your-needs-","linkAttrs":{},"date":"Oct 23, 2024","webinarStartTime":"","categoryName":"Ops and More","categoryUrl":"/it-management/ops-and-more","contributors":[{"name":"Christopher Tozzi","link":"/author/christopher-tozzi","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt363e2b757d4697ca/6613c9a4e92bcfe48a891995/christophertozzi_2.jpg"}],"timeRead":4,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]}}},{"type":"ad","data":{"pos":"native_right_2v"}},{"type":"contentPreview","data":{"contentType":"Article","variant":"card-horizontal","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf99e8de69c884e47/6703e85e7c36d207b980a3fa/Linux_Kernel_Security.png","alt":"a digital shield icon with a keyhole next to text that says linux kernel security"},"articleName":"Linux Kernel Exploits: How Attackers Gain Root Access and How To Defend Against It","mobileHeadline":"Linux Kernel Exploits: Common Threats and How To Prevent Them","articleUrl":"/vulnerabilities-threats/linux-kernel-exploits-how-attackers-gain-root-access-and-how-to-defend-against-it","listPageUrl":"/vulnerabilities-threats/linux-kernel-exploits-how-attackers-gain-root-access-and-how-to-defend-against-it","linkAttrs":{},"date":"Oct 8, 2024","webinarStartTime":"","categoryName":"Vulnerabilities \u0026 Threats","categoryUrl":"/it-security/vulnerabilities-threats","contributors":[{"name":"Grant Knoetze","link":"/author/grant-knoetze","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg"}],"timeRead":6,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]}}}],"dateDisplay":"show","contributorDisplay":"show"},"adConfig":{"nativeAdOption":true}},{"type":"module_link_list","data":{"listOption":"Dynamic","listTitle":"Exclusive ITPro Resources","icon":"Document","externalFeed":"","ctaButton":{"ctaButtonLink":"/documents","ctaButtonText":"See all ITPro Resources"},"openInNewTab":false,"articles":[{"contentType":"Document","title":"BCDR Basics: A Quick Reference Guide for Business Continuity \u0026 Disaster Recovery","url":"/disaster-recovery/bcdr-basics-a-quick-reference-guide-for-business-continuity-disaster-recovery","isExternalLink":false,"readTime":1,"publishedDate":"2024-10-10T15:22:31.000Z","eventDate":"","webinarStartTime":""},{"contentType":"Document","title":"ITPro Today’s 2024 IT Priorities Report","url":"/career-management/itpro-today-s-2024-it-priorities-report","isExternalLink":false,"readTime":1,"publishedDate":"2024-09-25T10:00:00.000Z","eventDate":"","webinarStartTime":""},{"contentType":"Document","title":"Tech Careers: Quick Reference Guide to IT Job Titles","url":"/career-management/tech-careers-quick-reference-guide-to-it-job-titles","isExternalLink":false,"readTime":1,"publishedDate":"2024-09-13T10:45:00.000Z","eventDate":"","webinarStartTime":""},{"contentType":"Document","title":"Migrating From VMware: Guide to a Successful Transition","url":"/vmware/migrating-from-vmware-guide-to-a-successful-transition","isExternalLink":false,"readTime":1,"publishedDate":"2024-09-03T09:45:00.000Z","eventDate":"","webinarStartTime":""}]}},{"type":"module_content_cards","data":{"title":"Technical Explainers","moduleLabel":"Featured Technical Explainers","variant":"default","contents":[{"type":"contentPreview","data":{"contentType":"Article","variant":"card-horizontal","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfec5fcbd31c7f2a6/673b100cd675084d0707e288/AI-chip-1716x965_-_2024-11-18.jpg","alt":"AI chip"},"articleName":"Cloud vs. On-Prem AI Accelerators: Choosing the Best Fit for Your AI Workloads","mobileHeadline":"Cloud vs. On-Prem AI Accelerators: Choosing the Best Fit for Your AI Workloads","articleUrl":"/cloud-computing/cloud-vs-on-prem-ai-accelerators-choosing-the-best-fit-for-your-ai-workloads","listPageUrl":"/cloud-computing/cloud-vs-on-prem-ai-accelerators-choosing-the-best-fit-for-your-ai-workloads","linkAttrs":{},"date":"Nov 18, 2024","webinarStartTime":"","categoryName":"Cloud Computing","categoryUrl":"/cloud-computing","contributors":[{"name":"Christopher Tozzi","link":"/author/christopher-tozzi","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt363e2b757d4697ca/6613c9a4e92bcfe48a891995/christophertozzi_2.jpg"}],"timeRead":4,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]}}},{"type":"contentPreview","data":{"contentType":"Article","variant":"card-horizontal","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd277e0c4548d3c42/673278ac8d8bc463268a48b4/SaaS-1716x965_-_2024-11-11.jpg","alt":"SaaS concept on a tablet"},"articleName":"Why SaaS Backup Matters: Protecting Data Beyond Vendor Guarantees","mobileHeadline":"Why SaaS Backup Matters: Protecting Data Beyond Vendor Guarantees","articleUrl":"/cloud-computing/why-saas-backup-matters-protecting-data-beyond-vendor-guarantees","listPageUrl":"/cloud-computing/why-saas-backup-matters-protecting-data-beyond-vendor-guarantees","linkAttrs":{},"date":"Nov 12, 2024","webinarStartTime":"","categoryName":"Cloud Computing","categoryUrl":"/cloud-computing","contributors":[{"name":"Christopher Tozzi","link":"/author/christopher-tozzi","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt363e2b757d4697ca/6613c9a4e92bcfe48a891995/christophertozzi_2.jpg"}],"timeRead":5,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]}}},{"type":"contentPreview","data":{"contentType":"Article","variant":"card-horizontal","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltdf272a7a39b366c2/672b48253c936766d5282090/DevOps-code-1716x965_-_2024-09-06.jpg","alt":"DevOps logo on top of code"},"articleName":"DevOps: Key to Faster, More Efficient Government Software Development","mobileHeadline":"DevOps: Key to Faster, More Efficient Government Software Development","articleUrl":"/devops/devops-key-to-faster-more-efficient-government-software-development","listPageUrl":"/devops/devops-key-to-faster-more-efficient-government-software-development","linkAttrs":{},"date":"Nov 6, 2024","webinarStartTime":"","categoryName":"DevOps","categoryUrl":"/it-management/devops","contributors":[{"name":"Christopher Tozzi","link":"/author/christopher-tozzi","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt363e2b757d4697ca/6613c9a4e92bcfe48a891995/christophertozzi_2.jpg"}],"timeRead":4,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]}}}],"dateDisplay":"hide","contributorDisplay":"hide"},"adConfig":{"nativeAdOption":false}},{"type":"module_newsletter_promo","uid":"blt96562e27e259477c","data":{"title":"Sign up for the ITPro Today newsletter","message":"Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.","newsletterId":"blt96562e27e259477c","buttonText":"Newsletter Sign-Up","variant":"vertical","mode":"dark","isOnHomepage":false,"moduleLocation":"sidebar"}},{"type":"module_content_cards","data":{"title":"What Is","moduleLabel":"Recent What Is","variant":"column","contents":[{"type":"contentPreview","data":{"contentType":"Document","variant":"card-vertical","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd6267f0056e427cb/6707f1e94c215e0bdbe8db2f/image-1795x965_(2).jpg","alt":"cartoon shows a person next to a checklist and several icons that represent disaster scenarios"},"articleName":"BCDR Basics: A Quick Reference Guide for Business Continuity \u0026 Disaster Recovery","mobileHeadline":"BCDR Basics: A Quick Reference Guide for IT Pros","articleUrl":"/disaster-recovery/bcdr-basics-a-quick-reference-guide-for-business-continuity-disaster-recovery","listPageUrl":"/disaster-recovery/bcdr-basics-a-quick-reference-guide-for-business-continuity-disaster-recovery","linkAttrs":{},"date":"Oct 10, 2024","webinarStartTime":"","categoryName":"Disaster Recovery","categoryUrl":"/data-storage/disaster-recovery","contributors":[{"name":"Ian Horowitz","link":"/author/ian-horowitz","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltc93aa705007174ee/66a10526893fa79494559f62/itpro-contributor-icon2.png"}],"timeRead":1,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]}}},{"type":"contentPreview","data":{"contentType":"Article","variant":"card-vertical","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfffa964ee37aaf1e/66f6ee6fe8a6b02af4dab7fe/powershell_environment_variables_chart.png","alt":"technology interface with a person's hand drawing gears and cogs"},"articleName":"Introduction To PowerShell Environment Variables","mobileHeadline":"Introduction To PowerShell Environment Variables","articleUrl":"/powershell/introduction-to-powershell-environment-variables","listPageUrl":"/powershell/introduction-to-powershell-environment-variables","linkAttrs":{},"date":"Sep 30, 2024","webinarStartTime":"","categoryName":"PowerShell","categoryUrl":"/operating-systems/powershell","contributors":[{"name":"Brien Posey","link":"/author/brien-posey","avatar":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltbd2d61ed5b87072c/6613c9a9bce8e3a5a1d68782/Brien_Posey.jpg"}],"timeRead":4,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]}}}],"dateDisplay":"hide","contributorDisplay":"hide"},"adConfig":{"nativeAdOption":false}}],"newsletterSignUpPromo":{"title":"Sign up for the ITPro Today newsletter","message":"Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.","newsletterId":"blt96562e27e259477c","buttonText":"Newsletter Sign-Up","variant":"vertical","mode":"dark"}},"metadata":{"uid":"blt917626eb7b2b1ca7","aid":"656043"},"schema":[{"@context":"https://schema.org","@type":"ProfilePage","mainEntity":{"@type":"Person","name":"Forrester Blog Network","description":"Forrester Blog Network, ","image":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png","disambiguatingDescription":"","sameAs":[]}}],"seo":{"canonicalUrl":"https://www.itprotoday.com/author/forrester-blog-network","metaDescription":"Explore the latest news and expert commentary by Forrester Blog Network, brought to you by the Contributor of ITPro Today","metaTitle":"Forrester Blog Network | ITPro Today","noIndex":false,"imageUrl":"https://www.itprotoday.com/build/_assets/itprotoday-TDRQNNNW.ico","siteName":"ITPro Today"},"isAuthenticated":false}},"actionData":null,"errors":null}};</script><script type="module" async="">import "/build/manifest-1DDC3B48.js"; import * as route0 from "/build/root-EIFOE2ED.js"; import * as route1 from "/build/routes/author.$slug-Q4M3ULIT.js"; window.__remixRouteModules = {"root":route0,"routes/author.$slug":route1}; import("/build/entry.client-IJHKMLWO.js");</script><script async="" defer="" src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v3.2"></script><script async="" defer="" src="https://www.instagram.com/embed.js"></script></body></html>