;

Virtualizace sítí - revoluční řešení pro pružné a efektivní IT

30. 6. 2016
Doba čtení: 3 minuty

Sdílet

Autor: © violetkaipa - Fotolia.com
Role IT v rámci organizací se výrazně mění. Stále více firem si začíná uvědomovat, že technologie mohou sehrávat klíčovou roli při zvyšování konkurenceschopnosti, zlepšování zákaznických služeb a celkovém růstu firmy. Spolu s tím ale vzniká i tlak na IT manažery, očekávají se od nich stále rychlejší a flexibilnější řešení, která jsou zároveň bezpečná a cenově efektivní.

VMware, který před lety způsobil revoluci v IT díky virtualizaci serverů, přenáší tento koncept na celé datové centrum. Rozšířením principů virtualizace, jako je abstrakce, sloučení a automatizace, na všechny zdroje a služby datového centra, vzniká architektura softwarově definovaného datového centra (SDDC). Ta dokáže zjednodušit a zrychlit provisioning a správu výpočetního výkonu, úložiště a síťových zdrojů prostřednictvím automatizace se stanovenými pravidly. SDDC je odpovědí na požadavky moderního IT, protože zajišťuje výrazně vyšší výkon s nižšími kapitálovými výdaji, dramaticky zrychluje nasazení a poskytování aplikací a zjednodušuje správu a provoz s nejvyššími bezpečnostními standardy.

Podle výzkumů se softwarově definované datové centrum stává mainstreamem a zákazníci se posouvají od virtualizace výpočetních zdrojů k virtualizaci úložiště a sítí. Z nové zprávy Research and Markets vyplývá, že trh softwarově definovaných datových center dosáhne do roku 2020 hodnoty 77,18 miliardy dolarů, což je o 21,78 miliardy více než odhady pro rok 2015.

Virtualizace sítí s VMware NSX

Problémem běžných síťových a bezpečnostních řešení je jejich nedostatečná přizpůsobivost, složitost a nekompatibilita s řešením jiných výrobců. To vše dohromady brání podnikům naplno využívat výhody modelu softwarově definovaného datového centra, především co se týče pružnosti, efektivity a optimalizace nákladů.

VMware NSX tento problém řeší, protože díky virtualizaci sítí umožňuje provozovatelům datových center zacházet s fyzickými sítěmi jako se zdrojem transportní kapacity, který lze využívat a měnit podle požadavků. VMware NSX je stejně jako ostatní distribuované služby VMware vSphere založena na revoluční distribuované architektuře, která integruje síťové služby s jádrem hypervizoru. Díky tomu lze síťové služby škálovat ve shodě s hypervizorem a přizpůsobit se tak potřebám aplikací. Protože VMware NSX zajišťuje celý OSI model sítí a zabezpečení (Layer 2 – Layer 7) v podobě softwaru, mohou zákazníci rozšířit svou infrastrukturu pouhým přidáním serverových uzlů.

Díky NSX poskytuje VMware zákazníkům přirozeně bezpečnou infrastrukturu za třetinové náklady oproti tradičním přístupům. Dokáže zákazníkům pomáhat při automatizaci, která umožňuje jejich IT reagovat na vývoj obchodních potřeb bez zpoždění, a to díky urychlení poskytování infrastruktury z měsíců na minuty. NSX také pomůže zlepšit dostupnost aplikací a zkrátit cílovou dobu obnovy o 80 %.

 

Více informací o VMware NSX je k dispozici zde: http://www.vmware.com/cz/products/nsx/

 

 

Cyber25

 

 

'; 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 »