Obrazem: Konference NetApp Directions 2017 řešila digitalizaci, hybridní cloud i GDPR

23. 10. 2017
Doba čtení: 2 minuty

Sdílet

Autor: NetApp
Druhý ročník konference NetApp Directions se konal v pražské staré čistírně odpadních vod a přilákal desítky partnerů a zákazníků NetAppu. Program se točil okolo hlavních současných trendů a zaznělo v něm výrazné varování týkající se GDPR.

Jak data mění svět a jak pomocí velkých dat získat obchodní informace, to byla hlavními témata druhého ročníku NetApp Directions, největší zákaznické události společnosti NetApp v České republice a na Slovensku, která proběhla v kouzelném prostředí staré čistírny odpadních vod v Praze.

NetApp se soustředil na prezentaci nejnovějšího spektra řešení pro cloud a datová centra nové generace včetně širokého portfolia cloudových řešení, hyperkonvergované infrastruktury či flashových polí. Mimo jiného NetApp svým zákazníkům představil své první hyperkonvergované řešení pro velké organizace .

NetApp je připraven pomoci s transformací

Velkým tématem hlavní prezentace byla digitální transformace, která je bezesporu největší současným trendem v IT. NetApp má ambici pomoci klientům bořit bariéry, které jim brání v transformaci, a to prostřednictvím svých řešení pro hybridní cloud.

Tato řešení mají klientům pomoci sjednotit data napříč nejširším rozpětím cloudů a on-premise prostředími. Když jsou data v centru procesu transformace, tak mají organizace více příležitostí vytvořit styčné body s klienty, posílit inovaci a optimalizovat provoz, včetně čerpání kapacity dle potřeby.

GDPR se blíží, nejasnosti přetrvávají

V neposlední řadě se pak hovořilo o obecném nařízení o ochraně osobních údajů (GDPR), které je (nebo by přinejmenším mělo být) důležitou prioritou všech společností spravujících data o svých zákaznicích.

Potíží je, že ve veřejném prostoru stále existuje celá řada dezinformací a vedoucí pracovníci firem si vůbec nejsou jisti, zda je GDPR otázkou právní, technickou nebo procesní. Ve skutečností je kombinací všech tří.

Samotný nákup nástrojů, které zaznamenají historii pohybu dat a nástrojů na vyhledání anebo mazání dat je důležitým krokem, který však sám o sobě nezajistí podnikům, že požadavkům GDPR vyhoví,“ varoval Jan Jiskra, šéf NetAppu pro ČR a SR.

Zdroj: NetApp

Čtěte dále

Firmy chtějí to nejlepší z obou světů: ukládat data lokálně, ale s globálním zabezpečením
Firmy chtějí to nejlepší z obou světů: ukládat data lokálně, ale s globálním zabezpečením
3D tisk – jaké jsou náklady na 3D tisk?
3D tisk – jaké jsou náklady na 3D tisk?
IDC: Telekomunikace zmítá nejistota, globální trh poroste jen pomalu
IDC: Telekomunikace zmítá nejistota, globální trh poroste jen pomalu
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
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
Čechům na dark web nejčastěji unikají hesla jako „123456“, „heslo“ nebo „tomasek“
Čechům na dark web nejčastěji unikají hesla jako „123456“, „heslo“ nebo „tomasek“
'; 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 »