IDC: Pětina prodaných serverů je virtualizovaná. Kdo vládne trhu?

11. 5. 2010
Doba čtení: 2 minuty

Sdílet

Podle výsledků výzkumu analytické společnosti IDC se ve čtvrtém čtvrtletí 2009 zvýšily prodeje virtualizovaných serverů. Přesáhly tak hranici 352 tisíc kusů a představovaly 18,5 % celého trhu. Ovšem při pohledu na celý rok objem prodejů poklesl o 5 % a příjmy o 14 %.

Dle slov analytiků nadále pokračuje tendence v nasazování placených hypervisorů v kombinaci s placeným virtualizačním softwaremPříjmy z prodeje virtualizačního software po celém světě ve čtvrtém kvartálu meziročně spadly o 10 % na 447 milionu dolarů především díky ekonomickému tlaku a rostoucí konkurenci. Naopak se o 13 % zvýšil počet prodaných virtualizační licencí, ovšem celkově za rok 2009 segment zaznamenal pokles o 7 %.

První příčku s meziročním růstem o 26 % si udrželo HP a ovládlo tak 38 % trhu virtualizovaných serverů. Dell navzdory 17% nárůstu oslabil svoji pozici a spadl z 29 % na 26 %. Na třetí pozici se umístilo IBM, které zaznamenalo zvýšení prodejů o 37 % a získalo 16 % trhu.

Jedničkou ve virtualizační platformě zůstal VMware ESX, meziročně dokázal zvýšit počet prodaných licencí o 19 %. Přes pokles dosahující 9 % se na druhém místě umístil VMware Server, na který utočí Microsoft Hyper-V, jenž vykázal růst o 215 %. Naopak čtvrtý Virtual Server 2005 zaznamenal pokles o 29 %. Na páté příčce se umístil Citrix XenServer, jehož prodeje se meziročně zvýšily o 290 %.

Region EMEA

V Evropě, Blízkém východě a Africe dopadla situace obdobně jako po celém světě. Podíl virtualizovaných serverů dosáhl ve čtvrtém čtvrtletí 17,7 % a vzrostl o 2,8 % na celkových 110 tisíc kusů. Virtualizační software dosáhl hodnoty 158 milionu dolarů, což představuje meziroční růst o 3,9 %. Virtualizačních licencí se prodalo ve srovnání s předchozím rokem o 8,54 % více.

Dle slov analytiků nadále pokračuje tendence v nasazování placených hypervisorů v kombinaci s placeným virtualizačním softwarem. Taková konfigurace se ve čtvrtém čtvrtletí nacházela na 71,7 % všech virtualizovaných serverech. Do západní Evropy putovalo 20,1 % všech prodaných kusů virtualizovaných serverů a výrazný růst zaznamenává také region CEMA, na který připadlo 11,02 %.

Lídrem v regionu EMEA se stalo HP, jenž ovládlo 50 % trhu. Na druhé pozici se umístil Dell s 33% podílem a třetí IBM získalo 15 %.

Virtualizační platformu i přes meziroční pokles o 1,8 % v prodaných licencí ovládl VMware s ESX. Druhý se umístil Microsoft Hyper-V s růstem o 254 % a Citrix XenServer stejně jako ve světě zaznamenal rekordní růst, v regionu EMEA dosáhl konkrétně 355 %.

Zdroj: IDC (duben, 2010)

Čtěte dále

Sophos Experience Partner Roadshow: Transformace budoucnosti kybernetické bezpečnosti
Sophos Experience Partner Roadshow: Transformace budoucnosti kybernetické bezpečnosti
Tři hlavní důvody, proč malé a středně velké firmy potřebují ke správě sítí umělou inteligenci
Tři hlavní důvody, proč malé a středně velké firmy potřebují ke správě sítí umělou inteligenci
Šest značek ovládá více než polovinu světového internetového provozu
Šest značek ovládá více než polovinu světového internetového provozu
3D tisk – jaké jsou náklady na 3D tisk?
3D tisk – jaké jsou náklady na 3D tisk?
AMD kupuje Nod.ai, posílí možnosti open source softwaru pro umělou inteligenci
AMD kupuje Nod.ai, posílí možnosti open source softwaru pro umělou inteligenci
Zebra systems míří za oceán, prodej v Severní Americe povede Paul Trefonas
Zebra systems míří za oceán, prodej v Severní Americe povede Paul Trefonas
'; document.getElementById('preroll-iframe').onload = function () { setupIframe(); } prerollContainer = document.getElementsByClassName('preroll-container-iframe')[0]; } function setupIframe() { prerollDocument = document.getElementById('preroll-iframe').contentWindow.document; let el = prerollDocument.createElement('style'); prerollDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:20px;right:25px}"; videoContent = prerollDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('PREROLL sound allowed'); // setUpIMA(true); videoContent.volume = 1; videoContent.muted = false; setUpIMA(); }).catch(function () { console.log('PREROLL sound forbidden'); videoContent.volume = 0; videoContent.muted = true; setUpIMA(); }); } } function setupDimensions() { prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480); prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320); } function setUpIMA() { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Preroll advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = prerollWidth; // adsRequest.linearAdSlotHeight = prerollHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. prerollDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( prerollDocument.getElementById('adContainer'), videoContent); } function unmutePrerollAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } } function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } function onAdEvent(adEvent) { const ad = adEvent.getAd(); console.log('Preroll event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: if (!ad.isLinear()) { videoContent.play(); } prerollDocument.getElementById('adContainer').style.width = '100%'; prerollDocument.getElementById('adContainer').style.maxWidth = '640px'; prerollDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); if (ad.isLinear()) { intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } prerollDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (prerollLastError === 303) { playYtVideo(); } break; case google.ima.AdEvent.Type.COMPLETE: if (ad.isLinear()) { clearInterval(intervalTimer); } playYtVideo(); break; } } function onAdError(adErrorEvent) { console.log(adErrorEvent.getError()); prerollLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { playYtVideo(); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoPrerollPosition.remove(); playPrerollAd(); } else { return false; } adVolume = 1; return true; } function onContentPauseRequested() { videoContent.pause(); } function onContentResumeRequested() { videoContent.play(); } function onActiveView() { if (prerollContainer) { const containerOffset = prerollContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (prerollPaused) { adsManager.resume(); prerollPaused = false; } return true; } else { if (!prerollPaused) { adsManager.pause(); prerollPaused = true; } } } return false; } function playYtVideo() { iinfoPrerollPosition.remove(); youtubeIframe.style.display = 'block'; youtubeIframe.src += '&autoplay=1&mute=1'; } }
OSZAR »