Intervju mjeseca Svi dosadašnji direktori sadržaja WinDays konferencije
posebno izdanje god. XX. travanj 2015.
Windows 10 TEMA BROJA
>> Azure Key Vault
>> Azure Machine Learning >> C# vNext >> Internetski marketing >> Enterprise Mobility Suite >> Office 365 novosti
>> Razvoj višeplatformskih aplikacija u Xamarin Formsima
sadrŽaj
Posebno izdanje, WinDays 15, godina XX, travanj 2015.
TEMA BROJA 34 Windows 10 Windows 10 je pred vratima i očekivanja su veća nego ikad. Je li uistinu jedinstven za sve vrste PC računala? Nakon nekoliko objavljenih ispitnih verzija, vrijeme je za sud o smjeru razvoja nove generacije najpopularnijeg operativnog sustava na planetu
MREŽA NA TERENU 24 Cloud usluge u maloj tvrtki AKTUALNOSTI 12 Internetski marketing 20 Accessibility 22 Poslovna vrijednost softvera SOFTVER 74 Azure AD Premium 78 Enterprise Mobility Suite 81 Microsoft Office 365 84 MVVM Light
28
Intervju
Vjeran Bušelić, Sven Marušić, Luka Abrus, Ratko Mutavdžić i Darko Jovišić
RAZVOJ APLIKACIJA 65 Xamarin.Forms 68 Razvoj u oblaku ili na lokalnim resursima TEHNOLOGIJE 16 Internet Of Things u Windowsima 55 OneDrive i OneDrive for Business 58 Integracijske mogućnosti 60 62 88
Microsoft Azure platforme Azure Key Vault Strojno učenje u oblaku Klaster i pohrana u sljedećoj verziji Windows Servera
POSLOVNI SUSTAVI 51 SharePoint 2013 SAVJETI 94 Azure RemoteApp 98 Hyper-V najbolje prakse 104 C# i Visual Studio 2015 106 Koji Azure model odabrati? 108 Microsoftov hibridni oblak 110 Microsoft SharePoint 2013
OSTALE RUBRIKE 5 Uvodnik
WinDays Technology konferencija mjesto je na kojemu su WinDaysi počeli i tijekom godina narasli u najveću regionalnu poslovno-tehnološku konferenciju. Što o njima danas misle njihovi direktori sadržaja? 4
WD MREŽA 2015
6 Kolumna: Nina Baras 7 Kolumna: Ivan Vidaković 9 Kolumna: Tomislav Tipurić 10 Foto izdanja
UVODNIK
Piše: Tomislav Tipurić
Veliki i mali jubilej K
ada sam prije četiri godine ušao u Bugov ured bio sam još savjeta, na temu Hyper-V virtualizacije, infrastrukture SharePoint te dječarac u poslovnom smislu, koji je dobio dvije velike zadaće primjene platforme u oblaku Application Lifecycle Management ili, - biti direktorom sadržaja WinDays Technology konferencije pak, na vlastitoj infrastrukturi, te koju od usluga na Microsoftovom i urednikom WinDays Mreže. Iskreno govoreći, nisam bio ni blizu Azureu odabrati, ovisno vrsti aplikacije koju gore smještamo. Razvojni će inženjeri svoje poslastice pronaći u razmatranjima svjestan onoga što mi se sprema. Sada, s odmakom, mogu reći da sam sretan sa svime što sam u proteklome razdoblju naučio, ali naravno, MVVM Light predloška, višeplatformskog razvoja s Xamarin.Formsima i sa svime onime što sam učeći stvorio. Svaki broj Mreže, kao i svako i pisanja tzv. pristupačnih aplikacija te pregledu novosti koje donosi sljedeća verzija jezika C#. izdanje konferencije, pričali su svoju Donosimo i detaljan pregled u priču; uvjeren sam kako je u svaku obliku ubrzanog tečaja iznimno od njih utkan i jedan mali dio mene. Veliki jubilej WinDaysa donosi popularne marketinške struje pod Kako sam odrastao ja, odrastala je sa nam i 13. WinDays Mrežu. Velika nazivom internetski marketing. Uz to, mnom i WinDays Mreža pa mogu doktor za upravljanje projektima, poreći da sam se jučer, radeći korekcije mi je čast što već peti put imam glavito softverskim, Nenad Trajkovski na prijelomu u Bugovim prostorijama donosi svoja razmišljanja o poslovnoj osjećao gotovo kao u Microsoftu, priliku uređivati ovo posebno vrijednosti softvera. Svakako vrijedi sretan što nakon mjeseci napornog izdanje i donijeti vam najsvježije pročitati, čak i ako ove dvije teme rada vidim članke naših autora prenisu vezane uz vaš primarni posao. lomljene onako kako ih svi vi upravo novosti iz svijeta Microsoftovih A WinDaysi - oni nam ovaj put gledate. Isti taj osjećaj dogodi se i počinju poslovnim dijelom konferensvake godine kad svijetu objavimo tehnologija cije. Interes za poslovnu konferenciju sadržaj WinDays konferencije. ove godine raste, potaknut iznimno A što se to nalazi u tom vrlom izdanju svima nam dragog časopisa? Temu broja ove smo godine, kvalitetnim sadržajem koji po temama može biti zanimljiv i tehničočekivano, posvetili Windowsima 10 i svim novostima koje su nam koj publici. Teme su životne i tiču se svih nas, a za detalje posjetite o njima već otkrivene u Technical Previewu. Klijentsku smo varijantu WinDays web (http://www.windays.hr). Tehnička će konferencija povezali i sa serverskom pa ćete tu pronaći i tekst posvećen novom biti u znaku Windowsa 10, Azurea i Officea 365, i svega onoga što novosti iz toga svijeta donose razvojnim i sistemskim inženjerima, izdanju Windows Servera, također u preview fazi. Intervju mjeseca posvećen je svim onim dragim ljudima koji su stručnjacima za baze podataka i poslovnu inteligenciju, ali i svima u ovih 15 godina imali priliku držati direktorsku palicu WinDays ostalima kojima je dnevni posao na ovaj ili onaj način vezan uz IT. Cloud-first, mobile-first Microsoftova je nova strategija, a ovi WinTechnology konferencije u obliku sadržaja. Kako vide WinDays konferenciju danas i što su bili izazovi njihova vremena približit će Daysi, kao i pripadajuća im WinDays Mreža, tematski su prožeti upravo tom pričom. Iako novi i osvježeni, WinDaysi su i dalje naš nam Vjeran, Sven, Luka, Ratko i Darko. Od zanimljivijih softverskih pregleda donosimo sve informacije o stari znanac - konferencija na kojoj se jednostavno mora biti ako vam Azure RemoteAppu, Azure Key Vaultu, ažuriranjima Officea 365, hrvatski (ali i regionalni) IT nešto znači u svakodnevnom poslovanju. Enterprise Mobility Suiteu i Premium inačici Azure AD servisa. Uz to, Zvali ih mjestom susreta ili, pak, mjestom upoznavanja, za svakoga majstor klastera Ljubo Brodarić pripremio je detaljan pregled novih od nas oni su zapravo oboje u jednome, posebno iskustvo bez kofunkcionalnosti vezanih uz klastere koje će nam donijeti sljedeća jega jednostavno ne možemo zamisliti naše proljetne dane. Želim nam svima četiri uspješna dana učenja, upoznavanja i susretanja, a verzija Windows Servera. Naši su se autori potrudili složiti i nekoliko najboljih praksi, odnosno i ponešto zabave u svemu tome!
Posebno izdanje Ogrizovićeva 36/a, 10000 Zagreb, tel. 01/ 38 21 555, fax. 01/ 38 21 669 URL: http://mreza.bug.hr/ E-mail:
[email protected] Pretplata na Ëasopis:
[email protected] Radno vrijeme: ponedjeljak-petak, 9-16 sati
Urednik izdanja: Tomislav Tipurić Glavni i odgovorni urednik: Miroslav RosandiÊ -
[email protected] Izvrπni urednik: Oleg Maπtruko -
[email protected]
Suradnici izdanja: Ognjen Bajić, Nina Baras, Matija Blagus, Ljubo Brodarić, Aleksandar Drašković, Antonio Faletar, Renato Jović, Tomica Kaniški, Ivan Kardum, Petar Kovačević, Luka Lovošević, Tomislav Lulić, Aleksandar Malešević, Goran Medić, Tomislav Mesić, Romeo Mlinar, Igor Pavleković, Toni Petrina, Tomislav Poljak, Igor Ralić, Ana Roje Ivančić, Marko Sever, Mate Strgačić, Dinko Tipurić, Tomislav Tipurić, Nenad Trajkovski, Ivan Vidaković, Žarko Zečević
IzdavaË: BUG d.o.o. za novinsko-nakladniËku djelatnost, PP 46 - 10001 Zagreb æ.r. 2402006-1100058131 OIB 05461674840 Direktor: Aron PauliÊ -
[email protected] IzdavaËki kolegij: TonËi CariÊ, Aron PauliÊ, Miroslav RosandiÊ, Jadranko StjepanoviÊ, Robert ©ipek Pretplata i distribucija: Vesna UjakoviÊ
PomoÊnik glavnog urednika: René Lattinger -
[email protected]
Marketing: Đurđica Briski -
[email protected]
Art direktor: Hrvoje Brekalo
Zabranjeno je kopiranje i prenoπenje sadræaja Mreæe bez dozvole izdavaËa.
Grafički obrada: Manfred Pecko
ISSN 1331 - 2839
WD MREŽA 2015
5
KOLUMNA
Nina Baras, direktorica WinDays15 konferencije
I nakon 15 godina… WinDaysi! O
Kada smo 2001. pokrenuli WinDays konferenciju s namjerom da na jednom mjestu okupimo cijelu hrvatsku IT zajednicu, vjerojatno ni sami nismo bili svjesni da smo pokrenuli priču koja traje već punih 15 godina
6
va godina WinDaysa po mnogo čemu je posebna za Microsoft. Kada smo 2001. pokrenuli WinDays konferenciju s namjerom da na jednom mjestu okupimo cijelu hrvatsku IT zajednicu, vjerojatno ni sami nismo bili svjesni da smo pokrenuli priču koja traje već punih 15 godina. Velika mi je čast, ali i odgovornost to što sam na čelu tako ugledne i značajne konferencije u njenom jubilarnom izdanju. Slogan “Konferencija koja vas poznaje” u nekoliko riječi sažima ciljeve ovogodišnje konferencije - ponuditi program koji sadrži ono što zaista zanima sudionike konferencije - IT stručnjake, gospodarstvenike, poduzetnike, članove akademske zajednice te predstavnike državne administracije i medija. U jubilarnoj godini posebno nam je važno opravdati status najuglednije i najveće regionalne poslovnotehnološke konferencije. Kao voditeljica marketinških komunikacija u Microsoftu Hrvatska, gledam na stvari iz korisničke perspektive jer uloga današnjih marketinških stručnjaka evoluira vrlo brzo, a korisnik je uvijek u središtu pozornosti. Marketinški stručnjaci traže uređaje i usluge te rješenja koja će im pomoći da transformiraju svoje poslovanje koje je usmjereno na korisnika. Današnji moderni marketinški stručnjaci razumiju da je svaki korisnik jedinstven. Korisnici su tehnološki upućeniji/obrazovaniji nego prije te se povezuju i komuniciraju s brendovima kroz veliki broj kanala i to na drugačiji način. Očekuje se da se povežu s brendom na osobnoj razini i da brend “razumije” njihove specifične želje i potrebe. Marketinški stručnjaci aktivno sakupljaju i analiziraju ponašanja korisnika kako bi dobili ključne uvide i odgovorili na potrebe korisnika na osoban i unikatan način/pristup koji stavlja njihove specifične potrebe u fokus. Kako marketing prolazi kroz digitalnu transformaciju, marketinški stručnjaci primjenjuju nove, inovativne tehnologije kroz platforme i formate koji tvrtkama omogućuju da promjene željeno i povežu korisnike na novi način. Informacije se premještaju u oblak da bi pomogle i osigurale marketingu brzi pristup te potaknule i pokrenule ključne inicijative. Interaktivne oglašivačke kampanje dotiču korisnike preko različitih digitalnih kanala, uključujući mobilne tehnologije i društvene mreže, u svrhu trenutnog povezivanja. Kroz analitiku, operativu i marketinški doseg, jedna stvar uvijek ostaje prioritet: isporuka jedinstvenog korisničkog iskustva koje je sada u središtu poslovne strategije. Kroz jedinstvena Microsoftova poslovna rješenja pomažemo marketinškim stručnjacima da ostvare svoj puni potencijal, donoseći kompletnu end-to-end viziju. Bilo da se radi o analitici, poslovnoj izvrsnosti ili digitalnom oglašavanju, Microsoft nudi razna rješenja da bi zadovoljili komunikacijske ciljeve. Povezivanje s korisnikom na osobnoj razini nužno je za isporuku važnih marketinških poruka prema ciljanoj publici. WD MREŽA 2015
Marketing je evoluirao daleko izvan tradicionalnih kanala (TV, radio i tisak) te je mnogo složeniji od sljedećeg socijalnog kanala ili digitalnog trenda. Ušao je u doba u kojem su korisnici osviješteni i upućeni pa je korisnik u središtu svake marketinške odluke. Dani jedne kampanje koja odgovara svima, prošli su. Umjesto toga, potrošači kupuju dok pretražuju Internet, trgovine pamte što je kupac kupio tijekom posljednjeg posjeta i predlažu mu povezane ili slične stvari, a na temelju prikupljenih podataka potrošaču se prikazuju statistički relevantne informacije. Sva ta nova marketinška saznanja, usmjerenja i alate koristili smo u pripremi ovogodišnje konferencije, što smo željeli naglasiti i sloganom “Konferencija koja vas poznaje”. Kreirali smo sadržaj, dodatne aktivnosti i aktivacije kojima vam želimo pokazati da vas zaista poznajemo i da WinDaysi nude baš ono što želite dobru priliku da naučite nešto novo, upoznate kolege iz struke i pritom se dobro zabavite! Smatramo da program WinDays15 Business konferencije adresira neke od najaktualnijih tema koje su važne za poslovnu zajednicu, kojima pristupamo na zanimljiv i interaktivan način u želji da potaknemo diskusiju i razmjenu mišljenja sudionika, kako tijekom predavanja i okruglih stolova, tako i preko online kanala konferencije, kao što su Facebook i Twitter. WinDays15 Technology program bavit će se novim Microsoftovim alatima koji pojednostavljuju poslovanje, odnosno predstavit će tehnologije koje korisnicima omogućuju da brže, jednostavnije i učinkovitije postignu poslovne ciljeve. Jubilej zaslužuje poseban pristup pa smo se ove godine posebno potrudili donijeti vam brojne novosti. Trenutačna situacija, nadolazeći trendovi i sve snažnija veza između poslovanja i tehnologije potaknuli su nas da program započnemo s WinDays15 Business konferencijom u utorak i srijedu, 21. i 22. travnja. Program smo pripremili u suradnji s partnerima Business konferencije, tvrtkama EY i Selectio. Bavit ćemo se temama koje su često predmet javne rasprave: novostima i trendovima na području ljudskih resursa koji pridonose unaprjeđenju poslovanja, novim metodama poslovanja koje sve više prihvaćaju i hrvatski poslodavci te nezaposlenošću mladih. Sve je više mladih koji se odlučuju za samozapošljavanje, odnosno za transformaciju svojih ideja u poslovne i održive projekte. Vjerujem da će im biti interesantna mogućnost koju smo pripremili u suradnji s tvrtkom Selectio - osigurali smo termine poslovnih konzultacija za sve zainteresirane i predlažem da ih svakako iskoristite te primijenite dobre poslovne savjete na svoje poslovne modele. WinDays Technology u svom 15. izdanju donosi niz kvalitetnih predavanja brojnih stranih i domaćih stručnjaka, zbog čega godinama i jest najveće okupljanje IT stručnjaka u regiji. Microsoft je tijekom posljednjih nekoliko mjeseci predstavio niz značajnih noviteta pa konferencija dolazi u idealnom terminu. Hvala vam na sudjelovanju na jubilarnoj WinDays15 konferenciji. Vjerujem da ćete iz Umaga otići zadovoljni svime što ste vidjeli i doživjeli tijekom konferencije!
KOLUMNA
Piše: Ivan Vidaković, direktor Microsofta Hrvatska
Quo vadis, Hrvatska? V
Konferencija WinDays15 sigurno je jedno od topmjesta, na kojoj ćete moći razmijeniti i verificirati vaše ideje. I zato teme poput talent menadžmenta, novih poslovnih modela, kreiranja radnih mjesta za mlade, ali i sve druge nezaposlene, nikoga ne bi smjele ostaviti ravnodušnim
jerojatno ćete se pitati kakve veze ima jubilarna 15. konferencija WinDays s pitanjem kamo ide Hrvatska? Itekako ima! Naime, ove smo godine odlučili napraviti transformaciju formata konferencije - startamo s poslovnom konferencijom, a završavamo s tehničkom! Za konferenciju koja je niknula na tehničkim temeljima ovo predstavlja veliku promjenu (za one koji ne prate blisko Microsoft Hrvatska). Poslovna konferencija (WinDays15 Business) slavi svoj 7. rođendan i fukosirana je isključivo na poslovnu tematiku. Tehnologija je “enabler” tj. ona koja omogućuje, a biznis je taj koji iskorištava tehnologiju u punoj snazi. I tu sad dolazimo do pitanja: kuda ideš, Hrvatsko? Hrvatska od svoje samostalnosti gotovo nikad nije imala veću priliku za uspjeh. Pitat ćete se, pa kako to? Razloga je nekoliko - upravo smo prošli šest godina recesije, na globalnoj listi konkurentnosti Svjetskog ekonomskog foruma (WEF) za 2014. pali smo na 77. mjesto (od 144 uspoređivane zemlje... 2007. bili smo 57.), na IMD-ovoj listi konkurentnosti smo na 59. mjestu od 60, a prema stupnju digitaliziranosti u EU (DESI indeks) 24. od 28. članica! Oportunistički gledano, mnogo je lakše popeti se sa 77. ili 59. mjesta na više nego da smo npr. na 10. mjestu WEF-ove liste. Uz mali komentar, na WEF-ovoj listi 10 najkonkurentnijih zemalja na svijetu njih šest su male zemlje, a startaju sa Švicarskom i Singapurom… Dakle, može li se? Može! Je li jednostavno? Nije! I koji su sastojci koji nedostaju? U prvom redu transformacijski leadership. U drugom redu, brutalna vladavina prava. U trećem, mnogo discipline i fokus na kontroliranu operativnu izvedbu. Ovdje ćete primijetiti da pod transformacijskim leadershipom pretpostavljam da su strategije, taktike i planovi već doneseni ranije. I sada dolazimo i do konferencije WinDays koja spaja biznis i javni sektor, dakle, izvođače s “enablerom”, odnosno onim sastojkom koji je apsolutni preduvjet za izvedbu. A “enabler” je, pogađate, IT! Da je IT konačno došao i na dnevni red Vlade, može se vidjeti po činjenici da je prošlu jesen prvi put jedna hrvatska Vlada posjetila najveće svjetske tehnološke kompanije i Silicijsku dolinu. ICT industrija u Hrvatskoj nikada nije dobila toliko lokalne pozornosti, i taj je posjet definitivno usmjerio fokus na važnost ICT industrije kao jednog od zamašnjaka gospodarskog napretka. Istaknuta je nužnost povezivanja svih industrija s hrvatskim ICT sektorom, s ciljem razvoja gospodarstva, privlačenja investicija i povećanja konkurentnosti na globalnom tržištu. Hrvatska Vlada prepoznala je činjenicu da su kvaliteta i učinkovitost funkcioniranja državnih institucija ključni čimbenici za razvoj privatnog sektora i gospodarstva općenito. Vjerujem da više niti jedna hrvatska Vlada neće moći ignorirati IT ili ga deklarativno hvaliti, a zapravo ne činiti ništa.
Bitno je istaknuti da hrvatski IT izvoz kontinuirano raste, a 2013. godine bio je veći od 2,1 milijardu kuna, što ga čini jednom od 12 najvećih izvoznih grana hrvatskoga gospodarstva. Možemo slobodno reći da je ICT sektor jedan od najbrže rastućih sektora, s najvećom dodanom vrijednošću i s daljnjim trendom rasta zapošljavanja. Međutim, fokus na IT bez transformacije hrvatskog obrazovanja (svih razina) bio bi samo kratkoročan potez. Zato uz gospodarsku i informatičku strategiju, treba uskladiti i obrazovni sustav s potrebama tržišta rada u digitalnom vremenu u kojem živimo. Preduvjet napretka i bolje konkurentnosti Hrvatske je obrazovana radna snaga. Nužno je povećati upisne kvote na prirodno-tehnološkim fakultetima i proizvesti što više IT stručnjaka, kojih trenutno nedostaje i u Hrvatskoj i u Europi. Do danas, u promjenama obrazovnog sustava nije bilo značajnih pomaka. Sustavne i održive promjene možemo postići jedino dugoročnim poticanjem matematičkih i prirodoslovnih znanosti u osnovnim školama, čime ćemo proširiti bazu budućih inženjera, odnosno usmjeriti mlade na zanimanja budućnosti. Istodobno, promjene u visokom obrazovanju koje bi dale rezultate odmah, trebale bi biti usmjerene prema razvoju kompetencija i mekanih vještina (soft skills). Hrvatskoj trebaju obrazovani i inovativni ljudi koji će, koristeći dostupnu tehnologiju, provoditi promjene i osigurati uspjeh. Zato je mnogo očiju danas usmjereno u ministra obrazovanja koji ima dobre ideje i priliku da postane pravi transformator hrvatskog obrazovnog sustava. Za njegov uspjeh (i obratno), interesantno, najveću će odgovornost imati ministar financija. Zašto? Godinama i desetljećima slušamo da je obrazovanje prioritetno ili najvažnije, i onda, odlučno, ulijemo novac u - beton! Posljedice gledamo posljednjih šest, a i više godina. Dakle, ukoliko je obrazovanje najvažnije, onda to proračun RH mora i demonstrirati! Danas se ogromna količina znanja širi i dijeli zahvaljujući Internetu. Nakon velikog razvoja IT industrije, dolazi nam revolucija bazirana na podacima (big data fenomen). Razvijene zemlje, primjerice, već obrazuju radnu snagu za relevantna nova zanimanja poput analitičara podataka, znanstvenika za podatke, čistača podataka i sl. To je još jedan dokaz da se obrazovni sustav kontinuirano mora prilagođavati, između ostalog, i potrebama tržišta. Iako hrvatska IT industrija raste, godinama imamo isti problem nedostatka kvalitetnih programera na hrvatskom tržištu rada. To najbolje znaju naši partneri, tvrtke koje kontinuirano rastu i zapošljavaju te redovito muku muče u potrazi za kvalitetnim programerima. Konferencija WinDays15 sigurno je jedno od topmjesta, na kojoj ćete moći razmijeniti i verificirati vaše ideje. I zato teme poput talent menadžmenta, novih poslovnih modela, kreiranja radnih mjesta za nezaposlene mlade (ali i sve druge nezaposlene) nikoga ne bi smjele ostaviti ravnodušnim. Upravo zbog toga vjerujem da su WinDaysi “the” mjesto na kojem morate biti, čuti i biti slušani, upoznati se i biti upoznati! Petnaest godina tradicije i ne mora zvučati veliko, ali vjerujem da konferencija WinDays predstavlja brand za sebe. I na kraju - odgovor na pitanje: quo vadis, Hrvatska? Može samo na bolje! WD MREŽA 2015
7
KOLUMNA Piše: Tomislav Tipurić
Na marginama IT-a, ili ipak ne? Z
Kao jedna od najuspješnijih grana industrije u zemlji imamo odgovornost prema budućim naraštajima, poglavito kad su u pitanju njihova edukacija i zaposlenje
voni alarm na mobitelu - 8.30 ujutro. Ivan B. se ustaje i započinje jutarnju rutinu u stanu na Trešnjevci. Roditelji su na poslu. Skuhao je kavu, pripremio doručak i sjeo pred računalo. Uključio je browser i kroz nekoliko klikova na ekranu se pojavljuje “Programiranje u C#-u, lekcija 3”. Pokrenuo je video i uz prve gutljaje kave zadubio se u tematiku. Očekivali biste da Ivana iz odlomka opišem kao školarca, starog nekih 14-15 godina koji, ponukan vještim vratolomijama svoga profesora iz informatike želi postati razvojni inženjer i zaposliti se u Googleu, Facebooku ili, pak, Microsoftu, ili možda želi pokrenuti svoju tvrtku. Ali ne, Ivan nije srednjoškolac, davno je prošlo to vrijeme. Ivan je magistar građevine koji u svojoj struci ne može pronaći posao i zbog toga, sa svojih 29 godina još uvijek živi s roditeljima. Imao je želju raditi, vjenčati se, stvoriti obitelj, ali mu to nije pošlo za rukom. Sreća u nesreći je da ga je prijatelj uspio zaintrigirati za razvoj softvera i što je Ivan pronašao volju posvetiti se učenju, iako je već završio pet godina fakulteta. I ne, ovo nije početak nekog djela fiktivne beletristike. Ovo je, nažalost, surova realnost hrvatskog društva danas. Šetajući ponekad gradom u noćnim satima, kada mi šum vjetra odvrati misli od svakodnevnih obveza, zapitam se gdje smo to kao društvo pogriješili? Kako je moguće da se čovjek cijeli svoj mladenački vijek trudi učiti kako bi se zaposlio, i onda mu to ne polazi za rukom? Ne želim ovaj tekst pretvoriti u prozivku, želim razmišljati o potezima koje čak i kao pojedinci možemo napraviti kako bismo mladim ljudima omogućili da nakon završenog fakulteta pronađu posao koji žele. Životna priča izdvojenog pojedinca specifična je te sama za sebe teško može poslužiti kao univerzalni model. Različiti smo, no u toj različitosti i jest vrijednost. Talenti, kao i interesi, kod svakoga od nas drugačiji su, omogućuju formiranje iznimno kvalitetnih interdisciplinarnih timova koji svojom inovativnošću mogu utjecati na stvaranje novih proizvoda i poboljšanje poslovnih procesa u svakoj organizaciji. Ipak, u tome i leži prvi od problema - kako prepoznati ono u čemu smo dobri i prema čemu imamo određene afinitete? Kako to uklopiti u potrebe tržišta? Kao što sam već napomenuo, ne želim govoriti o tome što bi politika, obrazovni sustav ili organizacije civilnog društva trebali raditi, želim ukazati na ono što ja, vi, svatko od nas, već danas može činiti kako bi nam sutra bilo bolje. U kontaktu smo s ljudima koji su u formativnom razdoblju - radilo se o braći, sestrama, rođacima, djeci naših prijatelja, rođaka, braće, sestara… Naša je dužnost kao informatičara (ili ljudi zaposlenih u IT industriji, kako vam drago), prenijeti na mlade ljude entuzijazam i radost koju naš posao budi u nama. Neće to nitko drugi napraviti
osim nas. Zašto smatram da baš IT to treba činiti? Zato što mi tu imamo jednu ključnu prednost - da bi mladi čovjek danas počeo s učenjem IT-a, sve što mu treba jest volja. Ne postoji niti jedna druga struka za koju je tako jednostavno pribaviti resurse za učenje. Potrebno je računalo i veza na Internet - sve ostalo je tu. Osobno mi nema dražeg trenutka u razgovoru sa školarcima nego vidjeti u njihovim očima onu djetinje iskrenu radost kada se pronađu u IT-u. Nakon prvih uspješnih linija programskog kôda, oni su spremni i ne spavati samo da bi još nešto zanimljivo stvorili. A rezultata ima, već i od malih poticaja. Raspitajte se samo, primjerice, o državnom natjecanju iz informatike - koliko samo ima pametnih mladih ljudi koje ne pokreće novac, već entuzijazam i sve će svoje slobodno vrijeme posvetiti programiranju. Takvi se ljudi ne trebaju zabrinjavati zbog posla - naći će ga sigurno. Cijelu ovu priču poticanja entuzijazma za IT možemo dovesti i na višu razinu. Iskreno ne vjerujem da postoji ravnatelj ikoje škole u Hrvatskoj koji bio odbio prijedlog IT stručnjaka da s klincima podijeli svoja iskustva na nekom satu razrednika ili, pak, predavanju izvan nastave. S druge strane, vjerujte, to nije komplicirano - ne trebaju tu sati pripreme. Zainteresirani učenici slušat će vas i upijati ono što im govorite, makar to dolazilo samo iz glave. Trebate samo probati. Ako ste programer ili stručnjak za implementaciju sustava i želite otići još korak dalje, možete odvojiti nešto više vremena pa u dogovoru s profesorom informatike organizirati mali ubrzani tečaj osnova programiranja u objektnim jezicima, ili, pak, pisanja mobilnih aplikacija ili, možda, konfiguracije mrežnih sustava, instalacije Windows Servera, ma što god da vam padne na pamet. Možete to napraviti iza nastave, vikendom ili, pak, u vrijeme zimskih, odnosno proljetnih praznika. Nije važna forma, važno je da onih 10 ili 15 ljudi koji će se neizbježno pojaviti na vašim predavanjima dobije klicu, maleni plamičak ljubavi prema tehnologiji. Dalje će oni sami napredovati, no uvijek će pamtiti vas i znanje, odnosno entuzijazam, koje ste im prenijeli. Ako vam se netko od njih, nakon 4-5 godina, javi i kaže - “znate, onda kad ste bili kod nas u školi i pričali o programiranju, upravo ste tada u meni potaknuli želju za učenjem kako bih mogao jednog dana upisati tehnički fakultet i raditi ono što vi radite!”, vjerujte, u tom ćete trenutku biti najsretnija osoba na svijetu. Je li učenje IT-a jedino ispravno rješenje za promjenu koju želimo vidjeti u društvu? Naravno da nije, svaka struka može na sličan način pridonijeti. No, rekao sam na početku da ne želim nikoga prozivati, već progovoriti iz perspektive onoga što mogu napraviti. S obzirom na to da smo na WinDaysima, uvjeren sam kako će barem nekolicina vas učiniti isto! Ivan B. odlazi na počinak nakon napornoga dana. Mjeseci su već prošli otkad je započeo s avanturom života - postao je razvojni inženjer. Svojoj dragoj šalje poruku za laku noć i tone u san, sretan, zato što sada ima put u životu i nadu da može biti bolje. WD MREŽA 2015
9
SLIKA IZDANJA
Lanjsko otvaranje Otvaranje se prošle godine preselilo na otvoreno (pun intended). Hrabra je to bila odluka ako uzmemo u obzir da su se WinDaysi 2014 dogodili par tjedana ranije nego inače, zbog neuobičajeno kasnog datuma Uskrsa. Cijela stvar zamišljena je na pozornici uz bazen, poput nekakvih holivudskih partyja, pa da ljudi uz piće, mjesec, društvo i opaku ambijentalnu rasvjetu uživaju u pozdravnim govorima i kritičnim demoima uživo. Stvar je zaista odlično izgledala, kao što i sami možete vidjeti na slici, na kojoj direktor sadržaja Tomislav Tipurić upravo otvara skup, no teško je očekivati potpunu pažnju publike u takvu ambijentu, pa je cijela priča na trenutke padala u drugi plan.
10
WD MREŽA 2015
WD MREŽA 2015
11
aktualnosti Internetski marketing
Broj korisnika Interneta povećava se iz godine u godinu. U poslovanju koristite Internet već duže vrijeme, vrijeme je da i vaš marketing uđe u novo doba
Marketing jedinica U Hrvatskoj postoji 4 milijuna nogometnorukometnih trenera, 4 milijuna političara, 4 milijuna ekonomista, nešto malo manje marketinških stručnjaka te oko milijun community managera. Za vas ostale - u nastavku je kratki osvrt na nove grane marketinga i na to kako bi vam one mogle pomoći u poslovanju
12
WD MREŽA 2015
Dinko Tipurić
I
nternetski je marketing relativno nova grana marketinga, toliko nova da joj još ni naziv nije u potpunosti ustaljen. Govorimo tako o digitalnom marketingu, online marketingu, marketingu na društvenim mrežama… Cijeli je niz naziva koji u svojoj srži sadrže jednu poveznicu - Internet. I baš zbog toga, djeluje nam kako je internetski marketing najtočniji naziv ovog novog vala marketinga. Što bi onda bio internetski marketing? Broj definicija odgovara broju gore spomenutih naziva pomnoženim s brojem komaraca u vrućoj ljetnoj noći, no ukratko - to je svaka marketinška komunikacija s ciljanim javnostima koja se odvija preko internetske veze. Iz ove je definicije vrlo lako zaključiti da je niz aktivnosti koje je moguće provoditi u sklopu internetskog marketinga podugačak. U ovom će članku biti obrađene one najvažnije skupine, a ostale svakako možete potražiti u literaturi koja je
Azure Websites Vlastite web-stranice nezaobilazna su stvar modernog poslovanja. One su središnje mjesto vaše digitalne strategije i prva lokacija na kojoj će kupci pronaći informacije, ostvariti kontakt i u konačnici mjesto gdje će mnoge tvrtke željeti i ostvariti prodaju. Kao dodatak ovom osnovnom dijelu, web-stranice su često i mjesto gdje ćete objavljivati dodatni sadržaj (u okviru content marketing strategije) namijenjen vašim korisnicima. Koristeći Azure Websites
ispred sebe imate nekoliko mogućnosti. Za male tvrtke koje trebaju svoju prvu webstranicu Azure Websites nudi mogućnost brzog i jednostavnog kreiranja web-stranica povezanih s najpopularnijim sustavima za upravljanje sadržajem poput WordPressa - vaša web-stranica može biti spremna za uporabu unutar sat vremena, ovisno, naravno, o sadržaju koji želite prikazati. Možete odabrati između nekoliko dizajna koji dolaze s instalacijom WordPressa
i nula najvećim dijelom besplatna i udaljena samo nekoliko klikova. Pod najvažnije, podrazumijevamo one najkorištenije ili, pak, one bez kojih je nemoguće zamisliti strategiju povezanu s internetskim marketingom, a to su: Social
ili, pak, potražiti neki drugi besplatni dizajn kreiran za WordPress preko vaše omiljene tražilice. Azure Websites nisu obična mogućnost hostanja web-stranica napravljenih po mjeri, bez obzira na tehnologiju u pozadini. Zahvaljujući 99% vremena dostupnosti i visokoj skalabilnosti, ovisno o prometu i opterećenju, vaše web-stranice će biti dostupne u svakom trenutku, osiguravajući vašim korisnicima kontinuiranu podršku i ponudu usluga.
media marketing, odnosno marketing društvenih mreža, Content marketing ili marketing sadržaja, e-mail marketing, Search engine marketing (SEM) odnosno marketing internetskih pretraživača te Search engine optimization (SEO) ili optimizacija za internetske pretraživače.
Social media marketing
Počnimo s iznimno popularnim Social Media marketingom, odnosno marketingom društvenih mreža. Radi se o komunikaciji i upravljanju zajednicama (iz ovoga dolazi možda najpoznatiji na-
Grafikon najkorištenijih online marketinških kanala na razini svijeta
ziv - Community management) koje se okupljaju oko određenog brenda ili teme na društvenim mrežama tj. u virtualnom okruženju. Na samom početku, društvene su mreže bile mjesto okupljanja pojedinaca. No, kako marketing uvijek nastoji biti tamo gdje se nalaze ciljane skupine, ubrzo je postalo jasno da i tvrtke svoju prisutnost moraju ostvariti barem na najpopularnijim društvenim mrežama. Osvajanje ovog tržišta predvodile su tvrtke kojima je u fokusu komunikacija prema krajnjim potrošačima (B2C). Međutim, sve je jasnije kako ni tvrtke koje se obraćaju drugim poslovnim subjektima (B2B) prisutnost na društvenim mrežama neće moći zaobići. Premda za osnovne korake nije potrebno veće ulaganje (račun na nekoj od društvenih mreža može otvoriti bilo koja osoba unutar marketinga), upravo će to ulaganje biti ono što razlikuje uspješne od neuspješnih komunikatora na ovom području. Naime, svatko tko u osobne svrhe koristi društvene mreže može upravljati i komunikacijom tvrtke na istim kanalima. Može, ali ne bi trebao. Društvene mreže su mač s dvije oštrice - otvaraju vam vrata u osobni svijet vaših korisnika i puštaju vas u domove mnogo jednostavnije nego prije. S druge strane, vi (tvrtka) dajete moć korisnicima o kojoj do tada nisu mogli niti sanjati. Otvaranjem računa na društvenim mrežama dajete korisnicima prostor za pohvale i lijepe riječi, jednako kao i za pokude, žalbe, reklamacije i kritike. Zbog potonjih, osoba koja upravlja društvenim zajednicama mora imati određena znanja i iskustva. Primjerice, mora znati kako ublažiti kriznu situaciju, kako se obratiti korisnicima ovisno o okolnostima, unaprijed predvidjeti eventualne probleme, uspješno komunicirati i rješavati poteškoće korisnika koji će često (i ispravno) na društvene zajednice gledati kao na kanal korisničke podrške. Ovo su samo neke od potrebnih vještina, uz koje treba, naravno, spomenuti i kreativnost, dosljednost i druge karakteristike koje će učiniti vaše poruke drugačijima od stotina onih kojima su korisnici bombardirani svake sekunde svog virtualnog života. Naravno, osim upravljanja zajednicama, na društvenim je mrežama moguće i plaćeno komuniciranje (oglašavanje). Cijena svakog oglasa ovisit će o količini ljudi koje želimo dotaknuti te interakciji koju želimo potaknuti, ali će u svakom slučaju biti precizna i lako poveziva s rezultatima oglašavanja - za razliku od offline oglašavanja. Mogućnosti oglašavanja, cijene i oblici variraju ovisno o WD MREŽA 2015
13
aktualnosti Internetski marketing
Najkorištenije taktike marketinga sadržaja za B2C i B2B komunikaciju, postotak korisnika koji su rekli da koriste pojedinu taktiku
društvenoj mreži na kojoj se tvrtka želi oglašavati te se za najbolje rezultate svakako potrebno obratiti za pomoć nekome s više iskustva. Trenutno sve najpopularnije društvene mreže poput Facebooka, Twittera i Instagrama imaju mogućnost plaćenih oglasa. S razvojem svake pojedine mreže razvija se i sustav dostave sadržaja na korisničke feedove, odnosno dolazi do promjena u algoritmima samih mreža odgovornih za prikazivanje vaših objava osobama koje su lajkale ili počele pratiti vaš profil na toj mreži. Najočitije i najčešće promjene vidljive su kod Facebooka, gdje je prirodni doseg do vaših fanova pao na svega 8 do 10% ukupne količine korisnika koji su lajkali vašu Facebook stranicu. Kao suprotan primjer možemo uzeti Instagram, koji i bez plaćenih oglasa vaše objave dostavlja na feed svih osoba koje prate vaš profil na toj društvenoj mreži.
Content marketing
Marketing sadržaja je (namjerno, strateški ili, pak, pukom intuicijom) drugi najzastupljeniji pojavni oblik internetskog marketinga koji tvrtke prakticiraju. Kao što naziv govori, riječ je o stvaranju sadržaja koji će s jedne strane biti koristan i zanimljiv korisnicima, a s druge će strane ipak ispunjavati određeni komunikacijski cilj tvrtke. Ovaj oblik marketinga svakako je dio i ranije spomenutog social media marketinga jer pri komunikaciji na društvenim mrežama tvrtke često objavljuju zanimljive članke, informacije i činjenice povezane uz marku proizvoda ili same tvrtke. Najčišći i najčešći oblik marketinga sadržaja predstavljaju blogovi, odnosno blogpostovi - autorski tekstovi koje kreiraju zaposlenici, vlasnici ili agencije angažirane od tvrtke, a koji su tematski povezani s industrijom u kojoj 14
WD MREŽA 2015
tvrtka posluje i/ili s proizvodima koje tvrtka kreira/prodaje. Forma u kojoj sadržaj dolazi nije ograničena ničim drugim do samih mogućnosti tehnologije - što je sadržaj kreativniji i originalniji, veća je vjerojatnost da će se istaknuti u moru informacija i ispuniti svoju krajnju svrhu - spojiti vas i korisnika. Svojevrsna mantra modernog marketinga vrlo je jasna - sadržaj je kralj! - i što ju prije usvojite, prije ćete naći put do korisnika. Ključna stvar na koju svakako treba obratiti pozornost je očita i nasilna prodaja te prozirno provlačenje i hvaljenje vlastitog proizvoda - vrijeme neinformiranih korisnika sada je već iza nas, korisnici današnjice ne vjeruju proizvođačima koji hvale sami sebe. Pustite druge da to odrade umjesto vas, a vi im pokušajte dati dovoljno informacija da sami mogu odlučiti žele li vaš proizvod i hoće li upravo on poboljšati i/ili olakšati njihov život.
E-mail marketing
Prethodnica internetskog marketinga i sljedbenik poštanskog marketinga je email marketing. Dugo je vremena ovaj oblik marketinga predstavljao zasebnu “djelatnost” bazirajući se na slanju novosti vezanih uz tvrtku u redovitim ili manje redovitim intervalima. Danas, e-mail marketing treba biti dio točno utvrđene strategije marketinga sadržaja koji povezuje i održava odnos s kupcima i korisnicima vaših proizvoda ili usluga. Većina tvrtki u određenom obliku koristi e-mail marketing, međutim samo mali broj njih ima konkretnu strategiju u pozadini. Osnova svake dobre e-mail marketinške kampanje je čista i kvalitetna baza korisnika. Kako bi vaša baza bila kvalitetna, nužno je da su osobe u njoj zaista pristale dobivati obavijesti i poruke od vas. To znači da su kupljene
baze, baze prikupljene od partnera ili nekim drugim načinom etički nekorektne i “prljave” te ih je prije svega potrebno pročistiti. Pročistiti ih možete kontaktiranjem svake osobe unutar baze i pružanjem načina za ponovnu prijavu na vaše obavijesti, u suprotnom, njihove elektroničke adrese će biti uklonjene iz baze. Nakon što dobijete čistu bazu, potrebno je odrediti tempo i sadržaj komunikacije koji ćete uskladiti s content strategijom. Kao završni korak prilikom kreiranja strategije e-mail marketinga potrebno je odabrati servis preko kojeg ćete komunicirati s korisnicima. Jedan od trenutno najkvalitetnijih servisa koji nudi i besplatne usluge jest MailChimp. Sustav je to koji vam omogućuje učinkovito kreiranje, slanje, analiziranje te namještanje detalja vaših e-mail kampanja usmjerenih korisnicima, obraćajući pritom iznimnu pozornost na praćenje interakcije korisnika sa svakom poslanom porukom (broj klikova, najatraktivniji linkovi, postotak osoba koje su otvorile poruku, gdje su korisnici otišli nakon čitanja vaše poruke te brojne druge korisne povratne informacije).
Search engine marketing i Search engine optimization Za razliku od svojih prethodnika, marketing internetskih pretraživača (Search Engine Marketing, SEM) možemo gledati s dvije strane - besplatne i one nešto skuplje. U svojoj osnovi, marketing internetskih pretraživača ima svrhu poboljšati rang (poziciju) predmeta oglašavanja unutar rezultata pretraživanja pomoću različitih tražilica. Kao “besplatnu” komponentu možemo promatrati SEO, odnosno optimizaciju web-stranica, čiji je cilj olakšati pretraživačima pronalazak predmeta pretraživanja te “prirodno” osiguravanje visoke pozicije u rezultatima pretraživanja. O optimizaciji se možemo brinuti na dvije razine - optimizacija na samim web-stranicama i optimizacija izvan web-stranica. O optimizaciji na web-stranicama potrebno je voditi računa prilikom izrade
Microsoft Dynamics CRM Social Listening Iako svaka tvrtka koja iole drži do svog napretka, već ima implementiran sustav za upravljanje odnosima s kupcima (makar i u obliku obične Excel tablice) rijetki su oni koji su u svoju strategiju odnosa s kupcima uključili i društvene mreže. Kao i CRM, SCRM je u stvari strategija implementirana s ciljem razvoja poslovanja i unaprjeđivanja odnosa s kupcima. U današnjem, iznimno povezanom svijetu,
interakcija s kupcima može se dogoditi bilo gdje i bilo kada. Alati poput Social listeninga koji je komponenta Microsoft Dynamics CRM platforme, daju ogromnu moć vašem prodajnom, marketinškom i uslužnom osoblju moć povezivanja s korisnicima, partnerima, potencijalnim kupcima na društvenim mrežama izravno iz Microsoft Dynamics CRM-a ili iz zasebne aplikacije. Ovaj alat, i njemu slični, omogućuje vam
iskoristiti punu moć društvenih mreža analizirajući sadržaj koji korisnici dijele, i sve ono što korisnici govore o vama. Jedinstveni sustav nadzora sentimenta pretražuje mreže za ključnim riječima i procjenjuje njihov odnos spram vaše tvrtka kao pozitivan, negativan ili, pak, neutralan. Iz analize je moguće provjeriti puls vaših sadašnjih i budućih korisnika i na vrijeme reagirati na promjene ili moguće poteškoće.
pretraživačima za bolji rang. Pretraživač svaku stranicu rangira prema vlastitom algoritmu koji ovisi o velikom broju kriterija i na koji se može utjecati pomoću ranije objašnjenih metoda optimizacije. Ponekad te promjene nisu dovoljne kako bi se vaša stranica našla među prvih nekoliko rezultata pretraživanja i potrebno je poduzeti još neke korake. Ti koraci ustvari predstavljaju plaćanje pretraživačima da prilikom pretraživanja točno određenog pojma vašu stranicu izlistaju na višoj poziciji nego što bi to napravili inače. Cijena ovisi o startnoj poziciji, odnosno prirodnom rangu vaše stranice, učestalosti pretraživanja pojma, drugim stranicama koje plaćaju prikazivanje za istu tu riječ, vašem ukupnom budžetu i maksimalnom budžetu za jedno prikazivanje. Naplata se obavlja samo ako korisnik zaista klikne na rezultat pretraživanja koji vodi na vašu web-stranicu i vama dolazi na naplatu početkom sljedećeg mjeseca. Zbog kompleksnosti, SEM i SEO najbolje je prepustiti osobama koje to rade već duži niz godina i profesionalno se time bave. U suprotnom, lako je moguće da ćete potrošiti veću količinu sredstava bez zadovoljavajućeg rezultata.
Ali ni to nije sve!
Prikaz digitalnih marketinških kanala komunikacije koji će imati najveći povrat investicije u 2015. godini, prema istraživanju tvrtke Smart Insights (Marketing Intelligence)
web-stranica jer kasnija namještanja donose komplikacije i povećanje troškova. Ključne stvari svakako su ispravno označavanje naziva stranice i naslova pojedinih dijelova stranice unutar samog kôda te korištenje metatagova. Naziv domene također je nešto što može poboljšati vaše mjesto na tražilicama - što je naziv domene bliži predmetu pretraživanja to će i vaša pozicija na listi rezultata biti viša. Jednako tako i sadržaj web-stranica igra dostojnu ulogu pri pozicioniranju - njegova originalnost i kvaliteta jamčit će i višu poziciju na rezultatima pretraživanja, odnosno ko-
pirani sadržaji značit će i automatsko niže rangiranje. Optimizacija izvan web-stranica ustvari je izvan našeg direktnog utjecaja. Točnije, tu govorimo o kredibilitetu same web-stranice koji je stečen s vremenom i “iskustvom” koje je pretraživač (sustav) skupio na temelju ponašanja korisnika nakon klika na link iz rezultata pretraživanja koji vodi na vašu stranicu. Primjerice, brzo napuštanje vaših stranica slat će signal pretraživaču kako vašu stranicu ipak treba malo niže rangirati i da one možda i nisu dovoljno relevantan izvor informacija. Druga komponenta SEM-a je plaćanje
Premda je u tekstu pokrivena većina segmenata, ovo je samo djelić cjelokupnog znanja vezanog uz internetski marketing. Ako vas je članak zainteresirao i mislite da biste mogli poboljšati rezultate svog poslovanja korištenjem Interneta za komunikaciju sa svojim ciljanim publikama, svakako podrobnije istražite temu. Materijale možete pronaći korištenjem jednog od popularnih internetskih pretraživača, a više o temi možete čuti i od Ilije Brajkovića na predavanju o Internetskom marketingu koje drži u sklopu WinDays konferencije. Više puta ponavljana izjava “znam da bacam pola marketinškog budžeta u smeće, samo ne znam koju polovicu” famoznog Johna Wanamakera u online svijetu nikako ne vrijedi. Svaka aktivnost se može mjeriti, svaki korak korisnika pratiti i točno utvrditi gdje nastaju problemi, što je moguće poboljšati, a što odlično funkcionira i u što bi trebalo dalje ulagati. Praćenje konverzija (kupnji) i generiranje leadova (prodajnih prilika) nikada nije bilo jednostavnije i zato dobro došli u novi marketing i još bolje se snašli! WD MREŽA 2015
15
Tehnologije Internet Of Things u Windowsima
Velika novost u malim stvarima Internet Of Things (IoT) probio se u posljednje dvije godine od potpuno nepoznatog pojma na sam vrh popularnih izraza u svijetu IT-a. Kada se na IT konferencijama priča o budućnosti i nadolazećim tehnologijama, IoT je bez iznimke jedna od središnjih tema. Taj trend nije zaobišao ni Microsoft. Dapače, Microsoft je u budućnost Windowsa utkao ideju aplikacija u stvarima. No, što to znači za nas developere? Jesmo li spremni zakoračiti u još neistraženi rudnik u kojemu nas čekaju potpuno novi izazovi?
16
WD MREŽA 2015
Ivan Kardum
M
icrosoft je dizajnirao Windowse 10 s idejom o operativnom sustavu koji će se, među ostalim, vrtjeti i na pametnim stvarima. Bilo da je riječ o velikim uređajima, kao što su sustavi za (energetsko) upravljanje kućanstvima, zgradama ili cijelim gradovima, ili da se radi o malim stvarčicama kao što su obične olovke, knjige ili mali kućanski aparati. U svim tim stvarima, u ne tako dalekoj budućnosti, možemo očekivati mala prilagođena računala. Za sve one koji se bave razvojem softvera, svakako je dobra vijest da tamo mogu očekivati Windowse, a s njima i svu silu razvojnih alata koji će im pomoći da u tim Windowsima pokrenu svoju aplikaciju. Već za aktualnu inačicu Windowsa, verziju 8.1., dostupan nam je Microsoftov prilagođeni operativni
sustav predviđen za instalaciju na male IoT uređaje. U ovom trenutku riječ je o skraćenoj verziji Windowsa 8.1 za Intelovu IoT ploču Intel Galileo, a za Windowse 10 u pripremi je ugradnja i u još moćniji IoT uređaj - Raspberry Pi.
Intel Galileo Microsoft otkriva stvari
Intel Galileo mogli bismo nazvati hibridom mikrokontrolera i standardnog računala. Svojim izgledom ne odudara značajno od standardnih mikrokontrolera. Najviše sliči na ploče bazirane na Arduinu s kojima dijeli identične pinove. Ono što ga, pak, čini sličnim pravom računalu jest prije svega njegov procesor. Baziran je na procesoru Intel Quark SoC X1000, što je 32-bitni Intel Pentium kompatibilni čip, i riječ je o prvoj takvoj ploči baziranoj na Intelovoj x86 arhitekturi. Intel Galileo dolazi sa predinstaliranim Unixom te mogućnošću programiranja kao kod standardnih Arduino pločica. No, ono što je mnogo zanimljivije jest to da Galileo omogućuje instalaciju operativnog sustava na mikro SD karticu te pokretanje (boot) direk-
Internet preuzimaju stvari - Razne stvari koje svakodnevno koristimo uskoro bi se mogle značajno promijeniti
tno s te kartice. Microsoft je nedavno pripremio prilagođeni Windows 8.1 u obliku image datoteke, namijenjen upravo za to. Također, u skoroj budućnosti možemo očekivati i Windowse 10 za Intel Galileo. Možemo reći da su, što se tiče IoT uređaja, Windowsi 8 i 8.1 na neki način prijelazni operativni sustavi,
a punu snagu dočekat ćemo uskoro s Windowsima 10. Zbog toga, ako u ovom trenutku razvijamo na Intel Galileu u Windowsima 8.1, trebamo malo i zažmiriti na određene nedostatke cijelog sustava. No, unatoč tim manjkavostima u trenutno dostupnoj verziji, ništa nas ne sprječava da već danas počnemo razvijati aplikacije za IoT bazirane na Windowsima. Cijeli postupak instalacije Windowsa na Galileo i pripreme razvojnog okruženja u Visual Studiju nije sasvim trivijalan, ali Microsoft se potrudio i pripremio nam korak-pokorak upute kako instalirati sve preduvjete na vlastitom stroju i na Intel Galileu te započeti s razvojem. Također, na istoj stranici (http://dev.windows.com/en-us/featured/ Windows-Developer-Program-for-IoT) nalaze se demo primjeri s izvornim kôdom malih jednostavnih aplikacija za Intel Galileo. Zahvaljujući kompatibilnosti Galileovih pinova sa standardom Arduino, na raspolaganju su nam i razni alati, uređaji, senzori i gotovi kôdovi temeljeni na Arduinu. No, Arduinov razvojni sustav nije u potpunosti isti, pa čak niti sasvim kompatibilan s Visual Studio Galileo Wiring C++ projektom
Predviđanje rasta IoT tržišta do 2020. - jesmo li spremni za rudnik zlata?
WD MREŽA 2015
17
Tehnologije Internet Of Things u Windowsima
Universal Apps - One Platform For All Devices
koji nam nudi Microsoft. Međutim, uz malo truda može se svaki Arduinov kôd prilagoditi Visual Studio projektu. Važno je znati da, osim u razvojnom okruženju, Galileo se od Arduino standardnih mikrokontrolera razlikuje i u hardveru. Galileov procesor značajno je brži od standardnih Arduino procesora, međutim zbog svojih specifičnosti određene operacije izvršit će sporije. Primjerice, razni Arduino senzori, kao što su recimo senzori temperature, vlage, zvuka ili
svijetla, koriste isti pin za slanje i primanje podataka. Arduino je predviđen da jednostavno koristi takve senzore, dok je Galileo izuzetno spor u mijenjanju smjera određenog pina, pa se preporučuje da se različiti pinovi koriste za slanje i primanje podataka sa senzora. Kako bismo to omogućili, ponekad je potrebna modifikacija kako kôda, tako i sheme spajanja Arduino senzora na Galileo ploču. Razvoj IoT aplikacija u C++-u kakav
Karakteristike Intel Galilea (Gen1 i Gen2)
18
Dimenzije
10 cm x 7 cm (Gen1) 12 cm × 7 cm (Gen2 )
Konektori
20 digitalnih I/O konektora 6 analognih ulaza 10-pin JTAG za debugiranje USB 2.0 Host (standard Type A) USB 2.0 Client (micro-USB Type B) RJ45 Ethernet Mini-PCI Express
Procesor
Intel® Quark™ SoC X1000 400 MHz 32-bit Intel Pentium ISA kompatibilni procesor L1 cache 16KB Integrirani real-time clock (RTC)
Podatkovni prostor
Firmware 8 MB NOR Flash DRAM 256 MB DDR3; 800 MT/s SD Card do 32 GB (opcionalno)
Napajanje
5V (Gen1) 7 to 15 V (Gen2)
Cijena
Oko 55 dolara (Gen1), oko 75 dolara (Gen2)
WD MREŽA 2015
nam nudi Visual Studio Galileo Wiring projekt, nudi ogromne mogućnosti. C++ razvojni jezik omogućuje nam korištenje svih specifičnosti pojedinog hardvera, kao i ogroman broj open-source biblioteka. No, s druge strane, C++ razvoj značajno je složeniji nego recimo, razvoj .NET ili Universal App aplikacija. Nema sumnje da će nam Microsoft zajedno s Windowsima 10 omogućiti jednostavniji i učinkovitiji razvoj IoT aplikacija, no i dalje će nam na raspolaganju ostati i “direktni” pristup preko C++ kôda. Za razvoj IoT aplikacija u industriji, vjerojatno će taj način još dugo vremena ostati primarnim načinom razvoja.
Raspberry Pi - još manji, još jeftiniji, još moćniji!
Raspberry Pi fondacija je 2. veljače najavila dostupnost nikad jačeg minija-
Intel Galileo – mikrokontroler i x86 kompatibilno računalo u jednom
turnog računala Raspberry da stvari, uređaje i sustave, Pi 2, a Microsoft je istog kojima primarna uloga nije dana najavio i Windowse računalna “pamet”, poveže10 za istu tu ploču, ili mo na Internet i učinimo ih bolje rečeno, računalo. računalno inteligentnima. U Raspberry Pi 2 je zaista tom se smislu Microsoftova računalo u punom smislu strategija “Jedni Windowsi za riječi. Ako smo dosad misve platforme” itekako uklapa slili da znamo koje su to u IoT priču i njegovu ulogu u AllJoyn - i Microsoft je u open-source zajednici za povezivanje stvari granice između računala, budućnosti. U toj budućnosti mikrokontrolera, razvojnih važnu će ulogu igrati i x86 ploča ili IoT uređaja, Raspberry Pi 2 će sada dobiva svoje pravo lice. Premda bazirani Intel Galileo na Arduino sučelju nas u tome razuvjeriti. Riječ je o uređaju sličan već opisanom Galileu, Raspberry i Raspberry Pi 2 na ARM arhitekturi, a koji je sve to u jednom. Pogledamo li Pi sasvim je drugačiji uređaj od Intelova za očekivati je da Microsoft neće stati karakteristike Raspberry Pi 2, bit će nam konkurenta. Hardverski je najočitija ra- samo na njima. jasno da je ovo zaista jedno izuzetno zlika u procesoru: ARM kod Raspberryja moćno računalo, zapakirano u malu naspram x86 kompatibilnog Quark AllSeen Alliance stvarčicu nalik mikrokontroleru i potpu- procesora kod Intela. Druga stvar koja no kompatibilno po svojim pinovima sa odmah upada u oko je grafički HDMI stvari u savezu Usporedno s Microsoftovim razvojem svojim Raspberry Pi prethodnicima. Vi- izlaz i grafička kartica kod Raspberryja. IoT platforme kroz Windows 10, razvija jest da će Windowsi 10 ući u Raspberry Sjetimo se, Galileo nema mogućnost Pi 2 podiglo je Microsoft na potpuno nikakvog korisničkog sučelja niti grafike. se i open-source platforma za stvari nanovu razinu u svijetu IoT-a. Možda Raspberry Pi 2 sposoban je, pak, i za zvana AllSeen Alliance. AllSeen alijansa su neki do tada još mogli pomisliti da digitalni grafički i ulaz i izlaz, a isto tako osnovana je u prosincu 2013. kako bi adresirala zajedničke izazove u razvoju Microsoft tek isprobava IoT tržište, i reprodukciju zvuka. ali s Raspberryjem sasvim je jasno da Riječ je zaista o malom računalu sa IoT aplikacija i omogućila međusobnu Microsoft postaje veliki IoT igrač. Sada svim njegovim komponentama. Možda komunikaciju različitih uređaja i senzora je sasvim jasno da je Microsoft IoT ideju ga, u užem smislu te riječi, ne bismo raznih proizvođača. AllSeen savez je neprofitni open-sourimao već odavno i kako cijela strategija ni nazvali IoT uređajem. Međutim, IoT novih Windowsa (Windows reimagined) nisu samo mikrokontroleri za očitavanje ce konzorcij sastavljen od najvećih komjoš od verzije 8 predviđa IoT. Windows senzora u industriji ili kućanstvu. IoT panija zastupljenih na IoT tržištu, koji ARM kompatibilnost koja je uvedena nije samo mali komunikacijski uređaj zajedničkim snagama proizvodi alate, s verzijom 8 sada postaje još važnija. za povezivanje i jednostavnu među- biblioteke i okvire koji omogućuju razliIdeja o Universal Appsu kao jednoj sobnu interakciju stvari povezanih na čitim platformama i uređajima spajanje razvojnoj platformi za različite uređaje Internet. IoT je sve što nam omogućuje u zajednički ekosustav. Tehnologija koja omogućuje tu interoperabilnost naziva se AllJoyn. Za razvojne inženjere na Microsoftovim tehnologijama važan je Karakteristike Raspberry Pia podatak da je Microsoft prošle godine pristupio tom savezu te odlučio AllJoyn 8,5 cm x 5,5 cm Dimenzije tehnologiju ugraditi u Windowse 10. težina 45 g Time je još jednom pokazao koliko su USB portovi: 4 stvari važan segment budućnosti WinVideo input: 15-pin MIPI camera interface (CSI) konektor dowsa. A kako i ne bi, kad sva predviđaVideo outputs: HDMI, composite video (PAL i NTSC) 3.5 mm nja kažu da će za manje od pet godina jack većina “korisnika” računala i Interneta Audio inputs: I²S Konektori biti nežive stvari, a mi, ljudi postat ćemo manjina naspram svih pametnih stvari Audio outputs: Analog via 3.5 mm jack; digital via HDMI and I²S koje će nas okruživati. Network: 10/100 Mbit/s Ethernet 17 GPIO , HAT ID bus
Procesor
CPU 900 MHz quad-core ARM Cortex A7 (ARMv7 instruction set) GPU Broadcom VideoCore IV 250 MHz OpenGL ES 2.0 (24 GFLOPS) 1080p30 MPEG-2 i VC-1 decoder 1080p30 h.264/MPEG-4 AVC decoder i encoder
Podatkovni prostor
1 GB (shared with GPU) Micro SD Card (opcionalno)
Napajanje
5V (preko microUSB ili GPIO)
Cijena
35 dolara
Raspberry Pi 2 – sitan, ali dinamitan
WD MREŽA 2015
19
aktualnosti Accessibility
Pristupačno svima Znate li koja je najinstaliranija, ili još bolje, najčešće korištena aplikacija? Mala pomoć - nalazi se na apsolutno svakom (iznimke su moguće) računalu, pametnom telefonu, tabletu ili televizoru. Da, radi se o internetskom pregledniku. Mogući razlog tome jest to da je web danas dostupan svima, uvijek i svugdje, no prije bismo rekli da se radi o tome da je web pristupačan svima, a tome je tako oduvijek Okvir za izgradnju pristupačnih aplikacija
Tomislav Mesić
Z
amislite da ste slijepa osoba i da ste na dugom letu prema Seattleu. Je, teško je i zamisliti, no pokušajte. Usput, mala digresija - koliko je zaista teško zamisliti kako je biti slijepa osoba možete pročitati na blogu kolege Merlina (http://merlin.rebrovic.net/blog/ blind-follow-up) koji se iz zagrebačkog
Five ureda, prije godinu dana (u trenutku objave ovog članka) preselio u Googleov ured u Zürich i tamo trenutno radi kao Interaction Designer. Čovjek je cijeli jedan dan bio slijep (ne slijep doslovno, no nije ništa vidio) čime si je, između ostalog, približio stvarna korisnička iskustava slijepih osoba u raznim životnim situacijama. Čini mi se kao najteži, a ujedno i najbolji način za dokučiti razinu pristupačnosti okoline slijepim osobama.
Još uvijek smo na letu prema Seattleu, sa sobom imamo svoj smartfon krcat glazbom, audioknjigama i posljednjom sezonom svoje omiljene serije. Sav navedeni sadržaj konzumiramo bez problema, ne ometajući druge oko sebe. E, to je već teško zamislivo. Koliko takvih, toliko pristupačnih mobilnih aplikacija uistinu ima teško je znati, no sigurno je da ih nema puno, ako uopće. Usput rečeno, nedavno je na našoj javnoj televiziji emitirana prva epizoda nove domaće serije čiji je prikaz prilagođen slijepim, slabovidnim i gluhim osobama. Za slijepe i slabovidne osobe naracija ide na drugom programu hrvatskog radija, a za gluhe osobe moguće je na zahtjev uključiti DVB titl ili okrenuti na određenu stranicu teleteksta. Jest da je koštalo, ali su napravili, svaka im čast.
Web je jednostavno takav UI Accessibility Checker Alat za provjeru pristupačnosti
20
WD MREŽA 2015
Tvorac weba Tim Berners-Lee rekao je: “The power of the Web is in its universality. Access by everyone regardless of disability is an essential aspect.” Web je fundamentalno takav, pristupačan svima, i to mu je zajamčilo dug i berićetan život (goodbye, Mr. Spock). To nije slučajno jer je takav zamišljen od samog početka. S druge strane, s nativnim je aplikacijama stvar nešto složenija, i iako potreba postoji oduvijek, jer osoba s posebnim potrebama ima oduvijek, tek se relativno nedavno tome pristupilo dovoljno ozbiljno. Veliki igrači su se uključili u igru i ra-
Kako to izgleda u stvarnom životu? de nevjerojatne stvari pa su tako tako Apple i Microsoft nevjerojatno povećali pristupačnost svojih najnovijih OS-ova (VoiceOver, zoom in/out i visoki kontrast korisničkog sučelja, isključivanje nepotrebnih animacija, naracija kroz korisničko sučelje i sl.) bez obzira na to radi li se o desktop ili mobilnoj platformi. Apple je to zasad mnogo bolje izveo na razini OS-a (Yosemite i iOS8 su nevjerojatno ispolirani kad je to u pitanju), no Microsoft se mnogo više potrudio da pristupačnost krajnjim korisnicima ponudi kroz zajednicu koja želi razvijati pristupačne aplikacije. Dakle, ako govorimo o Microsoftu i njegovoj razvojnoj platformi, ukoliko želite razvijati pristupačne aplikacije za sve MS platforme, nema problema, može se.
Čemu sve to?
No, prije svega, treba se zapitati iz kojih razloga bismo trebali naše aplikacije učiniti pristupačnijima? Razloga zapravo ima onoliko koliko ih mi želimo imati, od pravnih (u nekim zemljama je zakonom propisano da npr. online sustavi za plaćanje moraju biti pristupačni svima), preko humanih (solidarnost i empatija su važni čimbenici koji nas također određuju) do čisto komercijalnih, jer je već na primjeru aplikacija za slušanje glazbe jasno da bismo si time povećali doseg do velikog broja potencijalnih korisnika. O reputaciji da niti ne govorimo, jer na prste jedne ruke možemo nabrojati tvrtke koje svoje proizvode namijenjene širokoj populaciji ne prilagođavaju i populaciji osoba s posebnim potrebama. Pristupačnost bi mogao biti još jedan pokazatelj koliko je Microsoft pogodio kada je kao jedan od razvojnih smjerova uveo razvoj HTML5 Windows Store aplikacija. Danas to više nisu samo Windows Store aplikacije na desktop platformi, već i Windows Phone aplikacije, pa time priča postaje još zanimljivija, no radi se o tome da su time iskoristili i sve prednosti weba i web-tehnologija (iako ima i nedostataka) jer kako smo na počeku spomenuli, web je od samog početka zamišljen tako da bude pristupačan svima. Sve što se glede pristupačnosti može primijeniti na webu, može se primijeniti i u razvoju aplikacija temeljenima na Windowsima. Microsoft tu nije stao pa je gotovo iste mogućnosti primijenio i na smjeru razvoja baziranom na C#/VB/C++ i XAML-u. Podrška pristupačnosti ugrađena je počevši od Windows Runtimea (bez obzira na to radilo se o Windows Store ili Desktop aplikacijama) preko Microsoft UI Automation - Microsoft Accessibility API-a te je kroz njega dostupna
Trenutne mogućnosti razvoja pristupačnih Windows aplikacija pružaju nam se kroz područja vizualnog dizajna, navigacije pomoću tipkovnice i glasovnog čitača sadržaja aplikacije, popularnog screenreadera - Naratora. Područje pristupačnog vizualnog dizajna odnosi se prije svega na izgled korisničkog sučelja, visoki kontrast, veličinu elemenata korisničkog sučelja, adaptivni dizajn ili promjenu teme cijelog korisničkog sučelja, dakle sve ono što smo naslijedili od modernog weba. Sve je to sada dostupno i u XAML aplikacijama, a od trenutne verzije Windowsa i bez potrebe za ponovnim pokretanjem aplikacije. XAML u jednom krajnje pojednostavljenom primjeru pristupačnog obrasca za plaćanje kreditnom karticom izgledao bi kao na sljedećem primjeru.
Isti taj obrazac, ali u HTML formi izgledao bi vrlo slično - ipak, XAML je odličan markup jezik. Submit Cancel
Ono što je zanimljivo sa stajališta pristupačnosti u slučaju XAML-a jesu Automation svojstva, a u slučaju HTML-a ARIA (Accessible Rich Internet Applications) svojstva. U konkretnom primjeru vrijednost tabindex nam određuje kojim redoslijedom kontrola će se korisnik kretati tipkovnicom po obrascu, vrijednost AutomationProperties.Name ili aria-label određuju naziv polja koji će nam pročitati narator (treba razlikovati od x:name ili name atributa), a AutomationProperties.IsRequiredForForm ili aria-required će nam pomoći pri provjeri ispravnosti unesenih podataka. AutomationProperties.LiveSetting ili aria-live atributi također su zanimljivi sa stajališta pristupačnosti jer će se nakon obrade obrasca vjerojatno negdje ispisati status o tome je li transakcija uspjela ili nije, a ovi atributi će naratoru omogućiti da zna kada se takvo nešto dogodilo te će korisnika o tome obavijestiti. Ne treba niti napominjati da se u slučaju HTML-a ARIA svojstva mogu i trebaju koristiti na webu općenito, a naročito u aplikacijama baziranim na nekom od modernih JavaScript MV* Frameworka. Ništa ne košta, ne zahtjeva mnogo vremena, a enormno pridonosi pristupačnosti. Valja primijetiti da se već s ovako jednostavnim skupom atributa može razviti jedna poprilično pristupačna aplikacija za slušanje glazbe.
Assistive tehnologijama i alatima (jedan od njih je i screenreader) koji su nativni dio samih Windowsa, a koje onda mogu konzumirati osobe s posebnim potrebama kao krajnji korisnici aplikacije.
Još nešto...
Microsoft tu ne staje, i osim UI Automation Frameworka nudi nam i UI Accessibility Checker - alat koji će nam u razvojnoj fazi pomoći u otkrivanju svih potencijalnih zamki glede pristupačnosti. Od jednostavnog tab redoslijeda
polja pa do toga jesmo li, i na koji način, omogućili visoki kontrast naše aplikacije. Naravno, ni to nije sve pa tako i sam Windows Store također posebnu pozornost pridaje pristupačnim aplikacijama te je prilikom objave jedne takve aplikacije moguće jednostavno reći da se radi o pristupačnoj aplikaciji i tako će ta aplikacija dobiti posebnu pozornost te lakše naći put do krajnjeg korisnika. Na kraju krajeva, nije li nam svima upravo to cilj - pristupiti što širem spektru krajnjih korisnika. WD MREŽA 2015
21
aktualnosti Poslovna vrijednost softvera
Profitabilnost... Što je to? Svaki softver košta. To je investicija. Od nekoliko stotina kuna (vrlo rijetko) do nekoliko milijuna kuna (vrlo često). Pri procjeni softvera vrlo se često u obzir uzimaju samo direktni troškovi (licence, ljudski rad, prateći troškovi, kao što su najam prostora, struja, grijanje i slično). I to samo u fazi razvoja softvera. No jesu li to svi troškovi? Nisu. Kompanije vrlo često nisu svjesne dodatnih troškova pa kasnije smatraju da su softver - preplatili. Kako mjeriti profitabilnost i isplativost softvera tijekom dužeg razdoblja? Nenad Trajkovski
T
roškovi se generalno dijele na troškove razvoja i održavanja. Oni se, pak, dalje dijele na direktne i indirektne, odnosno fiksne i varijabilne. Direktni troškovi su troškovi softvera bez kojih ga nije moguće razviti ili održavati (na primjer: troškovi licenci, troškovi ljudskog rada). Indirektni troškovi su troškovi koje moramo plaćati, ali bez kojih bi se softver bez ikakvih problema mogao razviti ili održavati (na primjer, PDV) Fiksni troškovi su troškovi koji se ne mijenjaju tijekom vremena (primjerice, ako je nabavljena licenca MSDN-a, to je fiksni trošak), a indirektni se mijenjaju tijekom vremena (npr. troškovi ljudskog rada, porezi i slično). Troškovi razvoja su svi troškovi koji nastaju od inicijacije nekog softverskog projekta do njegovog plasmana na tržište ili stavljanja u uporabu. Troškovi održavanja su troškovi koji nastaju nakon što je
22
WD MREŽA 2015
softver razvijen, a provlače se kroz cijeli ostatak životnog ciklusa (do povlačenja s tržišta ili do zamjene nekim novim), kao primjerice, troškovi ispravka bugova, novih verzija i dorada. U nastavku se opisuje kako se ti troškovi procjenjuju i kako se mjeri “učinkovitost” tih troškova, tj. kako se oni uspoređuju s prihodima.
MOV - Mjerljiva vrijednost organizacije (Measurable Organizational Value) MOV mora biti moguće objektivno mjeriti i pokazuje stvarnu vrijednost softvera za organizaciju. Pokazuje uspješnost ili neuspješnost projekta, a oko njega se moraju složiti svi dionici (Stakeholders) u poduzeću. MOV se definira u 6 koraka. Prvi odgovara na pitanja na koje dijelove kompanije će softver utjecati? Strateški: nova tržišta, proizvodi i usluge? Kupci: bolji proizvodi i usluge, veće zadovoljstvo? Financijski: veći profit, veća marža? Operacijski: manji troškovi, veća učinkovitost? Socijalni: zaštita okoliša, zdravlja i sigurnosti? U drugom koraku definiramo koje su željene vrijednosti softvera: Bolji (kvalitetniji), brži (učinkovitiji), jeftiniji (smanjeni troškovi). Treći korak podrazumijeva razvoj metrike: Koliko će se profita generirati prodajom? Postotno (primjerice, više od 85% kupaca će biti zadovoljno)? Broj novih kupaca (dobit ćemo najmanje 372 nova kupca u godinu dana)? U četvrtom koraku definiramo razdoblje (kada će MOV biti dosegnut?), a u petom trebamo postići konsenzus dionika: sve
zainteresirane strane moraju se složiti oko prethodnog koraka, što je često lakše reći nego učiniti. Ovo je najteži dio! U posljednjem koraku moramo staviti MOV u jednu jedinu rečenicu, primjerice: Softver XYZ će postići MOV unutar šest mjeseci nakon završetka.
Financijski termini koje nitko ne voli, ali život znače
Ne ulazeći u složene matematičke modele i kalkulacije, kada se ulazi u neki softverski projekt potrebno je sagledati sljedeće elemente. TCO (Total Cost of Ownership) je zbroj svih direktnih i indirektnih troškova razvoja softvera. Povrat novca (Payback) je vrijeme potrebno da se vrate svi troškovi na projektu. On se računa u mjesecima ili godinama i pravilo je - što manje, to bolje. Točka pokrića (Break Even) slična je povratu novca, ali se uobičajeno izražava u broju prodanih licenci (primjerice, troškovi će biti u potpunosti pokriveni kad prodamo 2732 licence ili slično). Povrat investicije (Return of Investment - ROI) je postotak u kojem dobiti (benefits) softvera nadmašuju ukupne troškove i pravilo je - što više, to bolje. Neto sadašnja vrijednost (NPV - Net Present Value) je vrijednost budućeg novca (troškova i prihoda) na današnji dan. Izračunom ovih vrijednosti možemo staviti u odnos prihode i troškove u vremenu i novcu, i to je trenutak kada se radi tzv. GO - NO GO odluka (tj. hoće li se ili neće započeti s projektom). Rizici su nešto što se na projektu uvijek događa u budućnosti, a ima vjerojatnost
veću od 0%, a manju od 100% i, ako se dogode, imaju utjecaj na barem jedan važan dio projekta (vrijeme, opseg, kvalitetu, novac…). Za rizike se na softverskim (i svim drugim) projektima uvijek osiguravaju rezerve (Contingency) u novcu i vremenu. Taj potrošen novac spada u troškove izrade softvera. Iako ti troškovi naoko povećavaju troškove razvoja softvera, oni ih u stvari, smanjuju. Kada se ne bi radilo upravljanje rizicima na projektu svaki bi rizik, koji nije unaprijed dobro definiran i nema plan postupanja, koštao višestruko više u slučaju da se dogodi. Primjerice, ukoliko postoji rizik od gubitka podataka, on može prouzročiti štetu od pola milijuna kuna i ponovni razvoj softvera ispočetka. No, ako se radi pohrana podataka na dnevnoj bazi, a softver i hardver za to košta 100.000 kuna, onda ta investicija smanjuje gubitak za 400.000 kuna, i to je ulog.
Tipični troškovi Razvoj - troškovi razvoja novog softvera ili nove verzije postojećeg softvera Održavanje - troškovi održavanja softvera (ispravka grešaka ili dorada funkcionalnosti)
Direktni - troškovi bez kojih je nemoguć razvoj i održavanje softvera Indirektni - troškovi nastali zbog vanjskih (najčešće zakonskih) utjecaja, a bez kojih bi razvoj i održavanje softvera bili mogući
Fiksni - troškovi koji se tijekom vremena razvoja i održavanja ne mijenjaju Varijabilni - troškovi koji se mijenjaju tijekom vremena
nemoguće. Razvoj softveće on trajati i koliko će nas ra je moguće odredikoštati održavanje i nati brojkama kako je dogradnja?”. Najveći već opisano, ali problemi i svađa Fault repair točan budžet za oko naručitelja i (17%) softver od poisporučitelja javčetka njegovog ljaju se kada razvoja do naručitelj želi Evolucija softvera kraja korištenovu funkcioSoftware i kako se računa? Functionality nja nije mo nalnost, a isadaptation guće odrediti Mnogi analitičari rade pogrešku pa poručitelj smaaddition or (18%) jer korisnik ne nakon što izračunaju sve troškove i sve tra da ju treba modification zna što će mu eventualne prihode, smatraju da je pro- naplatiti jer nije trebati u budućjekt razvoja softvera isplativ i tu - sta- pokrivena ugo(65%) nosti, za godinu nu. Zašto je to velika pogreška? Zato jer vorom o održaili dvije, pa ne zna troškovi životnog ciklusa projekta nisu vanju. niti koliko će izmjePrilikom ugovasamo troškovi njegovog razvoja, nego i ne koštati. Također je nadogradnje i održavanja. Stara poslovi- ranja održavanja ponemoguće predvidjeti ca kaže da je softver koji je pušten u pro- trebno je nedvosmislekoji će se novi operadukciju i radi - zastario. Zašto se softver no razjasniti jesu li Raspodjela troškova održavanja softvera tivni sustavi pojaviti, tijekom vremena značajno mijenja? Ra- ugovorom pokriveni prema troškovnim elementima kao niti eventualna zloga ima mnogo, a najčešći su: tijekom ispravci svih grešaka? korištenja softvera korisnici dolaze do Kolika je dostupnost izvođača (radno vri- nova softverska arhitektura prema kojoj novih zahtjeva, promijenilo se poslovno jeme radnim danom ili 24/7)? Naplaćuju će se softver morati modificirati. No, bez obzira na navedene razloge, tvrtka okruženje, nove arhitekture i/ili opera- li se i kako nove funkcionalnosti? Statistike pokazuju da na greške otpa- mora procijeniti te troškove za određeno tivni sustavi jednostavno ne podržavaju postojeća rješenja, pa ona ne rade ili je, da 17% posto troškova, na adaptaciju razdoblje. pak, potrebno podići učinkovitost i po- softvera 18% troškova, a na promjenu uzdanost softvera na veću razinu. Ovdje, postojećih ili dodavanje novih funkcio- Zaključak naravno, treba dodati i troškove ispravka nalnosti 65% troškova, što je vidljivo na Procjena nabave novog softvera sloslici uz tekst. Troškovi održavanja su od grešaka (bugova). žen je posao za koji nisu dostatni samo Softver je za svako poduzeće imovina 2 do 100 puta veći od troškova razvoja. Nove, moderne, agilne metodologije informatičari, već je potrebno uključiti koja donosi dodanu vrijednost. Ako ne donosi dodanu vrijednost, softver je ne- pristupaju razvoju softvera tako da sve i računovođe i financijske stručnjake. potreban. Često kompanije razmišljaju funkcionalnosti softvera nisu poznate Kako bi se donijela pravilna odluka, osim o kupnji novog softvera jer postojeći ne unaprijed, već se definiraju tijekom vre- pouzdanosti poslovnog partnera od kozadovoljava njihove potrebe, a nemo- mena, kako se za njima pokaže potreba. jeg se on nabavlja, potrebno je što preciguće ga je nadograditi. Zato si mnoge No to ne isključuje navedene troško- znije odrediti sve troškove te, još važnije, kompanije prilikom odluke o kupnji no- ve, a kompanije žele znati budžet i žele vrijeme i iznos povrata tih troškova. Tek vog softvera postavljaju pitanje: “Koliko odrediti konačnu cijenu. To je, nažalost, kada se to odredi, moguće je donijeti konačnu odluku isplati li se nabaviti novi softver. Financijski stručnjaci u mnogim Ključne vrijednosti za donošenje GO – NO GO odluke poduzećima na to gledaju kao trošak, jer ne znaju kakve dobrobiti softver (bilo da Pojam Mjereno u Poželjno govorimo o običnom Excelu ili složenom Dynamics NAV-u) donosi tvrtki koja taPovrat novca Mjeseci/godine Mali kav softver nabavlja. A to je pogrešno. Točka pokrića Broj prodanih komada Mala Svaki, ali baš svaki softver je investicija, koja donosi dodanu vrijednost tvrtki koPovrat investicije Postotak Veliki ja ga nabavlja. Ako ne donosi, ne treba Neto sadašnja vrijednost $ Velika i pozitivna vam. WD MREŽA 2015
23
Mreža na terenu Cloud usluge u maloj tvrtki
Microsoftove oblačne u tvrtki Eko Sever Microsoftove usluge u oblaku omogućuju malim tvrtkama da tehnologija koja je do nedavno bila rezervirana za velike korporacije bude dostupna i njima, i to za vrlo pristupačnu cijenu, što omogućuje da se poslovni procesi u malim tvrtkama poboljšaju i budu mnogo učinkovitiji nego što je to do sada bilo moguće
Aleksandar Malešević i Marko Sever
K
ako je Eko Sever mala tvrtka, koja inovacijama u poslovanju pokušava svojim najkvalitetnijim proizvodima te uslugama tržištu ponuditi najbolje što može, bez upotrebe tehnologije to bi bilo gotovo nemoguće. Kreativnim rješenjima uvijek su potrebni dosta zahtjevni informatički sustavi, pa su do nedavno neke usluge i poslovni scenariji bili izvan financijskog dosega za male tvrtke, pa tako i Eko Severu. Kada je Microsoft počeo na tržištu
Pogled na sučelje Office 365 Admin konzole za male tvrtke
24
WD MREŽA 2015
nuditi svoje usluge u oblaku, pojavili su se tračci nade da će se jednog dana moći za relativno male novce osigurati najnapredniji informatički sustavi za male tvrtke, koji su do nedavno bili isključivo dostupni velikim korporacijama. Jedini razlog tome je bila cijena i znanje potrebno za implementaciju takvih rješenja. Upravo zbog toga Eko Sever je počeo intenzivno razmišljati o raznim uslugama u oblaku, od raznih vendora na tržištu, i odlučio se za jedan pristup tehnologiji dostupan od jednog vendora, konkretno Microsofta zbog svih naprednih mogućnosti skaliranja i integriranja svih sustava u jednu cjelinu kroz jedinstveni sustav kontrole korisnika i njihova autentificiranja prema svim sustavima i rješenjima koje Eko Sever ima interno za svoje zaposlenike te za sve svoje korisnike.
Office 365 u Eko Severu
U svakodnevno poslovanje uvedene su nove procedure koje prije nisu bile moguće, kao što je rad na projektnoj do-
usluge Tvrtka Sistemaš pomaže Eko Severu u održavanju Azure virtualnih servera i hardvera
kumentaciji s dvije različite lokacije pa tako uži tim voditelja tvrtke i zaposlenici tjedno planiranje rada mogu napraviti s različitih lokacija, što znači da uspješno upravljaju svojim vremenom i ostvaruju određene uštede. Pomoću nove tehnologije u mnogočemu su se pojednostavnili poslovni procesi -sada se u svakom trenutku može vidjeti stanje skladišta, kao i trenutne narudžbe te dobiti informacija koliko je pojedinog proizvoda naručeno, čime u tvrtki mogu lakše definirati što je u kojem trenutku potrebno brati na samome imanju. Kod Office 365 usluga, najviše se pokazalo da pomaže što sada sve informacije mogu vidjeti sa svih uređaja u svakom trenutku. Sva korespondencija
O tvrtki Eko Sever Eko Sever - obitelj koja se bavi ekološkim uzgojem povrća, voća, žitarica i ljekovitog bilja. Proizvode i prerađevine kao što je: brašno, kaše, grizevi, zimnica, ajvar, pinđur, džemovi, ocat, kruh i još mnogo drugih zdravih domaćih proizvoda. Početak njihove ekološke priče vezan je uz davne 70-e kada su baka i djed proizvodili povrće i voće za potrebe svoje obitelji. Od 1994. se proizvodnja počela povećavati, a 2000. godine Mario i Ivka osnivaju obiteljsko poljoprivredno gospodarstvo (OPG)
te se cijela obitelj uključuje u profesionalnu poljoprivrednu proizvodnju. Od prvih dana iznimna se pažnja posvećuje načinu na koji se hrana uzgaja. Onako kako su radili za sebe i svoje najmilije, nastavili su i kao profesionalna organizacija, što su vjerni korisnici prepoznali i vjerno ih prate kroz sve ove godine. Prvi su u upisniku ekoloških poljoprivrednih proizvođača s prvim ekološkim certifikatom u Republici Hrvatskoj, što potvrđuje njihovu viziju i cilj - da svojim kupcima
između zaposlenika u trgovinama, u skladištu i na imanju je pojednostavljena i njihova komunikacija je transparentna. Office 365 alati najviše su pomogli u komunikaciji između troje voditelja tvrtke - Maria, Ivke i Marka. Uz to, sada u svakom trenutku mogu vidjeti sve informacije od naših kupaca, gdje god da se fizički nalaze, dok su ranije njihove narudžbe i upite mogli pratiti samo kada su bili na radnom mjestu za računalom. Sada se, unutar tvrtke, u svakom trenutku zna tko se gdje nalazi jer postoji mogućnost uvida u međusobne kalen-
nude samo najbolje i najzdravije ekološki uzgojene proizvode na tržištu. Vodilja proizvodnje je ponašati se dobro prema zemlji, ona nije dana i ne nasljeđuje se od naših predaka, nego se posuđuje od djece i takva se želi ostaviti unucima.
dare pa je jednostavnije dogovarati međusobne obaveze. Uz korištenje internih stranica na SharePoint Onlineu mogu jednostavnije raditi na izradi svih dokumenata koji su im potrebni u poslovanju, sve verzije dokumenata su dostupne u svakom trenutku pa se može pratiti što je i kada netko napravio.
Microsoft Azure u Eko Severu Prelaskom na novi softver za veleprodaju i maloprodaju u Eko Sever trgovi-
Pogled na dokumente za koje je potrebna zajednička suradnja u kreiranju između troje voditelja tvrtke
WD MREŽA 2015
25
Mreža na terenu Cloud usluge u maloj tvrtki
Pogled na Azure portal tvrtke Eko Sever sa svim korištenim sustavima uključujući i one koji su u testiranju
nama potreban je bio i server. S obzirom na to da nije postojala postojeća hardverska oprema koja bi se iskoristila za novi softver, postavilo se pitanje je li bolje kupiti/unajmiti fizički server ili iskoristiti neku od brojnih usluga virtualnih servera (VPS) u oblaku. Nevoljkost klijenta da se, uz sve ostalo, zamara i potragom za adekvatnim prostorom za smještaj fizičkog servera te financijski izračuni dobiveni analizom u Excelu, bili su razlog odluke za virtualni server. Potraga za virtualnim serverom dovela nas je do Azurea, točnije do Azure Virtual Machine (VM) usluge. Kada smo krenuli uspoređivati cijene Azure virtualnih servera i nekih poznatijih, domaćih i stranih, VPS providera, Azure je bio neznatno skuplji. Uspoređivanjem mogućnosti i fleksibilnosti rješenja, Azure je prednjačio. Jedna od bitnih stavki kod odluke je bila i ta što će cijena za Azure VM u praksi biti niža jer server ne mora biti stalno dostupan. Razlog niže cijene je taj što Azure naplaćuje virtualne servere onoliko koliko ih koristite, a obračunska jedinica je minuta. Za servere koji ne moraju biti upaljeni 24/7, kao što je to bio naš slučaj, ovo je značajna ušteda. Kada se spominje gašenje i paljenje virtualnih servera u Azureu, moramo spomenuti funkcionalnost koja se zove Automation. Koristeći Automation account u Azureu može se dosta toga automatizirati pa tako i paljenje i gašenje virtualnih servera. Prvih 500 minuta 26
WD MREŽA 2015
korištenja automatizacijskih skripti mjesečno je besplatno! Visoka razina pouzdanosti i dostupnosti servera su također činjenice koje su pomogle da konačan izbor padne na Azure VM. Bez dodatnih troškova Azure će za vaš virtualni server držati podatke u dva odvojena podatkovna centra. Ukoliko netko želi još bolju i sigurniju varijantu, za malo novca (≈ 25 kn mjesečno za 100GB) moguće je podatke držati u podatkovnim centrima na različitim kontinentima. Skalabilnost virtualnih servera u Azureu još je jedna odlična značajka. Kada shvatite da vaš virtualni server nema dovoljno resursa, kroz nekoliko klikova mišem i ponovnim pokretanjem servera dobivate snažniji server. Ono što bi se moglo promijeniti nabolje je sigurno konzolni pristup Azure virtualnim serverima. Trenutno on ne postoji, no postoje neke naznake da bi se i ta funkcionalnost mogla uskoro pojaviti. U Azureu se stvari općenito brzo mijenjaju i nove funkcionalnosti se pojavljuju svakih nekoliko mjeseci. Za opisivanje svih dostupnih opcija u Azureu trebalo bi mnogo vremena i prostora, no spomenuli bismo još mogućnost integracije i spajanja lokalne infrastrukture s Azureom. Na raspolaganju nam je integracija lokalnog Active Directorya (AD) s Azure AD-om i funkcionalnost koja se zove ExpressRoute. ExpressRoute nam omogućuje privatnu konekciju naše infrastrukture s Azureom koja ne putuje javnim Internetom te
nam nudi nižu latenciju, veće brzine i veću sigurnost podataka. Ne smijemo zaboraviti ni rezervaciju javnih IP adresa. Prvih pet korištenih IP adresa je besplatno.
Microsoft CRM Online u Eko Severu Kako bi se tvrtka Eko Sever mogla prilagoditi zahtjevima sve većeg broja kupaca te kreirati učinkovitije marketinške kampanje, odlučili su se za uslugu Microsoft Dynamics CRM Online, koja osigurava učinkovit i personaliziran pristup svakom kupcu te omogućuje interakciju na način koji on preferira. Korištenjem CRM Online usluge, vlasnici tvrtke i zaposlenici sada imaju bolji uvid u njezino poslovanje, mogu raditi segmentaciju svojih kupaca te planirati i realizirati kvalitetniji marketing u smislu boljeg usmjeravanja informacija pojedinom kupcu. Usluga Microsoft Dynamics CRM Online pomoći će u ostvarivanju bolje komunikacije s kupcima te da korištenjem dobivenih informacija uspiju zadovoljiti sve njihove potrebe. Microsoftova tehnologija pomogla je u rastu kompanije te u rješavanju problema u komunikaciji i suradnji unutar tvrtke Eko Sever. Dok su ranije bili opterećeni preskupim hardverom, ovi novi alati omogućili su im da razmišljaju izvan okvira. Sada više ne postoje ograničenja za njihov rast i ostvarenje svih poslovnih ciljeva.
Jednostavnije upravljanje. Brže inovacije.
Novi poslužitelji PowerEdge mogu se konfigurirati čak 99% brže1 i poboljšati IOPS performanse do 10x2. Bez obzira oslanja li se vaš posao na podatke kako bi predvidio budućnost, poboljšao rezultate ili privukao više kupaca, nova generacija poslužitelja PowerEdge s procesorima Intel Xeon ubrzat će izvođenje aplikacija i operacija, čime će vam omogućiti pametnije skaliranje, jednostavnije upravljanje i brže inovacije.
Prvi 2.5" hot-plug SSD3 isporučuje do
Zero-touch
10IOPS X 99
Automatizacija bez dodira konfigurira do
%
2
brže1
Instalirajte
10,000 servera u
trenutku1
1 Na temelju izvještaja tvrtke Principled Technologies za potrebe Della “Jednostavnije upravljanje sustavima pomoću Dellove aplikacije OpenManage na Dellovim poslužiteljima PowerEdge 13G” iz rujna 2014., u kojem je testirana trinaesta generacija Dellovih poslužitelja R730 s Dellovim aplikacijama za upravljanje sustavima za tvrtke. U usporedbi s ručnim konfiguriranjem. 2 Na temelju tehničkih specifikacija proizvoda Intel S3700 SATA SSD i rezultata primjene Express Flash protokola od udruženja Storage Networking Industry Association. 3 Na temelju Dellove interne analize iz kolovoza 2014. u kojoj su SATA SSD diskovi uspoređeni s Express Flash- PCIe-Gen3 x4 diskovima, kroz test nasumičnog čitanja.
Saznajte više o našem nagrađivanom poslužitelju i revolucionarnoj primjeni flash tehnologije pohrane unutar poslužitelja.
www.comtel.hr Saznajte više na:
ZAGREB | NOVA CESTA 60 | TEL +385 1 3688 666 | FAX +385 1 3688 655 | E-MAIL [email protected]
KODEKS d.o.o., Zagreb Dell Preferred Partner, Dell Authorised Service Provider, Izložbeni salon, Tel: 01/3688-666, [email protected] , www.kodeks.hr LINKS d.o.o. Zagreb, 01 3098 635, www.links.hr | EPLUS d.o.o., Zagreb, 01 6531 568, www.elipso.hr | ACQUISITUM MAGNUM d.o.o. Zagreb, 01 2451 176, www.adm. hr | Instar Informatika d.o.o. Zagreb, 01 5599 669, www.instar-informatika.hr | Jadran Informatika d.o.o., Rijeka, 051 228 014, www.jadraninfo.hr | TecomTrade d.o.o., Zagreb, 01 2958 788, www.tecomtrade.hr | JWARE d.o.o., Osijek 031 274 660 www.jware.hr | M-Computers, Zagreb, 013707 800, www.m-computers.hr | FRISD d.o.o., Krk, 051 222 818, www.frisd.hr | Lama d.o.o., Split, 021 270 270, www.lama.hr | Comel d.o.o., Karlovac, 047 421 111, www.comel.hr | TELEBIT d.o.o. Zagreb, 01 550 7990, www.telebit.hr | Trilit d.o.o. , Zagreb 01 7898 620, www.trilit.hr | ZIT d.o.o., Varaždin, 042 211 744, www.zit.hr | NetCom d.o.o., Rijeka, 051 212 608, www.netcom.hr
intervju Vjeran Bušelić, Sven Marušić, Luka Abrus, Ratko Mutavdžić i Darko
Svi dosadašnji direktori sadržaja WinDays (Technology) konferencije WinDays Technology konferencija mjesto je na kojemu su WinDaysi počeli i tijekom godina narasli u najveću regionalnu poslovno-tehnološku konferenciju. Što o njima danas misle njihovi direktori sadržaja? Tomislav Tipurić
Vjeran Bušelić
U
za sve zabave, koncerte, predavanja i predavače, tehnološke gadgete i slične (polu)geekovske ludorije, uz WinDayse se veže i jedna zanimljiva titula - direktor sadržaja (tehnološke) konferencije. Pozicija je to, u WinDays timu, koja odiše odgovornošću za ono najvažnije što svaka konferencija, koja drži do sebe, prodaje, a to je sadržaj. Ovi su ljudi tijekom godina prolazili mukotrpan proces nominacija predavanja, iščitavanja predavačkih maštarija, slaganja i preslagivanja finalnog rasporeda te zadovoljavanja raznoraznih želja koje su uvijek prštale sa svih strana. Bilo je tu i skrivanja pod stolovima, gašenja telefona i mahnitog skretanja u drugom smjeru kad bi kraj njih prilazio netko kome su na licu mogli prepoznati da će im svojom briljantnom idejom stvoriti koji sat posla u pregovaranju s predavačima i pretumbavanju, već toliko izmučene finalne agende konferencije. Da, tako to zvuči iz pera ovogodišnjeg direktora sadržaja, još uvijek duboko uronjenog u sve “dječje radosti” toga procesa, a bit će zanimljivo s odmakom osluhnuti razmišljanja petorice veličanstvenih, koja se razlikuju ili ne razlikuju od vremena kad su se nalazili u srži zbivanja najveće nam poslovno-tehnološke konferencije u zemlji. 28
WD MREŽA 2015
Bili ste prvi direktor sadržaja WinDays konferencije i jedan od njezinih tvoraca. Možete li nam malo približiti nastanak same konferencije? Ideja o konferencija nastala je krajem 1999. godine, u doba našeg intenzivnog rasta, nakon što smo otvorili ured, prepoznali i počeli aktivno raditi s najkvalitetnijim partnerima i krenuli u sljedeći ciklus komunikacije prema korisnicima. Dotad nismo imali ni ljudi, ni znanja a ni snage za nešto tako dobro (jer htjeli smo da od početka bude izvrsno), nego smo aktivno podržavali najbolje partnere u njihovim konferencijskim aktivnostima. Naš najveći i najpoznatiji partner SPAN, koji je i prije Microsofta de facto bio Microsoft, imao je već godinama svoju vrlo uspješnu i kvalitetnu konferenciju, i samo je bilo pitanje dana i forme kako ujediniti snage. Developere je na DevDaysima podučavao Arian Stipić, još jedna Microsoftova ikona tog vremena (prvi Microsoft Regionalni Direktor - u smislu promocije developerskih teh-
Jovišić
nologija, ne organizacije ili novca), a Zoran Löw, direktor i vlasnik najveće Microsoftove edukacijske ustanove ZIC, uz podršku Nevena Bratraneka, TechEd, i Nikole Dujmovića, SPAN, iz druga dva certificirana edukacijska centra održavao je edukacijsku konferenciju. Mislim da su održane dvije. I odluka je pala da uložimo svoje snage u marketing i organizaciju (supružnici Zrinka i Marko Makovac, još ne i par J) i uz pomoć Status Grupe (Ljiljana, Milan i Zdravko), te Silve Ušić iz Atlasa pokrenuli smo konferenciju. Samo ime WinDays nastalo je tijekom brojnih sastanaka nas i statusovaca, i mislim da se ni danas nitko od nas šestero ne sjeća čiji je to bio prijedlog. Toliko o tom vremenu - entuzijazmu, profesionalnosti, a mogao bih reći i prijateljstvu koje traje i danas. S obzirom na to da ste dobrim dijelom započinjali s jednim drugačijim konceptom, odakle ste crpili inspiraciju za teme konferencije? Prva je godina bila najlakša J. Klasična konferencija, tri segmenta - sistema-
ši, programeri i edukacija. Imao sam i tri urednika, vodeće ljude postojećih konferencija - Sven Hölbling, SPAN, i već spominjani Arian Stipić i Zoran Löw. Oni su, naravno, uz moju suglasnost predlagali teme, predavače i zajedno sa mnom odrađivali probe. Samo da znate, u moje vrijeme (ponosa i slave) niti jedno predavanje nije izašlo pred publiku bez najmanje dvije provjere, a kad god je to bio netko nov, i obaveznim dry runnom. Čim smo odradili prvu, na veliko zadovoljstvo sudionika, ali i predavača, Marko (direktor konferencije) i ja kao urednik, odmah smo počeli širiti sadržaj i razloge da u, dotad uspavanu, Opatiju dovedemo SVE one koji nešto znače u hrvatskom IT svijetu - predavače, tehničku ekipu, prodaju, korisnike, direktore, novinare… sve! Već prve je godine marketing (Zrinka i SG) postavio visoke standarde vezano uz zabave i koncerte, a nas smo dvojica u sadržajnom smislu to proširili na pretkonferencijski dan, CIO dan, CEO ručak, press briefinge… i brojne druge side-evente koje smo postupno uvodili, više se i ne sjećam kojih točno
godina. Naš čvrsti stav je bio da svatko tko dođe na WinDayse ima višestruki sadržaj, da ga boli glava od izbora (žestoko sam se protivio ponavljanju nekih predavanja, iako smo imali i po 7-8 paralelnih predavanja), a još više od druženja - i danju i noću. Konferenciji smo dali i humanitarni karakter - skupljali smo novac uvijek za neku drugu lokalnu dobrotvornu organizaciju/akciju kako bismo pokazali da informatičari djeluju i lokalno. U sadržajnom smislu uveli smo “naše dečke iz Redmonda” - prvo Marina Bezića videolinkom, pa uživo, pa Miru Jurića, Bodina Dreševića… To je njima značilo mnogo, a nama i publici još i više, i mislim da smo baš takvim detaljima konferenciju izdigli iznad ostalih. Još kad smo uveli Windays Network - mrežu na kojoj su ljudi mogli isprobati sve najnovije naše (uglavnom beta) tehnologije i “prodali” ideju portala za sjednicu bez papira gostu na otvaranju - potpredsjedniku Vlade dr. Goranu Graniću, znali smo da je ljestvica postavljena visoko. Vrlo visoko! Nismo se zabrinjavali, imali smo dovoljno sjajnih ljudi u našim redovima, i kad smo nakon tri odrađene, Marko i ja prešli u drugi plan, posao su i bolje od nas nastavili Tihomir Cirkvenčić i Sven Marušić, pa Luka Abrus… da ne idem sve do današnjih organizatora. Na koji ste način potaknuli predavače da podijele svoje znanje sa sudionicima i kako ste uopće dolazili do njih? To je bilo najlakše. Već je postojala i do danas se održala predivna kultura dijeljenja znanja, i već od prve konferencije predavača i tema bilo je više nego termina, pa smo nesputano rasli i rasli, dok nismo, čini mi se, dosegnuli gotovo dvije stotine predavanja sa više od sto predavača. A kad se u regiji, ali onoj pravoj, pročulo za konferenciju, uredno su se odazivali i najveći Microsoftovi eksperti poput Rafala Lukawieckog ili Davida Chappella, uz brojne product managere iz same korporacije. I svima je to bila i čast i zadovoljstvo, a nama je ukazivalo da se kvalitetom i predanošću može sve, pa i napraviti sjajna konferencija, koja i dan danas, petnaest godina kasnije, ima mnogo elemenata koje smo Zrinka, Marko i ja osmislili. WD MREŽA 2015
29
intervju Vjeran Bušelić, Sven Marušić, Luka Abrus, Ratko Mutavdžić i Darko Luka Abrus
Sven Marušić Preuzeli ste ulogu direktora sadržaja od Vjerana Bušelića na četvrtim WinDaysima. Možete li nam malo približiti novosti koje ste utkali u sadržaj WinDays konferencije i način njegova stvaranja? Bilo mi je teško nakon Vjerana jer je njegova energija u stvaranju WinDaysa bila ogromna, a predavači su već bili naviknuti na njegov stil rada. Pokušavali smo na svaki mogući način WinDayse učiniti boljima od prethodnih. Glavni motiv prilikom stvaranja sadržaja WD-a nije se značajnije mijenjao - željeli smo pokazati sve što Microsoft ima u tom trenutku u nekoliko kratkih dana. Pri tome je bilo najteže odabrati predavanja jer je već 2004. godine bilo četiri puta više prijava nego slotova za predavanja. Uveli smo čak i obavezne treninge prezentacijskih vještina za predavače koji su prvi put nastupali. Tada se pojavila i WinDays Mreža kao konferencijski časopis i to je svakako bila jedna sadržajna novost. Pod vašom direktorskom palicom WinDaysi su 2005. godine iz 30
WD MREŽA 2015
tehnološke prerasli u poslovnotehnološku konferenciju. Možete li nam približiti motivaciju WinDays tima i samog Microsofta Hrvatska koja leži iza te odluke? Iskreno, ja niti danas nisam siguran je li to bila ispravna odluka. WD-i su primarno tehnološka konferencija. Kad smo uveli poslovni smjer, a kasnije i dan, željeli smo da i te poslovne teme budu izrazito povezane s Microsoftom, odnosno, primjenom tehnologije u poslovanju. Problem poslovnog dijela konferencija je da vrlo često odluta od osnovne ideje WD-a i pretvara se u svašta - od političke pozornice do skupa ekonomista koji lamentiraju o modelima izlaska iz krize. To je sve OK, međutim - gdje je tu Microsoft i da se nikad ne zaboravi, developeri, developeri, developeri… Kakav je bio osjećaj 2006. godine, kad ste direktorsku palicu predali Luki Abrusu? Koliko se WinDaysi promijene kad ih promatrate izvan WinDays tima? Kao što je rekao onaj tip - Znao sam kako se uz takvu omladinu ne trebamo brinuti za budućnost. ☺
Imali ste priliku voditi sadržaj na trima WinDays konferencijama - 2006., 2007. i 2009. godine. Jedan ste i od začetnika ovog posebnog izdanja - WinDays Mreže, dakle WinDays pratite od samih početaka. Koliko su se promjene u svijetu tehnologije odrazile na sadržaj konferencije? Konferencija se uvijek trudila držati korak s novim tehnologijama - i dok su predavanja uglavnom bila iskustva i case studyji, i samim time govorila o već implementiranim tehnologijama, keynote predavanja su otvarala pogled u blisku budućnost. To je bio i najzabavniji dio priče, pratiti trendove i reflektirati ih kroz demonstracije na otvaranju konferencije i druga keynote predavanja. “Rat” s nominacijama predavanja “agonija” je koju ste prolazili svih tih godina (kao i vaši prethodnici i sljedbenici). Možete li s nama podijeliti neku anegdotu i otkriti neki od Vaših “trikova”? Ne bih nužno rekao da se radilo o ratu ili agoniji, jer smo imali veliku korist od nominacija - vidjeli smo čime se bave partneri na tržištu i mogli raditi odličan follow-up s drugim aktivnostima, neovisno o nominacijama. A bilo je tu uvijek i originalnih ideja koje su jednostavno morale ući u službeni sadržaj. Od anegdota pada mi na pamet jedna kad smo potvrdili cijeli sadržaj, definirali sva predavanja i završili posao, i tada se sjetili da samo zaboravili na jednog visokopozicioniranog Microsoftovog predavača, za čije predavanje više nije bilo mjesta. Nakon velikih dvojbi, uspjeli smo pronaći jedan relativno neatraktivan slot u udaljenoj dvorani, no problem je bio to što je on bio vrlo zahtjevan oko izbora termina i očekivao sam probleme. Počelo je natezanje i tada smo povukli trik iz filma “La vita e bella”. Ako se ne varam, dostupan
Jovišić Ratko Mutavdžić
slot je bio u srijedu poslijepodne, odmah nakon ručka. Ponudili smo za početak tri dana - utorak kad još nikog nema, srijedu te četvrtak, kad već ljudi lagano odlaze kući. Odabrao je srijedu. Potom izbor termina - ujutro dok svi spavaju, prije ručka kad su svi na suncu, poslije ručka ili predvečer, kad pada koncentracija. Odabrao je poslije ručka. I za kraj je ostala dvorana - velika i blizu A, koju je problem napuniti i uvijek je poluprazna, malu i blizu B, u koju neće stati svi zainteresirani, i udaljenu i srednju C, u kojoj se taman poslije održava relevantno predavanje. Odabrao je C i problema više nije bilo, dobio je sve što je želio. Smatrate li da je iskustvo koje ste stekli kao direktor sadržaja imalo pozitivnih utjecaja na Vaš poslovni razvoj, u Microsoftu i izvan njega? Za sam razvoj unutar Microsofta i nisam baš siguran -
uglavnom je ta pozicija dolazila kao rezultat dobrog rada koji je bio prepoznat i nagrađen (doduše, samo s tim ekstra poslom). No izvan Microsofta, odgovor je sigurno da - upoznao sam se s gomilom zanimljivih predavača, partnera i korisnika. A dobro je bilo i iskustvo sa stresom i pritiskom.
Vaša je uloga kao direktora sadržaja konferencije imala dvojaki karakter - 2008. godine ste vodili kompletnu WinDays konferenciju, a 2009. godine WinDays Virtual. Možete li nam malo približiti koncept virtualne konferencije te pojasniti koji je od ta dva zadatka bio teži? Te smo godine imali ideju proširiti konferenciju i na virtualni svijet, odnosno omogućiti ljudima da sudjeluju u konferenciji prije, za vrijeme i poslije konferencije preko računala. Osim toga, uveli smo i prijenos sadržaja sa same konferencije, i to iz većine dvorana, a gotovo sve se snimalo i objavljivalo u roku od 24 sata. Čak i danas, kada su tehnologije značajno napredovale, to je zahtjevan projekt u koji je uključeno dosta različitih elemenata dakle, s prilično rizika. No, takvi su nam projekti uvijek i bili najdraži. U tu smo svrhu čak izgradili i mali studio u jednom od konferencijskih hotela, a jedan dan (petak) konferencija je bila i postojala samo online. U svakom slučaju, zanimljivo iskustvo u kojem je sudjelovalo nekoliko stotina vanjskih korisnika koji su pratili pojedine sadržaje s konferencije. U razvoj sustava bio je uključen cijeli niz tvrtki partnera, ali moram izdvojiti
Posljednjih godina imate priliku sudjelovati na WinDaysima kao predavač i sudionik. Kako Vam WinDaysi izgledaju kad ih gledate iz drugog kuta? Zapravo, uopće ne vidim više tu kompleksnost i nije mi jasno što smo mi radili tih pet, šest mjeseci prije konferencije. Šalim se naravno, ali sada, kao sudionik i predavač, ne iskusim većinu stvari za koje pretpostavljam da se organizacija pobrinula. Čak mi zapravo ponekad i nedostaje taj stres, timski rad i ona temperatura i lagana bolest kad sve završi. J Dobra stara vremena! WD MREŽA 2015
31
intervju Vjeran Bušelić, Sven Marušić, Luka Abrus, Ratko Mutavdžić i Darko Jovišić Multilink iz Rijeke, koji nam je znanjem i rješenjima nadogradio standardnu konferencijsku mrežu s rješenjima za audio i videoprodukciju - još i danas mislim da smo tada primijenili neka avangardna rješenja. Čak i danas ovakav pristup nemaju niti veće konferencije pa je rijetkost (barem kod nas) pronaći konferenciju koja se barem snima i kasnije objavljuje kao niz videozapisa. Dakle, virtualna konferencija je bila teška i zabavna jer smo ju radili prvi (a i posljednji) put. No danas su društvene mreže u potpunosti preuzele tu funkciju pa za stream koristite Meerkat ili takvo nešto. Je li hrvatska IT publika bila spremna za virtualnu konferenciju? Kakva je situacija danas? Tada sigurno manje nego danas. Danas je i trend da konferencija nije samo “fizička” konferencija tih nekoliko dana, nego da se ljudi u sadržaje i komunikaciju uključe što ranije (tjednima, mjesecima) i da ostanu u komunikaciji što dulje (tjednima, mjesecima) uporabom društvenih mreža. Tada su prijenos i mogućnost komunikacije (sjećam se da smo razvili svoju društvenu mrežu) bili pomalo čudni i napredni, danas bi bili nešto što se očekuje samo po sebi. No, danas to sigurno ne bismo zvali virtualnom konferencijom, jer je to dio koji bi se sam po sebi uklopio u ostatak konferencije. Čini mi se da ipak još uvijek ne koristimo sve mogućnosti koje nam taj tip umrežavanja pruža te bi vjerojatno trebalo više poraditi na tome. Ako biste morali izdvojiti jednog predavača ili područje koje Vam je predstavljalo najveći izazov, tko odnosno što bi to bilo? Svi su predavači specifični za sebe, i da nisu takvi, ne bi bili predavači na WinDaysima J. Svatko od njih je dao i daje puno da bi dijelio znanje, ideje, mogućnosti i sudjelovao u zajednici. No u smislu izazova sigurno me je najviše zabavljalo raditi s, danas dragim prijateljem, Rafalom Lukawieckim, čovjekom koji je nenadmašan predavač i prenositelj znanja, čija je svaka prezentacija bila mala kazališna predstava, i čija su sva predavanja uvijek bila u top-10 predavanja konferencije. I zato smo mu ispunjavali sve želje, potrebe i iznenadne ideje; znali smo da to ima svoju funkciju. Čovjek je vrhunski profesionalac, svašta se od njega može naučiti. Time ne umanjujem druge predavače - sve je to jedna ugodna ekipa zbog koje se svi zajedno iznova vraćamo na WinDayse. 32
WD MREŽA 2015
Darko Jovišić Imali ste priliku preuzeti palicu direktora sadržaja Tehnološke konferencije jubilarne 2010. godine. Kakav je bio osjećaj naslijediti Luku, Ratka, Svena i Vjerana? Svi su oni vrlo dobri predavači i imaju prepoznatljiv medijski nastup, tako da definitivno nije bilo lako ući u njihove cipele. Dodatno, ja sam morao nastaviti tamo gdje su oni stali i podignuti kvalitetu na još veću razinu. Ipak, u naslijeđe su mi ostavili uhodan proces definiranja sadržaja pa barem u tom dijelu nisam morao mnogo razmišljati. Desete WinDayse svi ćemo pamtiti, nažalost ne samo po jubileju, već i po nesretnome vulkanu koji je zatvorio većinu europskih aerodroma te Vas tako osiromašio za više od 20 stranih i domaćih predavačkih imena. Možete li nam malo približiti kako se bilo nositi s time? Kako ste uopće uspjeli održati kvalitetu konferencije na razini na koju je publika navikla? U cijeloj je priči najsmješnije to što smo tada počeli intenzivno razgovarati o informatičkom oblaku, a vulkanski oblak nam je zapravo omogućio da pokažemo što to u praksi i znači. Neka predavanja smo zamijenili domaćim predavačima, a dio predavanja smo odradili preko Lynca i pokazali kako oblak (onaj informatički) može osigurati kontinuitet poslovanja. Iz moje osobne perspektive, to je bio apsolutni kaos i panika jer se to dogodilo dva dana prije konferencije. Situacija se mijenjala iz sata u sat jer se nije znalo hoće li se aerodrom otvoriti ili ne. Mogu reći da sam dobio brzi hands-on tečaj iz kriznog menadžmenta. Što za Vas WinDaysi predstavljaju danas? Meni WinDaysi predstavljaju mjesto susreta. Tijekom godine svi smo opterećeni svojim poslovima i obvezama, a jednom godišnje imamo priliku uzeti malu pauzu i popričati s kolegama koje nismo dugo vidjeli. Također, imamo priliku vidjeti u kojem smjeru se kreće industrija, čuti različita mišljenja i razmisliti na koji način možemo primijeniti nove tehnologije u poslovanju.
tema broja
34
WD MREŽA 2015
Tomislav Tipurić
WD MREŽA 2015
35
tema broja Windows 10 Sljedeća generacija
Svakih nekoliko godina već ionako uzburkani svijet informacijskih tehnologija prodrma snažni pacifički zapadni vjetar donoseći brojna pitanja, ali i dašak svježine na naša računala, što god ona bila. Naravno, radi se o Windowsima… pisanih u Clipperu, koje su sve užasno podsjećale jedna na drugu, a računalna se ekspertiza mjerila u količini riječi u osljednjih se mjeseci na minuti. Umjesto računalnih znalaca, naslovnicama portala koji imali smo daktilografe. Windowsi tose bave tehnologijom pojavga vremena unijeli su određenu dozu ljuju i snimke ekrana novih svježine. Iako je dosta aplikacija i dalje Windowsa - Windowsa 10. bilo osuđeno na legendarni naredbeni Nova verzija Windowsa, oko čijeg je redak, dio ih je počeo bježati u grafičko nazivlja još uvijek obavijen veo misterija korisničko sučelje. Windowsi su donijeli koji skriva tajni razlog preskakanja broja i mogućnost paralelnog rada na više 9, otvorenije no ikad koketira sa svekoaplikacija (famozni multi-tasking) bez likom informatičkom publikom kako bi U počecima, kojeg danas više ne možemo zamisliti što više njih privukla da ju instaliraju na bijahu dva svoja, barem testna računala, tablete (i Kako bismo odgovorili na pitanje o po- ni mobilne telefone, a kamoli računala. mobitele) i tako se priključe svekolikoj trebi novih Windowsa moramo pogledati Windowsi 95 koji su uslijedili kasnije, zajednici insajdera koji povratnim in- u prošlost. Prisjetimo se samo početka jednom su zauvijek promijenili računalni formacijama zapravo omogućuju stvo- 90-tih i Windowsa 3.11. To je zapravo svijet i omogućili svakome da se vrlo brzo riti najbolji, najkvalitetniji, najstabilniji vrijeme DOS-a i nebrojenih aplikacija nauči koristiti računalom. Možemo biti toliko odvažni i rei najprilagođeniji ći da je računalna operativni sustav pismenost rasla usdanašnjice za sve poredno s brojem uređaje, od čipova, instalacija 95-ice. preko tableta i moNjegovi ušminkabitela do laptopa i ni nasljednici u desktopa, odnosno obliku Windowsa igraćih konzola. 98 i 98 SE samo Parafra zirajući su dodatno utvrnaslov članka iz dili Microsoftovu Sup ermanovog prevlast na kućnim “Povratka” kojim desktopima. je famozna Lois Paralelno s ovom, Lane zaradila fikrekli bismo consutivnog Pulitzera, merskom verzijom žaleći za odlaskom Windowsa, razvisvoga voljenog hejala se i ona poroja i ljubavnika, slovna - Windows tragamo informaNT. NT sustav, tičkim bespućima baziran na nešto upravo u potrazi drugačijem kernelu za odgovorom na i usmjeren prema pitanje trebaju li mrežnom radu, trazaista svijetu novi žio je svoje mjesto Proširena stvarnost - hologrami u našem svijetu korištenjem Windowsa 10 i Hololense uređaja Windowsi?
P
36
WD MREŽA 2015
Proces sjedinjavanje XBOX, Windows Phone i Windows (desktop) platformi kulminira u Windowsima 10
u svijetu korporacija, multinacionalnih kompanija, velikih timova gdje su IBM i Nowell s različitim unixoidima bili odgovor na apsolutno sva pitanja. Iako prva verzija (zbog nekog razloga poznata pod brojem 3.1), koja se sastojala od serverske i klijentske (Workstation) inačice, nije napravila revoluciju, do verzije 4.0 Microsoft je već poprilično ispeglao stvari i počeo uzimati svoj dio kolača u segmentu mrežnih poslovnih korisnika. Kako ne bi bilo zabune - i Windowsi 9x koristili su se u poslovnim okruženjima, no zbog arhitekture OS-a nisu mogli odgovoriti na sve zahtjeve. Inženjeri i produkt menadžeri uporno su unaprjeđivali platformu Windows, konstantno razbijajući glavu kako će ove dvije struje, 9x i NT, spojiti u jednu. Pojavom prve beta verzije NT-a 5.0 proširile su se glasine da će upravo on biti taj koji će označiti spajanje kućne i poslovne verzije Windowsa. Razvijen je novi driver model - novi način komuniciranja s hardverom, što ga je činilo prvim Windowsima NT koji su bili u stanju iskoristiti napredne funkcionalnosti 3D akceleriranih grafičkih kartica. U mrežni svijet donijeli su Active Directory i kriptirani datotečni sustav te postali de facto standard za brojne poslovne korisnike. Ipak, druga je beta, pri čemu OS mijenja i naziv u Windows 2000, značila otrježnjenje za sve kućne korisnike (većinom gamere), jer upravljačkih programa za većinu hardvera jednostavno nije bilo, a kompatibilnost s velikom količinom 3D aplikacija jednostavno nije postojala.
Tako je jedna od dotad najstabilnijih verzija Windowsa našla svoje mjesto pod suncem u korporativnom svijetu, a kućni su korisnici dobili osvježenje Windowsa 98 u obliku Windowsa Me, koji je, uz Vistu, vrlo vjerojatno dosad najomraženiji operativni sustav. Jesu li svijetu trebali Windowsi 2000? Naravno da jesu. Postavili su čvrst temelj za sve ono što je uslijedilo kasnije.
Iskustvo vodenih boja
Microsoft sljedeći put želi napraviti preokret, želi sve svoje korisnike na istoj platformi: poslovnjake, studente i učenike, gamere, pisce, programere i dizajnere, apsolutno sve. Hardverski partneri rapidno prihvaćaju novi model izrade upravljačkih alata i omogućuju Microsoftu da izvorni kôd platforme 9x
(i Me) jednom zauvijek pošalje u povijest. Windowsi 2000 postaju osnova za, dosad najpopularniji operativni sustav - Windowse XP. XP je napokon zadovoljio potrebe i poslovnih i kućnih korisnika, podržao je sav mogući hardver, od skenera i pisača do raznih varijanti grafičkih akceleratora, integriranih modula na jeftinijim matičnim pločama, naprednih zvučnih kartica koje su koristili DJ-evi; što god da ste poželjeli, radilo je s Windowsima XP. Radile su i aplikacije, barem velika većina njih. Usavršen je mrežni rad, a pojavom Windows Servera 2003, Microsoft bezecira svoje mjesto u podatkovnim centrima poslovnih korisnika.
Nedovršena priča
Mnogi su mislili da je XP kraj, kako nema apsolutno nikakve potrebe za bilo
Jedno iskustvo, prilagođeno veličini ekrana
WD MREŽA 2015
37
tema broja Windows 10 Sljedeća generacija
S novim Windowsima Internet Explorer i službeno odlazi u mirovinu, a na scenu stupa Spartan
kojim novim OS-om ikad više. Naravno da je realnost drugačija. Inženjeri u Redmondu bili su svjesni načina na koji se još može unaprijediti sustav kako bi odgovorio na pitanja koja pred njega stavljaju sveprisutnost Interneta i pojava poveće količine podataka kroz video, bogatije web-stranice i sve brojnije webaplikacije. Za bolje iskustvo rada na računalu trebalo je unijeti temeljite promjene. 3D ubrzivače (danas ih jednostavno zovemo grafičkim karticama), tada već prisutne na gotovo svim računalima, trebalo je iskoristiti i u svrhu stvaranja bogatijeg korisničkog sučelja samog OS-a. Bilo je potrebno i olakšati snalaženje u ogro-
mnoj hrpi dokumenata koji su čučali na našim diskovima, za što ih je trebalo prvo indeksirati. Zbog pojave ogromnih sigurnosnih problema, bilo je potrebno aplikacije “učahuriti” i ne dopustiti im da bez korisnikova znanja rade dublje promjene na operativnom sustavu. Internet je morao postati dijelom samoga OS-a kroz sve moguće načine. Ovi, i brojni drugi zahtjevi natjerali su Microsoft da još jednom iznova razmotri arhitekturu samoga OS-a i pokuša dio priče napisati od početka. Spominjali su se novi datotečni sustavi, organizirani kao relacijska baza podataka (WinFS), raznorazni 3D enginei koji bi upravljali sučeljem i brojne druge ideje. Na kraju
Hololense Na konferenciji za novinare pod nazivom “Windows 10: The Next Chapter”, 21. siječnja ove godine, publika je na trenutak ostala bez teksta kada se Alex Kipman prošetao s holografskim uređajem po pozornici. Nedugo nakon videoisječka koji je zorno prikazao kako Hololense (Windows 10 holografsko računalo) funkcionira, newsfeedovi društvenih mreža su zakrčeni. Svijet je ostao zapanjen potpuno novom pričom - novom kategorijom uređaja. Hololense koristi
38
napredne senzore, 3D HD ekran učvršćen na glavi korisnika i prostorni zvuk kako bi omogućio scenarije proširene stvarnosti (engl. Augmented reality) u obliku aplikacija koje imaju prirodno korisničko iskustvo (NUI - Natural User Interface) i kojima korisnik upravlja pogledom, glasom i gestama, odnosno pokretima ruku. Sve što se zna o datumu izlaska ovog nadasve zanimljivog gadgeta jest to da će biti dostupan unutar Windows 10
WD MREŽA 2015
timeframea. Ipak, činjenica da su svi prisutni novinari na ranije spomenutom događaju dobili priliku isprobati Hololense, daje nam nadu da ćemo i mi uskoro moći učiniti isto.
smo dobili Vistu, dugo iščekivan i katastrofalno primljen operativni sustav. Ne, nije on bio spor, kad ste mu dali dovoljno memorije. Nije on bio niti loše dizajniran, ako ste imali dobru grafičku karticu. Nije bio… Da, dojam je kako je Visti trebalo još pola godine do godinu dana da bude dovršena, ali nije se više moglo čekati. I sad je opet pitanje - je li svijetu trebala Vista? Ma naravno da jest, jer je Vista unijela promjene u jezgri OS-a na kojima će se kasnije graditi Windowsi 7, 8 pa i 10. Vrlo brzo nakon Viste pojavljuje se prva beta Windowsa 7. Već se u startu dalo naslutiti da je Microsoft uspio riješiti sve probleme koje je imao s Vistom. Količina resursa je smanjena, OS ubrzan, sučelje dodatno optimizirano. Kada su se 2009. pojavili na policama, prodavali su se kao niti jedan OS do tada. Nema se tu što dodati, Windowsi 7, građeni na Vistinim temeljima, dali su svijetu ono što mu je tada trebalo - najbolji operativni sustav za desktop i laptop računala. Ipak, to već pola godine kasnije nije bilo dovoljno. Pojavljuju se neki novi uređaji - pametni telefoni i tableti.
Prilika za obrat
Microsoft je u svijetu pametnih telefona i tablet uređaja bio prisutan prije nego što je on zapravo postojao. Windows XP Tablet PC edition, Windows CE, Windows Mobile, samo su neki od naziva proizvoda kojima se moglo upravljati dodirom, odnosno elektroničkom olovkom (stylusom). Ipak, sve je to bilo puno prije vremena i s relativno malo korisnika. Kada je 2007. godine Apple svijetu pokazao prvi iPhone, stvorena je nova kategorija uređaja - prvi uistinu pametni telefon. Slična se priča dogodila i s iPadom. Google se, pak, s Androidom vrlo dobro smjestio u prateću poziciju, iz koje je u iznimno kratkom roku prerastao u lidera i platformu broj 1 u svijetu pametnih telefona i tableta. Microsoft je trebao svojeg igrača,
Microsoft Surface Hub i trebao ga je brzo. Prvo se dogodio Windows Phone 7, nasljednik platforme Windows Mobile (iako s njom, osim imena Windows, nije dijelio apsolutno ništa). Svi koji su ga koristili uvidjeli su ogroman potencijal. Međutim, tržište nije reagiralo jer je ponuda uređaja bila iznimno uska, a prvoj je verziji nedostajalo funkcionalnosti. Uslijedilo je partnerstvo s Nokijom i pojava prvih Lumija s Windows Phoneom 7.5. Reklamiralo se na sve strane i prodaja je počela. Doduše, polaganim tempom, ali je počela. Microsoft užurbano radi i na nasljedniku sedmice - Windowsima 8. Sučelje Metro (kasnije zbog pravnih razloga preimenovano u Modern), popularizirano na Windows Phoneu, prenosi i u svijet računalnih operativnih sustava te stvara ekran Start koji se rasprostire preko cijelog ekrana kako bi korisniku velikim ikonama omogućio pokretanje raznoraznih aplikacija. Pojavljuju se i prvi tableti koji pokreću pre-beta (Developer preview) i beta (Consumer Preview) verziju OS-a, i vidljivo je da je Microsoft stvorio iznimno dobar operativni sustav za tablet uređaje. Funkcionalnostima OS-a moguće je upravljati prstima, a sve poznate aplikacije rade bez ikakvih problema - briljantno, zar ne? Iako je na početku djelovalo kako će Windowsi 8 (i njihova kasnija verzija Phone 8, koja je dijelila istu jezgru s računalnom varijantom) uistinu postati jedinstveni operativni sustav za sve uređaje od telefona do desktopa, to se ipak nije dogodilo. Korisnici računala bez ekrana osjetljivih na dodir (bilo laptopa, bilo desktopa) jednostavno nisu vidjeli prednosti u prelasku na novi OS. Dapače, vidjeli su probleme u nedostatku standardnog start izbornika i touch-first sučelju. Microsoft se malo pomalo trudio dodavati funkcionalnosti u Windowse 8 kako bi zadovoljio potrebe desktop korisnika i to je donekle pomoglo. Iako su neki 8-icu nazivali ponovljenom Vistom, svatko tko ju je ikada koristio zna da tomu nije tako. Svijet je uistinu trebao Windowse 8 jer smo s njima prvi put dobili poslovno primjenjive tablet uređaje, kao i čitavu lepezu novih vrsta uređaja u obliku laptopa koji se zakretanjem, okre-
Uređaj koji će zamijeniti standardne TV ekrane u konferencijskim prostorijama
Paralelno s predstavljanjem Windowsa 10 na konferenciji za medije 21. siječnja, Microsoft je predstavio i Surface Hub - 84-inčni All-in-One uređaj baziran na platformi Windows 10 i alatima Office za poslovnu produktivnost, kao što su Skype for Business i OneNote, uz pohranu
u oblaku. Osim što se radi o iznimno kvalitetnom ekranu na kojem je moguće dijeliti različite sadržaje, Surface Hub želi promijeniti način na koji percipiramo naše konferencijske prostorije. Zapravo, želi od svakog prostora napraviti iznimno kvalitetno kolaboracijsko
tanjem ili, pak, odvajanjem ekrana pretvaraju u potpuno funkcionalne tablete.
Na kraju, ili, pak, na početku…
I dođosmo do današnjeg vremena, nekoliko mjeseci prije izlaska konačne verzije Windowsa 10. Već smo vidjeli mnogo - Microsoft nam donosi Windowse na IoT (Internet-of-Things) uređaje, Hololense (pogledajte okvir uz tekst), način rada prilagođen vrsti uređaja, podršku za sve stare aplikacije te novi aplikacijski
okruženje. Radi se, dakle, o još jednoj potpuno novoj kategoriji uređaja. Na službenim stranicama Microsoft navodi da će ovaj uređaj biti dostupan do kraja ove godine, a više informacija možete potražiti sami na https://www.microsoft. com/microsoft-surfacehub/en-us.
model (Universal Apps) gdje će jednom napisana aplikacija raditi na tabletu, laptopu, mobitelu, desktopu i XBOX-u. Na kraju, trebaju li svijetu novi Windowsi? Možda ne koliko i Supermen, ali odgovor je da - trebaju, možda danas više nego ikad, ne kako bi spasili čovječanstvo, već kako bi mu još jednom pokazali koliko tehnologija može unaprijediti privatni i poslovni život. Windowsi 10, kao i svi njegovi prethodnici, uistinu grade budućnost, a kako će to učiniti, saznajte na stranicama koje slijede.
Windowsi 10 radit će na svim uređajima od mobitela, preko tableta i laptopa do igraćih konzola
WD MREŽA 2015
39
tema broja Windows 10 Windows 10 na prvi pogled
Jedan za sve - put
Windows 10 je pred vratima i očekivanja su veća nego ikad. Je li uistinu jedinstven za sve vrste PC računala? Nakon nekoliko objavljenih ispitnih verzija, vrijeme je za sud o smjeru razvoja nove generacije najpopularnijeg operativnog sustava na planetu Goran Medić
W
Settings aplikacija i Centar za obavijesti novi su način konfiguriranja računala
40
WD MREŽA 2015
indows 7 je sustav star preko pet godina. Odlično je prihvaćen što, osim kvalitetom, sigurno može zahvaliti i poznatim iskustvom korištenja. Sučelje je vrlo slično prethodnim verzijama i razdoblje prilagodbe je bilo vrlo kratko za većinu korisnika. Windows 7 nedavno je ušao u fazu proširene podrške. To efektivno znači da je prešao polovicu svog životnog ciklusa. Drugim riječima, situacija koja se u travnju 2014. dogodila sa sustavom Windows XP čeka vas za otprilike četiri godine sa sustavom Windows 7.
do Windowsa 10 Windows 8 i 8.1 nisu uspjeli učinkovito zamijeniti Windowse 7 te je realno pretpostaviti da većina čitatelja ima upravo “sedmicu” kao glavni klijentski sustav u produkcijskom okruženju. Koji je uzrok tome, kada je neosporno da je Windows 8/8.1 ostvario napredak u svim tehnološkim pogledima? Svakako ćete se složiti da su značajke poput Hyper-V virtualizacije, integracije s OneDrive servisom, sinkronizacije postavki preko Microsoft Accounta i druge, pomak na bolje naspram sustava Windows 7. Neke je korisnike vjerojatno na prvi pogled odbila neprepoznatljiva okolina koncepta Metro, preuzetog sa sustava Windows Phone. Jednostavno, nisu ju smatrali praktičnom kad ih velika većina koristi klasično računalo, formom i oblikom nepromijenjeno već dugo godina. Miš, tipkovnica, klasični monitor... to su komponente računala kakve korisnici poznaju i na koje su navikli. Sustav Windows 8.1 promijenio je stvar na bolje. Obilježio ga je povratak gumba Start (ali ne i izbornika), nekoliko novih značajki poput Work Foldersa i automatskog pokretanja VPN veze. Ukratko, Windows 8 jednostavno nije uspio korisnike klasičnih računala “ujediniti” s korisnicima tablet računala, kod kojih je iskustvo korištenja bitno drugačije. Koncept Metro, kasnije preimenovan u aktualni naziv Modern, sa svojim je velikim ikonama i aplikacijama koje se prikazuju preko cijelog zaslona idealan na uređajima koji koriste ekrane osjetljive na dodir. Aplikacije Modern postaju nespretne za korištenje (ali su svakako upotrebljive) pomoću miša i tipkovnice, koji su definitivno precizniji za unos podataka naspram naših prstiju. Update Windowsa 8.1 djelomično je ublažio situaciju dodavanjem klasičnih programskih traka na
aplikacije Modern, ali skepticizam korisnika je ostao. Kako će se s tim izazovom nositi sustav Windows 10? Sudeći prema viđenom, izvrsno!
Sučeljavanje sa sučeljem
Prvi kontakt sa sustavom Windows 10 nije invazivan. Nalikuje na Windows 7, poznati gumb Start i pripadajući mu izbornik su tu. Na prvi je pogled uočljiv novi dizajn vizualnih elemenata, što je realno očekivati. Svaka verzija sustava Windows donijela je promjene u “kozmetici” koje su korisnici bez problema prihvaćali. Vrlo brzo uočit ćete novosti, poput četverostrukog Snapa, virtualnih radnih površina i Centra za obavijesti (engl. Notifications and Action Center) koji zamjenjuje bočnu traku Charms. Centar za obavijesti prikazivat će sve obavijesti koje šalju aplikacije ili sam sustav Windows te ih čuvati dok ih god korisnik ne ukloni. Centar također sadrži praktične prečace do često korištenih alata za konfiguraciju računala. Izgledom i funkcionalnošću vrlo
podsjeća na rješenja kakva smo navikli koristiti na pametnim telefonima. S platforme Windows Phone tako dolazi i Microsoftov osobni asistent Cortana, učeći korisničke navike i nudeći pomoć u prigodnom trenutku. Aplikacije Modern su, naravno, prisutne, ali funkcioniraju kao klasične aplikacije Windowsa. Drugim riječima, moguće je proizvoljno mijenjati veličinu njihovih prozora, imaju poznate kontrole u obliku trake na vrhu prozora i precizno se koriste mišem. Aplikacije Modern su neovisne o razlučivosti te će pružiti kvalitetno korisničko iskustvo bez obzira na to koristite li ih na klasičnom računalu s 28” UHD monitorom ili na 8” HD tabletu. Također, aplikacije podržavaju sve standardne procesorske arhitekture kao i Windows 10 (x86, x86-64 i ARM) i dobavljive su preko jedinstvene trgovine aplikacija. Razvojni će inženjeri tako s izradom jedne aplikacije Modern pokriti tržište klasičnih računala, tableta i uređaja Windows Phone. Najavljena je podrška i za Internet of Things, u
obliku besplatne verzije sustava Windows 10, prilagođenog iznimno popularnom računalu za hobiste Raspberry Pi2. Ovdje nije kraj prvi put viđenim elementima sučelja na sustavu Windows 8. Izbornik Start sastoji se od dva dijela: lijevi prikazuje statične elemente (ikone), a desni žive pločice (engl. Live tiles). Dotične pločice funkcioniraju poput onih na ekranu Start sustava Windows 8 pa tako mogu prikazivati aktualne vremenske prilike, statuse na Facebooku i drugo. Raspored živih pločica centralizirano se može konfigurirati kao i na sustavu Windows 8.1 pomoću PowerShell komandleta Export-StartLayout za izvoz rasporeda u XML datoteku. Pomoću Group Policyja onda je jednostavno primijeniti stvorenu XML datoteku (prema potrebi, dorađenu) na proizvoljna računala u domeni.
Jedna namjena, jedna aplikacija
Dvojnost ili dualitet sučelja vjerojatno je najveća zamjerka sučelju sustava Windows 8.
Želite isprobati Windowse 10? Trk na http://insider.windows.com
WD MREŽA 2015
41
tema broja Windows 10 Windows 10 na prvi pogled Primjerice, ukoliko na tabletu baziranom na Windowsu 8 koristite Internet Explorer u načinu rada prilagođenom dodiru, ostat ćete zakinuti za dio funkcionalnosti te ćete u jednom trenutku biti prisiljeni pokrenuti preglednik u Desktop načinu rada. Slična situacija može se dogoditi i pri konfiguriranju računala, gdje je za neke postavke potrebno otvoriti klasični Control Panel, a za druge PC Settings aplikaciju. S takvom je praksom završeno. Windows 10 koristi jednu aplikaciju za jednu radnju. Tako su klijent OneDrive i Internet Explorer prisutni isključivo u Desktop varijanti. U trenutnoj fazi razvoja uočit ćete prisutnost Control Panela i aplikacije PC Settings. Ipak, uzevši u obzir nekoliko dosad objavljenih ispitnih verzija, primjećuje se trend kojim će PC Settings postati jedino mjesto za konfiguraciju računala. Kako je Windows 10 namijenjen svim vrstama računala, moralo se uzeti u obzir korištenje na različitim vrstama ekrana. Rješenje je automatska prilagodba sučelja (tzv. Tablet način rada) pomoću značajke koja se zove Continuum, o kojoj više možete čitati u nastavku ove teme broja.
Borba protiv fragmentacije
Trenutno Microsoft podržava tri velike (engl. Major) verzije sustava Windows - Vista, 7 i 8/8.1. Za svaku od tih verzija potrebno je ispravljati sigurnosne propuste, a za neke osiguravati nove funkcionalnosti, poboljšanja sučelja i drugo. Takva praksa iziskuje mnogo vremena i novca te se nastoji pronaći rješenje koje će, na zadovoljstvo proizvođača i korisnika, dovesti do smanjenja verzija sustava Windows koje koegzistiraju na tržištu. Cilj je svesti fragmentaciju sustava na minimum, i to će se postići na dva načina. Microsoft je hardverske zahtjeve sustava Windows 10 zadržao istima kao za Windows 7. Dakle, sustav Windows 10 ćete bez problema instalirati i koristiti na računalu starom i 42
Trenutna faza razvoja Windows 10 trenutno je u fazi razvoja Technical Preview. Nije namijenjen produkcijskom korištenju, već samo testiranju, i to korisnicima koji se ne boje neispravnih upravljačkih programa, nekompatibilnosti aplikacija i drugih problema. Neke značajke opisane u doba pisanja ovog članka ne rade u cijelosti. Primjerice, Continuum prikazuje upit za prelazak u Tablet način rada jedino na tabletima Surface. Takvi su problemi za očekivati rano u razvoju i zasigurno će biti ispravljeni do izdavanja finalne verzije,
koja se očekuje u posljednjem kvartalu ove godine. Vrlo važan dio razvoja je povratna informacija samih korisnika. Korištenjem ugrađene aplikacije Windows Feedback, Microsoftu možete prijaviti svaki problem ili sugestiju. Svakako vas pozivamo da se učlanite u program Windows Insider i isprobate novi sustav. Čak i u ovoj fazi razvoja ima što pokazati, a naše mišljenje je da je Windows 10 zaista jedan sustav za sve vrste računala, neovisno o tome jeste li kućni ili poslovni korisnik.
Command prompt Windowsa 10 dobio je prozirnost, ali i mogućnost copy/pasteanja teksta korištenjem Ctrl + V kombinacije
preko pet godina. Ovim potezom osigurano je to da sustav Windows 10 ne iziskuje ulaganja u hardver korisnicima koji koriste koliko-toliko moderna računala. Konkretno, Windows 10 zahtijeva računalo s procesorom od 1 GHz, 1 GB radne memorije i slobodan prostor na disku veličine otprilike 20 GB. Postoje odstupanja od navedenih specifikacija, ovisno o tome želite li instalirati 32 ili 64-bitnu verziju, ali generalno, hardverski zahtjevi su za današnje pojmove zaista skromni. Dakako, specifične značajke mogu zahtijevati napredniji hardver te ih nećete moći koristiti ukoliko ih vaše računalo ne podržava. Primjer takve značajke je Hyper-V, koji zahtijeva procesor s podrškom
WD MREŽA 2015
za instrukcije SLAT. Fantastična je vijest da je nadogradnja za korisnike sustava Windows 7 i Windows 8/8.1 potpuno besplatna u prvoj godini izdavanja sustava Windows 10. Kućni i mali poslovni korisnici tako mogu nekoliko godina staro računalo nadograditi na Windows 10 i iskoristiti sve pogodnosti koje on donosi. Izuzetak od besplatne nadogradnje su korisnici varijanti Enterprise prethodnih verzija. Oni će nadogradnju odraditi u skladu sa svojim pravima Software Assurance.
Windows as a Service
Windows kao usluga (engl. Windows as a Service) novi je buzzword koji ćete slušati
vrlo, vrlo dugo na platformi Windows. O čemu se točno radi? Windows 10 ima zadaću ujediniti sva klijentska računala pod platformom Windows. Veće nadogradnje i funkcionalnosti na prethodnim su verzijama sustava Windows dolazile u obliku velikih verzija. No, Microsoft napušta takvu praksu i odlučuje se za inkrementalne nadogradnje u obliku ažuriranja pomoću servisa Windows Update. Drugim riječima, Windows Update će na vaša računala temeljenima na Windowsu 10 donositi mnogo više novosti naspram prethodnih verzija sustava Windows. Nove tehnologije postat će dostupne odmah nakon izdavanja te nećete više morati raditi migraciju, kao što je, primjerice,
Windows 10 Technical Preview bio slučaj migracije sa sustava Windows XP na Windows 7. Razdoblje u kojem ćete imati pravo na nadogradnje definirano je duljinom trajanja podrške za računalo koje koristite. Ipak, ažuriranja su ponekad izvor problema, pogotovo kod kritičnih računala. Mogu prouzročiti nekompatibilnost s aplikacijama, a i druge probleme. Sa sustavom Windows 10 korisnici će imati veću slobodu izbora primjene ažuriranja i moći će odabrati dvije mogućnosti, ovisno o namjeni računala. Long Term Servicing namijenjen je računalima koja su od odlučujuće važnosti. Nadogradnje u ovom sustavu ispravci su kritičnih propusta i ovdje nećete dobiti nove funkcionalnosti za cijelo vrijeme korištenja Windows Updatea. Primjerice, vaša tvrtka ima računalo na kojem se izvodi aplikacija koja obavlja naplatu parkiranja. Je li vam zaista potrebno da se na to računalo instalira ažuriranje koje donosi pet novih tema za sučelje? Naravno da nije. Bitno je da je računalo ispravno sa sigurnosnog stajališta, i da spomenuta aplikacija na njemu funkcionira besprijekorno. Current Branch for Business namijenjen je poslovnim korisnicima koji žele nove funkcionalnosti, ali nipošto ne žele potencijalne probleme. U ovom sustavu ažuriranja sve nove funkcionalnosti prolaze masovna testiranja (kućni korisnici, program Windows Insider) i možete ih instalirati tek kad se pokažu savršeno ispravnima. Koristeći prethodni primjer, ovdje ćete u jednom trenutku zaista dobiti ažuriranje koja donose pet novih tema, ali tek nakon što je dotično dokazano sigurno za primjenu. Korisnicima je ostavljena sloboda izbora vrste ažuriranja. Ukoliko neko računalo više nije od odlučujuće važnosti, možete ga prebaciti s Long Term Servicing sustava na Current Branch for Business i obratno. Na vama je da izaberete primjeren sustav, ovisno o vlastitim potrebama. Naravno, alati za administraciju ažuriranja, poput WSUS-a i System Center linije proizvoda, podržani su u oba slučaja.
Desetka za deset Windows 10 predstavljeni su kao usluga koja nudi sigurnije, inovativnije i poboljšano iskustvo tijekom podržanog životnog vijeka uređaja… Žarko Zečević
J
edan od glavnih aduta novog OS-a jest prilagođavanje svim uređajima koje koristimo, od stolnih računala i telefona, do tableta i manjih uređaja uz kontinuirano, poznato i prilagodljivo iskustvo. Windows 10 radit će na velikom broju uređaja, od najsitnijih senzora, do servera u podatkovnim centrima. Novi Windowsi nude poboljšani izbornik Start, više radnih virtualnih površina, univerzalne aplikacije Office, Continuum, virtualnog asistenta Cortanu, nove mogućnosti aplikacije Modern te poboljšanja glede postavki i notifikacija. Prije nego što započnemo priču o isprobanim značajkama Windowsa 10, još jednom valja ponoviti kako će Windows 10 biti dostupan kao besplatna nadogradnja korisnicima Windowsa 7 i Windowsa 8.1 te vlasnicima Windows Phone 8.1 telefona u prvoj godini od službene objave.
Vraća nam se stari/novi Start
Windows 10 kombinira izbornike Start koji su nam poznati iz prethodnih verzija
ovog operativnog sustava. Neki će reći da je vraćen izbornik Start na koji smo navikli u Windowsima 7, ali tu je i velika komponenta sučelja Windowsa 8 Modern. Žive pločice i dalje su prisutne te se koriste na isti način kao i do sada. Za one nostalgične i one kojima je Windows 8 prirastao srcu, u gornjem desnom kutu izbornika Start nalazi se i gumb kojim možemo proširiti izbornik od ruba do ruba zaslona, naizgled slično početnom zaslonu u sustavu Windows 8. Možda nije najveći novitet i neočekivano, revolucionarno iznenađenje, ali ova značajka zaslužuje više pozornosti u odnosu na druge iz jednog jednostavnog razloga. Start je tu zato što Microsoft sluša korisnike koji su bili podvojenih mišljenja o izborniku Start u Windowsima 8; prilagođavanje strategije i pozitivne promjene karakteristike su koje korisnici očekuju. Ono na što se Microsoft fokusirao u predzadnjoj verziji, uređaji su kojima se može upravljati zaslonom osjetljivim na dodir, u drugi plan su tako stavljena prijenosna i stolna računala, a svjesni smo da većina korisnika, odnosno instalacija sustava Windows, dolazi baš od takvih i sličnih uređaja. Pokretanje je isto kao i dosad - pritiskom na gumb Start ili tipku Windows na tipkovnici, otvara nam se prozor u kojem na lijevoj strani vidimo najčešće korištene aplikacije i aplikacije koje su posljednje instalirane, a s desne strane pločice ugrađenih aplikacija i aplikacija koje smo sami prikvačili. U gorenjem lijevom kutu je ikona korisnika koji trenutačno koristi računalo te, kao i do sada opcije za zaključavanje, promjenu korisničkih postavki i promjenu korisnika. Gornji desni kut sadrži gumb za gašenje koji kao i dosad nudi opcije za gašenje, ponovno pokretanje i postavljanje računala u stanje mirovanja te gumb koji omogućuje postavljanje prozora preko cijelog ekrana.
WD MREŽA 2015
43
tema broja Windows 10 Windows 10 Technical Preview Desktop i tablet mode S Windowsima 10 Microsoft je ozbiljno krenuo prema već odavno zacrtanom cilju, stvaranju jedinstvene platforme koja će omogućiti “starim” desktop korisnicima korištenje kompatibilnog operativnog sustava na tabletima, mobilnim uređajima, konzolama i raznim drugim uređajima koji nas očekuju.
Task View - virtualne radne površine u akciji
Task View donosi više radne površine
Značajka Task View omogućuje stvaranje lokalnih virtualnih radnih površina. Na jednostavan način možemo odvojiti poslovne od privatnih aplikacija i radnji unutar zasebnih radnih površina te brzo i učinkovito skakati iz jedne u drugu. Klikom na gumb Task View otvara nam se sučelje u kojemu možemo vidjeti sve otvorene prozore, odnosno virtualne radne površine koje smo kreirali. Prvo otvaranje sučelja Task View prikazuje samo jednu, inicijalnu radnu površinu. Gumb za dodavanje radnih površina nalazi se pokraj posljednje kreirane radne površine te na njega možemo kliknuti kako bismo kreirali novu virtualnu radnu površinu. Kao i dosad, za neke standardne naredbe u Windowsima možemo koristiti i brze naredbe, odnosno prečace. U ovom slučaju kombinacije koje možemo koristiti su Alt + Tab za pomicanje kroz aplikacije ili Windows tipka + Ctrl + D kako bismo stvorili novu virtualnu radnu površinu. Sve virtualne radne površine možemo vidjeti tako da jednostavno kliknemo na gumb Task View na alatnoj traci, ili koristiti Windows tipku + Tab. Aplikacije možemo prebacivati iz radne površine u radnu površinu koristeći naredbu Premjesti i odabirom radne površine u koju je želimo premjestiti. Pomoću kombinacije Windows tipka + Ctrl + Lijevo i Windows tipka + Ctrl + Desno možete se prebacivati između otvorenih virtualnih radnih površina. Aplikacije koje su trenutačno otvorene naznačene su crtom pri dnu ikone aplikacije na programskoj traci radne površine. Klikom na ikonu aktivira se aplikacija i radna površina u kojoj je aplikacija inicijalno otvorena. Aplikacije se ne zatvaraju zajedno s radnom površinom, što znači da ako zatvorimo pojedinu radnu površinu koja sadrži otvorene aplikacije, aplikacije se prenose na sljedeću površinu s lijeve strane od one koju smo zatvorili. Kada koristimo zaslon osjetljiv na 44
WD MREŽA 2015
dodir, odnosno računalo u tablet modu, prikazu zadataka ili virtualnih desktopa možemo pristupiti gestom, povlačenjem prstom s lijeve strane prema sredini. Ova značajka zamjenjuje staru značajku Switcher.
Continuum? Da, hvala!
Kako bismo pružili jednako i jedinstveno iskustvo na svim uređajima, različitih oblika (form-factora) kao što su, recimo, 2u1 uređaji, Windowsi 10 prilagođavaju se s obzirom na način trenutačnog upravljanja bilo da se koristimo tipkovnicom i mišem, ili upravljamo uređajem s ekranom osjetljivim na dodir. Pri različitim načinima korištenja Windowsi se mijenjaju i prilagođavaju režimu rada koji nam u tom trenutku najviše odgovara. Ukoliko koristimo tablet računalo koje ima pripadajuću odvojivu tipkovnicu, prilikom odvajanja tableta od tipkovnice, upravljanje će se automatski prilagoditi i o tome nas obavijestiti. Promijenit će se izgled izbornika, veličina otvorenih prozora, izbornik Start raširit će se preko cijelog ekrana, a ikone ukloniti s radne površine.
Za primjer, recimo da radimo na 2u1 uređaju te prvotno koristimo priključenu tipkovnicu i miša. Rad u ovome modu isti je kao i na bilo kojem prijenosnom ili stolnom računalu, sve dok ne odvojimo ekran od tipkovnice. Prilikom odvajanja, naš se uređaj pretvara u tablet pa je za očekivati da će i operativni sustav pratiti način na koji ćemo dalje upravljati uređajem i odraditi potrebne prilagodbe. U tom slučaju u donjem desnom kutu pojavljuje se obavijest da je računalo promijenilo način korištenja i upit želimo li prihvatiti i nastaviti rad u tablet modu. Ista opcija se pojavljuje kod uređaja kod kojih se ekran okreće za 360 stupnjeva te tom radnjom prelaze u oblik tableta. Ponovno priključivanje tableta na tipkovnicu (ili okretanje ekrana u startnu poziciju) vraća sustav na prethodne postavke i prvotni položaj.
Notifikacije su sada prisutne i u desktop/tablet verziji OS-a
što su vrsta prikaza, načini povezivanja, sve postavke, mjesto, zaključavanje rotacije, VPN i WiFi nalaze se nadohvat ruke.
Nove univerzalne aplikacije
Windows 10 nudi novo iskustvo s ugrađenim aplikacijama Photos, Videos, Music, Maps, People & Messaging i Mail & Calendar. Sve navedene aplikacije izgledat će isto na svim uređajima. Sadržaj se pohranjuje i sinkronizira pomoću OneDrive servisa, što nam omogućuje da započnemo neku radnju na jednom uređaju i nastavimo na drugom uređaju točno tamo gdje smo stali. Postavke koje smo podesili vežu se uz naš korisnički račun i prenose na uređaje s istim računom. Cortana - vaša nova pomoćnica s kojom možete razgovarati ili, pak, komunicirati preko tipkovnice
Osobna digitalna pomoćnica Cortana
Da, Cortana dolazi i u okruženje računala temeljenih na Windowsima. Asistentica koja je evoluirala iz igre Halo preko Windows Phonea, sada je na misiji da nas upozna i pomogne nam i na računalima. Cortana je osobna pomoćnica koja uči naše navike kako bi nam pružila odgovarajuće preporuke, ubrzala pristup lokalnim i online podacima te važnim podsjetnicima, upozoravajući na ono što je značajno. Interakcija je prirodna i jednostavna govorom ili tipkanjem, no s naprednim mogućnostima za upravljanje Cortanom, pruža više pouzdanosti i transparentnosti. Cortana je smještena u osvježenoj programskoj traci Windowsa 10, gdje joj se može pristupiti pritiskom na tipku za pretraživanje ili glasovnom naredbom “Hey, Cortana”. No, i dalje je “smještena” u oblak i pomoću njega uči nove stvari o svijetu, ali i o nama, te nam se s vremenom sve više i
više prilagođava. Naravno, moguće je mijenjati podatke koje Cortana zapamti i “nauči” o nama, pogotovo ako podaci nisu ispravni ili jednostavno ne želimo da ih ona zna.
Action Center zamjena za Charms
Obavijesti nisu više samo za telefone, novi Action Center u sustavu Windows 10 jedno je od mjesta gdje ćemo možda potrošiti nešto više vremena nego što bismo to očekivali. Action Center sadrži mnogo korisnih informacija i ubrzava nam korištenje i upravljanje računalom. Slično obavijestima u Windows Phoneu, ovdje možemo pronaći obavijesti o sustavu, aplikacijama, kao i razne podsjetnike. Obavijesti možemo pregledavati po skupinama ili pojedinačno te brzo i jednostavno odbaciti pregledane i nevažne obavijesti, a važne ostaviti - slično funkciji podsjetnika. Brzi pristup postavkama također je sličan onima u Windows Phoneu; postavke kao
Office za Windows 10 Univerzalne aplikacije MS Officea na Windows 10 operativnom sustavu donose potpuno iskustvo na svim uređajima. Nove verzije Worda, Excela, PowerPointa, OneNotea i Outlooka osmišljene su tako da od samog početka rade zajedno s Windowsima i uređajima upravljanima na dodir te nude Officeovo iskustvo koje korisnici otprije poznaju. S poznatim Officeovim značajkama možemo jednostavno i
brzo kreirati i uređivati dokumente u Wordu. Nove značajke pisanja u PowerPointu omogućuju stvaranje bilješki na slajdovima u stvarnom vremenu, a nove dodirne naredbe u Excelu omogućuju jednostavno kreiranje i ažuriranje tablica, bez korištenja tipkovnice ili miša. Nova verzija Officeova desktop paketa alata također je u razvoju, trenutačno možemo instalirati probnu verziju, a Microsoft će
više o tome priopćiti u narednim mjesecima. Nove verzije Officeovih aplikacija posebno su prilagođene korištenju na mobilnim uređajima. Word i PowerPoint za mobilne uređaje sada sadrže i opcije koje se u desktop verzijama ovih programa nalaze u ribonima, a kao rezultat toga konačno možemo jednostavno pristupiti i uređivati dokumente na našim telefonima i tabletima baziranima na Windowsima.
Postavke na jednom mjestu
Ono što nam je bilo pomalo zbunjujuće u Windowsima 8 bile su postavke kojima smo mogli pristupiti na dva načina. Microsoft je trenutačno u tendenciji objedinjavanja oba sustava u jedno, jedinstveno sučelje. Koncept je smještanje svega u aplikaciju postavke u sustavu Windows 10. Aplikacija sada izgleda kao izbornik upravljačke ploče koju smo koristili u desktop modu, ali s postavkama Modern koje smo dosad pokretali iz Charmsa. Upravljačka ploča još uvijek je tu, no hoće li ostati do samoga kraja i izlaska pune verzije, to ćemo tek vidjeti; bilo kako bilo, potreba za starim načinom i prikazom mogućnosti sve je manja i neiskoristiva u tablet modu, stoga možemo očekivati da upravljačka ploča u potpunosti nestane ili ostane kao opcija u desktop modu.
Moderne aplikacije sada i u prozorima
Aplikacije Modern sada se pokreću u prozorima na radnoj površini i možemo s njima izvoditi iste radnje kao da su desktop aplikacije, što povećava produktivnost jer aplikacije sada ne zauzimaju cijeli ekran, već se prilagođavaju prema potrebi. Novi prozori modernih aplikacija imaju novu naslovnu traku s tradicionalnim gumbima u gornjem desnom kutu. U gornjem lijevom kutu nalazimo novi izbornik, popularno zvani “hamburger”, kojim pristupamo dodatnim opcijama aplikacije, nešto kao izbornik Charms u prethodnoj generaciji Windowsa.
Windows 7, 8, 10…
Ako ste se navikli na Windowse 8, ali duboko u sebi ostali vjerni Windowsima 7, tada su Windowsi 10 prava stvar za vas. Prilagodbe koje su napravljene u cilju lakšeg i jednostavnijeg korištenja operativnog sustava na uređajima različitih veličina ekrana idu u pravom smjeru i mogli bismo reći da će, uz manje dorade, vrlo uskoro novi Windowsi biti spremni pokazati svoje pravo lice. WD MREŽA 2015
45
tema broja Windows 10 Windows Server vNext
Moćan, moćniji, naj sustav budućnosti Novi klijentski operativni sustav, Windows 10, polako dolazi, a nešto kasnije dolazi nam i novi Windows Server. Mogli bismo se zapitati koliko uopće ima smisla izdavanje nove verzije Windows Servera, s obzirom na to da je ova trenutna toliko dobra i ima sve što bi nam moglo zatrebati? Ono što je najavljeno i pokazano u Technical Preview verziji i ono što tek dolazi, pokazuje nam da nova verzija itekako ima smisla te kako možda nismo bili ni svjesni onoga što nam je nedostajalo…
Moderno sučelje za moderan server
Tomica Kaniški
I
ako novi Windows Server lagano kuca na vrata, sigurno ima korisnika koji se još uvijek nisu migrirali s dobre stare verzije 2008 R2. Iskreno, od tada se mnogo toga promijenilo - sam Microsoft se promijenio, a i Windows Server je postao kudikamo moćniji i napredniji proizvod. Verzija koja (uskoro) stiže, nadmašuje sva očekivanja - Windows Server vNext donosi pregršt poboljšanja i novosti zbog kojih ćete ga vjerojatno htjeti implementirati u svoje okruženje čim postane dostupan. U nastavku teksta pročitajte koje su to novosti.
Hyper-V i visoka dostupnost na steroidima
Sljedeća verzija Microsoftove virtualizacijske platforme (Hyper-V) donosi pregršt poboljšanja i novosti. Neke od njih su nova verzija i novi format zapisa konfiguracije virtualnih strojeva, novi način nadogradnje 46
WD MREŽA 2015
integracijskih servisa, podrška Secure Boot za Linux, mogućnost promjene količine radne memorije te dodavanje i imenovanje virtualnih mrežnih adaptera, u vrijeme dok virtualni strojevi rade. Novi Hyper-V donosi i novu verziju konfiguracije virtualnih strojeva - verziju 6.0, a ona označava verziju virtualizacijske platforme s kojom su virtualni strojevi kompatibilni (u ovom slučaju 6.0 označava kompatibilnost sa Windows Server vNext, a verzija 5.0 označavala je kompatibilnost s Windows Serverom 2012 R2). Uz novu verziju konfiguracije virtualnih strojeva, Hyper-V donosi i novi format zapisa pa je tako konfiguracija zapisana u binarnim datotekama, s ekstenzijama .VMCX i .VMRS (dosad se koristio XML format zapisa). Bitno je napomenuti da novi format omogućuje veću učinkovitost u čitanju i pisanju konfiguracije te da se verzija (kao i format) uvezenih virtualnih strojeva neće promijeniti automatski, već je izbor na samom administratoru. Administrator
moćniji - operativni ručno pokreće promjenu verzije, koristeći PowerShell naredbu Update-VmConfigurationVersion te je nakon toga virtualni stroj moguće pokrenuti samo na posljednjoj verziji virtualizacijske platforme (vNext). Postoji novost i u načinu nadogradnje integracijskih servisa unutar samog virtualnog stroja - sada će se nadogradnje raditi kroz Windows Update, čime će one moći biti češće i neće biti toliko ovisne o samom Windows Serveru. Također, upravljačka konzola za Hyper-V sada je kompatibilna sa starijim verzijama te omogućuje i upravljanje virtualizacijskom platformom u Windowsima 8/2012, odnosno 8.1/2012 R2. Za korisnike Linuxa dobra vijest je da Hyper-V sada podržava i Secure Boot opciju u virtualnim strojevima druge generacije, koji sadrže Ubuntu 14.04 i noviji te SUSE Linux Enterprise Server 12, što dosad nije bio slučaj. Jedna od bitnih mogućnosti, koje bi virtualni strojevi trebali pružati, jest dodavanje i uklanjanje hardvera “na živo”, dok virtualni stroj radi. Prije dosta vremena dobili smo mogućnost dodavanja i uklanjanja virtualnih diskova, a u ovoj verziji dobili smo i dodavanje, odnosno uklanjanje virtualnih mrežnih adaptera te promjenu količine memorije virtualnog stroja. U ovoj verziji dobili smo i zgodnu mogućnost imenovanja virtualnih mrežnih adaptera, tako da svakom pojedinom mrežnom adapteru virtualnog stroja možemo dodijeliti naziv koji će biti vidljiv iz host operativnog sustava, ali i unutar virtualnog stroja. Ovo u konačnici olakšava administraciju virtualnih strojeva koji sadrže više mrežnih adaptera.
Zamislimo scenarij
Zamislimo scenarij - radimo promjene u dizajnu mreže i mrežne infrastrukture te se pojavljuje potreba za dodavanjem nekoliko dodatnih virtualnih mrežnih adaptera postojećim virtualnim strojevima, koje će ih povezivati na različite mreže, uz uvjet da se ti virtualni strojevi ne smiju gasiti. Ovo je dosad bilo praktički nemoguće izvesti, a sada ćemo dodati mrežne adaptere (na isti način kao i dosad), s time da će virtualni stroj za vrijeme dodavanja adaptera moći raditi. Također, uz dodavanje mrežnih adaptera, možemo ih i imenovati, kako bismo ih unutar virtualnog stroja mogli raspoznavati i ispravno podesiti. Već sada možemo zamisliti i scenarije automatizacije koji će sigurno znati iskoristiti ove nove mogućnosti.
Omogućavanje Secure Boot značajke za Linux
Velika novost, vezana uz visoku dostupnost, zove se “Rolling Cluster Upgrade”. U osnovi, radi se o mogućnosti nadogradnje čvorova u Hyper-V ili ScaleOut File Server klasteru na zadnju verziju operativnog sustava, i to dok sam klaster radi. U prijašnjim verzijama, problem nadogradnje čvorova u klasteru obično smo rješavali kreiranjem novog klastera i premještanjem svih resursa na taj novi klaster, a postojeći bismo na kraju jednostavno ugasili. Zbog problematike premještanja resursa i kreiranja novog kla- Imenovanje mreža na razini virtualnog stroja stera, susretali smo se s cijelim nizom potencijalnih problema ovom trenutku sadrži čvorove s različitim (npr. dodatni hardver, mreža, prekid rada verzijama operativnog sustava, ali i dalje sustava). U sljedećoj verziji možemo isko- normalno radi. Nakon što nadogradimo ristiti sve postojeće resurse - nadogradnja (ponovno instaliramo) sve čvorove u se radi unutar istog klastera. Sam proces klasteru na Windows Server vNext, sam nadogradnje relativno je jednostavan - klaster možemo nadograditi na sljedeću prvo oslobađamo čvor po čvor klastera verziju, korištenjem PowerShell naredbe (prebacujemo opterećenja na ostale čvo- Update-ClusterFunctionalLevel. Nakon rove), isključujemo čvor iz klastera, insta- nadogradnje samog klastera, više ne liramo Windows Server vNext i dodajemo možemo dodavati čvorove koji nemaju novoinstalirani čvor u klaster kako bi on instaliran Windows Server vNext, ali zato mogao preuzeti opterećenja od sljede- možemo koristiti mogućnosti nove verzije ćeg čvora koji nadograđujemo. Klaster u operativnog sustava. WD MREŽA 2015
47
tema broja Windows 10 Windows Server vNext Priča o mrežama i VDI-ju
U mrežnom dijelu, velike novosti su potpuno nova serverska rola (Network Controller), podrška za GRE tuneliranje te nove mogućnosti Web Application Proxyja i DNS role. Network Controller predstavlja visokodostupnu i skalabilnu “točku automatizacije”, odnosno jedinstveno “sučelje” za konfiguraciju i nadgledanje virtualnih mreža, fizičkih mreža, mrežnih servisa, mrežne topologije, kao i servisa za upravljanje IP adresiranjem. Što se tiče samog korištenja Network Controller role, administrator i dalje koristi svoj omiljeni alat za upravljanje (System Center Čvorovi različitih verzija u istom klasteru Virtual Machine Manager, System Center Operations Manager), koji, pak, koristi Network Controller kao svojevrsno “sučelje” prema ostatku mreže. Administrator kroz alat za upravljanje, posredstvom Network Controller role, dobiva informacije o mrežnoj infrastrukturi te radi promjene na fizičkoj i virtualnoj mrežnoj infrastrukturi. U Windows Server Gateway rolu ugrađena je podrška za GRE tuneliranje, što omogućuje povezivost između korisničkih virtualnih mreža u samom podatkovnom centru i vanjskih mreža. Kako protokol GRE ne predstavlja veliko opterećenje za mrežu, relativno se lako implementira, a i podržan je na većini mrežnih uređaja, nameće se kao idealno rješenje tamo gdje nije potrebna enkripcija podataka. GRE tuneliranje je naročito pogodno u slučajevima gdje pružatelj usluge nije u mogućnosti mijenjati fizičku konfiguraciju mrežne opreme. Mogli bismo reći da Web Application Proxy u svojoj prvoj verziji (kao dio operativnog sustava Windows Server 2012 Windows Server Antimalware (Defender) na Windows Serveru
Sigurnost, pohrana i PowerShell Kako bi se povećala sigurnost, Windows Server vNext u sebi ima ugrađen Windows Server Antimalware, odnosno Windows Defender servis/alat koji nam je poznat s klijentske verzije Windowsa i koji obavlja posao zaštite poslužitelja od raznih “pošasti”. Iako je sam servis dio standardne instalacije, valja spomenuti 48
da je njegovo grafičko sučelje potrebno naknadno instalirati (ako nam zatreba). Grafičko sučelje ionako nije previše bitno jer za administraciju servisa Windows Server Antimalware možemo koristiti WMI, Windows PowerShell ili Group Policy. U području pohrane, velika novost je Storage Replica - sinkrona
WD MREŽA 2015
replikacija blokova podataka (u određenoj mjeri slično kao Hyper-V Replica kod virtualnih strojeva). Bitno je spomenuti da Storage Replica nije ovisna o specifičnom hardveru i mrežnim tehnologijama, što joj je velika prednost. Isto tako, za administraciju se koriste poznati alati (Failover Cluster Manager
i PowerShell) te uključuje podršku za mjerenje performansi i dijagnostiku, a izgrađena je na pouzdanom, skalabilnom i brzom SMB3 protokolu. Storage QoS sada omogućuje centralizirani nadzor i upravljanje pohranom - određivanje rezerve (minimuma) i ograničenja (maksimuma) IOPS-a na razini virtualnog
Uključivanje mogućnosti Storage Replica
R2) i nije bio previše moćno rješenje zbog relativno slabih mogućnosti. U novoj verziji, mogućnosti Web Application Proxy role nadopunjene su podrškom za objavu aplikacija s “wildcard” domenom (npr. različite aplikacije SharePoint unutar iste domene), podrškom za redirekciju HTTP-a na HTTPS te mogućnošću objave aplikacija Remote Desktop Gateway. Uza sve to, Web Application Proxy je dobio i poboljšano sučelje. DNS rola je u ovoj verziji dobila mogućnost kreiranja DNS politika, čime se omogućuje kontrola i upravljanje odgovorima na DNS upite. Odgovori tako mogu biti ovisni o IP adresi klijenta, dobu dana ili drugim parametrima. Ove politike omogućuju naprednije DNS scenarije (upravljanje prometom, load balancing, location awareness).
RemoteFX u Windows Serveru vNext je također poboljšan te tako imamo podršku za OpenGL 4.4 i OpenCL 1.1 API-je, veći dedicirani VRAM i mogućnost njegova konfiguriranja, ali i dodatna poboljšanja koja se tiču performansi i stabilnosti aplikacija. Zanimljiva novost je i dodavanje MultiPoint Services role u sam Windows Server vNext, što omogućuje “DaaS” (Desktop as a Service) okruženje za učionice i POS terminale. Podsjetimo, MultiPoint Server je u prijašnjim verzijama bio dostupan kao zasebna verzija Windows Servera, a postojao je i limit od 20 korisnika po MultiPoint poslužitelju (ovisno o vrsti licence). Dodavanjem role u sam Windows Server vNext, pojednostavljuje se licenciranje i nestaje ograničenje broja korisnika po serveru.
Nakon pregleda mogućnosti… što ćemo dalje?
S obzirom na to da se izdavanje konačne verzije Windows Server vNext operativ-
Network Controller i njegova pozicija u podatkovnom centru
diska, virtualnog stroja ili grupe virtualnih strojeva. Bitan servis ovdje je tzv. Policy Manager koji brine o primjenama i promjenama QoS politika i komunikaciju tih politika prema Hyper-V hostovima. PowerShell u verziji 5.0 također donosi pregršt zanimljivosti i poboljšanja. Nova verzija omogućuje korištenje klasa, čime se
Komponente Storage Quality of Service (QoS)
nog sustava očekuje u 2016. godini, imamo dovoljno vremena da nadogradimo i pripremimo svoju infrastrukturu, kako bismo gore opisane mogućnosti mogli i implementirati u svoje okruženje. Do tada možemo isprobati sve navedene mogućnosti u testnom okruženju, koristeći dostupne Windows Server vNext Technical Preview verzije.
MultiPoint kao rola u Windows Server vNextu
još više približava ostalim objektno orijentiranim jezicima. Također, dodan je i novi modul Microsoft. PowerShell.Archive koji služi upravljanju ZIP arhivama, a dodana je i podrška za upravljanje simboličkim linkovima. Uz navedeno, dodan je još i ConvertFrom-String cmdlet koji omogućuje izdvajanje i parsiranje
strukturiranih objekata iz teksta (razvijen u suradnji s Microsoft Researchom), zatim PowerShellGet koji omogućuje instalaciju i nadogradnju modula i DSC resursa te NetworkSwitch modul koji omogućuje upravljanje mrežnim preklopnicima. Uza sve ostale novosti, posebno zgodnu mogućnost pruža i novi modul OneGet,
koji je u osnovi upravitelj instalacijskih paketa (packet manager) za Windowse. Koristeći OneGet, korisnici platforme Windows dobivaju mogućnosti preuzimanja i instalacije paketa iz različitih repozitorija, na sličan način kao u operativnim sustavima Linux.
WD MREŽA 2015
49
Priroda je kompleksan sustav i ima svoj način djelovanja. Mi u SPAN-u projektiramo i gradimo kompleksne IT sustave. Omogućavamo jednostavnije korištenje kompleksnih IT tehnologija za krajnjeg korisnika.
Vodimo brigu o slapu tako što znamo svaku kap.
kompleksni sustavi, jednostavno korištenje
Poslovni sustavi SharePoint 2013
Evolucija I SharePoint storagea
Aleksandar Drašković
SharePoint je prešao daleki put od SharePoint Portal Servera 2001. Dosta novih funkcionalnosti je uključeno tijekom godina i vrlo su često u fokusu one vidljive krajnim korisnicima. Bitno je ne zaboraviti da ima dosta funkcija koje krajnji korisnici ne vide i koje se možda radi toga ni ne spominju tako često, ali ipak donose sa svakom verzijom SharePointa nova poboljšanja i nove mogućnosti. Jedna njih je i storage...
nformacije koje čuvamo u SharePointu mogu se podijeliti na strukturirane i nestrukturirane. Primjer strukturiranih su informacije čuvane u listama. Strukturirani podaci uključuju sve podatke koji imaju određeni definirani sustav pohranjivanja i koji mogu biti dovedeni u relaciju s drugim podacima u sustavu ili povezanim sustavima. Entiteti koji čine strukturirane podatke imaju jasno definiranu veličinu i format. Suprotno tome, nestrukturirani podaci nemaju jasno definiran format i oblik pohranjivanja. Primjer nestrukturiranih podataka su dokumenti koje pohranjujemo u SharePoint, primjerice tekstovi, slike, audio i videozapisi, Office dokumenti itd. Iako svaka od datoteka ima svoj definirani format i pojedini formati datoteka interno prate sustav pohrane strukturiranih informacija, sustav SharePointov za pohranu podataka ne poznaje unutarnje strukture dokumenata i tretira ih kao niz bajtova. Statistike kažu da strukturirani podaci uzimaju oko 20% prostora u SharePointu. To znači da je većina podataka koje čuvamo u SharePointu nestrukturirana. Rad s nestrukturiranim podacima ograničava mogućnosti optimizacije prilikom obrade, učitavanja ili pohranjivanja. Ipak, SharePointov tim je tijekom godina uspio uvesti nove oblike optimizacije koji, osim poboljšanja korištenja resursa, donose i nove funkcionalne mogućnosti.
Do SQL baze i natrag...
Prva komercijalna verzija SharePointa, SharePoint Portal Server 2001, koristila je WD MREŽA 2015
51
Poslovni sustavi SharePoint 2013 storage model pod nazivom Web Storage System. Web Storage System je u to vrijeme bio korišten u još jednom od Microsoftovih proizvoda - Exchange Serveru 2000. Web Storage System je pružao mogućnost pohranjivanja nestrukturiranih podataka (npr. Word i PowerPoint dokumenti) i omogućavao im pristup preko skupa API-ja. SharePoint Portal Server 2003 uvodi veliku promjenu u sustav spremanja podataka. Dok su u verziji 2001 podaci djelomično bili u SQL Serveru a djelomično u datotečnom sustavu, verzija 2003 uvodi pristup čuvanja nestrukturiranih podataka u takozvanim BLOB-ovima (Binary Large OBjects), koji su praktički dio baze podataka. Ovaj pristup ima mnogo prednosti - svi relevantni podaci su u bazi podataka pa su backup i restore jednostavniji. Ovaj je model, također, mnogo skalabilniji i jednostavniji za održavanje. SharePoint 2007 nastavlja pratiti isti model uz pojedine promjene. Jedna od najvećih promjena je uvođenje podrške za External BLOB Storage. External BLOB Storage (EBS) je omogućio smještanje nestrukturiranih podataka izvan SQL baza podataka radi optimalnijeg korištenja prostora na disku i oslobađanja SQL servera od velikog broja I/O transakcija prouzrokovanih smještajem velike količine datoteka u baze podataka. Ipak, External BLOB Storage nije bio široko prihvaćen radi kompleksnosti održavanja i radi toga što je to bilo proširenje SharePointa koje je ovisilo od 3rd party komponentama. Naime, Microsoft je samo ponudio API u obliku ISPBinaryProvider COM sučelja. Kako bi se postigla funkcionalnost, bilo je potrebno napisati dodatno proširenje koje bi se prikvačilo na Open i Save naredbe i prilikom učitavanja ili snimanja dokumenata učitavalo ili snimalo dokumente na alternativne lokacije. U to vrijeme je i SQL Server 2008 uveo sličnu funkcionalnost, ali je SharePoint 2007 bio prilagođen radu sa SQL Serverom 2005. Podrška SQL Serveru 2008
Web Storage System u uporabi u SharePoint Portal Serveru 2001
došla je tek kasnije u obliku Service Packa 1 za SharePoint 2007. Ipak, tek SharePoint 2010 uvodi podršku za novu SQL Server 2008 tehnologiju zvanu Remote BLOB Storage (RBS). Uz pomoć RBSa, SQL Server se brine o tome kako i gdje su čuvani nestrukturirani podaci, bez potrebe za 3rd party proširenjima. EBS je i dalje prisutan da bi se osigurala podrška starim rješenjima, ali je u SharePointu 2010 proglašen za zastarjelu funkcionalnost koja će biti zamijenjena ili uklonjena u nekoj od sljedećih verzija proizvoda. S uvođenjem RBS-a ovaj način čuvanja podataka se puno češće koristi, iako i dalje veoma konzervativno, radi kompleksnosti održavanja i negativnog utjecaja na backup i RTO (Recovery Time Objective). Izuzev RBS-a, SharePoint 2010 je uveo još jednu bitnu inovaciju, ovaj put na polju komunikacije između klijenta i servera. Protokol se zove File Synchronization via SOAP over HTTP (MS-FSSHTTP), ali je poznatiji pod nazivom Cobalt. Cobalt u principu radi vrlo jednostavnu stvar. Kada klijent otvori Office dokument sa SharePointa, kompletan se dokument prvo učitava iz SQL server baze i šalje na SharePoint web-server. SharePoint web-server šalje dokument klijentu, klijent potom obrađuje dokument i snima ga natrag na SharePoint. Ovdje u igru ulazi Cobalt - u slučaju SharePointa 2007, klijent bi slao kompletan dokument natrag na SharePoint
web-server koji bi ga potom proslijedio bazi podataka. SharePoint 2010 i Cobalt su optimizirani za ovakve slučajeve pa će Office klijent proslijediti samo izmjene SharePoint web-serveru na kojem će se potom rekonstruirati kompletna datoteka i proslijediti SQL serveru. Na ovaj način Cobalt optimizira prijenos podataka preko mreže i ima veliki utjecaj na mrežni promet, pogotovo u velikim okruženjima. Potrebno je napomenuti da Cobalt funkcionira samo sa Officeom 2010 i novijim verzijama. Cobalt ne donosi samo poboljšanja u obliku mrežne komunikacije nego omogućuje i nove funkcionalnosti. Pored optimizacije mrežnog prometa, SharePoint Server i Office klijent “naučili” su efektivnije komunicirati i prema potrebi ciljati pojedinačne dijelove dokumenta, pa čak ih i zaključati od izmjena. Na taj način je rođen multi-authoring u SharePointu 2010. Kako je Cobalt u stanju zaključati dio dokumenta za određenog korisnika, različiti korisnici mogu obrađivati različite dijelove istog dokumenta u isto vrijeme. Primjerice, korisnik može nesmetano pisati nove odlomke u Wordovom dokumentu dok drugi korisnik pregledava, komentira ili radi izmjene na već gotovim odlomcima u istom dokumentu.
Fazit Svaka verzija SharePointa donosi poboljšanja, i to ne samo na razini funkcija vidljivih za krajnje korisnike sustava. Microsoft konstantno optimizira i donosi poboljšanja u svakom mogućem aspektu produkta. Shredded Storage donosi značajna poboljšanja na polju optimizacije mrežnog prometa, uštede prostora na disku, smanjuje opterećenje na SQL serveru i povećava sigurnost podataka. Detaljnije tehničke informacije mogu se pronaći u službenom Microsoftovom dokumentu “Shredded Storage in SharePoint 2013” na adresi http://www.microsoft.com/en-us/ download/details.aspx?id=39719.
Pojednostavljeni dijagram komunikacije u SharePointu 2010
52
WD MREŽA 2015
Divide et impera SharePoint 2013 donosi daljnja poboljšanja na polju čuvanja podataka. External BLOB Storage (EBS) je uklonjen iz SharePointa 2013, RBS je i dalje podržan, a uvedena je i nova tehnologija pod nazivom Shredded Storage. Da se prisjetimo, Cobalt je uveo poboljšanja na polju komunikacije između Office klijenta i SharePoint Servera. Način na koji su se smještali podaci na SQL Serveru, kao i sama komunikacija sa SQL Serverom, ostali su skoro isti kao i u SharePointu 2007. Takav način komunikacije u okruženjima s velikim brojem simultanih korisnika može prouzročiti ogromno opterećenje na SQL Serveru. S druge strane, korištenje verzioniranja također je imalo značajan utjecaj na količinu potrebnog prostora za snimanje dokumenata. Primjerice, ako imamo Wordov dokument od 500 kB za koji se čuva posljednjih 10 verzija dokumenta, on će zauzeti oko 5 MB prostora, nevezano za to radi li se o velikim ili malim izmjenama na dokumentu. Odgovorni u Microsoftu su se vjerojatno u jednom trenutku zapitali - što ako
bismo koristili principe i tehnike iz Cobalta da optimiziramo komunikaciju sa SQL serverom i način spremanja dokumenata - i to je, vjerojatno, priča kako je Shredded Storage rođen. Shredded Storage praktično dijeli dokumente na više dijelova i tako ih sprema u bazu podataka. Na taj se način postiže optimizacija komunikacije sa SQL serverom jer se samo dio dokumenta koji se mijenja šalje od klijenta prema webserveru (Cobalt) i od webservera prema SQL serveru (Shredded Storage). Ovaj način spremanja podataka značajno smanjuje promet između raznih komponenti u SharePoint okruženju. Drugi bitan aspekt i značajno poboljšanje koje donosi Shredded Storage jest ušteda prostora za pohranu prilikom verzioniranja. Koristeći Shredded Storage, SharePoint 2013 snima s novom verzijom dokumenta samo izmjene u bazu podataka, a ne čitav dokument. Prilikom čitanja, dokument se rekonstruira iz raznih informacija koje verzioniranje sadrži. Upravo je ovaj mehanizam rekonstrukcije i kompleksnog
smještanja dijelova datoteka i razlog za možda najbitniji aspekt Shredded Storagea: poboljšanja na području sigurnosti podataka. U ranijim je verzijama SharePointa bilo vrlo lako moguće iz Content baza podataka ekstrahirati pojedinačne dokumente. Dovoljan je samo pristup bazi podataka ili njezinoj sigurnosnoj kopiji. Kako Shredded Storage dijeli dokumente i smješta samo izmjene u slučaju da je verzioniranje uključeno, ekstrahiranje i sklapanje dokumenta u konačni oblik donosi određeni stupanj kompleksnosti. Na taj je način pristup podacima neautoriziranim osobama značajno otežan. U slučaju SharePoint Onlinea, išlo se i jedan korak dalje pa je svaki dio dokumenta dodatno kriptiran posebnim ključem. Tako je sigurnost podataka od pristupa neautoriziranih osoba pa čak i administratora, na značajno visokoj razini. Shredded Storage je uvijek aktivan i ne može se isključiti, usprkos činjenici da je u ranim beta verzijama SharePointa 2013 postojala mogućnost njegovog
deaktiviranja. Pored svih navedenih činjenica nema ni razloga za isključivanje ove funkcije jer ona u principu donosi samo prednosti. Ipak, postoji scenarij u kojem su dokumenti sačuvani kao i u starijim verzijama SharePointa. Naime, nakon upgradea baze podataka sa SharePointa 2010 na SharePoint 2013, dokumenti će i dalje biti smješteni na način sličan kao i u SharePointu 2010. Shredded Storage će obraditi pojedinačne dokumente tek prilikom otvaranja i snimanja dokumenata, ne prilikom upgradea. Važno je napomenuti da Shredded Storage nije mehanizam za deduplikaciju podataka jer funkcionira na razini pojedinačnih dokumenata. To znači ako isti dokument tri puta snimimo u biblioteku na SharePointu, bit će zauzet trostruki prostor na hard disku. Ukoliko je potrebno adresirati ovaj scenarij, prednosti koje donosi Shredded Storage mogu se kombinirati sa RBS-om i deduplikacijom na razini storagea pa se može postići značajna ušteda prostora na disku.
Pojednostavljeni dijagram komunikacije u SharePointu 2013
WD MREŽA 2015
53
Čitajte Mrežu na osobnim računalima i tabletima s Windows 8.1 operacijskim sustavom! www.bug.hr/winstore novi brojevi dostupni istodobno s tiskanim izdanjima kupujte pojedinačna izdanja pretplatite se na 3 / 6 / 12 mjeseci BESPLATNO za pretplatnike tiskanog izdanja
Tehnologije OneDrive i OneDrive for Business
Napredni pristup i dijeljenje datoteka Postavljanje lokacija dokumenata u Office 2013.
Office izbornik u OneDriveu i OneDriveu for Business. Pristup online verzijama Office programa i servisima
Pohranjivanje datoteka u oblaku nije novitet. Širenjem kvalitetnog pristupa Internetu, pojavljuju se servisi za pohranu datoteka. U početku skromno i sramežljivo, a posljednjih godina intenzivno i prepuno opcija. Od jednostavnog servisa za udaljenu pohranu nevažnih podataka razvio se u pažnje vrijedan servis koji koriste ozbiljne i moćne tvrtke. OneDrive je perjanica takvih servisa… Tomislav Lulić
P
ovijest ovog servisa datira iz 2007. godine. Tada je, naime, pokrenut testni Windows Live Folders servis. Vrlo je brzo preimenovan u Windows Live SkyDrive. Na taj servis je Microsoft dodao još neke opcije, koje su se koristile s manje ili više uspjeha (Windows Live Mesh 2011 itd.). Većina tih opcija, ugrađena je ili prebačena, danas, u neke druge proizvode. SkyDrive je u veljači 2014. promijenio svoje ime u OneDrive. Funkcionalnost se nije promijenila. Postoje dvije verzije OneDrive servisa. Prvi, besplatni, dijeli ime kao cijeli servis. U vrijeme pisanja članka, omogućuje inicijalnu pohranu 15 GB podataka. Ako se dodaju neke sinkronizacije s uređajima, mjestima ili ga se preporuči kolegi ili prijatelju, gigabajti rastu pa se može skupiti respektabilna količina prostora za pohranu vaših podataka. Njegov “veći” brat zove se OneDrive for Business. OneDrive je servis koji omogućuje korisnicima pohranu podataka u oblaku i samim tim dostupnost podataka s bilo koje lokacije, uređaja i većine klijentskih računalnih operativnih sustava. Integracija sa Outlook.com (OneDrive), be-
splatnim mail servisom, omogućuje kvalitetan rad i pohranu manje zahtjevnim korisnicima. Ako ste korisnici Microsoft Windows 8.1, OneDrive je integriran u sustav, kao jedan od direktorija i automatski je sinkroniziran s podacima u oblaku. Time se omogućilo da krajnji korisnici ne vide razliku između lokalnih podataka i podataka u Oblaku. Pristup je identičan. Od ostalih Microsoftovih proizvoda podržani su Windows 7 i Vista SP2 s platform updateom, gdje je potrebno instalirati dodatnu OneDrive aplikaciju koja brine o komunikaciji s oblakom.
ci prošlosti (koji će uskoro biti zamijenjeni). Naime, ovdje se u pozadini pokreće servis Groove, poznat iz nekih prošlih vremena i kolaboracijskih pokušaja (Microsoft SharePoint Workspace ili još prije kao Microsoft Office Groove). Bez obzira na dva odvojena servisa, snalaženje i korištenje je gotovo identično. Oba možete koristiti istovremeno, dodati ih u vaše klijente u Office podacima o računu. Sinkronizacija s računalom (desktopom) služi da biste mogli raditi na svojim datotekama i kad niste spojeni na Internet. OneDrive se
Malo o OneDrive servisu
Naizgled identične, verzije se razlikuju u servisu koji ih u pozadini pokreće. Dok se kod OneDrivea koristi noviji servis (OneDrive Sync engine Skydrive servis), kod OneDrive for Business vuku se neki ostaPrebacivanje datoteka iz lokalnog foldera u OneDrive, jednostavno drag-n-drop
WD MREŽA 2015
55
Tehnologije OneDrive i OneDrive for Business Mogućnost sinkronizacije samo određenih direktorija, ili cjelokupnog OneDrive prostora na lokalno računalo
Kratki pregled razlika između proizvoda
integrira s Explorerom i datotečnim sustavom, tako da dobijete novi folder sa strukturom identičnom onoj u oblaku.
Usporedba mogućnosti
Dijeljenje dokumenata postoji u oba servisa, uz sinkronizaciju na lokalnom računalu. Razlika je u načinu dijeljenja, odnosno mjesta gdje se oni nalaze. Kod OneDrive for Business to je zapravo sinkronizacijski servis integriran u SharePoint sustav. On koristi korisnički račun s Officea 365 ili Active Directoryja. OneDriveu pristupamo preko Microsoft Accounta (bivšeg LiveID-a) i namijenjen je za osobnu upotrebu. Servis je odvojen od ostalih servisa. Moguće ga je vezati uz uslugu Outlook.com, no naprednih poslovnih mogućnosti nema. Za veliku većinu privatnih potreba OneDrive je dovoljan. Uz pohranu
dokumenata, tu su mogućnost automatske sinkronizacije, a time i backup vaših fotografija s mobilnih uređaja, kao i pohrana i sinkronizacija OneNote bilješki, koje su onda dostupne vama i osobama kojima dopustite pristup za suradnju. Koliko ste puta trebali izmijeniti neki dokument, a niste bili za svojim računalom? Jedna od bitnih svojstava OneDrivea je mogućnost otvaranja i rada na dokumentima u pregledniku. Unutar njega imate na raspolaganju online inačice Office aplikacija. Kako bi se olakšao rad korisnicima, nakon integracije s operativnim sustavom u kojem rade, OneDrive omogućuje i lakše upravljanje datotekama i folderima preko Explorera. Rad je identičan radu sa datotekama na disku, dok servis u pozadini kreira strukturu i brine o sinkronizaciji. Kod OneDrivea for Business, o
Integracija u Windowse 8.1 s mogućnošću spremanja dokumenata na OneDrive kao default opcija
Moguće je vidjeti, provjeriti ili vratiti prethodne verzije dokumenata
servisu brine SharePoint sa svim svojim prednostima i manama. Jednom spremljene podatke moguće je dohvatiti i na vašim mobilnim uređajima (tablet računalo, mobilni uređaj, laptop). Također je moguće dodavati ili ispravljati datoteke, ako je potrebno. Bez obzira na to gdje ste, ako potreba posla nalaže, moguće je surađivati s kolegama na istom dokumentu, ispravljati ga ili dopunjavati. I bez brige, promjene se bilježe i moguće je vratiti dokument u vremenu. Povijest verzija omogućena je na oba servisa, s time da je s OneDriveom for Business mnogo lakše odraditi povratak kroz vrijeme i verzije. Također, moguće je dobiti uvid u promjene, tko je što mijenjao, ali i dobiti izvještaje o tome. Kako se servis naslanja na SharePoint, praktički sve funkcionalnosti koje imate u SharePointu, podržat će i OneDrive for Business. To je i najbolji način da se korisnici naviknu na kolaboraciju unutar Office 365 paketa, ako ga koriste.
Olakšano upravljanje datotekama
Mogućnosti povezivanja računala s OneDrive servisima preko klijenata (MacOS klijent je u preview verziji u trenutku pisanja članka)
56
WD MREŽA 2015
Selective Sync je opcija pomoću koje možete izabrati koje direktorije želite sinkronizirati na vaše računalo. Opcija je posebno korisna ako koristite računala s ograničenim prostorom na lokalnom disku (netbookovi,
Kratka povijest javnog dijeljenja datoteka Ako zanemarimo bušene kartice, koje su se koristile kao vanjska memorija u jednom razdoblju, svoju vladavinu, dugi niz godina, držali su magnetski mediji. Početkom 70-tih su floppy diskovi započeli svoju dominaciju. U startu, kapaciteta 79,7 kB, na fizički ogromnim medijima, nakon toga, sve manji i manji, a završili su na 3,5” diskovima (postojali su i microdriveovi, 3” diskete i još neki). Dijeljenje je bilo jednostavno, iz ruke u ruku, datoteke male.
Razvojem Interneta, a prije toga i BBS-ova, došlo je do ekspanzije raznih načina dijeljenja datoteka, kako legalnih, tako i nelegalnih. Sve je to bilo nesigurno za ozbiljne korisnike. Stabilizacijom i dostupnošću širokopojasnog Interneta, sigurnošću i brzinom pristupa, otvorio se novi servis osobne pohrane. Za Dropbox, priča kaže, da je servis - koji je vrlo brzo postao javan i dostupan za sve - pokrenut zbog izgubljenog USB sticka. Naime, osnivač
Dropboxa, inače student MIT-a uvidio je da se svakodnevno gube USB stickovi te je odlučio napraviti privatni servis za pohranu podataka. Servis je prvo postavio za sebe i prijatelje. Nakon toga, shvatio je korisnost servisa. Mnoge druge kompanije, veće ili manje, napravile su slično. U ovom kratkom osvrtu nećemo spominjati dijeljenje datoteka peer-to-peer sustavima (Napster, Torrent itd), iako njihov utjecaj s tehničke strane na dio ove priče nije zanemariv.
Izgled lokalnog direktorija OneDrivea for Business, kao i signalizacija da je direktorij ispravno sinkroniziran (zelena kvačica)
laptopi s malim diskovima), ili ako ne želite sve podatke sinkronizirati na drugo računalo. U OneDriveu for Business podatke je moguće sinkronizirati selektivno, pomoću opcije koja je dio SharePoint online servisa. U Windowsima 8.1 postoji mogućnost da u postavkama podesite da vam OneDrive bude definirano mjesto za pohranu dokumenata. Ako greškom obrišete datoteku, to nije problem, jer postoji (kao uostalom i na Macu i Windowsima) Recycle bin, koji omogućuje povrat podataka. Ta je opcija kod OneDrivea for Business povezana sa sigurnosnom politikom kroz pretplatu te se može kontrolirati. U svakom slučaju, dobro došla opcija. Dodatna prednost korištenja OneDrive servisa snažna je mogućnost pretrage po dokumentima i metapodacima, gdje prednjači OneDrive for Business zbog svoje direktne povezanosti sa SharePoint Online servisom.
Dijeljenje dokumenata i zajednički rad na njima
Podržani sustavi na kojima možete koristiti OneDrive klijente Mogućnost sinkronizacije OneDrivea for Business na lokalni disk
Prozor koji se otvara nakon odabira dijeljenja dokumenta. Mogućnost biranja korisnika s kojima dijelimo i načina dijeljenja
Jedna od najkorisnijih opcija koje nude obje verzije OneDrivea jest kolaboracija, odnosno rad na dokumentima u grupama. Ovaj način rada bitno olakšava protok informacija, kao i smanjenje grešaka u višekorisničkom radu. Naime, moguće je pozvati korisnike, iz vlastite grupe, domene ili tvrtke, kao i vanjske korisnike, dodijeliti im određena prava i surađivati s njima na istom dokumentu. Dok je kod OneDrivea dijeljenje dokumenata s vanjskim suradnicima bazirano na nekoliko osnovnih prava (čitanje, promjena, kreiranje) koja se dodjeljuju preko Microsoft Accounta ili slanjem pozivnice, kod OneDrivea for Business, o pravima i dijeljenju brinu SharePoint servisi koji su u pozadini, kao i servis za sinkronizaciju dokumenata, već prije spomenuti Groove. Bitno je da za dodjelu i pristup vašim dokumentima nije potrebna dodatna licenca, niti se krši licencna politika korištenja aplikacija i servisa. Za one koji to žele, moguće je povezati svoj OneDrive prostor za dijeljenje datoteka i slika s prijateljima na Facebooku. Svako malo dodaju se nove opcije, nadograđuju stare, tako da će do izlaska ovog teksta sigurno biti još nekoliko interesantnih i korisnih opcija u OneDriveu. Ako ga ne koristite, probajte OneDrive, vrlo moćan i napredan servis za pohranu vaših podataka u oblaku. WD MREŽA 2015
57
Tehnologije Integracijske mogućnosti Microsoft Azure platforme
Integracija - nikada dostupnija Azure nudi zaista pregršt mogućnosti za povezivanje aplikacija, sustava i podataka. Od standardnih servisa poput queue mehanizma, preko Azure sabirnice, Event huba pa do notifikacijskih servisa i BizTalk Servera u oblaku. Na prvi pogled, mogli bi se izgubiti u toj šumi dostupnih usluga. U ovom ćemo vam članku približiti glavne funkcionalnosti Azurea na području integracije Luka Lovošević
Č
lanak je u početku pisanja imao naslov „Integracija nikada nije bila lakša“, međutim, to se ubrzo promijenilo jer, ruku na srce, integracija u praksi nikad nije lagana. Nije lagano povezati različite sustave, procese i strukture podataka, a da to sve funkcionira onako kako smo zamislili. Ipak, danas je ta ista integracija znatno dostupnija. Pritom ne mislimo samo na mogućnosti koje nam Azure platforma inherentno nudi - podizanje virtualnih strojeva i VPN konekcija kroz nekoliko klikova mišem, već na usluge koje su izravno namijenjene integraciji preko clouda, a kojih već sada, komercijalno dostupnih, ima nekoliko. Osnovni zahtjevi koje ćemo razmatrati su mogućnosti efikasnog komuniciranja između aplikacija i sustava, skalabilnost dostupnih usluga, fleksibilnost i jednostavnost korištenja odnosno programiranja, podrška za sinkroni i asinkroni način rada, podrška za tzv. loosely coupled dizajn, gdje su komponente što je moguće više neovisne jedna o drugoj i, konačno, podrška za rad s više različitih platformi (cross platform).
bazu podataka ili šalje notifikaciju u slučaju greške. Pristup redovima ide kroz REST, što ujedno znači da je podržana praktički bilo koja platforma koja zna komunicirati preko HTTP protokola. Redovi su dobri za velike količine malih podataka jer imaju ograničenje na veličinu podataka koji se u njih spremaju, a bitno je naglasiti da svi podaci koji sjedaju u red imaju određeni period života, tzv. time to live, nakon čega se automatski brišu. Redovi su jedna od osnovnih komponenti Azure platforme i povoljni su za korištenje - naplata se temelji na količini podataka i broju čitanja/ pisanja tih podataka.
Sabirnica - prava integracijska komponenta
Azure Service Bus punokrvna je i pouzdana sabirnica za razmjenu podataka i komunikaciju preko poruka. To je mehanizam koji se
Redovi - tipični scenarij korištenja
“podigne” u nekoliko klikova po Azure portalu i koji nam onda omogućuje slanje podataka na određenu adresu s jedne strane i čitanje tih podataka s druge strane. Podaci i aplikacije koje povezujemo mogu biti u cloudu ili lokalni, a komunikacija se vrši preko HTTP ili AMQP protokola. Potonji je otvoreni binarni protokol, de facto standard za komunikaciju baziranu na porukama i koristi se često u financijskoj i telekomunikacijskoj industriji za razmjenu podataka. Azure Service Bus podržava tri scenarija rada - redove za asinkronu komunikaciju, pretplatu na određene događaje i dvosmjerni pristup. Redovi su slični onima opisanima u prethodnom dijelu, ali ovdje dobivamo još neke pogodnosti poput potvrde uspješnog čitanja (u slučaju pada aplikacije) i beskonačnog vremena života poruke. Korištenje iz programskog kôda vrlo je jednostavno, u nekoliko se linija kreira novi red i na njega pošalje poruka, a isto je toliko potrebno da bi se poruka pročitala. Drugi je scenarij pretplata na događaje, tzv. topics. Ovdje možemo na jednostavan način podržati scenarij slanja jedne poruke na više odredišta, odnosno publish-subscribe, za razliku od redova gdje je komunikacija jedan na jedan. Svako odredište onda može obraditi poruku na svoj način, preko svoje
Redovi su u redu
Azure Queue Storage dostupan je još od prvih verzija Azure platforme. Radi se o klasičnom queue mehanizmu, odnosno o strukturi podataka koja podržava FIFO, first in first out, način upisivanja i čuvanja podataka. Redovi se tradicionalno koriste za komunikaciju između web i worker rola, recimo u scenariju kada trebate asinkrono predati podatke iz vaše aplikacije u neki pozadinski proces koji će te podatke obraditi i kasnije vratiti rezultat obrade. Dobar primjer za to je zapisivanje događaja (logiranje), gdje web aplikacija zapisuje događaje u red, a pozadinski proces te događaje čita, obrađuje i sprema u 58
WD MREŽA 2015
Xbox Halo rezultati u realnom vremenu preko Azure Service Bus komponente
A gdje je tu enterprise? poslovne logike. Treći scenarij primjene Azure Service Busa je dvosmjerni pristup, odnosno relay. U prva dva scenarija imali smo brokersku komponentu koja “sjedi” između pošiljatelja i primatelja poruke, a ovdje imamo direktnu komunikaciju. Ovo se često koristi za izgradnju hibridnih aplikacija koje se vrte u lokalnom podatkovnom centru i u Azureu i koje trebaju siguran kanal komunikacije preko WCF servisa. Postoji i četvrti scenarij, Azure Event Hubs, koji se isto tako bazira na Service Busu, ali njega ćemo zasebno obraditi. Primjeri iz prakse gdje Microsoft koristi Azure Service Bus su procesiranje statistika igrice Halo u realnom vremenu (na primjer, top lista igrača) i Xbox One, analiza utakmica američkog nogometa. Naplata sabirnice temelji se na potrošnji, odnosno broju operacija, vremenu i broju konekcija koje radite.
Što je članak bez Internet of Things…
Četvrti integracijski scenarij Azure Service Busa, koji smo maloprije namjerno preskočili, zove se Event Hubs. Glavna namjena ovog servisa je integracija masovne količine podataka - ovdje govorimo o milijunima događaja, odnosno o propusnosti od gigabajt podataka u sekundi. Unutarnja arhitektura servisa je takva da podržava visoku skalabilnost. Za razliku od Service Bus redova i pretplata, koji se temelje na konkurentnim primateljima poruka gdje “svi čitaju sve”, Event Hub skalabilnost postiže particioniranjem ulaznog seta podataka gdje svaki primatelj čita “svoj” podskup podataka, a to onda omogućuje paralelizam i horizontalno skaliranje prema potrebi. Tipičan primjer je tzv. Internet of Things scenarij, odnosno prikupljanje informacija koje pristižu iz pametnih uređaja - televizora, termostata, hladnjaka i ostalih. Event Hub se koristi u osnovi slično kao i Azure Service Bus, preko HTTP ili AMQP protokola. Postoje i nativne biblioteke za sve popularne programske jezike, od .NET Frameworka, C-a, Jave, Pythona, itd. Event Hub služi kao tampon zona koja može zadržati podatke između izvora, odnosno pošiljatelja, kojih ima mnogo i često šalju velike količine podataka, i krajnjeg cilja odnosno primatelja koji podatke mora primiti, obraditi i spremiti. Ovo nam omogućuje sinkroni i asinkroni način rada - možemo odlučiti želimo li raditi u realnom vremenu ili periodično. Za obradu u realnom vremenu možemo koristiti Apache Storm ili Azure Stream Analytics uslugu. Event Hub se naplaćuje prema korištenju - po broju događaja koji se obrađuju i po ulaznoj i izlaznoj propusnosti.
Dok ovo čitate sigurno se pitate gdje je tu BizTalk Server – Microsoftova standardna platforma za integraciju. BizTalk 2013 možete pokretati u oblaku u IaaS (Infrastructure as a Service) varijanti, kao virtualni stroj. To je odlična opcija ne samo za produkciju, gdje nemate početne investicije u hardver, a dobivate skalabilnost i sve ostalo što Azure nudi, nego i za tzv. dev/test scenarije, u kojima programeri kroz nekoliko klikova dobivaju BizTalk okruženje pogodno za razvoj i testiranje. U ovakvoj IaaS varijanti imate punokrvni BizTalk na raspolaganju, sa svim adapterima i funkcionalnostima, a plaćate ga prema korištenju. Druga je varijanta
Azure BizTalk Services, odnosno PaaS (Platform as as Service). Ovdje se Microsoft brine o samoj usluzi i nadogradnjama, a vi koristite integracijske mogućnosti platforme. Njih u ovom slučaju ima nešto manje – nisu podržani svi adapteri, ali većina njih jest, a podržani su i B2B scenariji (EDIFACT, itd.). Dodatna prednost BizTalk Servicesa su Hybrid Connections koji olakšavaju komunikaciju između rješenja u oblaku i u lokalnom okruženju – dobar primjer ovoga je povezivanje SQL Server baze podataka, koju imate unutar svoje mreže, s Azure web stranicom, koja se vrti u oblaku. Usluga se naplaćuje po satu korištenja. U ovom zadnjem dijelu savjetovali bismo oprez –
bilo koju mobilnu platformu. Jednostavnim pozivima, kroz nekoliko linija kôda, možemo poslati tzv. toast poruke na iPhone, Android, Windows i Windows Phone uređaje, direktno na njihovu nativnu podršku za notifikacije. Ne moramo poznavati interne mehanizme kako se na iOS-u ili Androidu trebaju pozivati servisi za dostavu poruka ili što znače skraćenice poput GCM, WNS i ADM; umjesto toga kroz Azure portal konfiguriramo cijelu uslugu u nekoliko koraka i nakon toga koristimo samo jednu pristupnu točku - Azure. Microsoft je izdao biblioteke za prije spomenute mobilne operativne sustave (čak i za Baidu i Kindle!), kako bi programeri lagano podržali Azure Notification Hub u svojim aplikacijama.
Microsoft je na nedavnom BizTalk Integration Summitu 2014 najavio niz novosti u svijetu BizTalka i Azure platforme. Jedna od tih novosti odnosi se i na budućnost Azure BizTalk Servicesa koja za sada nije egzaktno definirana, iako postoji standardni SLA i obećanje o dugoročnoj podršci MS-a. Čini se da je budućnost enterprise cloud integracije u tzv. BizTalk Microservices, nizu kompozitnih manjih servisa koje će biti lako povezati i skalirati u oblaku, uz programsku podršku za migraciju postojećih BizTalk rješenja na tu novu platformu. Ovo je za sada više arhitekturalni koncept nego gotov proizvod pa valja još malo pričekati.
Osim ove osnovne funkcionalnosti slanja poruka, postoji i mogućnost filtriranja poruka prema kategorijama, gdje mobilna aplikacija može “slušati” samo određene poruke koje ju zanimaju, i korištenje predložaka, što je obično korisno za lokalizaciju sadržaja na korisničkom sučelju mobitela. Što se tiče samog slanja poruka, postoje biblioteke i podrška za .NET, Javu, Node.js, PHP, Python, Ruby, itd. - sučelje je opet REST. Poruke se mogu slati sinkrono ili u određeno doba, a usluga je dizajnirana tako da se može skalirati na slanje milijuna poruka u minuti. Azure Notification Hub se naplaćuje prema broju poslanih poruka, a postoji i besplatan model koji vam nudi milijun poruka mjesečno - odlično!
Ali ja imam mobitel…
Do sada nismo spominjali push scenarij gdje poruke želimo poslati na mobilne uređaje u obliku notifikacija. Ovo je danas sve češći zahtjev s obzirom na nagli rast broja mobilnih uređaja i aplikacija. Azure Notification Hub je servis koji nam omogućuje infrastrukturu za slanje notifikacija s bilo kojeg backenda, u oblaku ili lokalno, na
Azure Event Hub - pogled iz daleka na mogućnosti za Internet of Things scenarije
WD MREŽA 2015
59
Tehnologije Azure Key Vault
Spremi svoje ključeve Još jedna u skupu “Bring your own…” usluga, Azure Key Prednosti i korištenje Prednosti koje nudi usluga Azure Key Vault, olakšava proces upravljanja i kontrole ključeva Vault višestruke su - omogućuje se pristup ključevima prema potrebi, oni su za pristup podacima - u suštini, “Bring your own Key”. zaštićeni algoritmima u skladu s induU nastavku teksta predstavit ćemo uslugu Azure Key strijskim standardima i HSM uređajima Vault te objasniti gdje se i na koji način ona koristi (certificiranim do FIPS 140-2 Level 2) te
Različite persone i njihove uloge
Tomica Kaniški
B
itna komponenta smještaja podataka u oblak i svojevrsni “kamen spoticanja” svakako je sigurnost podataka. Ona je ostvarena uz pomoć raznih ključeva i lozinki koje su najčešće pohranjene na relativno skupim HSM uređajima, on-premise. Potencijalni problemi pri korištenju takvih, lokalno spremljenih ključeva s aplikacijama u oblaku, mogu biti relativno veliki troškovi implementacije i održavanja, nedovoljna skalabilnost implementiranih rješenja, njihova dostupnost te brzina pristupa. S obzirom na to da se oblak nameće kao idealno rješenje za skalabilnost i dostupnost uz relativno niske
troškove, logično rješenje navedenih problema s ključevima bilo bi i njihovo smještanje u oblak. Upravo je zato, relativno nedavno, Microsoft nadopunio skup svojih usluga u oblaku uslugom upravljanja i čuvanja ključeva za pristup podacima - uslugom pod nazivom Azure Key Vault. Ukratko, mogli bismo reći da se radi o usluzi koja omogućuje korištenje HSM (Hardware Security Module) uređaja smještenih u Microsoftovom oblaku, u svrhu povećanja sigurnosti podataka, pristupa podacima te sigurnosti aplikacija i virtualnih strojeva smještenih u oblaku. Ova usluga, trenutno u preview fazi i predstavlja nadogradnju postojeće Azure RMS bring-your-own-key (BYOK) usluge, jednog od temelja Officea 365.
su također kolocirani unutar podatkovnih centara, što omogućuje veću pouzdanost i brzinu pristupa, a možda najvažnija prednost ove usluge jest ta da korisnici mogu dodavati i upravljati svojim ključevima i pritom biti sigurni da Microsoft i aplikacije, iako ih normalno koriste u svom radu, ne znaju niti će ikad saznati sadržaj samih ključeva. Naravno, administrator upravlja svim svojim spremištima i ključevima kroz jedinstveno sučelje. Pri korištenju usluge Azure Key Vaulta razlikujemo tri persone - administratora koji upravlja ključevima, programera koji radi aplikaciju i koristi ključeve iz spremišta te auditora koji nadgleda korištenje samih ključeva. Korištenje usluge je iznimno jednostavno - administrator se prijavljuje u Azure pretplatu, zatim kreira spremište ključeva, i nakon toga odrađuje operativne zadatke kao što su kreiranje i uvoz ključeva, brisanje ključeva, postavljanje ovlasti aplikacijama i korisnicima te nadgledanje korištenja ključeva. Nakon što su spremište i ključevi kreirani, administrator programerima daje URI (a ne više ključ), koji će oni pozvati iz svojih aplikacija i tako pristupati ključu u spremištu, bez njegova poznavanja. S druge strane, administratori također mogu jednostavno delegirati nadgledanje korištenja ključeva osobi ili osobama koje su zadužene za sigurnost. Ovim modelom svaka od navedenih osoba dobiva na uvid samo ono što treba, a tajnost ključeva je u isto
Je li to za mene? S obzirom na to da uslugu Azure Key Vault možete zatražiti i koristiti već danas, nema razloga da ju barem ne isprobate u svojim okruženjima. Tako ćete, uz ova dva
navedena scenarija korištenja, zasigurno pronaći još neki koji je možda specifičan baš za vaše okruženje. Pri korištenju usluge Azure Key Vault svakako treba
imati na umu i cijenu koja se, za razliku od implementacije svog vlastitog HSM rješenja, može pokazati vrlo povoljnom i pristupačnom. Azure Key Vault - tko što radi
60
WD MREŽA 2015
na sigurno… vrijeme osigurana. Također, valja napomenuti da svatko tko posjeduje Azureovu pretplatu, može kreirati i upravljati spremištima ključeva, bez obzira na to radi li se o administratoru ili programeru, odnosno osobama kojima je usluga prije svega namijenjena - ovime, usluga upravljanja ključevima vrlo jednostavno može biti delegirana administratoru koji upravlja i ostalim Azureovim uslugama u organizaciji.
BitLocker u virtualnim strojevima i još sigurniji pristup SQL-u Uz pohranu osjetljivih podataka (lozinki) koje koriste vlastite line-of-business aplikacije u oblaku, jedan od zgodnih scenarija za korištenje usluge Azure Key Vault jest enkripcija podataka u samim virtualnim strojevima - pritom ne mislimo na enkripciju datoteka virtualnih diskova smještenih na Microsoftovim poslužiteljima, nego na enkripciju diskova iz perspektive virtualnog stroja (recimo, korištenje BitLockera ili Linux ekvivalentne enkripcije unutar virtualnog stroja u Azureu, u svrhu zaštite podataka na sistemskom disku). Kao što vjerojatno znate, Microsoft trenutno ne podržava korištenje BitLockera za zaštitu sistemskih diskova iz čisto tehničkih razloga - korisnici nemaju mogućnost pristupa TPM čipovima (Trusted Platform Module) na koje bi spremili svoje enkripcijske ključeve. Ovaj “nedostatak” može predstavljati ozbiljan problem organizacijama koje žele preseliti svoje poslovanje u oblak, ali u isto vrijeme zahtijevaju i da njihovi virtualni strojevi smješteni u oblaku koriste BitLocker. Kako bi se ovaj problem riješio, razvijena su rješenja poput CloudLink SecureVM rješenja, koje virtualnim strojevima u oblaku omogućuje enkripciju sistemskog i/ili podatkovnih diskova, koristeći Azure Key Vault za smještaj enkripcijskih ključeva. Uz navedeno, omogućuje se i autentikacija prije pokretanja virtualnog stroja, zaštita integriteta virtualnih strojeva te integracija postojećih enterprise key management rješenja i politika. Ovo rješenje za svoj rad koristi virtualni appliance (CloudLink Center), koji može biti smješten on-premise ili u oblaku, te agenta koji se instalira u sam
virtualni stroj koji štitimo. Uz to, konfiguracija i povezivanje ovog rješenja sa Azureom vrlo su jednostavni. Krajnji rezultat korištenja ovog (ili sličnih) rješenja su virtualni strojevi koji koriste BitLocker ili nativnu enkripciju, s enkripcijskim ključevima pohranjenim na sigurnom mjestu, u Azure Key Vaultu. Drugi, također vrlo zanimljiv, scenarij uporabe ove usluge jest korištenje Azure Key Vault u Omogućavanje zaštite virtualnih strojeva u Azureu uz kombinaciji s ugrađenom Exten- pomoć rješenja CloudLink SecureVM sible Key Management (EKM) mogućnošću SQL Servera, koja pruža stalirati i podesiti pripadajući konektor, dodatnu zaštitu ključeva koji se koriste a sama instalacija sadrži i primjere koji u tehnologijama za zaštitu podataka u uvelike olakšavaju samo korištenje ove mirovanju - Transparent Data Encryption usluge. Važno je napomenuti da kori(TDE), Column Level Encryption (CLE) i štenjem usluge Azure Key Vault, uz SQL pri izradi kriptiranih sigurnosnih kopija servere koji su smješteni na platformi podataka (encrypted backups). Kako bi Microsoft Azure, dodatno možete zaštititi organizacije imale veću fleksibilnost pri i svoje lokalne SQL servere, što pruža upravljanju enkripcijskim ključevima i određenu dozu fleksibilnosti i povećava podacima te lakše upravljale admini- vrijednost ovoj cloud usluzi. stratorskim ovlastima, Extensible Key Management omogućuje dodatnu zaštitu simetričnih ključeva korištenih za enkripciju podataka (asimetričnim) ključem, koji je pohranjen kod vanjskog pružatelja usluge (recimo, Azure Key Vault). Za povezivanje SQL Servera s uslugom Azure Key Vault, dovoljno je preuzeti, in- Integracija Azure Key Vaulta i SQL Servera
Primjer korištenja Azure Key Vaulta kroz PowerShell
WD MREŽA 2015
61
Tehnologije Strojno učenje u oblaku
Nikad lakši machine learning uz pomoć platforme Azure
Azure Machine Learning proces
Prije nepune pola godine Microsoft je u okviru platforme Azure predstavio uslugu pod nazivom Azure Machine Learning. Zašto je to bio jedini logičan Microsoftov korak, pogotovo nakon uspjeha Azure HDInsighta (Hadoop) te PowerBI-a for Office 365, saznajte u nastavku ovog teksta u kojem ćete se upoznati s procesom strojnog učenja u oblaku, ali i uvjeriti u njegovu dostupnost i lakoću korištenja… 62
WD MREŽA 2015
Renato Jović
K
ako bismo uopće predstavili Azure Machine Learning, potrebno je prvo ukratko ponoviti ili naučiti što je u suštini strojno učenje. Prema Wikipedijinoj definiciji, strojno učenje je područje unutar računalne znanosti i umjetne inteligencije koje se bavi izradom i proučavanjem sustava koji imaju mogućnost učenja i predviđanja rezultata iz seta podataka. Ukratko, strojno učenje čista je suprotnost eksplicitnom i već unaprijed određenom i programiranom procesu s kojim se susrećemo u našem svakodnevnom radu. Strojno učenje zapravo označava izradu sustava koji s vremenom i dovoljnom količinom kvalitetnih podataka (naglasak na vrijeme i kvalitetne podatke) može pronaći uzorak pomoću kojega može predvidjeti konačni rezultat. To vrlo lako možemo usporediti s nama samima, jer mi ljudi imamo sposobnost na temelju prethodnih iskustava (podataka) predviđati budućnost, odnosno krajnji rezultat. Ali kako i mi ljudi griješimo, teško je očekivati da je rezultat strojnog učenja uvijek
100% točan. Mnogo je tu faktora u igri, počevši od samih podataka pa do odabranog algoritma učenja. Dizajniranje takvog sustava zahtijeva mnogo vremena, pokušaja i pogrešaka, ali krajnji rezultat može biti fascinantan i nadasve koristan u svakodnevnom životu, kao npr. predviđanje raka dojke kod žena. S već uhodanom platformom Azure te iskustvom i jakom prisutnošću strojnog učenja u mnogim servisima koje Microsoft pruža već godinama (Bing, Xbox, Cortana, Project Adam, Microsoft Band), izrada servisa Azure Machine Learning bio je logičan potez diva iz Redmonda. Azure Machine Learning možemo definirati kao servis koji je širokim masama developera pružio mogućnost korištenja strojnog učenja. Više vam nisu potrebni doktorat i titula znanstvenika, ili znanje vjerojatnosti i statistike u malom prstu da biste napravili vlastiti model strojnog učenja te taj isti model istrenirali i iskoristili u svojim postojećim ili budućim aplikacijama. Također, nije vam više potrebna skupa infrastruktura u obliku desetaka ili čak stotine strojeva koji će procesirati i učiti nad vašim podacima, kad je sve to dostupno uz nekoliko kli-
kova mišem preko Azureovog portala. Jednostavno rečeno, Azure Machine Learning je kombinacija Microsoftovog iskustva u strojnom učenju i gotovo neograničenih resursa koje vam pruža sama platforma Azure, a sve je to zapakirano u jednostavno sučelje u kojem model vašeg strojnog učenja izrađujete pomoću drag & drop funkcionalnosti.
Tu je i neizostavna podrška za R skripte
Proces učenja
dataka, gotovih algoritama učenja, do Azure Tradicionalni proces alata za treniranje, ocjenu i evaluaciju ML studio strojnog učenja sastoji modela. se od pet glavnih koSami podaci za izradu modela mogu Azure Machine Learraka. Prvi je korak skuning Studio najlakše je biti uvezeni na dva načina: uvozom već pljanje, analiza i priprepredstaviti kao Visual formatiranih datoteka (CSV, TSV) ili korima podataka koji će se Studio u pregledniku, steći takozvani Reader modul koji može koristiti u procesu strojsamo što ovaj studio čitati podatke iz servisa Azure Table, nog učenja. Ovo je jesluži za izradu mode- servisa Azure Blob, Azureove SQL baze dan od važnijih koraka, la i procesa strojnog podataka ili HDInsighta. Također, postoji stoga je važno imati što učenja. ML studio sa- mogućnost uvoza podataka iz HTTP više kvalitetnih podatadrži veliku listu već izvora. Maksimalna veličina podataka ka koji će nam osigurati preddefiniranih akcija za treniranje ne smije prelaziti 10 GB. veći postotak predviđai algoritama u obli- U slučaju da je veličina podataka veća nja rezultata (primjer je ku takozvanih modula od navedenog limita, Azure ML pruža izbacivanje duplikata koje vizualno slažete nam mogućnost kreiranja više instanci ili podataka koji su pou kompoziciju te time spremnika podataka, koje zatim moželovični). Drugi je korak formirate takozvani ek- mo kombinirati i dijeliti pomoću već odabir algoritma koji speriment. Zaboravite gotovih modula, kao što su Partition ćemo koristiti u procesu na kodiranje u ovom and Sample, Split i Join. U slučaju većeg strojnog učenja. Treći slučaju, vaš je zadatak broja podataka, svakako se preporučuje je korak izrada i izvruz pomoć dostupnih postavljanje podataka na neki od Azurešavanje eksperimenata modula definirati po- ovih servisa kao Azure Storage ili Azure nad podacima, koristeći datke, odabrati algo- SQL Database, što uvelike olakšava ali i odabrane algoritme, a ritam te posložiti sam ubrzava sam proces. sve u cilju treniranja i Kako je odabir kvalitetnog algoritma za proces (workflow). Potestiranja konačnog mostoji mnogo gotovih proces strojnog učenja jedan od važnijih dela dobivenog strojnim modula, počevši od koraka u cijeloj priči, Microsoft se potruJedna od glavnih značajki studija učenjem. Obično se ML veliki je broj gotovih modula i alata za manipulaciju dio da unutar ML studija budu dostupni dostupnih algoritama ova tri koraka obavljaju i transformaciju po- najbolji od najboljih, svi redom korišteni u više iteracija, sve dok ne dobijemo zadovoljavajuće rezultate. Za kraj nam ostaje četvrti korak, koji se sastoji od izrade operativnog procesa koji uključuje procesuiranje real time ulaznih podataka te pružanje konačnog rezultata, a sve uz pomoć modela dobivenog u prva tri koraka. Peti korak je konstantno nadgledanje operativnog procesa te eventualne promjene u postavkama algoritma učenja, odnosno samog modela. Azure Machine Learning gore navedeni proces uvelike olakšava uvođenjem Azure ML studija koji omogućuje jednostavno kreiranje i evaluaciju modela od početka do kraja. Sve navedeno dostupno je kroz intuitivno sučelje, čime se znatno skraćuje vrijeme potrebno od takozvanog eksperimentiranja nad podacima, treniranja i konačnog postavljanja gotovog prediktivnog modela u samu produkciju preko web-servisa. Mjesto na kojem ćete provoditi najviše vremena pomno slažući vaš model uz pomoć dostupnih alata WD MREŽA 2015
63
Tehnologije Strojno učenje u oblaku A koliko to košta? Svjesni da na ovome svijetu ništa nije besplatno, postavljamo si pitanje koliko nas košta korištenje ovakvog servisa? Direktan odgovor - i ne mnogo! Ono što je dobro u svoj ovoj priči jest to da je sam servis Azure Machine Learning u takozvanoj preview fazi te se, zasad, može koristiti besplatno, naravno s određenim količinskim limitima, ali i to je i više nego dovoljno da servis isprobate te nešto i naučite.
Nakon što ste spremni komercijalno iskoristiti mogućnost servisa Azure Machine Learning, na raspolaganju vam je takozvani Standard paket, gdje vam je obračunska jedinica sat korištenja infrastrukture potrebne za izvođenje eksperimenata te količina poziva webservisa. Ukoliko želite odmah koristiti Standard paket, na raspolaganju vam je besplatno probno razdoblje, u kojem nemate nikakvo vremensko ograničenje
u izvođenju procesa te u količini podataka koje želite koristiti u učenju i predikciji. Također je zgodno napomenuti da svi oni koji žele posve besplatno isprobati servis ne moraju ostaviti podatke o kreditnoj kartici (što u suprotnom često zna imati negativan učinak na odluku korisnika o korištenju servisa). Jedini uvjet korištenja je to da posjedujete Microsoftov Account, a ako ga i nemate, možete ga besplatno aktivirati.
Šećer na kraju - povezivanje vašeg modela s vanjskim svijetom uz pomoć web-servisa REST
unutar ostalih Microsoftovih proizvoda. Neki od algoritama dostupnih out of the box su: Scalable Boosted Decision trees, Bayesian Recommendation systems, Deep Neural Networks, Decision Jungles itd. Tu je također i podrška za poznati Vowpal Wabbit, uvelike poznat u open-source svijetu strojnog učenja. Servis Azure Machine Learning nudi algoritme za binarnu i multiklasifikaciju, regresiju i klastering tehniku, i sve to iz web-preglednika. Ono što svakako treba naglasiti jest podrška za R, jezik vrlo popularan kod statističara i svih onih koji svoj kruh zarađuju rudarenjem nad podacima. Unutar ML studija možete uvesti svoje vlastite R skripte ili iskoristiti preko 350 standardnih biblioteka već ugrađenih u sustav Azure Machine Learning te ih koristiti u kombinaciji s gore navedenim algoritmima. Kako je proces strojnog učenja tradicionalno timski rad, studio Azure ML pru64
WD MREŽA 2015
ža vam mogućnost suradnje više osoba nad istim eksperimentom. Time sam rad nad podacima, algoritmima i procesima treniranja, evaluiranja i ocjenjivanja može biti podijeljen između više osoba.
Azure ML API
Nakon što ste uspješno kreirali vaš eksperiment unutar studija ML te dobili model koji zadovoljava vaše potrebe i koji je sposoban s velikom točnošću predvidjeti rezultat, potrebno ga je povezati s vašom frontend aplikacijom koju želite učiniti “pametnom”. Tu nastupa Azure Machine Learning API, servis koji vam omogućuje da postavite svoje modele u obliku skalabilnih web-servisa. Web-servisi koje Azure ML generira su, u naravi, REST API servisi koji zapravo pružaju sučelje i komunikaciju između vaše aplikacije i modela dobivenog strojnim učenjem, a sve uz pomoć već dobro poznate platforme Azure.
Postoje dvije vrste servisa i načina korištenja web-servisa: takozvani Batch Execution servis (BES) za asinkroni pristup i rezultat, gdje šaljete veći broj upita na obradu te Request Response pristup (RRS) za sinkroni rezultat, gdje šaljete jedan upit i dobivate jedan odgovor. Važno je napomenuti da ne postoji limit u veličini ulaznih podataka koji se prenose preko API sučelja samom modelu strojnog učenja. Pristup BES je koristan u slučaju kada imate veliki broj ulaznih podataka ili kada se ti podaci nalaze unutar nekog servisa kao Azure Storage ili Hadoop cluster, a pristup RRS je primjeren kada nam je rezultat potreban što prije ili kada neki drugi proces ovisi o rezultatu naučenog modela predviđanja. Servis API može biti postavljen u takozvani staging ili production mode. Promjena jednog u drugi i obrnuto dostupna je u obliku jednog klika na portalu Azure. Za korištenje samog web-servisa potrebno je pri svakom pozivu uključiti vrijednost pristupnog ključa, koji se automatski generira pri kreiranju servisa API te je dostupan preko portala. Ključ u bilo kojem trenutku možete resetirati te tako limitirati korištenje servisa API, a time i samog modela, aplikacijama kojima vi želite. Jedna od vrlo zgodnih mogućnosti servisa Azure ML, odnosno modula API jest mogućnost automatskog generiranja uputa za korištenje web-servisa. Osim uputa te detaljnih specifikacija API pristupnih točaka, sustav generira primjere kôda za C#, R i Python pomoću kojih možete odmah pristupiti i testirati sučelje prema modelu strojnog učenja.
Budućnost
I pticama je na grani jasno da se već sada nalazimo u vremenu kad strojno učenje ima veliku ulogu u svakodnevnom korištenju. Svaki dan više puta koristimo servis koji u pozadini koristi proces strojnog učenja, a da toga nismo niti svjesni. Bilo da se radi o rezultatima web-pretraživanja koje je stroj prilagodio korisniku na temelju njegovih prethodnih upita, ili predviđanju vremenske prognoze, sadašnjost već pokazuje a budućnost će potvrditi kako strojno učenje većinom donosi dobrobit čovječanstvu. I ono što je najvažnije za sam kraj jest činjenica da je Microsoft ovim servisom dokazao da strojno učenje više nije dostupno samo nekolicini ljudi, već ga je na jedan jednostavan i zabavan način približio većem broju developera, koji će odsad moći unaprijediti svoje aplikacije bez ogromnih novčanih ulaganja i resursa. To je svakako dobro, jer vrijeme će pokazati da nas čekaju još pametnije aplikacije i uređaji. A ovo je tek početak…
Razvoj aplikacija Xamarin.Forms
Višeplatformski razvoj P Petar Kovačević
Brz i jednostavan razvoj nativnih iOS, Android i Windows Phone aplikacija unutar Microsoftovog ekosustava? Nikad bolje vrijeme za biti C# developer…
otreba da se zadovolji sve veći broj heterogenih platformi i napravi klijent za svaku od njih, danas je stvar svakodnevice. Razvoj takvih složenih sustava zahtijeva mnogo resursa, znanja i vremena, a paralelno rastu tržišta, razvijaju se i tehnologije koje pokušavaju pojednostaviti razvojni proces - napravi jednom, ciljaj što više. Uz more, u nekim scenarijima nezadovoljavajućih, HTML5/JS radnih okvira, unutar Microsoft zajednice proteklih je godina tehnologija Xamarin stekla posebnu popularnost. Mnogo je razloga za po-
pularnost Xamarina, no najveći od njih jest činjenica da nam on otvara razvoj Android, iOS i OSX aplikacija koristeći C# jezik i njegove moderne konstrukte, .NET biblioteke i Visual Studio. Na raspolaganju nam je potpuni pristup nativnom API-u platforme za koju razvijamo, dostupnom izravno unutar C# kôda. Ono što nam ta pokrivenost garantira jest da će stvari izvedive u nekakvoj prirodnoj razvojnoj okolini, biti izvedive i na Xamarinu. Da, konačan produkt našeg rada je aplikacija koja se teško može razlikovati od nativnog rješenja pisanog u Objective C-u ili Javi, što vizualno, što performansama, što svojim životnim ciklusom i načinom interpretacije na samom sklopovlju. Na iOS platformi, Ahead-of-Time kompajliranjem Xamarin.iOS aplikaciju direktno pretvaramo u nativni ARM kôd dok je izlaz iz Android projekta klasična .apk datoteka s IL-om koja se tada Just-inTime kompajlira na samoj platformi prilikom pokretanja aplikacije.
Razvoj na platformi Xamarin
Prednost razvoja na Xamarin platformi nad klasičnim razvojem je u tome što nam Xamarin omogućuje zajedničku crtu kod, u suštini, različitih tehnologija - Android, iOS i OSX razvoj poprima zajednički jezik i velik podskup zajedničkih klasa za obavljanje čestih zadataka (pristup mreži, datotečnom sustavu i sl.). Zahvaljujući tome, velik
Visual Studio i Xamarin - Visual Studio proširuje se s Android i iOS projektima
WD MREŽA 2015
65
Razvoj aplikacija Xamarin.Forms
Arhitektura tipične Xamarin aplikacije prije izlaska Xamarin.Formsa
dio funkcionalnosti možemo napisati samo jednom, a poslije dijeliti između različitih rješenja. Koliko će funkcionalnosti biti djeljivo, ovisi, naravno, o vrsti problema i vještini programera. Na stranicama Xamarina pronaći ćemo podatak o 60-80% djeljivog kôda, što je otprilike precizan podatak i u praksi. Ove brojke još su bolje kod Xamarin. Forms aplikacija, ali njih ćemo upoznati nešto kasnije. Za dijeljenje koda postoje dvije strategije, zajednički kod može se držati u PCL-ovima (Portable Class Library) ili dijeljenim projektima (Shared Library). Ako se odlučimo za PCL, dijeljena funkcionalnost nalazi se u zasebnom projektu i pakira se u svoj dll koji zatim referenciramo u konkretnim projektima.
Ovaj pristup je zgodan ako, primjerice, razvijamo nekakvu biblioteku koju planiramo dijeliti dalje. Nedostatak je taj što nam je funkcionalnost znatno ograničena profilom koji smo odabrali. Stvari koje inače možemo normalno koristiti u Android i iOS projektima, možda neće biti dostupne u PCL projektu upravo zbog ograničenja profila (npr. System. IO.File). Druga opcija su dijeljeni projekti koji se prilikom kompajliranja poput parazita integriraju u matični projekt. Budući da se prilikom kompajliranja glavnog projekta dijeljeni kôd smatra njegovim dijelom, moguće je koristiti direktive kompajleru kao vrlo dobro sredstvo odvajanja kôda specifičnog za pojedinu platformu. Ovo predstavlja najjednostavniju, ali i najfleksibilniju
opciju koju smo prvi put imali prilike vidjeti kod univerzalnih aplikacija, a zamjenjuje stari način u kojem su se datoteke dijelile putem datotečnih poveznica (engl. file linking). Kôd koji se sigurno neće moći dijeliti klasičnim Xamarin pristupom vezan je uz razvoj stvari specifičnih za pojedinu platformu poput izrade korisničkog sučelja, ali i obične funkcionalnosti koja zadire direktno u API platforme (pristup kameri, senzorima uređaja i sl.). Poseban pothvat predstavlja razvoj korisničkih sučelja. Ovisno o složenosti, taj dio razvoja najčešće predstavlja udarac na resurse i rokove jer sa sobom nosi i potrebu za znanjem specifičnim za platformu na kojoj se radi. Vizualni elementi najčešće su definirani kroz XML, a životnim ciklusom i logikom upravlja odgovarajući objekt pisan u C#, ovisno o kojoj platformi govorimo (UIViewController na iOS-u ili Activity na Androidu). Iako različiti, većina procesa i elemenata kod razvoja korisničkog sučelja ipak se može generalizirati, pa tako nedavno proširenje Xamarin.Formsi napada i taj dio razvoja te pokušava pojednostaviti i ujediniti razvoj korisničkog sučelja za sve tri glavne mobilne platforme - Windows Phone, Android i iOS. Zahtjev je i dalje isti - produkt mora biti nativna aplikacija.
Neke stranice i okviri za raspored dostupni unutar Xamarin.Formsa
66
WD MREŽA 2015
drugog. Elemente koristimo kako bismo opisali univerzalno sučelje, a Xamarin.Forms se dalje brine da se sve to uspješno odigra na platformi za koju je namijenjeno. Generični elementi translatiraju se u svoje nativne verzije i sve jednostavno radi. Interno, Xamarin je opremio svaku platformu renderer objektima čija je zadaća upravo napraviti tu translaciju. Na ulazu se očekuje Xamarin.Forms element, a na Model-View-ViewModel - obrazac za razdvajanje korisničkog sučelja od modela i poslovne logike izlazu nas čeka nativni element platforme koji odgovara danoj definiciji. Svi Xamarin. definirati koristeći C# kôd, ali i XAML. Forms elementi imaju po jedan renderer Univerzalna korisnička Valja napomenuti da se radi o Xamarin objekt za svaku platformu koji ga intersučelja sa Xamarin. specifikaciji XAML-a u kojoj postoje pretira. Ono što nam Xamarin dodatno odstupanja od Microsoftove inačice. omogućuje je definicija i registracija Formsima Xamarin.Formsi predstavljaju dodatni Na raspolaganju imamo skup generič- vlastitih renderera koji tada mogu zasloj apstrakcije korisničkog sučelja nad nih elemenata koje možemo koristiti. mijeniti one osnovne. Ovo je izrazito klasičnim Xamarinom, omogućujući nam Tu imamo sve što nam treba - gumbe, korisno kada želimo uvesti vizualne da u jednom potezu definiramo sučelja labele, forme za unos, kontejnere za specifičnosti na razini platforme ili kada za sve tri platforme. Sučelja možemo raspored drugih elemenata i mnogo nam treba dodatna dimenzija uređivanja budući da smo najfleksibilniji prilikom opisa nativnog elementa direktno na samoj platformi. C#/XAML, MVVM i Data Binding Iako značajno ubrzava i pojednostavljuje stvari, Xamarin.Formsi ipak ograosvježenim podacima Od ostalih stvari koje praktičniji pristup pisanje ničavaju inicijalnu fleksibilnost upravo ili da se korisnički unos treba spomenuti, C# kôda, što radi količine zbog visoke razine apstrakcije na kojoj u formi na prozoru vezanih za samu dostupne dokumentacije, razvijamo. Za nešto složenija sučelja trenutno pojavi u izradu korisničkog što radi prirode razvojne sami Xamarin.Formsi možda neće biti modelu. Neobično je sučelja, podržan je data okoline, no to, nažalost, dovoljni, ali zato ih se najčešće komzadovoljstvo vidjeti binding za povezivanje kod složenijih sučelja binira s klasičnim Xamarin pristupom. prvi put na djelu data modela s kontrolama može postati poprilično Xamarin.Forms stranice vrlo se jednobinding u Android ili iOS u oba smjera. Predlažu mrsko. stavno mogu integrirati ili kombinirati aplikacijama. se obrasci poput Sve u svemu, tehnologija u postojećim Xamarin rješenjima, stoga U trenutku pisanja MVVM-a (Model-Viewmožda nije još dosegla su najčešći oblici hibridni projekti koji uzimaju najbolje iz oba svijeta. ovog teksta, nažalost, ViewModel), a to sve potpunu zrelost, ali Osim zajedničkih sučelja, zajedničpisanje XAML-a i nije jako podsjeća na već nosi sa sobom ogroman ka je i pozadinska logika koja njima baš najsretnije rješenje, uhodani razvoj XAML/C# potencijal. U svom prvom upravlja. Često je potrebna obrada koja barem ne u Visual .NET aplikacija. I zaista, izdanju daje nam više traži nativnu podršku platforme. Stvari Studiju. Visual Studio ne vrlo smo blizu. Data nego zadovoljavajuće specifične za jednu platformu ne modolazi s podrškom za binding funkcionira na mehanizme žemo referencirati u dijeljenom dijelu i automatsko dovršavanje klasičan način, trebamo apstrakcije sučelja i tu se javlja problem. Za takve slučajeve kôda, pa se na kraju model koji implementira dolazi kao poželjno Xamarin.Forms ima na raspolaganju sve svodi na kucanje INotifyPropertyChanged proširenje klasičnog DependencyService objekt čija je zaXML-a u mrtvom editoru. sučelje kako bi Xamarina. Razvijanje daća asociranje neke prethodno opisane Alternativa je pisanje zainteresiranim za više platformi funkcionalnosti s implementacijom veobjektima mogao javljati XAML-a u Xamarin na Microsoftovom zanom uz platformu izvođenja. Ideja je Studiju. U obje razvojne promjene u podacima. ekosustavu nikad nije sljedeća - dijeljeni kôd definira sučelje okoline ne postoji Izmjene na jednoj strani bilo jednostavnije. Onaj koje opisuje funkcionalnost, a zatim je dizajner niti preglednik propagiraju informaciju glavni dio je ovdje, a svaka platforma dužna ponuditi svoju napisanog XAML-a, pa pretplaćenim objektima, proširenja, alati, dizajneri implementaciju opisanog. Unutar platćete rezultate svoga što omogućuje, i slična pomagala mogu formske implementacije slobodni smo rada moći vidjeti tek s primjerice, vizualnim se sigurno očekivati u koristiti i referencirati sve što želimo. pokretanjem aplikacije. elementima da se skoroj budućnosti. U dijeljenom kôdu, poziv odgovaraTrenutno je nešto trenutno nacrtaju s juće implementacije dobivamo preko depdendency service objekta. WD MREŽA 2015
67
Razvoj aplikacija Razvoj u oblaku ili na lokalnim resursima
VS Online ili lokalni Team Foundation Server?
razlike, a sve s ciljem definiranja smjernica za lakši odabir koji je primjeren upravo konkretnim potrebama svakog tima.
Lokalna instalacija TFS-a predstavlja stabilnu i provjerenu opciju, a VS Online, uz većinu standardne TFS funkcionalnosti, nudi i značajne novosti. Razvojni timovi koji imaju dvojbu oko odabira jedne ili druge opcije, bilo da se radi o inicijalnom odabiru za potrebe rada na novim projektima ili o migraciji s postojećeg TFS-a na VS Online, trebaju donositi odluke na temelju specifičnih potreba svog razvojnog procesa i najboljih praksi
Ana Roje Ivančić i Ognjen Bajić
T
eam Foundation server (TFS) Microsoftova je inačica sveobuhvatnog okruženja za upravljanje životnim ciklusom aplikacije (Application Lifecycle Management - ALM), u kojem imamo klasičnu instalaciju serverskih i klijentskih komponenti. Visual Studio Online (VS Online, VSO) je, pak, (Microsoftov) skup servisa i usluga u oblaku koji implementira većinu standardnih TFS funkcionalnosti, zbog čega se često neslužbeno naziva “TFS u oblaku”. Međutim, VS Online se odlikuje nizom nadogradnji i proširenja u odnosu na TFS, uz različite specifičnosti okruženja koje proizlaze iz činjenice da se radi o usluzi SaaS u oblaku (Software as a Service). Razvojni timovi koji se nalaze u poziciji da biraju između ova dva slična, ali i bitno različita moderna sveobuhvatna ALM okruženja, trebaju jasne kriterije za odluku kada treba “ostati kod kuće”, kada se treba “preseliti u oblak”, a kada je možda oportuno “sjediti na dvije stolice”. Ovaj članak donosi pregled i usporedbu glavnih karakteristika oba okruženja, s naglaskom na njihove sličnosti i
Informacije o statusu VS Online servisa promptno se ažuriraju
68
WD MREŽA 2015
Malo povijesti
Sve je počelo u rano ljeto 2004. godine, kada je na TechEd US konferenciji Microsoft najavio rad na alatu za timsku kolaboraciju - Team Foundation Server. Dvije godine kasnije napokon je isporučena njegova prva verzija - TFS 2005. Bilo im je potrebno tri godine za pripremu druge verzije - TFS 2008, i još dvije za isporuku treće verzije. Osim što su im razvojni ciklusi bili dugotrajni, Microsoft je imao problema s kvalitetom, prioritetima i ostvarivanjem zacrtanih planova. Bilo je jasno da im je potrebna radikalna promjena načina na koji razvijaju softver. Stoga su poslali razvojne timove natrag u školu te postupno uveli agilni način razvoja s trotjednim iteracijama i isporukama nakon svake iteracije. Tako česte isporuke nisu bile moguće za proizvod koji se instalira na servere
Usporedna tablica
Team Foundation Server
Visual Studio Online
Sustav za verzioniranje (Version Control) Upravljanje i vođenje projekata (Agile Planning and Collaboration) Prilagodba procesnog predloška Izgradnja novih verzija (Build) Upravljanje testiranjem (Test Case Management) Izvještavanje (Reporting)
Ograničeno
Integracija sa SharePointom Lab Management Upravljanje isporukama verzija (Release Management)
Ograničeno
Application Insights Load testing u oblaku Standardni klijenti Heterogeni razvoj (Eclipse, Git) Serverska infrastruktura i jednostavnost instalacije
Vlastiti resursi koje je netrivijalno instalirati i konfigurirati
Koriste se gotove usluge u sklopu servisa uz mogućnost dodatnih plaćenih resursa
Uz podešeni HTTPS pristup
Uvijek i svuda preko HTTPS-a
Struktura projekata
Neograničene kolekcije/projekti/timovi
1 kolekcija/Neograničeni projekti/timovi
Licenciranje
5 besplatnih računa + MSDN pretplate + besplatne licence za dionike
5 besplatnih računa + MSDN pretplate + besplatne licence za dionike + dodatni računi s mjesečnom naplatom
Integracija s Active Directoryem
Integracija s Azure Active Directoryem Microsoft računi (Live ID)
Podaci spremljeni lokalno
Podaci spremljeni u oblaku u podatkovnim centrima u SAD-u ili u EU
Lokalna infrastruktura za Backup/ Restore zahtijeva redovitu administraciju
Automatska usluga u sklopu servisa
Periodične nadogradnje (svaka 3 do 4 mjeseca) Provodi se planski
Česte nadogradnje (svaka 3 tjedna) Automatska nadogradnja bez interakcije korisnika
Dostupnost preko Interneta
Korisnici i prava (Identity and Permissions) Sigurnost i privatnost podataka Sigurnosne kopije (Backup) Nadogradnja i održavanje (Upgrade and Maintainance)
Usporedba glavnih značajki okruženja TFS i VS Online
kod krajnjeg korisnika, pa su osmislili novi proizvod - TFS u oblaku, odnosno Visual Studio Online. Tako je nastao hibridni agilni pristup razvoju dva proizvoda koji se zasnivaju na istoj bazi kôda, ali uz različite kadence isporuke: VS Online se isporučuje svaka tri tjedna, a TFS otprilike svaka tri mjeseca. Većinu novih funkcionalnosti Microsoft prvo razvije za VS Online, nakon čega prati povratne informacije od korisnika o njihovoj upotrebi i inkrementalno proširuje funkcionalnosti, sve dok one ne postanu potpuno stabilne i zaokružene. Tada ih uključe u sljedeću kvartalnu nadogradnju TFS-a.
Započnimo s nekoliko referenci. Microsoftovi razvojni timovi koji proizvode Visual Studio i TFS (tzv. Developer Division) u su potpunosti prihvatili agilne metode rada i prešli na česte isporuke novih verzija svojih proizvoda. Timovi pritom u svojem radu intenzivno koriste upravo VS Online okruženje, čime sami koriste i testiraju svoj konačni proizvod (dogfooding). Sve to jasno dokazuje činjenicu da je to okruženje u stanju zadovoljiti nimalo trivijalne zahtjeve razvojnih timova koji broje na tisuće članova.
Instalacija, nadogradnja, održavanje Krenimo od samog početka, od podešavanja okruženja i početka rada. Ovdje je VS Online u velikoj prednosti pred TFS-om kad su u pitanju jednostavnost i količina vremena potrebnog da tim efektivno započne raditi. VS Online račun se dobiva besplatno, a za priključivanje svih članova razvojnog tima i članova ostalih rola uključenih u razvojni proces, na raspolaganju stoje različite opcije licenciranja. I to je otprilike to! Sljedeći su koraci isti kao i kod lokalne TFS instalacije, a svode se na kreiranje WD MREŽA 2015
69
Razvoj aplikacija Razvoj u oblaku ili na lokalnim resursima o sigurnosti i privatnosti korisničkih podatka.
Klijentske aplikacije
Upravljanje korisničkim računima svodi se na kombiniranje besplatnih računa, MSDN licenci i razina pristupa s mjesečnom naplatom
timskog projekta, organizaciju rada na projektu, programiranje izvornog kôda i sve što dalje prirodno slijedi u procesu razvoja softvera. Ključni trenutak u gore opisanom scenariju predstavlja vaš “odlazak u oblak”. Svi koju su imali prilike instalirati i konfigurirati s TFS-om znaju da je za njega, kao i za svaki drugi serverski proizvod, potreban nemali trud oko postavljanja okruženja, optimiziranja hardverskih resursa i podešavanja parametara. Nakon toga je serverski sustav i sve njegove komponente potrebno redovno nadzirati i aktivno se brinuti o sigurnosnim kopijama. Proces nadogradnje sa starih na nove verzije servera tijekom povijesti se pokazao kao netrivijalna aktivnost, pogotovo za projekte koji su radili velike prilagodbe procesnih predložaka. Uz VS Online, sve ove administrativne aktivnosti prestaju biti vašom brigom. Vi softver koristite kao uslugu, pa je Microsoftu, kao pružatelju usluge, preostalo brinuti se o njezinoj kvaliteti. Serverski resursi su vam u potpunosti izvan fokusa, nadogradnje dobivate redovito svaka tri tjedna, a sigurnosne kopije vaših podataka arhiviraju se u obliku trostrukih kopija na tri fizički odvojena servera, s dinamikom inkrementalnih kopija svakoga sata i potpunih kopija svakoga dana. Microsoft vam licenčnim ugovorom jamči dostupnost od 99.9%, a statistike pokazuju da je servis u posljednje dvije godine imao dva veća i nekoliko manjih zastoja u radu, koji su svi riješeni unutar osam sati, i na kojima su u trenutku nastanka odmah započeli raditi njihovi najkompetentniji ljudi. 70
WD MREŽA 2015
Dakle, vama ostaje samo da nadzirete stanje servisa, što vam omogućuje da se fokusirate na učinkovito korištenje servisa tj. okruženja, a ne na njegovo održavanje. Aspekt sigurnosti uvijek je škakljiva tema, pogotovo iz razloga što su donedavno bili na raspolaganju samo VS Online serveri na američkom tlu, čime su vaši podaci bili podložni američkom zakonodavstvu. No danas imamo i servere u Europi, pa možete slobodno birati gdje želite otvoriti vaš VS Online račun. Osim toga, krajem prošle godine Microsoftov je razvojni tim za VS Online stekao ISO 27001 certifikat, koji dokazuje da njihov razvojni proces zadovoljava visoke kriterije glede brige
Ljepota pristupa uslugama u oblaku proizlazi iz činjenice da su vam one dostupne uvijek i svugdje preko HTTPS protokola. Stoga vašem VS Online portalu možete pristupati preko Team Web Access sučelja, gdje god imate pristup Internetu, bez ikakvog posebnog konfiguriranja. Naravno da je i TFS moguće otvoriti prema van, no to zahtijeva dodatne administrativne aktivnosti i podešavanje HTTPS pristupa. Iz perspektive Visual Studija kao klijenta za pristup na VS Online, nema razlike u odnosu na pristup TFS okruženju, s time da je podržan pristup iz svih verzija alata od Visual Studija 2008 naviše. Razvoj kôda i dalje se primarno odvija unutar Visual Studija. Nedavnim dodavanjem podrške za funkcionalnost Code Lens analizatora i za kôd pohranjen u VS Online (uz uvjet da radite s VS 2013.4 ili VS 2015 Preview), za razvojnog inženjera je otklonjena i posljednja razlika u radu s kôdom unutar oba repozitorija. Web Access sučelje nad oba repozitorija ima ugrađen vrlo jednostavni editor kôda, pa u nuždi možete promijeniti pokoju liniju i kroz web-preglednik. Microsoft Excel i Project neće se pobuniti ako ih spojite na VS Online i pružit će vam istu funkcionalnost kao da radite s TFS-om. Ako vaš tim koristi Git kao sustav za verzioniranje u VS Online, možete se nesmetano spajati pomoću bilo kojeg Git klijenta, što osim Visual Studija, uključuje, primjerice, Eclipse i Xcode.
Mitovi i istine Već smo istaknuli da TFS i VS Online dijele istu bazu kôda, pa se velika većina scenarija upotrebe alata i praksi u okruženju odnosi na obje varijante. Zato možemo reći da VS Online nije potpuno novi proizvod, ali da istodobno posjeduje razne nadogradnje i proširenja, koja ga čine novim i drugačijim. S druge strane se
postavlja pitanje budućnosti TFS-a: Hoće li TFS eventualno otići u mirovinu? Činjenica da se mnogo intenzivnije radi na VS Online funkcionalnostima, kako se sustav često nadograđuje te da je Microsoft migrirao dio razvojnih timova na ovu platformu, dovoljna je da brojni korisnici TFS-a postanu sumnjičavi. No,
veliki broj postojećih i budućih korisnika TFS-a je dovoljan razlog da Microsoft ne planira umiroviti TFS. Dosadašnja praksa je pokazala da nadolazeće nadogradnje TFS-a uvijek sadrže većinu novih funkcionalnosti dodanih u VS Online, što znači da Microsoft i dalje intenzivno radi i na ovom okruženju.
Upravljanje i vođenje projekata Agilni alati pružaju isto iskustvo rada, neovisno o tome koristite li TFS ili VS Online. U slučaju da je vaš proces razvoja softvera kompleksan i da ga ne možete modelirati korištenjem jednog od triju ugrađenih procesnih predložaka (Scrum, Agilnog i CMMI), tada VS Online ne može zadovoljiti vaše potrebe. Naime, za timske projekte koji žive u oblaku nije moguće editirati i prilagođavati vrste radnih stavki i njihove osobine, kao ni bilo koje druge procesne postavke, osim ako mogućnosti takve prilagodbe nisu ugrađene kao funkcionalnost (primjerice, bazna pravila ne uključuju prikaz bugova na backlog listama, ali je to moguće konfigurirati kroz postavke). Kako je potražnja za funkcionalnošću prilagodbe predloška velika, Microsoft ju drži visoko na listi prioriteta, ali bez najave kada bi ona mogla biti dostupna na VS Online. VS Online ne podržava integraciju sa SharePoint portalom. Također ne podržava izvještavanje temeljeno na SQL Reporting serveru, pa osim niza ugrađenih grafova (Burndown, Velocity), za jednostavno izvještavanje na raspolaganju imate grafove temeljene na analizi stvarnih svojstava vaših radnih stavki (Work Item Charts).
Izgradnja novih verzija bez muke Jedna on najvećih prednosti VS Online okruženja u odnosu na TFS je gotova infrastruktura za izgradnju novih verzija vaših aplikacija (Build). Na raspolaganju vam stoji usluga izgradnje na agentima u oblaku, na kojima su već instalirane sve softverske komponente potrebne za izgradnju različitih vrsta standardnih aplikacija poput Windows, Office, Java ili mobilnih aplikacija. Potpunu listu komponenata možete naći na službenim VS Online stranicama. Kako na agentskim strojevima ne možete dobiti administratorska prava, na njih ne možete ništa instalirati, niti konfigurirati svojstva za koja su potrebna administratorska prava (npr. postaviti certifikate i sl.). Ako prethodna ograničenja ne predstavljaju problem za izgradnju vaših aplikacija, ispunjeni su osnovni preduvjeti za korištenje izgradnje u oblaku. Rezultate procesa izgradnje možete spremati unutar sustava za verzioniranje (Source Control) ili direktno na server, odakle ih, prema potrebi, možete preuzimati. Opisana infrastruktura omogućuje vam da u vrlo kratkom roku postavite vaš au-
Upravljanje procesom isporuke Skup serverskih i klijentskih alata za upravljanje procesom isporuke pod imenom Release Management došao je kao sastavni dio TFS 2013 okruženja. Nakon što na vašoj lokalnoj infrastrukturi instalirate i podesite alate, na raspolaganju imate mehanizme kojima možete oblikovati najsloženije procese isporuke kroz niz stadija od razvoja do produkcije. Hardversku i softversku infrastrukturu na kojoj se odvijaju pojedini stadiji isporuke morate, naravno, sami osigurati, konfigurirati i održavati, no imate potpunu slobodu oko toga kako i gdje isporučujete. Na VS Online se s druge strane tek nedavno pojaNove funkcionalnosti se transparentno najavljuju i agilno ugrađuju vila usluga Release Mau VS Online i TFS s kadencama od 3 tjedna i 3 mjeseca nagement servisa za oblikovanje procesa isporuke tomatizirani proces izgradnje koji sadrži iz oblaka, koji zna raditi s VS Online, osnovne provjere kvalitete (automatske ali i s TFS serverom. Ovdje vam nije potestove i analizu kôda). Pritom ste u treban Release Management server koji potpunosti oslobođeni brige o alokaciji morate imati u lokalnom TFS okruženju. i održavanju serverske infrastrukture po- Koncept oblikovanja procesa isporuke trebne za izgradnju verzija. Vaši zahtjevi sličan je kao za lokalni TFS, uz činjenicu za izgradnjom ulaze u redove čekanja da Release Management servis, za sada i izvršavaju se na prvom slobodnom verzije izgrađene na hostanim agentima, agentu u oblaku. Nakon što je vaša nova može samo isporučivati u Azure virtualverzija izgrađena, agent se oslobađa za ne strojeve u oblaku. Servis je u ovom narednu aktivnost. trenutku u testnoj fazi, ima na raspolaU slučaju da se vaš proces izgradnje ganju samo mali broj gotovih aktivnosti ipak odlikuje nekim posebnostima koje koje možete koristiti u procesu isporuke nisu podržane na hostanim agentima, i može se oblikovati samo kroz Visual tada bez problema možete povezati Studio sučelje. No, Microsoft je najavio svoj server za izgradnju s VS Online da radi na integraciji alata u VS Online kolekcijom, bilo da se radi o vašem sučelje, dodavanju mogućnosti isporuke lokalnom serveru ili o Azure virtualnom na lokalne strojeve i oblikovanju dodatstroju te raditi u svojevrsnom hibridnom nih aktivnosti isporuke. okruženju. Tada se morate sami brinuti o vašim serverima za izgradnju, na isti Load testing način kao što to morate i pri lokalnoj u oblaku instalaciji TFS-a. Load testing funkcionalnost se u osnovi Uz besplatni VS Online račun (5 besplatnih računa, neograničeni broj nije promijenila od 2005. godine. Još MSDN licenci i neograničen broj li- tada smo mogli upotrijebiti bilo koji cenci za dionike) imate mjesečno na web-test (snimljeni ili programirani) i raspolaganju 60 minuta za izgradnju definirati broj simuliranih računala na na hostanim agentima, što je dovoljno kojima će se test izvršavati. Koliko god za početak, ali ne i za ozbiljniji rad. je testiranje web-aplikacija pod opteDodatni angažman agenata možete rećenjem važno, dosad se nedovoljno platiti prema broju minuta utrošenih za koristilo iz jednog jednostavnog razloga izgradnju vaših verzija, što ne uključuje - bilo je teško osigurati hardverske resurse za takvu vrstu testiranja. Tijekom vrijeme provedeno u redu čekanja. WD MREŽA 2015
71
Razvoj aplikacija Razvoj u oblaku ili na lokalnim resursima Licenciranje
Najpopularnije
Dionici (Stakeholders)
Osnovna (Basic)
Profesionalna (Professional)
Napredna (Advanced)
MSDN pretplatnici (MSDN Subscribers)
Pregled dashboarda
Upravljanje dashboardima
Same as Basic plus:
Same as Basic plus:
Osnovna:
Upravljanje radnim stavkama
Upravljanje radnim stavkama Pristup repozitoriju kôda
Mjesečna licenca za Visual Studio Professional
Upravljanje povratnim informacijama od korisnika (Feedback)
Uvid u ploču sa zadacima i Kanban ploču (Task and Kanban Boards)
Upravljanje backlog listama Planiranje iteracija
Upravljanje testovima iz web-sučelja
Upravljanje pločom sa zadacima i Kanban pločom (Task and Kanban Boards)
Visual Studio Professional s MSDN pretplatom Napredna: Visual Studio Ultimate s MSDN pretplatom Visual Studio Premium s MSDN pretplatom
Interaktivno komentiranje
MSDN Platforme
Automatizacija izgradnje novih verzija (Build automation with CI)
Visual Studio Test Professional s MSDN pretplatom
Upravljanje backlogom portfelja (Portfolio backlog Management) Upravljanje testovima iz web-sučelja Izrada grafova za radne stavke (Work Item charts) Pristup virtualnim timskim sobama BESPLATNO Neograničeni broj
$45 Mjesečno po korisniku
$20 Mjesečno po korisniku Svaki VS Online račun uključuje 5 besplatnih korisničkih licenci
izvršavanja testova potrebno je mnogo resursa, koje odmah nakon završetka testiranja možemo osloboditi, što idealno odgovara opisu usluge u oblaku. Danas izvršavanje load testova iz Visual Studija 2013 možemo prepustiti VS Online servisu, koji će za nas pribaviti virtualne agente iz Azurea i iskoristiti ih za njihovo izvršavanje. Time su load testovi napokon postali svima lako dostupni. Za početnike postoji i jednostavna web-forma kojom se lako konfigurira osnovni load test, bez potrebe detaljnog konfiguriranja web-testa. Svaki VSO račun dobiva 20 tisuća besplatnih virtualnih korisničkih minuta izvršavanja load testova mjesečno, što je dovoljno za simulaciju 250 korisnika koji tijekom 80 minuta izvršavaju testove. Dodatne resurse za izvršavanje testova je, naravno, moguće kupiti. 72
WD MREŽA 2015
$60 Mjesečno po korisniku
Uključeno Mjesečno po validnoj MSDN pretplati
Pregled plaćenih razina pristupa na VS Online servis - Microsoft nudi i unajmljivanje Visual Studija uz mjesečnu pretplatu, što je pogodno u slučaju da trebate licencu na ograničeno vrijeme
Migracija ili kako doći do oblaka? Cijelo vrijeme naglašavamo da postoje velike sličnosti između VS Online i lokalne TFS instalacije, pa je logično očekivati da se postojeći TFS server može preslikati u oblak i tamo nastaviti raditi. To, nažalost, nije jednostavno i donedavno nije ni bilo moguće. Tek je otprije nekoliko mjeseci moguće besplatnim alatom OpsHub ostvariti prijenos dijela sadržaja. Alat migrira radne stavke, promjene u kôdu (changesetove), testne slučajeve i rezultate izvršavanja testova, zajedno s poviješću promjena, ali samo ako niste mijenjali procesni predložak vašeg TFS timskog projekta. Migracija u suprotnom smjeru, sa VS Online natrag na TFS, i dalje nije moguća. Naša preporuka pri ovakvim migracija-
ma je ostaviti povijest na starom TFS-u, a sve podatke migrirati preuzimajući samo njihovu najnoviju vrijednost (tip migration). Tako je i Microsoft DevDiv tim radio kada su prelazili na VS Online.
U oblaku, lokalno ili hibridno? Odluka o tome hoćete li koristiti lokalni TFS, Visual Studio Online ili neko hibridno rješenje koje će uključivati oba sustava, nije niti laka niti jednostavna. S ciljem da vam olakšamo odlučivanje, u nastavku navodimo različite argumente za i protiv svake od ovih mogućnosti. Ako razvojni tim nema pristup Internetu ili ako veza s Internetom nije dovoljno dobra i pouzdana, ili, pak, ne želite ovisiti o spoju na Internet, TFS je jedino rješenje. Isto vrijedi i za slučaj kada iz bilo kojeg razloga (sigurnost, politika
Licenciranje i korisnici Za pojedince i timove do pet članova korištenje VS Online potpuno je besplatno, pa svi oni koji žele isprobati i testirati rad u ovom okruženju mogu to učiniti bez dodatnih troškova. Za svakog sljedećeg člana prava pristupa proizlaze iz njegove Visual Studio ili MSDN licence, i moguće je registrirati neograničeni broj takvih licenci. Dodatno vam na raspolaganju stoji neograničeni broj takozvanih licenci za dionike (Stakeholder licenses) koje su besplatne, ali imaju ograničenja u radu s okruženjem, jer su uistinu namijenjene članovima
tima koji žele imati samo uvid u vaš projekt. Dakle, osim nabavke MSDN licence, koje ionako morate imati da biste za razvoj koristili Visual Studio, možemo zaključiti da VS Online može biti besplatan i za velike timove. Ako potrebe vašeg razvojnog tima nisu u potpunosti pokrivene gore opisanim varijantama, tada dodatno na raspolaganju imate tri plaćene razine pristupa: osnovnu, profesionalnu i naprednu razinu. Tako, primjerice, najpopularnija osnovna razina omogućuje rad s radnim stavkama, backlog listama, izvještajima i
tvrtke) ne želite stavljati svoje podatke na Internet (izvorni kôd, dokumente i sl.). Odlučit ćete se za TFS i kada trebate neku od integracija koju VS Online ne podržava (SharePoint, Project Server, SCVMM), što je ponekad moguće zaobići uvođenjem hibridnog rješenja ili radom bez integracije (npr. VS Online
grafovima, pregledavanje kôda u web-pregledniku, pokretanje izgradnji novih verzija te izvršavanje testova u webpregledniku, i sve to za 20 USD mjesečno po članu tima. Članove tima je moguće registrirati korištenjem njihovih Microsoftovih računa (nekadašnjih Live ID računa) i oni imaju prava pristupa onim funkcionalnostima koje su pokrivene njihovom MSDN licencom. Osim toga, moguće je preko servisa Azure integrirati Active Directory i VS Online, pa se korisnici mogu spajati i preko svojih organizacijskih računa.
i samostalni lokalni SharePoint server). Ako vam je potrebna modifikacija procesnog predloška, trenutno nemate izbora već se odlučiti za TFS. Microsoft je najavio da radi na podršci za prilagodbe predložaka i u VS Online. Želite li isporučivati verzije vaših aplikacija u lokalna okruženja, u ovom
trenutku to možete samo uz TFS i lokalni Release Management server. Release Management servis u VS Online zasad može samo isporučivati verzije izgrađene na hostanim agentima u Azure virtualnim strojevima, ali je Microsoft za drugi kvartal 2015. najavio podršku za isporuke i u lokalna okruženja. Kada imate vlastitu hardversku infrastrukturu i IT ekspertizu koju želite iskoristiti, upotrijebit ćete lokalni TFS. Ako vam nije prihvatljivo da nemate fallback scenarij, jer eksport iz VS Online u TFS nije moguć, također ćete ostati na lokalnom TFS-u. Želite li izbjeći trajne troškove pretplate za VS Online usluge, možete razmotriti lokalnu instalaciju TFS-a, koja podrazumijeva jednokratne troškove nabavke hardvera i trajan trošak održavanja. S druge strane, za VS Online ćete se vjerojatno odlučiti ako imate maleni distribuirani tim. U tom slučaju jednostavno postižete odličan omjer između dobivene funkcionalnosti uslijed brze instalacije, lake i bezbolne dostupnosti svih resursa, i brzog početka učinkovitog rada, naspram budućih administrativnih aktivnosti vezanih uz taj sustav. Sigurno ćete odabrati VS Online i u slučaju kada želite uvijek raspolagati najnovijim funkcionalnostima okruženja i trajno koristiti prednosti automatske nadogradnje na najnoviju verziju. Postoji niz situacija u kojima je optimalno rješenje, pak, spoj dviju krajnosti - hibridno okruženje koje se sastoji od TFS-a i VS Online servisa. Primjerice, ako za većinu usluga koristite VS Online, ali aplikacije izgrađujete na vlastitoj infrastrukturi, ne morate plaćati Microsoftu za minute virtualnih agenata za izgradnju. U sličnoj ste situaciji i ako uz lokalni TFS koristite usluge servisa specifičnih za VS Online, poput load testiranja i Application Insights telemetrije i analitike, čime dobivate najbolje iz oba svijeta.
Odluka je na vama
Web sučelje za jednostavno pokretanje load testova na VS Online agentima u oblaku
Bilo da je vaš tim malen ili velik, kolociran ili distribuiran, radi prema agilnim metodama ili tradicionalno, koristeći lokalni TFS, njegovu verziju u oblaku - Visual Studio Online ili hibridno rješenje koje predstavlja njihovu mješavinu, učinkovitije ćete razvijati softver, vaš tim će bolje surađivati i brže ćete isporučivati nove verzije vašim krajnjim korisnicima. Odaberite najprikladnije rješenje za vas, temeljeno na specifičnim potrebama vašeg razvojnog procesa, što zahvaljujući informacijama iz ovog članka, neće biti teško. WD MREŽA 2015
73
Softver Azure AD Premium
Početna web-stranica za konfiguriranje Azure AD Premium usluge s prikazom korisnika koji ima aktivnu licencu za korištenje
Active Directory kakav ne poznajete Azure Active Directory (Azure AD) specijaliziran je dio Azure platforme za upravljanje korisničkim identitetima. Azure AD Premium, pak, proširuje besplatno dostupne funkcionalnosti Azure AD-a s naprednim funkcionalnostima upravljanja i administracije te je kao sastavni dio Enterprise Mobility Suitea (EMS) jedna od tri komponente za upravljanje mobilnim uređajima
Tomislav Poljak
J
ednostavna implementacija i brza integracija kroz sve Microsoft Enterprise cloud servise trebaju osigurati da Azure AD Premium postane središnja komponenta u upravljanju identitetima s naprednim funkcionalnostima upravljanja i izvještavanja. Active Directory je skalabilan, robustan i pouzdan imenički sustav, koji se prema svojoj hijerarhiji nije bitno mijenjano od trenutka kada je predstavljen s Windows Serverom 2000. Tijekom godina korištenja Active Directory (dalje AD) doživio je nekoliko poboljšanja, no neke zahtjeve zbog svoje robusnosti nije mogao ispuniti. Tako je i dalje ostao prilično zatvoren pri omogućavanju autentikacije i zajedničkog korištenja korisničkih identiteta za sustave
koji su izvan fizičkog dosega lokalnog AD okruženja, prije svega zbog činjenice da je povezivanje dva ili više AD sustava prilično kompleksna radnja. Dio navedene funkcionalnosti omogućen je pojavom Active Directory Federation Services, softverske komponente koja uspješno povezuje web ili aplikativne sustave i omogućuje zajedničko korištenje, kao što je primjerice, povezivanje dviju zasebnih Lync organizacija u zajedničku federaciju. Idući veliki korak u otvaranju Active Directory okruženja dogodio se kroz Azure Active Directory te pojavom Microsoftovih cloud servisa Officea 365, Azurea i Intunea. Azure AD Microsoftova je usluga koja omogućuje upravljanje identitetima i pravima pristupa kroz oblak. Azure AD može biti samostalni imenički sustav za pojedinu organizaciju, ali se može i
Pregled stanja pretplata na cloud servise gledano s Office 365 portala. U ovom pogledu na licence potrebno je pratiti datum isteka i ukupan broj dodijeljenih licenci
74
WD MREŽA 2015
integrirati s on-premise AD sustavima. Omogućavanje proširivanja on-premise AD-a na cloud AD ostvaruje se pomoću Directory Synca, softvera koji sinkronizira on-premise AD objekte, korisnike i grupe, u Microsoftov Azure AD.
Tri inačice Azure AD-a
Jedan Azure AD korisnički račun dovoljan je za upravljanje svim Microsoftovim cloud servisima. Osiguravanje dijeljenja jednog identiteta za više servisa strateška je prednost za Microsoft te bitno olakšava povezivanje i prilagodbu pristupa aplikacijama kroz omogućenu Single sign-on (SSO) funkcionalnost. Implementacijom SSO funkcionalnosti omogućuje se korištenje samo jednog seta prijavnih podataka (korisničko ime i lozinka) za prijavu na cijeli niz različitih SaaS aplikacija kao što su Salesforce, Dropbox, DocuSign, Concur i mnoge druge. Uz besplatnu razinu Azure AD usluge (Free), možemo koristiti i dodatne dvije komercijalne razine usluge: Basic i Premium. Basic razina usluge proširuje besplatnu komponentu s funkcionalnostima Selfservice identity managementa, kao što su samostalno resetiranje lozinke za cloud aplikacije, podešavanje razine pristupa za grupne korisničke račune, Azure AD Application proxy za objavu on-premise web-aplikacija, prilagodba web-portala s vlastitim logom, bojama i prilagođenim tekstom opisa te korisnički SLA 99,9% za usluge iz clouda. Izdvajamo mogućnost resetiranja lozinke koja ima vrlo široku primjenu među korisnicima jer reducira broj poziva prema helpdesk odjelu pri potrebi resetiranja lozinke ili kada smo ju zaboravili. Među korisnicima je vrlo dobro prihva-
ćeno SLA jamstvo dostupnosti od 99,9% za Azure AD, čime dostupnost AD objekata s pripadajućim atributima najednom postaje mjerljiva usluga za krajnje korisnike. Azure AD Premium najviša je razina Azure AD usluge. Ova inačica Azure AD platforme sadržava sve do sada nabrojane mogućnosti, uz neke nove poput naprednog izvještavanja, Multi-Factor autentikacije aplikacija, Microsoft Identity Management (MIM) funkcionalnosti, napredni Azure AD Application Proxy, a odnedavno i novu mogućnost Password reset with write-back. S Azure AD Premium funkcionalnostima možemo reći da je Microsoft maksimalno proširio on-premise AD mogućnosti prema cloud sustavima i osigurao impresivne funkcionalnosti u upravljanju identitetima.
Premium funkcionalnost za Premium korisnike
Korištenjem naprednih sigurnosnih izvještaja i upozorenja iz skupa Azure AD Premium pratimo pristup i korištenje aplikacija u oblaku. Kroz daljnju evidenciju možemo prikazati anomalije i nedosljedna ponašanja aplikacija, a napredni izvještaji pomažu nam dodatno povećati sigurnost aplikacija zbog potencijalnih prijetnji. Izvještaji koji pokazuju pristup aplikaciji s neautoriziranim korisničkim računom, pristup aplikaciji od više korisnika pomoću jednog dijeljenog korisničkog računa, pristup s uređaja koji nije upravljiv od internog IT-a, ili pristup aplikacijama sa sumnjive IP adrese, korisne su funkcionalnosti pomoću kojih IT administratori prate kvalitetu izvršavanja poslovnih aplikacija. Administratori sustava, dodatno, često ko-
riste kreiranje većeg broja Audit izvještaja, ili automatsko slanje obavijesti na e-mail na preddefinirane vrijednosti izvještaja. Multi-Factor autentikacija (MFA) koja je uključena u Azure AD Premium pomaže nam osigurati pristup lokalnim LOB aplikacijama, uključujući pristup na VPN i Radius, Microsoftovim cloud servisima kao što su Office 365, Azure, CRM Online te tisućama drugih nemicrosoftovih cloud servisa koji se mogu povezati s Azure Active Directoryjem. Implementacijom MFA korisnici će prilikom pristupa biti provjereni dodatnom razinom autentikacije, a za pristup je potrebno prethodno preuzeti adekvatnu MFA aplikaciju za autentikaciju, koja je dostupna za Windows Phone, Android i iOS smartfon uređaje. Dodatna sigurnost uz prethodno upisano korisničko ime i lozinku kroz MFA autentikacijski mehanizam, može se ostvariti automatskom Push notifikacijskom porukom ukoliko se pristupa s unaprijed registriranog uređaja ili generiranjem One-Time OATH Passcode, čime se osigurava unos jedinstvene kombinacije potrebnih znakova. Osim navedenih, Azure MFA može nazvati korisnika na njegov registrirani broj, nakon čega korisnik mora unijeti PIN ili drugačiju kombinaciju potrebnih znakova, odnosno može se korisniku poslati jedinstveni kôd u obliku SMS poruke.
Active Directory za odlikaše
Sljedeća je vrlo bitna karakteristika Azure AD Premium usluge licencno pravo korištenja Microsoft Identity Managera (MIM), na čiju se funkcionalnost najviše oslanjamo u korištenju Office 365 Hybrid modela ili u upravljanju mobilnim i tablet uređajima kroz Windows Intune. MIM, novi naziv
Usporedni prikaz tri različite edicije Azure AD-a: Free, Basic i Premium. Sve napredne funkcionalnosti dostupne su bez ograničenja jedino uz Azure AD Premium
WD MREŽA 2015
75
Softver Azure AD Premium Gdje se koristi Azure AD Premium? Osim samostalnih funkcionalnosti koje su detaljno opisane u glavnom tekstu, Azure AD Premium izvrsno se naslanja na cloud servise Office 365 i Intune. Korisnici Officea 365 će kroz Azure AD Premium dobiti pristup mnogim naprednim scenarijima korištenja pomoću kojih će maksimizirati administraciju ovog servisa. S druge strane, korištenje određenih scenarija za
korisnike Windows Intunea gotovo da nije moguće bez Azure AD Premiuma. Napredni izvještaji, praćenje distribuiranih mobilnih aplikacija, Multifactor autentikacija za administratore i napredne korisnike te, možda i najvažniji dio, Single Sign-on funkcionalnost kroz sve uređaje i za sve aplikacije, proširuju doseg funkcionalnosti Intune u Mobile Device
Managementu (MDM) i Mobile Application Managementu (MAM). Upravo zbog navedenih scenarija korištenja od sredine prošle godine korisnicima je dostupan za naručivanje Enterprise Mobility Suite (EMS), skup proizvoda koji se sastoji od zasebnih proizvoda Windows Intunea, Azure RMS-a i Azure AD Premiuma. Azure AD Premium moguće
Za upravljanje mobilnim uređajima potrebno je upravljati korisničkim identitetima kroz sve Microsoft cloud servise. Sve to može Azure AD Premium
za poznati proizvod Forefront Identity Manager (FIM) osigurava Self-service i Single sign-on (SSO) funkcionalnost za proizvoljne on-premise ili preddefinirane cloud aplikacije, ali i upravljanje identitetima kroz heterogene sustave, forsirajući korporativne korisničke identitete prateći korištenje na upravljivim uređajima. S obzirom na to da Service Level Agreement (SLA) nije dostupan u besplatnoj inačici Azure AD, kroz uslugu Azure AD Premium korisnici ostvaruju zajamčenu razinu korištenja Azure AD usluge. Svaka eventualna nedostupnost sustava automatski se kumulativno izračunava, a brojčana vrijednost korištenja Azure sustava prikazuje status tijekom promatranog razdoblja. Posljednja tehnička mogućnost koja je odnedavno dostupna u paketu Azure AD Premium funkcionalnosti jest Password 76
WD MREŽA 2015
reset with write-back, čime je omogućeno resetiranje korisničkih lozinki kroz cloud aplikacije ili servise te automatsko usmjeravanje promijenjene lozinke na on-premise sustav. Ovo je ujedno i jedna od vrlo rijetkih mogućnosti povratnog zapisivanja korisničkih atributa iz cloud prema on-premise sustavu. Korisnici Microsoftovih cloud usluga i u budućnosti mogu očekivati implementacije novih funkcionalnosti kroz postojeće besplatne ili komercijalne razine usluga Azure AD pa je tako nedavno najavljena delegacija upravljačkih prava kroz definirani AD subnet, primjena prava samo na odabranom broju korisnika, dodavanje 3rd party aplikacija u Azure AD, postavljanje sigurnosnih pitanja kao dodatnog mehanizma za oporavak korisničke lozinke (za slučaj da nije moguće koristiti MFA),
je kupiti kao zaseban proizvod standardnim naručivanjem Microsoftovih licenci ili direktno s webstranica korištenjem kreditne kartice. Ukoliko u vašem poslovnom okruženju koristite Office 365 ili planirate upravljati mobilnim uređajima, tada bi naručivanje Azure AD Premiuma kroz EMS trebalo biti financijski povoljnije pa svakako provjerite cijenu punog EMS paketa.
Za prijavu s korisničkim računom zahtijevana je Multi-factor autentikacija. Kôd za prijavu poslan je kao SMS poruka na broj mobilnog telefona korisnika
te Health status monitor za praćenje onpremise infrastrukture.
Ima li još toga?
Za korištenje opisanih Azure AD Premium funkcionalnosti potrebno je imati odgovarajuću licencu, čija je aktivacija moguća za sve ili samo odabrane korisnike Azure AD-a. Aktivacija licence odvija se samostalno kroz Azure portal, a korisnici Officea 365 ili Windows Intunea moraju koristiti postojeći korisnički identitet. Ukoliko planirate koristiti više njih ili, pak, sve Microsoftove cloud servise, obavezno se trebate pridržavati vremenskog slijeda otvaranja cloud servisa: prvo Office 365, nakon toga Intune te kao završna dva koraka Azure RMS i Azure AD Premium. Na taj ćete način osigurati nesmetano funkcioniranje kroz sve cloud servise sa samo jednim korisničkim identitetom.
Softver Enterprise Mobility Suite
Promjena paradigme EMM - a Dominacija mobilnih platformi nad klasičnim PC platformama nije više nikakva novost čak ni površnim poznavateljima ICT trendova. Neki analitičari idu toliko daleko pa ovo razdoblje razvoja IT područja nazivaju postPC razdobljem jer smatraju da će u budućnosti mobilne platforme uvelike dominirati nad onima do sada tradicionalnim. Kako god bilo, ogromnu prisutnost mobilnih uređaja, kako u privatnom, tako i u poslovnom okruženju, ne možemo ignorirati, već za njih moramo osmisliti politiku nadzora i upravljanja, a upravo tu na scenu stupaju alati za EMM (Enterprise Mobility Management) Mate Strgačić
tracije u tržište MDM-a (Mobile Device Management).
M
icrosoft Intune, Azure Active Directory Premium i Azure Rights Management Services tri su komponente paketa EMS kroz koje Microsoft osigurava nadzor i centralnu administraciju, kako mobilnih uređaja, tako i podataka i aplikacija koje se na njima nalaze. Ako zanemarimo EAS (Exchange Active Sync), Intune je bio prvi ozbiljniji Microsoftov pokušaj pene-
Prokušane komponente
Iako prvobitno zamišljen kao cloud-based alat za nadzor klasičnih PC platformi, posebice prijenosnika, čiji su se korisnici rijetko nalazili u uredu pa ih nije bilo moguće kontrolirati preko klasične System Center platforme, Intune se u praksi pokazao kao idealan alat upravo za nadzor mobilnih uređaja. U početku su mu nedostajala neka ključna obilježja
klasičnih MDM alata poput centralne distribucije softverskih paketa, no svi su ovi nedostaci kontinuirano uklanjani kroz česte iteracije. Intune je danas prilično moćan MDM alat kroz koji možemo administrirati sve mainstream mobilne i desktop platforme, a integracijom sa SCCM-om 2012 R2 dodatno dobiva na vrijednosti jer nam osigurava jedinstveno sučelje za nadzor različite infrastrukture (poslužiteljske, klijentske, fizičke, virtualne…). Dodavanje uređaja u scope Intune alata, osim administratora, mogu obavljati i sami korisnici kroz Intune Company Portal aplikaciju, no prije toga administrator mora kreirati njihove korisničke račune unutar Intunea. Podržana je i opcija Directory
Ukoliko se odlučimo za kupnju licenci EMS-a, uštedjet ćemo 30% u odnosu na kupnju parcijalnih licenci za svaki od proizvoda koje EMS sadrži. Dodatno, ukoliko kupujete više od 250 licenci i imate Enterprise Agreement, jedna licenca će vas koštati svega 4 USD, što donosi dodatne uštede
78
WD MREŽA 2015
Synchronization s lokalnim AD DS-om ili Azure AD-om. Ova opcija omogućuje Single Sign-On karakteristiku koja korisnicima maksimalno olakšava prijavu na servis koristeći lokalno korisničko ime i lozinku. Prije nego što uređaj dodamo u Intune, moramo pažljivo odabrati odgovarajući “mobile device management authority” iz Intune web-konzole. Ova postavka definira administriramo li uređaj kroz Intune ili kroz SCCM s integriranim Intuneom te ju naknadno nije moguće modificirati. Dok za administraciju platforme Android nije potrebno ispuniti nikakve dodatne uvjete, iOS zahtjeva certifikat Apple Push Notification Service (omogućuje šifriranu komunikaciju između Intunea i mobilnog uređaja), a Windows 8.1 zahtijeva ključeve side-loading te certifikat codesigning. Valja naglasiti da svaki korisnik kroz svoj korisnički nalog može prijaviti do pet različitih uređaja za administriranje. Intune se kontinuirano nadograđuje pa ukoliko neki scenarij trenutno nije podržan, budite sigurni da će on vrlo brzo biti adresiran. Ovdje parcijalno navoditi svaku mogućnost alata Intune jednostavno nema smisla, a najbolji izvor svih relevantnih novosti vezanih za ovaj alat (i općenito za Microsoftovu EMM priču) je Enterprise Mobility blog na Technetovoj web-stranici (http:// blogs.technet.com/b/enterprisemobility/). Jednu funkcionalnost koja je u planu za prvi kvartal 2015. ipak valja posebno istaknuti. Riječ je o dodavanju prilično naprednih mogućnosti MDM u popularnu platformu Office 365. Ova bi funkcionalnost (možda je već i aktivna dok ovo čitate) trebala podržavati mogućnosti kao što su selektivno brisanje podataka s uređaja te primjenu nekih uobičajenih politika vezanih za mobilne uređaje (obavezne lozinke, zabrana WiFi profila, selektivno uklanjanje podataka i sl.). Još nije poznato koji će točno paketi Office 365 servisa dobiti ovu funkcionalnost, no za pretpostaviti je da će to biti oni iz skupine E.
Primordijalni MDM Exchange ActiveSync (EAS) je sinkronizacijski protokol koji se zasniva na protokolima HTTPS i XML, a prva stvar koja nam pada na pamet na njegov spomen je sinkronizacija email poruka, kalendara i kontakata između poslužitelja Exchange i klijentskih mail aplikacija. Tek manji broj korisnika zna da se EAS (u nedostatku boljeg rješenja) može upotrijebiti i kao rudimentarni alat MDM. Najveći je broj ActiveSync politika primjenjiv isključivo na starije operacijske sustave poput (već arhaičnog) Windows Mobilea pa ukoliko naši korisnici koriste novije Android ili iOS platforme, na prve ćemo probleme naići već u prilično ranoj fazi implementacije ovakvog rješenja. EAS bi se mogao pokazati
dobrim rješenjem ukoliko je sve što želimo propagacija rudimentarnih sigurnosnih politika (poput forsiranja kompleksnosti lozinke i sl.), no ukoliko kroz MDM želimo publicirati i određene aplikacije, EAS će biti potpuno pogrešan odabir. Veliki problem u svijetu EMM-a predstavlja neujednačenost “upravljačkih poluga” koje različite mobilne platforme nude kreatorima alata EMM. Valja naglasiti da alati EMM mogu izvršavati samo one zadaće koje im dizajneri mobilnih platformi, uz pomoć različitih upravljačkih poluga tj. API-a, omoguće. Ovo naročito dolazi do izražaja u svijetu Androida, gdje različiti proizvođači (HTC, Samsung…) implementiraju različita rješenja
iako je riječ o (barem načelno) istoj platformi. Slična je stvar i s protokolom EAS kod kojeg svaki proizvođač pametnih telefona često implementira različiti skup mogućnosti. Ukoliko od MDM funkcionalnosti želite koristiti samo postavljanje politika vezanih za lozinke i mogućnost (neselektivnog) udaljenog brisanja sadržaja pametnih telefona, EAS je dobar izbor jer je besplatan (ukoliko već koristite Exchange ili Exchange Online). Ukoliko, pak, imate mnogo kompleksnije zahtjeve od svog alata EMM/ MDM, Intune odnosno EMS bit će puno bolji izbor.
Kontrola sadržaja obavezna
Kroz tekst usporedo spominjemo akronime EMM i MDM, a ukoliko smatrate da je riječ o sinonimima - varate se. Općenito govoreći, MDM je tek jedan segment područja EMM pa tako i Intune kao alat MDM može biti tek dio rješenja EMM. Osnovne zadaće alata MDM su inventarizacija mobilnog okruženja (prikupljanje informacija o hardverskoj i softverskoj imovini) te udaljena i grupna konfiguracija različitih sigurnosnih postavki poput lozinki i sl. U ovome nam
Kroz Intune konzolu možemo odraditi klasične MDM zadaće poput udaljenog brisanja, zaključavanja ili resetiranja lozinke na pametnom telefonu.
WD MREŽA 2015
79
Softver Enterprise Mobility Suite
Aplikacije ili poveznice koje publiciramo kroz softverski repozitorij Intunea možemo grupirati na različite načine, no korisnik će na pametnom telefonu kroz Company Portal vidjeti samo one aplikacije koje mu dodijelimo i koje su adekvatne za njegovu platformu. S lijeve strane vidimo konzolu Intunea, a s desne kako publicirane aplikacije izgledaju na korisnikovom pametnom telefonu
Intune uvelike može pomoći, no kada govorimo o upravljanju dokumentima, korisničkim identitetima i aplikacijama, postoje mnogo bolja rješenja. Jedno od njih dolazi u obliku alata Azure Rights Management Services (RMS) - oblačne inkarnacije već duže vremena poznate platforme Information Rights Management (IRM). Ovaj nam alat omogućuje mogućnost Mobile Content Managementa (MCM) i u praksi provodi paradigmu koja kaže da nije važno gdje se podaci nalaze, već tko im može pristupiti i što s njima može raditi. Jednom kada nešifrirani dokumenti napuste našu organizaciju mi nad njima nemamo nikakvu kontrolu, što je za okruženja koja zahtijevaju visoku razinu sigurnosti neprihvatljivo. Implementacijom ove usluge korisnik je u mogućnosti dijeliti zaštićeni sadržaj s nekim unutar svoje organizacije ili izvan nje, s potpunom sigurnošću da će vanjski korisnik imati samo ona prava koja mu on dodjeli. Azure RMS se postavlja kao centralni autoritet kojem obje organizacije vjeruju pa je razmjena zaštićenih podataka iznimno jednostavna. Jedan od čestih kontraargumenata za implementaciju bilo kojeg cloud servisa je nadzor nad podacima. Oni podaci na koje želimo primijeniti RMS vrlo su često politički iznimno osjetljivi pa će korištenje neke cloud platforme za njihovo osiguranje biti razmatrano s popriličnom dozom skepse. Kod Azure RMS-a za ovo ne postoje valjani razlozi jer se zadaća ovog servisa svodi isključivo na manipuliranje enkripcijskim/ dekripcijskim ključevima i ni u kojem se trenutku sami podaci ne stavljaju na raspolaganje service provideru. Ukoliko Azure RMS želimo integrirati s lokalnim 80
WD MREŽA 2015
poslužiteljima te im tako omogućiti korištenje funkcionalnosti Information Rights Management (IRM), na raspolaganju nam je RMS konektor. Riječ je o iznimno “laganom” (light) servisu koji instaliramo na lokalne poslužitelje Server 2012 (R2) ili Server 2008 R2, a namjena mu je omogućiti lokalno instaliranim Exchange, SharePoint i datotečnim (FCI) poslužiteljima da komuniciraju s cloudbased servisom Azure RMS. Na ovaj si način uvelike možemo olakšati život jer nam za korištenje RMS-a više nije potrebna sva sila lokalno instaliranih servisa kao ni (složeno) uspostavljanje odnosa povjerenja s drugim organizacijama. Uz MDM i MCM, suvremeni se alat za EMM sastoji još od barem modula MIM (Mobile Identity Management) te MAM (Mobile Application Management). Dok Intune djelomično pokriva MAM (distribuciju, whitelisting i blacklisting aplikacija), a MCM dio priče rješava Azure RMS, za upravljanje identitetima (MIM) zadužen je Azure AD Premium. Riječ je o komercijalnoj verziji klasične platforme Azure Active Directory te nam, osim spomenute mogućnosti upravljanja identitetima, donosi napredne mogućnosti poput spomenute sinkronizacije s lokalnim direktorijem, višefaktorsku autentikaciju, self-service resetiranja lozinki za krajnje korisnike, brandiranje portala Azure tvrtkinim bojama i logom, SLA od 99.9%, i ostale enterprise mogućnosti.
Problematičan za analitičare
Tržište alata za EMM relativno je novo, ali i kao takvo nudi cijeli niz različitih rješenja za nadzor i konfiguraciju
mobilnih platformi. Ako pogledamo analize tržišta EMM koje svake godine rade različite respektabilne analitičke kuće poput IDC-a i Gartnera, u njima nećemo naići na Microsoftov EMS. Razlog ovome ni u kojem slučaju ne leži u inferiornosti Microsoftovog softvera, već u metodologiji njihove analize. Naime, dok većina proizvođača EMM-a svoje proizvode isporučuje u obliku jedinstvenih i kompaktnih alata, Microsoft se odlučio na malo drugačiji pristup. EMS na tržište dolazi kao paket od tri različita alata, a upravo ovaj modularni pristup je razlog zbog kojeg ga (za sada) analitičke kuće izostavljaju iz svojih analiza. Microsoft je EMS-om ozbiljno ušao u priču EMM-a te u praksi provodi svoju filozofiju“mobile first, cloud first”. Provjerene komponente, modularnost i mogućnost kombinacije s platformom SCCM 2012 R2, za koju mirne duše možemo reći da predstavlja de facto standard u administraciji klijentskih i poslužiteljskih platformi, sasvim sigurno podižu razinu sigurnosti i upotrebljivosti klijentske mobilne infrastrukture. Iako se mogu čuti prigovori da je cijela EMS infrastruktura prilično kompleksna i namijenjena isključivo većim tvrtkama, taj argument teško može proći jer zahvaljujući mogućnosti čiste cloud implementacije nije potrebno ništa administrirati lokalno, što uvelike smanjuje kapitalne troškove i kompleksnost infrastrukture. Trendovi poput BYOD-a (Bring Your Own Device) podižu letvicu za sistemske administratore pa je razvidno da EMM nije prolazni trend koji će završiti u slijepoj ulici, već na njega, sa sve zastupljenijom administracijom mobilnih platformi, moramo računati i u budućnosti.
Softver Microsoft Office 365 Zašto Evergreen?
Evergreen
u javnom oblaku Na spomen riječi evergreen, jedna od prvih misli koje padaju na pamet su ljetne večeri u kristalnoj dvorani u Opatiji i, recimo, pjesme Ive Robića koje se tamo izvode. No kad se govori o alatima za produktivnost, prva misao koja nam mora pasti na pamet je MS Office 365…
Igor Pavleković
P
osljednjih nekoliko godina, svoje mjesto u ovom posebnom izdanju - WinDays Mreži, nalazi članak koji pokriva servise okupljene u uslugama pod nazivom Microsoft Office 365. Na prvi se pogled nema štogod puno opisati i napisati o ovoj usluzi jer svima je već poznato kako se iza ovog naziva kriju alati za produktivnost, smješteni u javnom oblaku tvrtke Microsoft. Također, poznato je kako to uključuje platforme za kolaboraciju temeljene na Exchange, Lync i SharePoint poslužiteljima, no i dodatke poput Office 365 Professional Plus paketa aplikacija za instalaciju na klijentska računala, ali i Project Online, Yammer, Power BI ili Dynamics CRM Online. Za svakoga ponešto, reklo bi se. Ali također, onoliko koliko treba i koliko dugo. Tvrtke raznih profila, veličina i potreba za sebe, odnosno za svoje djelatnike i korisnike mogu pronaći alate koji će svojim djelatnicima i suradnicima omogućiti veću produktivnost, suradnju i stvaranje - ne samo dokumenata, već i ideja.
Bilo tko, tko prati strategiju, ali i poruke koje dolaze iz Microsofta, čuo je za strategiju Cloud-Frist, Mobile-First. Idealna tehnologija za prihvaćanje i demonstriranje ove strategije je upravo Office 365. Podsjetimo, ispod haube ove platforme nalaze se dobro poznati poslužiteljski proizvodi koji su korisnicima dostupni već dugi niz godina. Microsoft je upravo Exchange, Lync i SharePoint smjestio u svoj javni oblak te smo, uz dodatak određenih Azure komponenti, dobili Office 365. Ovi su poslužiteljski proizvodi gotovo identične verzije onima koje korisnici mogu instalirati u svojim podatkovnim centrima ili privatnim oblacima. No, postoji velika razlika među tim proizvodima, a to su nove funkcionalnosti. Uzimajući za primjer Exchange, tim zadužen za razvoj ovog proizvoda je na svom blogu u veljači 2013. godine najavio novi način servisiranja Exchange 2013 proizvoda. Tad je bilo rečeno nekoliko važnih činjenica - izdavat će se četveromjesečne zakrpe pod nazivom Cumulative Updates (skraćeno CU). CU sadrži potpuno novi build proizvoda koji u potpunosti radi reinstalaciju postojećeg Exchangea 2013. Osim ispravaka uočenih pogrešaka u samom proizvodu, CU sadrži i sigurnosne zakrpe, a može i uključivati nove funkcionalnosti. Ključna riječ u prethodnoj rečenici je može. Exchange tim također u svom blogu navodi kako se funkcionalnosti i ispravke uključene u CU već nalaze u Exchange Online usluzi, odnosno u Office 365 usluzi. Korisnicima usluge Office 365 će uskoro postati poznata (ako već nije), funkcionalnost naziva Clutter. Na prvi pogled radi se o isključivo Exchange usluzi koja korisnicima na temelju machine learninga omogućuje fokusiranje na važne e-mail poruke, dok se one manje važne smještaju u drugi plan. Hoće li Clutter ikad biti dostupan korisnicima s vlastitim instalacijama Exchange poslužitelja - nije poznato. Iz ovog je vidljivo kako nove funkcionalnosti u poslužiteljske proizvode dolaze prvo u svoja online izdanja te je upitno kad će i hoće li uopće biti dostupne korisnicima sa svojim vlastitim instalacijama na vlastitoj infrastrukturi u svojim podatkovnim centrima ili možebitnim privatnim oblacima.
Clutter
Koliko god neki zlobnici govorili kako je način razmjene informacija e-mail porukama zastario, trebamo biti realni i priznati da je to još uvijek dominantni način razmjene informacija unutar, ali i izvan tvrtke. Korisnički poštanski sandučići postaju sve veći i veći, kako bi slijedili povećanu količinu e-mail poruka koje korisnik dnevno prima. Korisnicima će najčešće u njihov mailbox stići poruke koje su očišćene od malwarea i nisu SPAM, no i ostatak poruka može zatrpati korisnički inbox te je potrebno uložiti određenu količinu vremena kako bi se napravilo filtriranje poruka koje su korisniku važne, a koje nisu. Tijekom godina korisnici su sami smislili WD MREŽA 2015
81
Softver Microsoft Office 365
Centralno korisničko sučelje Office Grupa
svoje načine upravljanja zatrpanim inboxom. Postoje različite metode korištenjem ručnih ili automatskih pravila. Tako se e-mail poruke mogu kategorizirati, označavati zastavicom ili premještati u odgovarajuće mape. No, nakon nekog vremena svatko od nas se uhvati u situaciji kako nije nešto napravio ili odgovorio na neku važnu e-mail poruku, zbog toga što je poruka bila smještena automatski u neku mapu te je na taj način jednostavno bila ispod radara i nije se na nju reagiralo pravovremeno. Na kraju, korisnik odlučuje isključiti sva automatska pravila, puštajući da sve e-mail poruke dolaze direktno u inbox nakon čega korisnik prolazi kroz sve dolazne poruke te trijažu radi ručno. Automatska pravila nisu dovoljno prilagodljiva zbog toga što su rigidna i ponašaju se točno onako kako ih je korisnik definirao. Idealno bi bilo kad bi prije nas te sve naše e-mail poruke netko pročitao, sortirao i poslužio nam ono što je baš tad važno, a
manje važne stvari ostavio za kasnije, u nekoj zasebnoj mapi. Kako si svatko od nas vjerojatno ne može priuštiti tajnicu ili nekoga tko će prolaziti kroz naš inbox smanjujući zbrku koja se unutra nalazi, Office 365, odnosno Exchange Online je ponudio uslugu Clutter. Temeljena na Office Graph platformi, odnosno sustavu za strojno učenje koji objedinjuje informacije iz svih proizvoda Office 365 paketa, Clutter usluga radi filtriranje važnih i manje važnih e-mail poruka. Nakon što se usluga uključi isključivo preko Outlook Web Accessa (OWA), korisniku će se u njegovu inboxu pojaviti nova mapa pod nazivom Clutter. Mapa je dostupna preko OWA-e, Outlooka ili mobilnih telefona. Nakon nekoliko dana potrebnih za učenje, sustav Clutter će korisniku automatski raditi filtriranje poruka, tako da će manje važne poruke biti prebačene u Clutter mapu. Korisnik samostalno može učiti Clutter tako da poruku koju smatra manje važnom premjesti
Postavke OWA-a kroz koje je moguće uključiti ili isključiti korištenje Cluttera
82
WD MREŽA 2015
u Clutter mapu, dok važniju poruku iz Clutter mape prebaci u inbox. Važno je napomenuti kako Clutter poštuje korisnički definirana pravila upravljanja email porukama, tako da takva pravila imaju prioritet, a ono što ostane u inboxu Clutter će preuzeti. Isto tako, kako se radi o strojnom učenju, od korisnika se očekuje da nauči Clutter koje su poruke važne, a koje nisu, za što će biti potrebno određeno vrijeme. Funkcionalnost Cluttera će biti dostupna svim korisnicima Office 365 usluge. Dodavat će se postupno, a kako ovisi o lokalizaciji Office 365 usluge, već je dostupna onim korisnicima koji imaju OWA podešen na engleski jezik.
Grupe na steroidima
Jedna od značajnijih novosti koje su se pojavile u sklopu usluge Office 365 su i Office grupe. Administratori su navikli na upravljanje sigurnosnim i distribucijskim grupama koje se koriste za različite namjene i proizvode Office poslužiteljske obitelji. Korisnici OWA-a od verzije Exchange 2010 sustava imaju mogućnost samostalno kreirati svoje distribucijske grupe, no iz prakse se može vidjeti kako administratori to korisnicima nisu dopuštali, odnosno kreiranje i upravljanje distribucijskim grupama krajnjim korisnicima je bilo duboko zakopano u postavkama OWA-a. Sredinom 2014. godine pojavila se opcija “Grupe” preko OWA-a, dostupna odmah, s lijeve strane navigacijske trake OWA sustava. To znači da je krajnjim korisnicima ponuđena mogućnost kreiranja, ali i uključenja u postojeće grupe odmah iz OWA prozora, bez obzira koriste li OWA na računalu, tabletu ili mobilnom telefonu. One stare, prethodno spomenute distribucijske grupe koje su skrivene u opcijama OWA-a su i dalje dostupne, korisnici se u njih mogu priključiti, mogu se ukloniti iz grupa,
Nije Oslo, nego je Delve odnosno mogu kreirati svoje grupe. Logično se zapitati - što su to Office Grupe? Odgovor nije baš jednostavan, a opet, s druge strane i jest. Radi se o distribucijskim grupama, koje također u pozadini imaju dijeljeni poštanski sandučić i repozitorij dokumenata. To znači da svaka Office grupa ima svoj poštanski sandučić u koji se pohranjuju razmijenjene e-mail poruke članova grupe, zajednički kalendar i OneDrive za tvrtke. Klasične distribucijske grupe na koje smo godinama navikli su izuzetno dobar i često korišten način razmjene informacija među timovima djelatnika. No, veliki problem takvih grupa leži u činjenici da ne postoji povijesna pohrana razmijenjenih poruka. Uzmimo za primjer novog djelatnika koji dolazi u tim. Taj djelatnik počinje dobivati nove e-mail poruke, međutim, nema uvida u stare, dotad razmijenjene poruke. Administratori su se prilagođavali tom problemu tako da su otvarali zasebne javne mape (engl. Public Folders), koje su služile kao arhiva distribucijskih listi, no i dalje je takav način pristupa podacima novom djelatniku predstavljao problem u traženju i konzumiranju informacija. Kod Office Grupa, korisnici na jednom mjestu imaju direktan pristup prethodnim porukama, kalendaru i datotekama. Korisnici se mogu pretplatiti na grupu tako da im dolazne poruke dolaze i u njihov inbox i u grupu, odnosno da konzumiraju poruke samo preko web sučelja grupe. Na taj je način omogućeno i budućim članovima tima čitanje prethodnih poruka, dokumenata i kalendara. Osim preko OWA sučelja, kako je spomenuto, komunikacija Office Grupa može se pratiti i pomoću Outlook klijenta. Nažalost, u postojećoj verziji Outlooka, ne postoji mogućnost dodavanja Office Grupa kao zasebnog poštanskog sandučića s direktnim pristupom mapama, već se konzumacija sadržaja radi isključivo preko dolaznih e-mail poruka. Kako većina korisnika živi u Outlooku, nadamo se kako će uža integracija Office Grupa biti što skorije uključena u Outlook. Prilikom kreiranja Office Grupe, korisnik samostalno bira alias grupe, koja automatski dobiva e-mail adresu na predefiniranoj domeni Office 365 usluge. Standardno, tako kreiranu distribucijsku grupu neće biti moguće koristiti za primanje poruka izvan našeg Exchange sustava, no dodana je mogućnost da vlasnik
Gotovo svugdje u svijetu Officea 365 moglo se čuti šuškanje o kodnom imenu Oslo. Malo se o njemu znalo, više se nagađalo. Znalo se da je to dio SharePoint platforme i da ima veze s pretraživanjem. Pričalo se kako će Oslo u potpunosti promijeniti način korištenja pretraživanja. Više je informacija postalo dostupno tijekom ožujka 2014. na SharePoint konferenciji, a finalni proizvod je pušten u produkciju tijekom rujna
2014., s tad već poznatim imenom Delve. Delve je usluga koja korisniku nudi informaciju koja ga zanima, umjesto da ju on mora samostalno tražiti. Kao i Clutter, na temelju Office Graph platforme za strojno učenje, Delve skuplja informacije iz raznih izvora poput e-mail poruka, dokumenata na OneDriveu (za poslovne korisnike) i na Yammeru. Tako će, na primjer, Delve prikazati dokumente koji su korisniku bitni za njegov budući sastanak
grupe promijeni tu postavku, kako bi grupa mogla primati poruke i od vanjskih pošiljatelja. Administratorima Office 365 sustava ostaje mogućnost onemogućiti kreiranje Office Grupa, što je moguće napraviti preko PowerShella cmdletom set-owamailboxpolicy, dakle, moguće je preko OWA Mailbox Policyja podijeliti korisnike na one koji mogu kreirati grupe i one koji ne mogu. Valja napomenuti da vlasnik grupe u bilo kojem trenutku može promijeniti dostupnost grupe, koja može biti javna ili privatna. U javnu se grupu može samostalno pridružiti bilo koji korisnik te funkcionalnost sustava pridruživanja u grupu korisnicima nije moguće isključiti. U budućnosti se očekuje već spomenuto poboljšanje integracije s klijentskom Outlook aplikacijom te je također najavljeno integriranje Office Grupa s Yammerom. Office Grupe korisnicima omogućuju brže i jednostavnije stvaranje virtualnih timova, a administratorima sustava smanjuju količinu posla i administracije.
I još mnogo toga…
Još jedna od vidljivijih funkcionalnosti Office 365 usluge je Video. Temeljena na Azure Media Servisima omogućuje tvrtkama i djelatnicima jednostavno kreiranje videoportala i videa te njihovo dijeljenje sa surad-
Status svih prošlih, postojećih i budućih funkcionalnosti koje su uključene u Office 365 roadmap
na temelju sastanka u kalendaru, odnosno neke tematike koja je dostupna i korištena u e-mail raspravama. Valja napomenuti kako će Delve prikazivati samo one informacije do kojih korisnik Delvea ima prava na pristup, čime se osigurava tajnost i dostupnost podataka. Delve nije moguće isključiti za pojedinačne korisnike, već ga je moguće omogućiti ili ne na razini kompletnog Office 365 tenanta.
nicima. Kao i svi ostali podaci pohranjeni u usluzi Office 365, i video podliježe striktnim pravilima prava pristupa informacijama, kao i Office Graph platformi za dohvaćanje i posluživanje videosadržaja koji je korisniku u tom trenutku najpotrebniji. Video će biti prilagođen uređaju s kojeg se pokreće, prilagođavajući se pritom mobilnim uređajima s manjom propusnošću internetskog prometa. No, nisu sve novosti dočekane dobro i integrirane u Office 365. Tako je izbačena funkcionalnost pojednostavljenog upravljanja uslugom jer nije naišla na odobravanje korisnika. Bez obzira na to, Office 365 tim korisnicima usluge omogućuje korištenje 15 novih usluga i funkcionalnosti, dok ih je 43 u pripremi. I to je velika vrijednost jer se korisnici usluga mogu uvijek pripremiti na promjene koje dolaze, čime se ne može dogoditi da dolaskom na posao u ponedjeljak korisnik shvati kako je određena funkcionalnost uklonjena ili u potpunosti redizajnirana. Na taj način krajnji korisnici uvijek mogu biti pripremljeni i svjesni promjena koje nastupaju. Među administratorima obično postoje oni koji ne mogu dočekati nove funkcionalnosti koje dolaze. Stoga su u Office 365 timu upravo takvim korisnicima omogućili svojevoljno sudjelovanje u programu ranih izdanja, koji prijavljenim korisnicima osigurava rapidnu dostupnost novih funkcionalnosti ubrzo nakon njihove objave. Izuzetno važan resurs za Office 365 administratore je web stranica roadmap.office. com na kojoj se mogu pronaći sve funkcionalnosti usluge Office 365 koje su puštene u produkciju, trenutno se puštaju u produkciju, u pripremi su ili su otkazane. Office 365 je evergrin platforma koja donosi nove funkcionalnosti temeljene na posljednjim alatima za produktivnost, iskorištavajući pritom portfelj ostalih usluga Microsoftova javnog oblaka, koje vrlo vjerojatno nikad neće biti dostupne korisnicima istih servisa smještenim u korisničkim podatkovnim centrima. Evergrin za glazbu je Opatija, a za produktivnost Office 365. WD MREŽA 2015
83
Softver MVVM Light
MVVM - dobra ideja život znači
Hijerahija MVVM Light klasa pokazuje kako se odnose ObservableObject, ViewModelBase, Model i ViewModel klase
Nikad lakši MVVM Iako smišljen još 2005. godine, MVVM je i danas najvažniji obrazac u razvoju aplikacija na Microsoftovoj mobilnoj platformi, što uključuje i sve popularnije aplikacije budućnosti univerzalne aplikacije temeljene na Windowsima
84
WD MREŽA 2015
Igor Ralić
azvoj softvera vrlo često znači i rješavanje nekih problema koji su već uspješno riješeni ranije. Možda se ne radi o potpuno identičnim problemima, ali je dovoljno da pripadaju istoj grupi problema da bismo pokušali pronaći obrasce, odnosno pravilnosti u rješavanju koje možemo uobličiti u apstrakcije često primjenjive i neovisno o platformi. Obrasci u razvoju softvera stoga postoje otkad je i razvoja, a isto se proteže i na .NET i Microsoftovu razvojnu platformu općenito. Pojavom WPF-a i XAML-a kao moderne i moćne platforme za razvoj aplikacija, razvila se i jednostavna ideja oblikovnog obrasca poznatog kao MVVM.
R
MV VM, o dnosno M o d el-ViewViewModel, obrazac je za oblikovanje arhitekture modernih aplikacija temeljenih na XAML kôdu za opis i definiranje korisničkog sučelja. Još 2005. godine osmislio ga je John Gossman iz Microsofta, pod utjecajem već postojećih obrazaca i ideja. Martin Fowler, koji je svoj profesionalni život posvetio proučavanju, predavanju i pisanju o dizajnu softvera, osmislio je 2004. godine Presentation Model obrazac s vrlo jednostavnom idejom - odvojiti stanje i ponašanje prezentacijskog sloja od samih UI kontrola u korisničkom sučelju. Taj prezentacijski model najjednostavnije je zamisliti kao sloj koji stoji iza sučelja, ali nije usko vezan uz to sučelje, što donosi nekoliko važnih prednosti kao što je mogućnost višekratnog korištenja istog kôda te lakše testiranje i održavanje. Naravno, korisničko sučelje i taj prezentacijski model su sinkronizirani, odnosno podaci u prezentacijskom modelu vidljivi su u sučelju, a aktivnosti korisnika poput pritiska na dugme u sučelju reflektiraju se u prezentacijskom modelu. Iako idejno sličan, Gossmanov MVVM je specijalizacija Fowlerovog Presentation Modela utoliko što je zamišljen na bazi WPF-a, odnosno XAML-a za opis i definiranje sučelja. Treba ipak naglasiti da su do danas razvijene i JavaScript biblioteke, poput KnockoutJS-a, koje koriste iste MVVM, odnosno Presentation Model koncepte. John Gossman već je u to vrijeme shvatio da u razvoju modernog softvera postoji potreba za odvajanjem dizajna korisničkog sučelja od razvoja logike koja se nalazi iza tog sučelja - razvojni inženjeri, ruku na srce, često nisu najbolji dizajneri pa je u idealnom slučaju bolje da to odradi netko drugi. Pojavom XAML-a i WPF-a, to je odjednom postalo puno lakše nego prije, a donijelo je i druge prednosti kroz novi koncept data bindinga, mehanizma koji omogućuje elegantno povezivanje korisničkog sučelja i programskog kôda, odnosno logike u pozadini. To povezivanje može biti jednosmjerno, što znači da se promjena podataka u kôdu reflektira u sučelju; ili dvosmjerno, što znači da se i promjena podataka u sučelju (primjerice unos teksta u polje) reflektira u Modelu, odnosno podacima koji stoje iza sučelja.
Tri mušketira
Naziv obrasca otkriva nam tri sloja u MVVM aplikacijama - Model, View i ViewModel. Model sadrži poslovnu
logiku, podatke, odnoza kompleksna korisnička sno domenski model koji sučelja treba razmisliti i o predstavlja stanje nekakvih razbijanju ViewModela na podataka s kojima radimanje klase. mo u aplikaciji. Recimo Čest je i stav da je MVVM da radite aplikaciju koja zbog troška postavljanja pokazuje bazu studenapretjerano kompleksan za ta nekog fakulteta. Jedna jednostavne aplikacije. Kaklasa Modela u tom bi ko bi se taj dio demistifislučaju bila klasa Student. cirao, a razvoj baziran na Model ne zna i ni na koji MVVM obrascu popularinačin ne referencira ostale zirao i olakšao, razvijeno slojeve, zbog čega se lako je nekoliko biblioteka koje odvaja i višestruko koristi. sadrže klase koje pojednoKlase Modela mogu imstavljuju i ubrzavaju impleplementirati sučelja poput mentaciju. Najpopularnije INotifyPropertyChanged i su zasigurno MVVM Light, InotifyCollectionChanged, Caliburn.Micro, Prism (iako čime se otvara mogućnost je puno više od biblioteke, slanja obavijesti korisničPrism ovdje navodimo jer Načelni prikaz MVVM arhitekture, odnosno tri sloja - Model, View i ViewModel kom sučelju kada dođe je popularan u enterprido promjene u nekom se aplikacijama), Simple svojstvu ili kolekciji podataka. MVVM Toolkit i mnogi drugi. Mi ćemo View je najjednostavnije zamisliti kao platformi, dostupnim API-jima i ostalom. se u nastavku fokusirati na MVVM korisničko sučelje - svi oni vizualni MVVM je obrazac, ideja kako postaviti Light, koji je vrlo lagan za korištenje, elementi koje korisnik vidi i s kojima arhitekturu aplikacije. Malo što je oko ali izrazito moćan i dostupan za sve vrši interakciju, poput prozora, stranica MVVM-a izvorno zapisano u kamenu XAML platforme - od WPF-a pa sve do i kontrola (gumbi, polja za unos teksta i - podložno je interpretaciji, problemu univerzalnih aplikacija temeljenima na druge). Upravo je XAML idealan za lako koji rješavamo, pa čak i navikama i do- Windowsima. Zbog toga je odličan izbor i brzo definiranje korisničkog sučelja, a govoru unutar tima koji razvija softver. za sve one koje razvijaju aplikacije u uz to podržava i koncept data bindin- Primjerice, vrlo često se na društvenim XAML/C# jezicima. ga. Korisničkom sučelju kažemo gdje mrežama i blogovima raspravlja o tome može tražiti podatke koje želi prikazati koliko je code-behind sučelje veliko zlo Perolak pristup u svojim kontrolama (to se zove postav- i treba li ga u potpunosti izbaciti, dok MVVM Light je toolkit, odnosno bibliljanje konteksta - ViewModel postaje u isto vrijeme postoji na stotine pitanja oteka otvorenog kôda (kôd je dostupan kontekst za sučelje), što nam omogu- na Stack Overflowu o tome kako nešto na mvvmlight.codeplex.com, a licenca ćuje da u samim kontrolama možemo napraviti na “MVVM način” jer se stalno je MIT) koja olakšava primjenu MVVM-a referencirati svojstva tog ViewModela javljaju novi izazovi u razvoju aplikacija. u aplikacijama. Autor je Laurent Bugnion (konteksta). Code-behind se pokušava Stoga treba naći ravnotežu - ako je nešto (na Twitteru poznat kao @lbugnion - tominimizirati ili potpuno izbaciti kako strogo vezano uz korisničko sučelje jed- pla follow preporuka svima onima koje se ne bi stvarala ovisnost između kori- ne platforme i preskupo je i dugotrajno zanima razvoj aplikacija za Windows sničkog sučelja i ostale logike. U nešto to prilagođavati “MVVM načinu”, možda platformu!), inače i Microsoft i Xamarin jednostavnijim demo aplikacijama može code-behind i nije najveće zlo? MVP. Biblioteka je odnedavno u verziji 5 se samo izravno povezati View i Model te osim isključivo Microsoftovih razvojpomoću data bindinga i tako preskočiti Nesavršenosti nih platformi od ove verzije podržava i Xamarin, zbog čega postaje zanimljiva ViewModel sloj. i svima onima koji žele razvijati multiStvarnost je ipak nešto drugačija. Dio koje to možda i nisu Ništa u životu nije savršeno, pa tako ni- platformske mobilne aplikacije u C#-u. podataka iz Modela može se izravno povezati s korisničkim sučeljem, međutim je ni MVVM. Često je odmah u početku Osim što MVVM Light možete dodati mogu postojati podaci koje je nemoguće razvoja potrebno pisati i kopirati puno u projekt kroz Nuget, dolazi i u obliku mapirati izravno s kontrolom, a ponekad relativno dosadnog kôda da bi se stvari ekstenzije za Visual Studio, tako da su klase Modela već definirane na teme- dobro postavile. Primjerice, sve klase se već pri pokretanju novog projekta lju servisa i nemamo dovoljno kontrole ViewModela, a često i Modela, mora- može odmah postaviti osnovna MVVM nad njima. Osim toga, uvijek želimo ju moći obavijestiti korisničko sučelje struktura. Kako bi se spriječilo pomalo dosadno izvršavati neke metode koje nisu dio kada se dogodi promjena u podacima. korisničkog sučelja, ali nisu ni dio jedne Kako bi to funkcioniralo i kako bi data ponavljanje kôda kao što je implemenspecifične klase Modela. Upravo se tu binding radio, sve te klase moraju im- tacija INotifyPropertyChanged sučelja, postavlja međusloj, ViewModel, koji plementirati INotifyPropertyChanged MVVM Light nudi implementaciju kroz sadrži prezentacijsku logiku - svojstva i sučelje. Osim toga, s obzirom na to da nekoliko korisnih metoda okupljenih u ponašanja potrebna za prikaz i interak- je u aplikacijama često spajanje prema klasu ObservableObject. Observableprincipu jedna stranica u aplikaciji - Object koristan je kao bazna klasa za ciju s korisnikom kroz View. I to je zapravo cijela mudrost MVVM- jedna ViewModel klasa, ViewModel većinu klasa Modela čija su svojstva a. Sve više od toga su specifičnosti klase mogu postati prevelike, čime se data bindingom povezana s korisničkim rješavanja pojedinih problema, ovisno o ruši separation of concerns princip, pa sučeljem i trebaju ga obavijestiti o proWD MREŽA 2015
85
Softver MVVM Light
mjenama u podacima. Osim za klase Modela, ObservableObject je bazna klasa i za ViewModelBase klasu, još jednu korisnu klasu iz MVVM Light biblioteke koja služi kao bazna klasa za sve ViewModel klase koje implementiramo. ViewModelBase klasa posebna je po tome što ima svojstvo IsInDesignMode. To se svojstvo može iskoristiti za provjeru je li aplikacija u dizajn modu (u Visual Studiju ili Blendu) te u tom slučaju možemo iskoristiti dummy podatke kako bi se sučelje dizajniralo u što većoj mjeri bez pokretanja aplikacije ili dohvaćanja podataka iz baze ili web-servisa. Kako bismo izbjegli event handlere koji se aktiviraju kroz korisničko sučelje aplikacije (jer ih je teško testirati i funkcionalno odvojiti od tog istog sučelja), u MVVM-u se kroz klase koje implementiraju ICommand sučelje koje teži svojevrsnom mapiranju eventa i metode iz ViewModel klase. Za slučaj kada platforme nemaju klasu koja implementira ICommand sučelje, MVVM Light donosi klase RelayCommand, odnosno RelayCommand. Jedna od dvojbi koja se nameće prilikom MVVM razvoja je gdje i u kojem trenutku napraviti inicijalizaciju ViewModel objekata. MVVM Light donosi koncept ViewModelLocatora, singletona koji je između ostalog zadužen za registraciju ViewModel klasa te sadrži sve ViewModele kao javna svojstva. S obzirom na to da je singleton i da se definira kao statični resurs u aplikaciji, DataContext kontrola u korisničkom sučelju može se izravno povezati data bindingom na te ViewModele. Ideja da kôd pišemo jednom, a pokrećemo neovisno o platformi, izvrsno se slaže s IoC (inversion of control) konceptom. IoC znači da stvaranje i održavanje instanci koje su potrebne nekoj klasi (primjerice, nekoj klasi ViewModela) nije zadaća te klase već nekog vanjskog objekta, kontejnera. Na taj način, s obzirom na to da uvijek postoje razlike između platformi, ViewModel radi sa sučeljima, a konkretne implementacije, gotovo uvijek različite od platforme do platforme, predaje mu netko drugi. To se postiže kroz injekciju ovisnosti (dependency injection) u konstruktor ViewModel klasa (constructor injection). IoC kontejnera je mnogo, a MVVM Light dolazi s vrlo jednostavnom implementacijom nazvanom SimpleIoC, koja je dovoljna za većinu slučajeva. Za slučaj kad nam je potrebno nešto više, ili smo jednostavno naviknuti na neki drugi IoC kontejner, moguće je napraviti zamjenu. 86
WD MREŽA 2015
MVVM Light ekstenzija može se integrirati u Visual Studio, stoga je već pri pokretanju novog projekta moguće odabrati MVVM Light tip aplikacije
Šlag na tortu
Često pitanje koje se javlja u MVVM razvoju je kako komunicirati između komponenti koje ne znaju jedna za drugu, kao što su različiti ViewModeli. Zato MVVM Light uvodi koncept Messengera. Jedna komponenta može se registrirati za primanje poruke određenog tipa unutar aplikacije. Kada neka druga komponenta pošalje poruku tog tipa, onda sve komponente koje su se registrirale dobiju tu poruku i mogu na temelju nje nešto napraviti. Registriranje za primanje poruke određenog tipa, kao i slanje poruke, obavlja se preko Messengera. Obavezno treba napomenuti da je dobra praksa izbjegavati slanje i primanje osnovnih tipova, kao što je boolean. Razboritije je definirati vlastite tipove, čime smo sigurniji da nećemo zabunom poslati poruku komponenti kojoj ta poruka nije namijenjena. Ovakav način komunikacije vrlo je moćan, a dobro znamo da s velikom moći dolazi i velika odgovornost - vrlo brzo se u velikom broju registracija i slanja poruka može izgubiti nit tako da se mogu pojaviti bugovi, curenje memorije, a naknadno takav kôd može biti vrlo teško održavati. Stoga - oprez! Od verzije 5, posljednje verzije MVVM Light biblioteke, dostupna su i dva nova sučelja: IDialogService i INavigationService te konkretne implementacije tih sučelja za sve podržane platforme. Svaka mobilna aplikacija u nekom trenutku treba pokazati dijaloški okvir, međutim implementacije tih okvira razlikuju se od
platforme do platforme. Također, svaka mobilna aplikacija treba i navigaciju od stranice do stranice, a ni tu implementacije nisu iste. Ovako je sada moguće vrlo jednostavno kroz SimpleIoC u konstruktore ViewModela umetnuti konkretne implementacije navedenih sučelja, bez da ih sami iznova moramo pisati.
MVVM - da ili da?
Dvojba je gotovo nepostojeća - uz MVVM vežu se svi pozitivni koncepti u razvoju softvera: lako testiranje, lako održavanje, višekratno korištenje istog kôda (olakšan multiplatformski razvoj) te lako dizajniranje sučelja. MVVM je obrazac, način na koji možemo oblikovati arhitekturu aplikacije kako bismo postigli sve upravo spomenute prednosti. Konkretna rješenja pojedinih problema, kao što su u prethodnim odlomcima spomenuta inicijalizacija ViewModel objekata ili komunikacija između nepovezanih ViewModela, danas se implementiraju na različite načine, ovisno o biblioteci koju koristimo ili projektu na kojem radimo. MVVM Light biblioteka rješava navedene probleme na jednostavan, ali moćan način, ostavljajući nam puno kontrole, ali i odgovornosti za kôd koji pišemo. Uz snagu zajednice oko biblioteke, poput blog postova, Stack Overflow pitanja i odgovora te društvenih mreža, te uz otvorenost samog kôda biblioteke, MVVM Light se nameće kao jedan od najboljih izbora za razvoj aplikacija temeljenih na MVVM-u.
Najmanji mogući MVVM primjer Pretpostavimo da želimo napraviti jednostavnu aplikaciju koja će pokazati popis studenata nekog fakulteta te za to želimo koristiti MVVM Light. Zamislimo i da imamo samo jednu klasu Modela, klasu Student, te da o svakom studentu znamo samo ime i prezime. public class Student { public string FirstName { get; set; } public string LastName { get; set; } }
Sve studente prikazat ćemo na jednoj, glavnoj stranici u aplikaciji, stoga imamo samo jedan ViewModel koji drži kolekciju studenata. Ovdje ne rješavamo problem dohvaćanja studenata iz nekog izvora podataka, već samo koristimo dizajn opciju i popunjavamo kolekciju studentima. public class MainViewModel : ViewModelBase { private ObservableCollection students; public ObservableCollection Students { get { return students; } set { Set(ref students, value); } }
}
public MainViewModel() { if (IsInDesignMode) { this.Students = new ObservableCollection { new Student { FirstName = “Igor”, LastName = “Ralic”}, new Student { FirstName = “Zana”, LastName = “Horvat”}, new Student { FirstName = “Ivan”, LastName = “Ivanovic”}, new Student { FirstName = “Marko”, LastName = “Markovic”} }; } }
Pretpostavimo da je DataContext stranice postavljen na instancu MainViewModela (preko ViewModelLocator singletona). DataContext=”{Binding Main, Source={StaticResource VMLocator}}” Tada pomoću data bindinga jednostavno možemo povezati listu u korisničkom sučelju s kolekcijom iz MainViewModela. Rezultat je dizajn mod u kojem imamo listu studenata te možemo lako mijenjati predložak koji definira dizajn liste. Ovo je vrlo jednostavan primjer, gotovo najmanji moguć, ali dobro pokazuje na koji se način mogu iskoristiti neke komponente MVVM Lighta kao što je ViewModelBase klasa kako bi se izbjegla implementacija INotifyPropertyChanged sučelja i kako bi se lako dizajniralo korisničko sučelje aplikacije kroz Visual Studio ili Blend (IsInDesignMode svojstvo) Rezultat primjera je lista četiri studenta, koju možemo jednostavno dizajnirati i bez pokretanja aplikacije
WD MREŽA 2015
87
Tehnologije Klaster i pohrana u sljedećoj verziji Windows Servera
Pogled u budućnost
Tranzicijska stanja klastera tijekom nadogradnje operacijskog sustava na nodovima
Klasteri za svoj rad trebaju mjesto za pohranu, a ona je zahvaljujući SMB protokolu, sve češće izgrađena upravo na klasteru. Ove dvije tehnologije su nerazdvojne i prožete više no ikada. Cluster Operating System Rolling Upgrade, Storage Replica, Cloud Witness ili Storage Spaces Shared Nothing mali su dio onoga što nam donosi budućnost, za sada još uvijek kao Technical Preview 88
WD MREŽA 2015
Ljubo Brodarić
N
ajava svakog novog Microsoftovog operacijskog sustava kao i dostupnost bilo koje rane inačice - u ovom slučaju Technical Preview - uzburka cijeli Windows ekosustav. Ni ovaj put nije ništa drugačije i s pravom možemo kazati da su očekivanja svaki put sve veća, ali s dobrim pokrićem. Trend objavljivanja mnoštva novih mogućnosti i tehnologija započeo je u dalekoj prošlosti i od tada ne posustaje. Ipak, pojavom Windows Servera 2012 možda je napravljen i najveći tehnološki skok jer smo uza sva poboljšanja i tehnologije, čiju smo pojavu očekivali, dobili na korištenje i čitavu paletu oblačnih tehnologija izravno sa Azure platforme. Windows Server Technical Preview trenutno je dostupna inačica novog Microsoftovog poslužiteljskog operacijskog sustava i pravi je nasljednik Windows Servera 2012. Započeti trend prebacivanja iskustava i tehnologija iz upravljanja i izgradnje Microsoft Azure platforme u Windows Server prisutan je i dalje.
Ovo se ponajprije očituje u cjelokupno softverski definiranoj platformi - pohrana, mreža, poslužiteljski resursi - koja omogućuje upotrebu relativno jeftinih i lako dostupnih komponenti za izgradnju privatnih oblaka i hibridnih rješenja. Velika pozornost posvećuje se upravo visokoj dostupnosti i mogućnosti oporavka u slučaju katastrofe. Ovdje ćemo se pozabaviti nekim od tehnologija koje nam donosi budući poslužiteljski operacijski sustav iz Redmonda. Naglasak ćemo staviti na neke klasterske i neke tehnologije za pohranu, a prikazane su tehnologije ključni gradivni blokovi prije spomenutih privatnih oblaka i hibridnih rješenja.
Godot je stigao
Parafraziranjem književnog naslova možda je najbolje izražena dugo priželjkivana, ali u isto vrijeme i kritizirana (ne) mogućnost nadogradnje failover clustera. Svatko tko je makar jednom prošao trnovit put migracijske nadogradnje izuzetno će cijeniti ovu mogućnost koja se krije iza poduljeg naziva - Cluster
Operating System Rolling Upgrade. Ona nam omogućuje da se u postojeći klaster doda poslužitelj na kojemu je instaliran Windows Server sljedeće inačice - za sada Technical Preview - koji će ravnopravno sudjelovati u klasteru. Ravnopravno znači da je na njega moguće prebaciti bilo koju ulogu - role - koja se izvršava na ostalim nodovima bez obzira na to što se radi o drugom operacijskom sustavu. Nepostojanje ove mogućnosti bilo je izvor mnogim frustracijama i kritikama, u prvom redu od konkurencije, upućenih upravo Hyper-V platformi, koja je, iako odlična u drugim dijelovima, ipak trpjela. Kako je Hyper-V tehnologija temelj virtualizacije, privatnog oblaka i bilo kojeg hibridnog rješenja, zaustavljanje platforme zbog nadogradnje klastera predstavljalo je veliki problem. Uz Cluster Operating System Rolling Upgrade više nije potrebno zaustavljati klaster da bismo nadogradili operacijski sustav na nodovima. Nadogradnja nije namijenjena samo Hyper-V-u, već i ostalim klasterima kao što je Scale-Out File Server - datotečni klaster koji služi kao pohrana za Hyper-V ili SQL poslužitelje - potom SQL klaster, ali i ostali. Načini na koje će se nadograđivati bilo koja vrsta klastera bit će poznati kako se bude bližio trenutak izdavanja konačne inačice Windows Servera. Potrebno je istaknuti da je u ovom trenutku isključivo podržana nadogradnja s Windows Servera 2012 R2, bez zaustavljanja, naravno, a hoćemo li u konačnici moći nadograditi i neku drugu inačicu, ostaje za vidjeti. Procedura nadogradnje u osnovi je prilično jednostavna i postoje dva os-
Storage Replica između dva poslužitelja i unutar protegnutog klastera
novna načina - bez dodatnog hardvera i s dodatnim hardverom. Bez dodatnog hardvera potrebno je jedan od postojećih poslužitelja u klasteru, nod, izbaciti iz klastera, na njega instalirati Windows Server Technical Preview, vratiti ga ponovno u isti taj klaster i proceduru ponoviti s preostalim nodovima. Ako pak na raspolaganju imamo dodatni hardver, to jest poslužitelj, onda njega treba samo dodati u klaster, a postoje-
Witness potreban za klasterski kvorum smješten u Azureu
će nodove nadograditi jedan po jedan. Tijekom nadogradnje klaster prolazi kroz nekoliko tranzicijskih stanja i u ovisnosti o njima moguće je odustati od nadogradnje u slučaju bilo kakvog problema. Nakon što smo dodali poslužitelj s Windows Server Technical Preview operacijskim sustavom, klaster počinje raditi u takozvanom Mixed-OS modu, ali je Cluster Functional Level još uvijek Windows Server 2012 R2. Cluster Functional Level definira svojstva i način na koji se ponaša klaster čime se osigurava kompatibilnost s prijašnjom inačicom. Obratite pozornost na analogiju s Active Directory funkcionalnim razinama - ovo je Microsoftov korak prema unificiranju terminologije u različitim proizvodima. Nadogradnjom svih nodova klaster još uvijek ima Cluster Functional Level Windows Server 2012 R2 i još je uvijek moguć povratak na stanje prije nadogradnje. Povratak se radi tako da na sve nodove klastera ponovno instaliramo prijašnju inačicu operacijskog sustava, naravno, jedan po jedan i bez zaustavljanja klastera. Ako pak sve radi zadovoljavajuće, možemo napraviti posljednji korak s kojim smo i konačno nadograditi naš klaster. Potrebno je podići funkcionalnu razinu klastera korištenjem PowerShella i ovo je točka bez povratka. Nakon ovoga u klaster ne možemo dodavati nodove s prijašnjim operacijskim sustavom i jedini način povratka na staro je vraćanje ciWD MREŽA 2015
89
Tehnologije Klaster i pohrana u sljedećoj verziji Windows Servera
jelog klastera iz pričuvne kopije. Klaster s nadograđenim nodovima i s funkcionalnom razinom Windows Servera 2012 R2 može raditi koliko god želimo, ali je definitivna preporuka da se nadogradnja obavi što brže. Iako nema vremenskog ograničenja, Microsoft namjerava pružati podršku za ovakve klastere maksimalno četiri tjedna od početka nadogradnje.
Identična kopija
zam će replicirati čak i kada se radi, na primjer, o disku nekog virtualnog poslužitelja koji je zaključao Hyper-V ili nekoj SQL bazi kojoj pristupaju korisnici. Storage Replica, osim što je zaokružila softverski definiranu pohranu, dodatno je apstrahirala sustav za replikaciju koji je potpuno neovisan o upotrijebljenom hardveru. Hoćemo li replikaciju koristiti za protegnute Hyper-V klastere, pričuvnu kopiju podataka na “običnom” datotečnom poslužitelju ili nešto treće, stvar je isključivo naših potreba i želja. Također, važno je imati na umu da replikacija nije pričuvna kopija - i dalje ih treba izrađivati jer će se slučajno obrisani podaci “replicirati”, to jest, bit će obrisani i na odredišnom disku.
Većini klastera potrebno je središnje mjesto za pohranu na kojemu se nalaze svi naši podaci, bilo da se radi o virtualnim poslužiteljima, bazama podataka ili nekim drugim. Jasno je da su u slučaju bilo kakve havarije ovakvog središnjeg mjesta za pohranu ugroženi svi naši podaci. Rješenje je korištenje više sustava za pohranu koji određeSvjedok u oblaku nim mehanizmima repliciraju Nakon što smo uspješno podatke između sebe i brinu nadogradili naš Hyper-V klaIzolacija ili karantena noda ovise o njegovom ponašanju u klasteru se da uvijek imamo dostupne ster, protegnuli ga na drugi dvije kopije naših podataka. podatkovni centar i uspoU slučaju da smo, na primjer, koristili za u replikaciji moraju biti inicijalizirani kao stavili sinkronu replikaciju diskova na pohranu Storage Spaces, podatke čak GUID Partition Table. U slučaju sinkrone kojima se nalaze virtualni poslužitelji, nismo bili u mogućnosti replicirati osim replikacije neće doći do gubitaka poda- preostaje nam još problem klasterskog koristiti više ladica za lokalnu visoku do- taka, a što je mreža brža, bit će brži i kvoruma. Za normalan rad svakog klastupnost. Softverski definiranoj pohrani odziv cijelog sustava. Ako, pak, govori- stera važno je da postoji kvorum, to jest nedostajala je karika koja bi zaokružila mo o asinkronoj replikaciji, onda mrežna da u slučaju bilo kakvog problema u cjelinu i omogućila nam vrlo jednostav- veza može biti i nešto sporija, ali treba komunikaciji između nodova možemo nu replikacijsku infrastrukturu potpuno imati na umu da će u slučaju problema odrediti tko će nastaviti s izvršavanjem s izvornim poslužiteljem vjerojatno doći klasterskih uloga. Kod parnog broja neovisnu o upotrijebljenom hardveru. Storage Replica je karika koja nedosta- do gubitaka određene količine podataka nodova u klasteru potreban je još jeje, a radi se o tehnologiji koja replicira - one koja se nije stigla replicirati. Osim dan glas - witness, kako bi se mogli diskove na blok razini - ispravno kazano diskova koje želimo replicirati (izvorišni preglasavati. To je obično ili dijeljeni volumene. Radi s bilo kakvim sustavom disk je onaj s kojeg, a odredišni onaj disk vidljiv svim nodovima za lokalne za pohranu - lokalni diskovi, SAN, Sto- na koji repliciramo podatke), potrebno klastere ili neka dijeljena mapa vidljiva rage Spaces i može replicirati podatke je dedicirati i po jedan disk na svakom svim nodovima za protegnute klastere. sinkrono ili asinkrono. Replikacija nam poslužitelju za replikacijski log. Naime, Kada nodovi u jednom podatkovnom omogućuje visoku dostupnost i opora- podaci se uvijek prvo zapisuju na log centru izgube komunikaciju s nodovima vak u slučaju neke havarije, a moguće disk, a onda na podatkovni disk i pre- u drugom (split brain scenarij), veoma je ju je uspostaviti između dva poslužitelja, poruka je da se za ovo koriste SSD-ovi opasno ako i jedan i drugi dio klastera unutar protegnutog klastera ili između jer se time osigurava najbrži mogući pokušaju istovremeno izvršavati uloge. dva klastera - posljednja mogućnost nije odziv sustava. Što je veći log disk, veće Da se ovo ne bi dogodilo, potrebno je dostupna u Technical Preview inačici. je i vrijeme unutar kojeg nam odredišni na neki način odrediti koji dio klastera i Za razliku od postojećih SAN replikacij- poslužitelj može biti nedostupan. u kojem podatkovnom centru nastavlja Ne postoji specifična namjena repli- s radom, a koji će ugasiti klasterski serskih tehnologija, nije potrebna nikakva posebna infrastruktura jer se prebaciva- kacije jer se repliciraju podaci na blok vis. U ovom slučaju onaj dio koji ima nje - failover protegnutih klastera odvija razini, što je omogućeno smještajem više glasova, to jest vidi dijeljenu mapu automatski i sve je već ugrađeno u Win- samog replikacijskog drivera. On se (svjedoka), nastavlja s radom. Problem smjestio između Partition Managera i nastaje sa smještajem dijeljene mape dows poslužiteljski operacijski sustav. Da bi replikacija radila, potrebno je za- Volume Managera i ne vodi računa o koja je ili u jednom ili u drugom podatdovoljiti dva uvjeta, postojanje mrežne datotečnom sustavu, tipu datoteke i je li kovnom centru. Ako se dogodi havarija veze između poslužitelja - minimalno datoteka zaključana od neke aplikacije. u podatkovnom centru u kojemu je dijegigabitna mreža, a diskovi koji sudjeluju Svaku promjenu na blok razini mehani- ljena mapa, drugi dio klastera u drugom 90
WD MREŽA 2015
Sinkrona i asinkrona replikacija Kod sinkrone replikacije svi podaci zapisani na izvorišnom disku sigurno su zapisani i na odredišnom i ne postoji mogućnost gubitaka podataka. Ovo je vrlo važno za konzistentnost podataka, ali predstavlja pravi izazov za odziv diska prema aplikacijama. Aplikacija, na primjer SQL Server, mora čekati da se podaci zapišu na oba poslužitelja prije nego što dobije potvrdu. Ako koristimo drugu lokaciju za smještaj odredišnog diska, mrežna latencija između lokacija ne smije biti veća od 5 ms da bi odziv bio zadovoljavajući i da bismo uopće mogli uspostaviti sinkronu replikaciju. Kod aplikacija koje intenzivno rade s diskom od iznimne je važnosti što veća propusnost i što manja latencija između dva poslužitelja. S druge strane, kod asinkrone replikacije dok podaci ne stignu na odredišni disk postoji mogućnost gubitaka podataka. Izgubit ćemo one podatke koji se nisu stigli replicirati zbog male propusnosti veze ili velike latencije, ali u isto vrijeme to nam omogućuje da druga lokacija bude prilično udaljena. Ako podatke moramo prenijeti na veliku
udaljenost i prihvatljivo je da u slučaju havarije ostanemo bez dijela podataka, koristit ćemo asinkronu replikaciju. Sinkrona replikacija: 1) Aplikacija šalje podatke koje želi zapisati na disk. 2) Podaci se zapisuju na izvorišni log disk i u isto vrijeme šalju prema odredišnom poslužitelju u istom ili udaljenom podatkovnom centru. Zapisivanje na log disk odvija se izravno bez korištenja pričuvne memorije - cachea. 3) Na odredišnom poslužitelju podaci se zapisuju na odredišni log disk. 4) Šalje se potvrda izvorišnom poslužitelju da su podaci zapisani. 5) Izvorišni poslužitelj šalje aplikaciji potvrdu da su podaci zapisani. t i t 1) Podaci se u najpovoljnijem trenutku zapisuju na izvorišni i odredišni podatkovni disk. Asinkrona replikacija: 1) Aplikacija šalje podatke koje želi zapisati na disk. 2) Podaci se zapisuju na izvorišni log disk. Zapisivanje na log disk odvija se izravno bez korištenja pričuvne memorije - cachea. 3) Šalje se potvrda aplikaciji da su
podatkovnom centru neće nastaviti s radom jer ne vidi mapu i nema kvorum. Ovo je zahtijevalo smještanje svjedoka na neku treću lokaciju, po mogućnosti u treći podatkovni centar, što si je malo tko mogao priuštiti. Cloud Witness je novi tip kvorum svjedoka koji se nalazi u Azureu i implementiran je kao blob datoteka u Microsoft Azure Blob Storageu. Smještaj svjedoka u Azure uklanja potrebu za trećom lokacijom ili podatkovnim centrom, koristi se standardni Azure Storage, nije potrebno kreirati nikakve virtualne poslužitelje u oblaku i isti Storage račun se može koristiti za više klastera. Počevši od Windows Servera 2012 R2 preporuka je da se za sve klastere, bez obzira na broj nodova, kreira svjedok, a klaster će prema broju nodova
Hoće li replikacija biti sinkrona ili asinkrona ovisi o zahtjevima aplikacije i udaljenosti poslužitelja
podaci zapisani. 4) Podaci se šalju prema odredišnom poslužitelju. 5) Podaci se zapisuju na odredišni log disk. 6) Šalje se potvrda izvorišnom poslužitelju da su podaci zapisani replicirani. t i t 1) Podaci se u najpovoljnijem trenutku zapisuju na izvorišni i odredišni podatkovni disk.
odlučiti tko ima pravo glasa - koristi se Dynamic Quorum svojstvo. Za klastere koji imaju pristup Internetu preporuka je kreirati Cloud Witness. Da bismo uopće mogli koristiti Azure, za smještaj našeg svjedoka potreban nam je Azure račun, čije kreiranje neće generirati nikakve troškove. Kada počnemo koristiti Azure Storage, to jest u njega smjestimo prvog svjedoka (koji je u osnovi vrlo mala datoteka), počinje i naplata. Kako se Azure Storage naplaćuje prema spremljenoj količini podataka, korištenje će generirati vrlo male troškove i pristupačno je svima. Trebamo paziti da prilikom kreiranja Storage računa odaberemo lokalnu redundanciju, a ne geo-replikaciju zbog konzistentnosti podataka zapisanih u blob datoteci - ovo je posljedica načina na koji radi geo-replikacija u Azureu.
Kada će se točno podaci zapisati na podatkovne diskove - bilo kod sinkrone, bilo kod asinkrone replikacije - određuje interni algoritam na osnovi količine podataka, opterećenosti diskova i čitavog niza drugih parametara, ali uvijek će to nastojati napraviti što je prije moguće.
Microsoftova je nakana da Cloud Witness postane jedinstveni tip svjedoka za različite tipove klastera. Neki od scenarija u kojima se on može koristiti su gore opisani slučaj klastera u dva podatkovna centra, klasteri koji nemaju dijeljenu pohranu - SQL Always On ili Exchange DAG, virtualni klasteri hostani u Azureu gdje ne postoje dijeljeni diskovi ili virtualni klasteri hostani u privatnom oblaku.
U izolaciji
Klasteri nemaju previše razumijevanja za bilo kakav tip ispada - ovo očekujemo i zato ih i koristimo - i rado će napraviti prebacivanje uloga s problematičnog noda što je brže moguće. Ovo je, naravno, poželjna osobina kada želimo da je nešto visoko dostupno, ali postoje slučajevi kada bi odgođena reakcija WD MREŽA 2015
91
Tehnologije Klaster i pohrana u sljedećoj verziji Windows Servera
kapacitet i broj diskova klastera bila primjerenija. koje možemo smjestiti u Većina ispada je obično poslužitelju nije dovoljan, kratkotrajne prirode uzromožemo na njega prikljukovana nekim prolaznim čiti ladicu za diskove i poremećajem. Zamislimo ona mora biti povezana situaciju kada jedan od samo s tim poslužiteljem. nodova izvršava virtualni Mogućnost upotrebe SAposlužitelj i nod u nekom TA diskova omogućit će trenutku ostane odsječen veću upotrebu SSD-ova od ostatka klastera, ali koji su inače veoma skupritom mreža koju koripi u SAS izvedbi. Ovasti virtualni poslužitelj i kav sustav za pohranu dalje radi i on poslužuje trebao bi biti otporan klijente. U dosadašnjim na kvarove pojedinačnih klasterima odmah nakon diskova, ladica (ako ih gubitka komunikacije s koristimo) i cijelog poslunavedenim nodom došlo žitelja. Microsoft za sada bi do prebacivanja, to jest sustav za pohranu želi do ponovnog pokretanja zadržati odvojenim od virtualnog poslužitelja na aplikativnih poslužitelja nekom drugom fizičkom radi lakšeg proširivanja poslužitelju - klasterskom i manje međuovisnosti, nodu. Cluster Compuali razmatra i varijantu te Resiliency je osobina da se na ovakvom klasteklastera koja nas štiti od ru omogući, na primjer prebrze reakcije stavljajući Hyper-V uloga za manje nod klastera u izolaciju, ali sustave. Također, presve uloge na klasteru (u ma trenutno dostupnim opisanom slučaju virtualni informacijama, u prvoj poslužitelj ili poslužitelji), Storage Spaces Shared Nothing omogućuje izgradnju sustava za pohranu inačici ovakvi sustavi za su i dalje aktivne. Vrijeme bez dijeljenih komponenti pohranu bit će dostupni tijekom kojega će uloge na isključivo preko Micronodu u izolaciji raditi je softovih partnera - vrlo podesivo i omogućuje nam da klaster bude više ili manje tolerantan. pokretanja virtualnih poslužitelja ili če- moguće kao appliance. Razlog ovakvoj Ako unutar predviđenog vremena ne do- sta prebacivanja uloga između nodova odluci je potreba za pažljivim pristupom projektiranju ovakvog sustava i očito đe do uspostave komunikacije izoliranog klastera. će ovo u početku zahtijevati upotrebu noda s ostatkom klastera, pokreće se točno određenih komponenti. standardna procedura prebacivanja svih Ništa zajedničko Storage Spaces Shared Nothing je tehuloga koje se izvršavaju na ovom nodu. Prolazni poremećaji ponekad se mogu nologija koja je još uvijek u najavi i nije Za svakog ponešto Prikazane tehnologije i mogućnosti pojavljivati često i ako dovoljno dugo dostupna u Windows Server Technical traju, bez obzira na Cluster Compute Preview inačici. Ona bi nam trebala samo su dio onoga što će se nalaziti Resiliency, takav nod će neprekidno omogućiti izgradnju robusnog sustava u novom Windows Serveru. Razvoj ispadati i ponovo se priključivati klaste- za pohranu - Scale-Out File Server - nove inačice je u punom jeku, ali već i ru. Ovakvo ponašanje može uzrokovati korištenjem fizičkih poslužitelja kao gra- sada dostupne mogućnosti u Technical česta prebacivanja uloga s noda na nod, divnih blokova i izbjegavanjem bilo ka- Previewu su zaista impresivne. Trend što može biti pogubno za bilo koji tip kvih zajedničkih komponenti - u prvom objavljivanja ranih buildeva i velike uloge na klasteru. Da bi izbjegao ovakvu redu dijeljenih ladica za diskove. Na količine informacija i dokumentacije situaciju, klaster će ovakav nod staviti u ovaj način nije potrebno komplicirano o budućim proizvodima i dalje je prikarantenu korištenjem Flapping Nodes kabliranje, povećava se broj poslužitelja sutan i svaka pohvala Microsoftu za Quarantine mogućnosti. Prije stavljanja koje možemo koristiti u klasteru, sustav ovo. Nadamo se da će vas ovaj pregled noda u karantenu, sve uloge koje se na za pohranu se može znatno proširivati, potaknuti da isprobate barem dio prikanjemu izvršavaju prebacit će se na druge nije nužno korištenje SAS diskova i zanih tehnologija, ali imajte na umu da nodove i za vrijeme trajanja karantene poslužitelje “samo” moramo povezati se još uvijek radi o Technical Preview on ih neće moći preuzimati. Vrijeme mrežom. Virtualni diskovi (ovdje ne inačici i da su mogući manji problemi. koje nod mora provesti u karanteni prije govorimo o Hyper-V diskovima), kreirani U ovoj fazi razvoja naglasak je uvijek nego što ponovno počne ravnopravno na ovakvom sustavu, bit će raspršeni na funkcionalnostima, a ne na perforsudjelovati u klasteru omogućuje admi- na diskovima koji se nalaze u različitim mansama pa vodite i o tome računa. S nistratorima da provjere o čemu se radi poslužiteljima. Ukupan raspoloživi obzirom na zaista ogroman broj novih i otklone eventualne probleme. Flapping prostor - u ovisnosti o konfiguriranoj re- tehnologija - samo neke smo spomenuli Nodes Quarantine mogućnost bi trebala dundanciji - bit će zbroj kapaciteta svih u ovom članku - vjerujemo da će biti za značajno smanjiti neželjena ponovna diskova u svim poslužiteljima. Ako nam svakog ponešto. 92
WD MREŽA 2015
Čitajte Bug na osobnim računalima i tabletima s Windows 8.1 operacijskim sustavom! www.bug.hr/winstore novi brojevi dostupni istodobno s tiskanim izdanjima kupujte pojedinačna izdanja pretplatite se na 3 / 6 / 12 mjeseci BESPLATNO za pretplatnike tiskanog izdanja
Savjeti Azure RemoteApp
Korištenje aplikacija
Postavljanje Azure RemoteApp usluge
Koliko ste se puta našli u situaciji da ste trebali odraditi neke poslove, a niste u prilici pristupiti svom računalu ili vam nedostaje aplikacija. Koncept nije novi, mnoge veće tvrtke koristile su slične servise…
Tomislav Lulić
R
emoteApp pojavljuje se kao jedan od servisa na Windows Server 2008 R2. Funkcija mu je bila preko Remote Desktop servisa pristupiti aplikacijama kao da se radi na lokalnom računalu. Te aplikacije su RemoteApp aplikacije, koje koriste zajednički Remote Desktop Services servis. One se pokreću u vlastitom prozoru s kojim je moguće neovisno upravljati. Bilo im je moguće pristupati na nekoliko načina, kroz RemoteApp i Desktop konekciju, koristeći Remote Desktop Web pristup, pomoću Remote Desktop datoteke (.rdp) koju je prije toga pripremio administrator. Isto ih se tako moglo pokretati pomoću Start menija i MSI paketa ili pokrenuti datoteku s ekstenzijom koja je bila asocirana s RemoteApp programom. Konfiguracija se pripremala uz pomoć MSI instalacijskih paketa. Prethodnica novijeg datuma bila je priča vezana za Office365. Odabir aplikacija koje su postavljenje u RemoteApp sustav
Preuzimanje Azure Remote App klijentske aplikacije
94
WD MREŽA 2015
kroz udaljeni pristup Donedavno, postojao je Office on Demand servis, pomoću kojega je bilo moguće startati Office aplikacije u posebnom okruženju. Servis je bio koristan kada ste trebali pristupiti svojim dokumentima s računala koja ne poznajete ili nisu imala instaliran Office. Servis je uspostavio posebnu ljusku u kojoj ste radili u npr. Excelu, a prilikom zatvaranja, izbrisala se aplikacija. Dokumenti su se, također, izvršavali u posebnom okruženju, što je pridonosilo sigurnosti rada. Kao alternativa, pojavio se novi servis u Azuru, koji je i tema našeg članka, Microsoft Azure RemoteApp. Uza sve širu i širu primjenu cloud aplikacija i servisa, uslijed sveprisutnosti širokopojasnog Interneta, omogućen je novi život i RemoteAppu. Azure kao stabilna i skalabilna platforma pruža velike mogućnosti primjene ovog servisa. Microsoft Azure je ovdje platforma koja isporučuje funkcionalnost Microsoft RemoteApp servisa kroz Azure Remote Desktop servise. Što dobivamo s RemoteApp servisom? Prije svega, siguran i kontroliran udaljeni pristup aplikacijama s raznih platformi i korisničkih uređaja.
Početni prozor nakon instalacije klijenta na računalo
Dva načina isporuke servisa
Servis je moguće iskoristiti na dva načina - cloud i hibridno. Način implementacije ovisi, jasno, o potrebama korisnika. Prvi, cloud, ostvaruje se uz pomoć Azure Cloud servisa tako da se sve aplikacije pohranjuju u Azureu. Korisnici pristupaju aplikacijama prijavljujući se sa svojim Microsoftovim računom ili računom iz tvrtke koji je sinkroniziran ili u federaciji s Azure Active Directory računom. Hibridni oblik implementacije također koristi Azure Cloud servis, no korisnicima je omogućeno pristupati i koristiti podatke i resurse na lokalnoj mreži i u lokalnom okruženju. Pristup se provjerava s korporativnim računima koji su sinkronizirani ili federirani sa Azure Active Directory servisom.
Zašto RemoteApp
RemoteApp omogućuje da uz pomoć Microsoft Remote Desktop klijenta preko Interneta pristupate svojim aplikacijama kao da se one nalaze lokalno. Prednost je to što prema potrebi možete organizirati dostupnost na više lokacija, bez potrebe za kompliciranom lokalnom infrastrukturom. Također je jednostavno upravljati brojem korisnika, bez nabavke nove opreme. Servis se koristi prema principu pay-as-yougo. Ukratko, kad vam je potreban, plaćate ga. Kad vam ne treba, ne plaćate. To je praktično kada imate fluktuaciju radne snage kao što su sezonski Platforme djelatnici ili, pak, prikoje su vremene aktivnosti na podržane više lokacija. za korištenje Sigurnost je još jedna s RemoteAppom prednost RemoteApp servisa. Naime, isporuka željenih aplikacija
Unos korisničkog računa za pristup Azure RemoteApp servisu
kontrolira se s centralnog mjesta (u ovom slučaju Azure RemoteApp management portala), aplikacije se nikad ne šalju na uređaje s kojih se koriste, već o tome brine Microsoft Remo- Nakon odabira aplikacije, pojavljuje se RemoteApp prozor i pokreće uspostavu te Desktop Protokol. veze s Azure RemoteApp sesijom Aplikacija se pokreće u vlastitoj ljusci, i nakon gašenja ne ostaje na uređaju na kojem je bila pokrenuta. Pohranjivanje važnih podataka može biti ograničeno isključivo na korporativne servere, tako da je mogućnost krađe podataka minimalna. Cijene u ovom članku nećemo navoditi, no svakako valja spomenuti da su u vrijeme pisanja, na tržištu prisutna dva modela korištenja usluge - Basic i Standard. Razlika je zapravo u vrsti aplikacija koje želite koristiti, odnosno u njihovim infrastrukturnim zahtjevima. Svaki korisnik sustava ima na raspolaganju 50 GB prostora za pohranu i 40 sati mjesečno za korištenje aplikacije WD MREŽA 2015
95
Savjeti Azure RemoteApp u inicijalnom paketu, nakon čega se svaki sljedeći sat dodatno naplaćuje, ovisno o odabranom modelu korištenja. Kako je ovo relativno novi servis, sigurno možemo očekivati korekcije paketa, kao i promjene u samim modelima korištenja, sve ovisno o potrebama korisnika.
I za kraj…
Primjenjivost ovog Azure servisa nije upitna. To je servis koji se već koristi u on-premise svijetu, s manje ili više uspjeha. Primjenjivost je široka, upravo zbog mogućnosti korištenja na većini platformi i uređaja. Ta višeplatformnost otvara i prostor za primjenu Microsoftovih, ali i drugih aplikacija baziranima na Windowsima na platformama na kojima PowerPoint aplikacija otvorena pomoću Azure RemoteAppa u cloud modu. To znači da se datoteke se zbog svojih specifičnosti nisu mogle inicijalno pohranjuju u tom istom cloudu na Azureu koristiti. Najveći je trenutni nedostatak donekle nedorečeni model naplata, odnosno cijena i vremenski okvir najma servisa. Pay-as-you-go model trebao bi biti bolje profiliran. Kako je servis relativno nedavno objavljen, sigurno će Azure RemoteApp servisu, Kako biste testirali doći do korekcija u obliku korištenja pa ove nedostatke svakako gdje se vrte željene ili mogućnosti Azure treba uzeti s rezervom. dodijeljene aplikacije. RemoteAppa, potreban Kada se pojavi prozor vam je korisnički račun za prijavu, jednostavno na Azureu. Ukoliko ga unesite korisničko ime i još nemate, moguće lozinku svoga računa koji je napraviti testni ima pristup servisu i sustav račun. Kreiranje je će vam u RemoteApp jednostavno. Nakon što prozoru ponuditi listu smo se prijavili na portal aplikacija koje su vam na Azure Management, raspolaganju. odaberemo modul U ovom slučaju su to RemoteApp te započnemo aplikacije Office, koje s konfiguriranjem usluge smo dodijelili prilikom RemoteApp. inicijalnog konfiguriranja U ovom slučaju odabrat usluge. Na jednak bismo ćemo već gotov primjer način pristupali i drugim koji će u sebi sadržavati aplikacijama koje naša aplikacije Office 2013. tvrtka koristi u svojem Za nekoliko minuta naša svakodnevnom poslovanju. je okolina spremna za korisnike. Kako bismo se spojiti u neku od naših aplikacija potrebno je kliknuti na Odabir spajanja na Azure Izgled RemoteApp servisa na Remote desktop client url. RemoteApp s Windows Phonea Windows Phone platformi. Odabir Ako klijent nije instaliran, aplikacija koje se nude kroz servis on će se instalirati. Nakon toga će se pokrenuti prozor u kojem pokrećemo sesiju. Opcije su slične na raznim platformama (vidi slike uz glavni tekst). Neovisno o platformi, svi klijenti uspostavljaju sigurnu konekciju prema
Primjer konfiguracije Azure RemoteAppa
Pokretanje MS Paint aplikacije na Windows Phone platformi pomoću Azure RemoteAppa
96
WD MREŽA 2015
Nakon odabira RemoteAppa na mobilnom uređaju, potrebno se prijaviti na sustav
Pretplatite se i profitirajte! 199 kn
Pristup Win 8.1 izdanju Mreže
gODišnja pretplata
Sadržaj posebno optimiziran za sva računala i tablete s Windows 8.1 operativnim sustavom Čitanje svih brojeva Mreže, uključujući i najnoviji Mogućnost kupovine samo digitalnog Win 8.1 izdanja i digitalne pretplate
169 kn* gODišnja pretplata * povlaštena za pretplatnike BUga www.bug.hr/winstore
Pristup iPad izdanju Mreže
novi brojevi dostupni istodobno s tiskanim izdanjima sadržaj optimiziran za čitanje na tabletima uz interaktivne linkove unutar tekstova pretplatu je moguće ostvariti i samo na iPad izdanje po povoljnijoj cijeni i za kraći period
399 kn DVOgODišnja pretplata
338 kn* DVOgODišnja pretplata * povlaštena za pretplatnike BUga
Digitalizirana web arhiva
najjednostavniji put do željenih informacija kroz bilo koji internetski preglednik sadržaj starih brojeva indeksiran je i lako pretraživ po brojnim kriterijima brojevi se u digitalnoj arhivi pojavljuju s odmakom od najviše 60 dana u odnosu na izlazak tiskanog izdanja Upute za pristup digitalnoj arhivi nalaze se na adresi: http://www.bug.hr/digi/upute/
PRETPLATE e-mail: [email protected] tel: +385 1 3821 555 fax: +385 1 3821 669 online: http://shop.bug.hr
Savjeti Hyper-V najbolje prakse
Najbolje u tehnologija 98
WD MREŽA 2015
Romeo Mlinar
U
ovom ćemo članku ukratko objasniti na koji način
izvući ono najbolje iz Hyper-V virtualizacijske platforme kroz primjere iz prakse te pokazati koje su najbolje prakse prilikom izgradnje virtualnog okruženja bez obzira radimo li to iznova ili već imamo neko postojeće rješenje. Keep It Smart and Simple (K.I.S.S.) - faza planiranja osnova je za uspješnu implementaciju Hyper-V okruženja. Imajte na umu da prije nego što počnete s implementacijom, detaljno pripremite faze jer ćete na taj način uštedjeti vrijeme, novac i, naravno, živce. Ključni faktori za pravilno implementirano Hyper-V virtualno okruženje su performanse, visoka dostupnost, mrežna infrastruktura, zaštita podataka i oporavak u slučaju eventualne katastrofe. Zašto Hyper-V projekti ne uspijevaju? Prije samog početka implementacije Hyper-V infrastrukture kvalitetno i detaljno razradite plan i faze implementacije. Mnogo puta imali smo prilike uvjeriti se da je kod neplaniranih i nerazrađenih projekata implementacije virtualne infrastrukture trebalo naknadno ispravljati pogreške “stručnjaka”, što iziskuje dodatne troškove. Najveće greške događaju se upravo ovdje, na početku implementacije, stoga trebamo biti svjesni da u fazi planiranja moramo imati nekoga s tehnološkim i organizacijskim iskustvom. Ako mislite da je profesionalac preskup, zaposlite amatera pa ćete doći do računice. Imati eksperta barem u fazi planiranja i početku implementacije, najbolji je put prema uspješnom projektu.
Microsoftovi partneri
Ukoliko u svom okruženju nemate Hyper-V stručnjaka, potražite Microsoftove partnere s kompetencijom za imple-
mentaciju virtualnog okruženja (Microsoft Gold Certified Partner - Management and Virtualization http://pinpoint. microsoft.com). Kako biste olakšali planiranje projekta, postoji nekoliko alata koji nam to omogućuju, a jedan od njih je i besplatan alat po imenu Microsoft Assessment and Planning Toolkit (MAP Toolkit), koji će nam pomoći oko tehničkih detalja poput koliko procesora ima poslužitelj koji će biti Hyper-V domaćin, koliko memorije, kakva nam je trenutna mrežna infrastruktura i tako dalje. Ne samo da će nam pokazati tehničke detalje nego će i predložiti što sve trebamo nadograditi. Nakon što smo napravili inicijalni plan, vrijeme je da odaberemo prikladne poslužitelje koje ćemo koristiti kao Hyper-V domaćine, odnosno koji će ugostiti virtualne strojeve. Dobra stvar u odabiru poslužitelja je ta da su svi poslužitelji poznatih svjetskih proizvođača certificirani i podržani za instalaciju operativnog sustava Windows Server 2012 R2. Popis certificiranog hardvera možete pogledati na ovom linku: http:// bit.ly/lgII6h7. Koja je prednost kupnje certificiranog hardvera na kojem ćete instalirati Hyper-V? Ukoliko biste ikada imali problem s Hyper-V-em, u svakom se trenutku možete obratiti Microsoftu, prijaviti eventualni problem, koji su oni dužni riješiti. Prilikom odabira poslužitelja koji će biti domaćini virtualnih strojeva, također je poželjno, ali nije uvjet, da svi poslužitelji budu isti. Ne iz razloga nepodržane konfiguracije, nego radi lakšeg održavanja. Prilikom odabira hardverske konfiguracije potrebno je voditi računa o tome koliko resursa će vam biti potrebno (radna memorija, procesorska snaga), ovisno o tome koliko virtualnih strojeva će biti na njima. U ovom slučaju više je bolje, a osobito za radnu memoriju koja je danas cjenovno vrlo povoljna te je preporuka kupovati veće module radi kasnije nadogradnje ukoliko bi to bilo potrebno. Što se tiče diskovnog sustava, preporuka je da na Hyper-V hostu imate minimalno dva diska (SSD ili HDD), u Raid1 polju te da ne dijelite sistemske diskove s virtualnim strojevima ili nekim drugim stvarima nevezanim za operativni sustav, a za virtualne strojeve koristite dijeljeni diskovni sustav, tzv. Storage, o kojem ćemo pisati u nastavku. Kada smo pripremili hardver, slijedi priprema instalacije operativnog sustava, a da bismo izbjegli eventualne probleme, najprije je potrebno napraviti nadogradnju svih komponenti, poput nadogradnje BIOS-a, RAID kontrolera i firmwarea mrežnih adaptera. Prilikom instalacije operativnog sustava Microsoft Update će vam ponuditi instalaciju drivera s Microsoft Update stranice, ali preporuka je instalacija drivera sa stranica samog proizvođača hardvera. Nakon što ste sve navedeno pripremili, spremni ste za instalaciju operativnog sustava te nakon
Standardna konfiguracija Hyper-V klastera
klasi virtualizacijskih Hyper-V s drugom generacijom virtualnih strojeva donio je velika poboljšanja u povećanju sigurnosti, kraćem vremenu podizanja sustava, puno bržoj instalaciji operativnog sustava, automatskoj aktivaciji i još mnogo drugih poboljšanja u R2 verziji, zbog kojih su mnogi sretni i radosni WD MREŽA 2015
99
Savjeti Hyper-V najbolje prakse Microsoft Virtual Machine Converter 3.0 Microsoft Virtual Machine Converter besplatan je alat za konverziju VMware ESXi virtualnih strojeva u Hyper-V. Vrlo je jednostavan za korištenje i s njim u svega nekoliko klikova mišem konvertirate VMware virtualne strojeve u Hyper-V bez obzira na to jesu li virtualni strojevi Windows ili Linux te bez obzira o kojoj verziji operativnog sustava govorimo. Konverzija se događa na razini domaćina, drugim riječima, kako bismo napravili konverziju s jedne strane moramo imati ESXi domaćina na kojega se spajamo MVMC-om, a na drugoj strani Hyper-V host na kojega selimo virtualne strojeve. MVMC 3.0 osim što radi konverziju s ESXi na Hyper-V može također konvertirati virtualne strojeve u Microsoft Azure te može konvertirati fizičke strojeve u virtualne, tako zvani P2V (physical to virtual). Funkciji P2V mnogi
su se razveseliti s obzirom na to da ju je Microsoft maknuo iz Virtual Machine Managera. MVMC je odličan alat, ali ima jedno ograničenje. U procesu konverzije možemo konvertirati samo jedan virtualni stroj. To i nije tako zabrinjavajuće ako imamo svega nekoliko virtualnih strojeva, ali ako ih imamo mnogo, postavlja se pitanje postoji li način kojim bismo automatizirali proces konverzije. Odgovor je, da! Ako imamo mnogo virtualnih strojeva koje treba konvertirati, rješenje je Microsoft Automation Toolkit (MAT). MAT je ništa drugo nego set PowerShell skripti koji koristi MicrosoftVirtual Machine Converter i SQL Express, također besplatan alat, spaja se na ESXi i Hyper-V domaćine te konvertira virtualne strojeve prema uputama koje smo prethodno definirali.
Rad na Core verziji Windows Servera 2012 R2 vrlo je jednostavan
center, a jedina razlika između ove dvije verzije je u broju licenciranih virtualnih strojeva instaliranih na Hyper-V domaćinima, sve ostale značajke su identične. Na verziju Standard imate pravo instalirati dva virtualna stroja pod uvjetom da je na Hyper-V domaćinu instalirana samo Hyper-V rola, a na verziju Datacenter imate pravo instalirati neograničen broj virtualnih strojeva, odnosno onoliko koliko vaš hardver može podnijeti.
Vječito pitanje
Vječito je pitanje instalirati verziju s grafičkim sučeljem (GUI) ili Core verziju Windows Server 2012 R2. I tu je Microsoft ponudio rješenje. Ako ste upoznati s Core verzijom, onda instalirajte sustav bez grafičkog sučelja, a ukoliko vam se pak više dopada grafičko sučelje i nemate iskustva s crnim/ plavim ekranom i bijelim slovima, instalirajte Server with Full GUI, a nakon završene konfiguracije jednostavno prebacite OS u Core verziju. Da, dobro ste pročitali! Windows Server 2012 (R2) možete prebacivati iz Core u GUI kad god to želite. Imajte na umu da prilikom svake ovakve radnje Hyper-V host zahtijeva ponovno pokretanje. Još jedno od vječnih pitanja je i mora li Hyper-V domaćin biti član AD ili ne? Ukoliko želite imati jednostavnije okruženje i lakše održavanje, odgovor je DA, Hyper-V domaćin treba biti član Active Directory domene. Antivirusni program na Hyper-V hostu? Paranoici će uvijek
inicijalne instalacije slijedi konfiguracija koja podrazumijeva instalaciju zakrpa s Microsoft Updatea te instalaciju Hyper-V role. Vrlo je bitno napomenuti: Hyper-V domaćin je samo Hyper-V domaćin i na njega instalirajte samo Hyper-V rolu i ništa više. Za bilo koji drugi servis koji morate imati instaliran na infrastrukturi, instalirajte poseban virtualni stroj koji će biti zadužen za potrebni servis. Ukoliko radimo instalaciju na veliki broj fizičkih servera svakako ćemo se poslužiti automatiziranom instalacijom (unattended.xml). Koje izdanje operativnog sustava instalirati na HyperV host, vječno je pitanje. U prethodnim verzijama Windows Servera imali smo više izdanja, primjerice, Standard, Enterprise, Datacenter, Web edition i tako dalje. Od verzije Windows Server 2012 stvari su se puno pojednostavile. Postoje dvije edicije Windows Servera 2012, odnosno 2012 R2, a to su Standard i Data- Standardno Windows Server 2012 R2 grafičko sučelje 100
WD MREŽA 2015
odgovoriti da, ali budimo realni i postavimo si nekoliko pitanja! Pristupamo li internetskim stranicama s Hyper-V domaćina? Ne. Skidamo li neadekvatan internetski sadržaj na Hyper-V domaćinu? Ne. Treba li Hyper-V domaćin uopće pristup Internetu? Ne. Odgovor imamo, zar NE? Ukoliko politika tvrtke zahtijeva antivirusni program na svim strojevima, preporuka je da izdvojimo konfiguracije virtualnih strojeva i njihove virtualne diskove od skeniranja antivirusnim programom kako ne bi smanjili performanse i time onemogućili njihov normalan rad. Jedna od mnogih polemika koje se vode je Pagefile. Nakon mnogih testiranja s različitim konfiguracijama i promjenama Pagefilea i to u suradnji s nekoliko produkt timova u Microsoftu, uključujući i HyperV tim, jedina preporuka koju vam MAP alat koji će nam dati sve potrebne informacije za virtualizaciju okoline možemo dati je - ne dirajte Pagefile. Spremni smo za instalaciju prvog virtualnog stroja na Hyper- poslužitelji koji će biti članovi Hyper-V klastera budu idenV domaćina. Za to postoje dva načina. Prvi i najčešći je kroz tični (isti procesori, matične ploče, proizvođač). Kako biste grafičko sučelje koje ćemo koristiti u većini slučajeva kod osigurali maksimalnu kompatibilnost poželjno je da procesori instalacije malog broja virtualnih strojeva. Ako trebamo insta- budu identični na svakom poslužitelju. Također, morate voditi lirati veliki broj virtualnih strojeva, koristit ćemo PowerShell računa o modelu poslužitelja koji kupujete. Preporuka je da kako bismo automatizirali i uvelike ubrzali proces instalacije. kupite najnoviju generaciju poslužitelja, kako biste, ukoliko ćete nadograđivati sustav u neko dogledno vrijeme, mogli Visoka dostupnost kupiti istu generaciju poslužitelja. Osigurajte da su poslužiProjekt visoke dostupnosti Hyper-V virtualnih strojeva kao telji opremljeni istim modelima diskovnih kontrolera, istom i svaki drugi projekt započinje s fazom planiranja. Najbitniji količinom radne memorije kao i s istim modelima mrežnih faktor u donošenju odluka, a vezano za visoku dostupnost su kartica. Preporuka za konfiguraciju mrežnih kartica je svakako naše potrebe. Moramo znati koliko često i koliko vremenski NIC Team pomoću kojeg sve fizičke mrežne kartice povežete dugo možete podnijeti nedostupnost IT sustava bez posljedica u jednu te time osigurate bržu protočnost podataka i visoku na poslovanje i tek nakon toga možemo planirati kako nam dostupnost jer ako bilo koja od zajedničkih mrežnih adaptera okruženje treba izgledati. Najčešća greška kod planiranja vi- iz nekog razloga prestane raditi, imate pristup resursima. Osim soke dostupnosti jest nepažnja prilikom planiranja, odnosno povezivanja mrežnih kartica u jednu zajedničku, preporuka je izbjegavanje kupovine dodatnog komada hardvera kako bismo da tim podijelite u segmente odnosno da svakom virtualnom izbjegli SPOF (Single Point of Failure) iliti najslabiju kariku. adapteru, koji ste prethodno kreirali, dodijelite određenu funkPrilikom planiranja visoke dostupnosti moramo biti svjesni ciju. Tako će prvi mrežni adapter služiti za pristup Hyper-V doda svaka komponenta IT okruženja mora biti redundantna. maćinu, drugi mrežni adapter imat će funkciju Live Migration, Što to konkretno znači? Minimalno dva Hyper-V domaćina s kroz treći će ići komunikacija prema i od virtualnih strojeva minimalno dva mrežna adaptera, dva procesora, dva napa- i tako dalje. Potrebno je napomenuti da od verzije Windows janja, minimalno dva switcha. Storage s velikim brojem dis- Servera 2012 više ne trebamo konfigurirati posebnu mrežnu kova i redundantnim diskovnim kontrolerima. Sve navedeno konekciju, tzv. Heartbeat između Hyper-V domaćina jer će je minimum minimuma kako bismo zadovoljili formu koju sve mreže koje su članovi klastera automatski biti korištene zahtijeva visoka dostupnost. I u ovom slučaju, više je bolje. za slanje Heartbeat signala. Naravno da nećemo pretjerivati s hardverom, nego ćemo Jedna od ključnih stvari o čijem dizajnu treba voditi računa sustav dimenzionirati prema našim potrebama. je mjesto gdje će boraviti virtualni strojevi, a to je Storage. Svi Kao što je Microsoft u Windows Server 2012 R2 mnogo toga članovi Hyper-V klastera moraju imati pristup virtualnim stropojednostavio, isto je i napravio i kod konfiguracije Hyper-V jevima koji se nalaze na zajedničkom mjestu te je to jedna od klastera, koji nikada nije bio jednostavniji za implementa- najbitnijih karika u lancu. Trenutno na tržištu imamo mnogo ciju. U doslovno nekoliko klikova mišem imat ćemo visoko opcija koje možemo odabrati, od klasičnih SAN ili NAS opcija dostupno okruženje. pa sve do modernih koncepata poput Windows Scale out File Kako biste ispravno podigli visoko dostupno okruženje, bilo Servera odnosno SMB3 Filesharea. Izlaskom Windows Servera bi dobro pratiti najbolje prakse i preporuke Microsofta. Za 2012 R2 stvari na polju skladištenja Hyper-V virtualnih strojeva uspješnu implementaciju Hyper-V Clustera trebamo pogodan dramatično su se promijenile u pozitivnom smislu. Preporuka hardver, softver, prava, mrežnu infrastrukturu i infrastruktu- u odabiru konfiguracije za skladištenje virtualnih strojeva ru za spremanje podataka, tzv. Storage. Kao što smo ranije je korištenje nečega što već imamo u kući, a to je svakako spomenuli, Microsoft će vam pomoći prilikom eventualnih SMB3, koji će nam dati potrebne performanse i Scale Out problema samo ako je hardver certificiran od Microsofta, File Server (SOFS), koji će nam dati visoku dostupnost za vrlo stoga vodite računa o tome. Preporuka je, ali nije uvjet, da malo financijskih sredstava. Storage spaces i JBOD nude nam WD MREŽA 2015
101
Savjeti Hyper-V najbolje prakse Zaštita Hyper-V okruženja Ništa nas ne smije iznenaditi, stara je uzrečica. Biti pripravan u slučaju gubitka podataka prouzrokovanog ljudskom pogreškom ili u slučaju tehničke greške ili katastrofe je iznimno bitno. Rad infrastrukture ne smije stati bez obzira na tip katastrofe. Kako bismo izbjegli eventualni zastoj rada IT infrastrukture, kao i za sve, moramo imati plan, a pomoću Microsoft alata i mogućnosti koje nam oni pružaju možemo biti prilično sigurni. Kada govorimo o zaštiti podataka u Hyper-V okruženju imamo nekoliko mogućnosti i opcija. Jedna od takvih je Hyper-V Replica, ugrađena tehnologija za
disaster recovery u Hyper-V rolu. Hyper-V Replica ima mogućnost repliciranja virtualnih strojeva u realnom vremenu na druge Hyper-V domaćine bilo da se oni nalaze u istoj poslužiteljskoj sobi, na udaljenoj lokaciji ili na Microsoft Azureu. Kod Hyper-V replike imamo identične kopije virtualnih strojeva kao i na originalnim lokacijama te uslijed katastrofe vrlo jednostavno, paljenjem virtualnih strojeva koji se nalaze na disaster recovery lokacijama, vraćamo sustav u rad. Naravno, virtualni strojevi koji se nalaze na disaster recovery lokacijama
skalabilne performanse i elastičnost te se svakako preporučuje koristiti ovu opciju kad se radi o mjestu na kojem će virtualni strojevi biti visoko dostupni. Nema više potrebe za skupim komadima hardvera, kompliciranom konfiguracijom i slično. Prvi i najvažniji princip dizajna visoke dostupnosti jest ne koristiti ne-redundantne sustave u produkciji za Hyper-V klaster, ne stavljati virtualne mašine na lokalne diskove, ne koristiti jedan poslužitelj za SMB3 file share i treba voditi računa o tome da nemamo slabe karike u dizajnu. Ukoliko ne možete ispuniti ove zahtjeve od prve do posljednje točke, nemojte implementirati Hyper-V klaster!
Virtualni diskovi i kontrolne točke
Postoji nekoliko mogućih konfiguracija virtualnih diskova i često se postavlja pitanje koje diskove odabrati i na koji ih način konfigurirati. Postoje dva formata virtualnih diskova, klasični .VHD i novija verzija .VHDX format. Svakako je preporuka koristiti .VHDX zbog boljih performansi, sigurnosti, mogućnosti kapaciteta, do 64TB, i upravljanja kapacitetom. Veličinu .VHDX virtualnog diska možemo mijenjati u oba smjera, možemo ga povećavati i smanjivati prema potrebama. Jedini razlog zašto bi još uvijek koristili .VHD format virtualnog diska je kompatibilnost sa starijim Hyper-V verzijama. Ukoliko još uvijek u okruženju imate virtualne diskove u .VHD formatu, jednostavno ih konvertirajte u .VHDX format preko PowerShell komande (Convert-VHD -Path d:\VM01.vhd -DestinationPath d:\VM01.vhdx). Osim formata virtualnog diska potrebno je donijeti odluku koji tip virtualnog diska odabrati. Hyper-V podržava tri tipa virtualnih diskova, a to su; Fixed, Dynamic, Differencing. Koje su razlike u tipovima virtualnih diskova? Fixed size disk zauzima cijeli prostor na fizičkom disku, drugim riječima, ako smo odabrali virtualni disk veličine 100GB, on će zauzeti isto toliki kapacitet i na fizičkom disku. Fiksni disk pruža nam bolje performanse i pouzdanost. S novim formatom (.VHDX) pouzdanost i performanse 102
WD MREŽA 2015
pokrećemo ručno. Ne postoji automatsko pokretanje virtualnih strojeva u ovom scenariju. Pomoću Hyper-V Replice možete replicirati virtualne strojeve bilo da se oni nalaze u Hyper-V klasteru ili ne. Velika prednost Hyper-V replike je u tome što ne morate imati identičan hardver kako biste replicirali virtualne strojeve. Vrijeme oporavka sustava mjeri se doslovno u minutama, a sama implementacija i konfiguracija je vrlo jednostavna te je preporuka da se implementira u svako Hyper-V okruženje. Moramo naglasiti da Hyper-V Replica nije backup, nego zaštita u
slučaju katastrofe (Disaster Recovery). Za backup je potrebno koristiti alate koji su predodređeni za to, a ako govorimo o Microsoft backup soluciji, onda ključnu ulogu u polju backupa ima Data Protection Manager (DPM), koji je dio System Center proizvoda, a pokazao se kao jedan od najboljih backup alata na tržištu. DPM osim mogućnosti zaštite podataka virtualnih strojeva raspolaže sa širokim spektrom mogućnosti, poput backup SQL Servera, backup mail servera, backup file servera i slično. Još jedan alat za preporuku prilikom pravilne implementacije Hyper-V okruženja.
dinamičkog virtualnog diska ozbiljno su se približile fiksnom virtualnom disku pa je upitno isplati li se „gubiti“ prostor na fizičkim diskovima. Za razliku od Fixed size virtualnog diska, Dynamic virtualni disk prilikom kreiranja kreira samo header dok prilikom punjenja podataka raste prema potrebama. Kako smo već naveli, dinamički disk je još uvijek slabijih performansi od fiksnog, ali ta razlika prema trenutnim informacijama iznosi od 3 do 5 postotaka, stoga je preporuka da čak i za produkcijsko okruženje koristimo dinamičke virtualne diskove. Differencing disk pogodan je za lab okruženje i VDI okruženje i nije preporuka koristiti ga u produkciji. Kontrolne točke ili Checkpoints u prijašnjim verzijama HyperV-a poznati i kao Snapshots izvrsna su opcija ako želimo imati mogućnost povratka virtualnog stroja u stanje prije neke promjene (point in time). Čemu služe kontrolne točke? Ako želimo testirati neki novi proizvod, a nismo sigurni kako će se on manifestirati, ako radimo neku od migracija i nešto pođe po zlu, ako instaliramo neku od zakrpa i želimo se uvjeriti da nećemo imati problema prilikom instalacije na cijelu infrastrukturu. Ako nismo zadovoljni rezultatom ili se virtualni stroj jednostavno ne ponaša onako kako očekujemo, vrlo jednostavno vratimo virtualni stroj u prijašnje stanje. Svaki put kada napravimo Checkpoint, kreira se i diferencijalni disk (.avhdx). Sve promjene koje smo napravili bit će zapisane na tom disku. Kada obrišemo kontrolnu točku, dva diska će se spojiti u jedan, .VHDX, a diferencijalni, .avhdx će nestati. S obzirom na to da kontrolna točka kreira diferencijalni disk, imajte na umu da svaka kontrolna točka utječe na performanse virtualnog stroja. Osim utjecaja na performanse, kontrolnim točkama teško je upravljati. Nije problem ako ih imamo samo nekoliko, ali ako se s vremenom nakupi veliki broj, postoji velika mogućnost da od šume kontrolnih točaka nećemo znati što je što. Stoga, preporuka je da obrišete svaki nepotreban Checkpoint. Osim što ćete imati čistu situaciju, imat ćete više slobodnog diskovnog prostora
cije na novu Hyper-V verziju, moramo biti svjesni da će postojati privremena nemogućnost pristupa virtualnim strojevima. Prije bilo kakve akcije napravite backup virtualnih mašina. Kod in-place upgradea ubacimo instalacijski medij s Windows Serverom 2012 R2 i pokrenemo proces nadogradnje, (Setup. exe /auto:upgrade). Ako radimo nadogradnju s Ugađanje Windows Servera 2012 nema dodatnih radnji, performansi ali ako radimo nadoNakon što smo implegradnju sa starijeg opementirali i konfigurirali rativnog sustava, prije Hyper-V virtualno okruprocesa nadogradnje ženje i pazili na svaki pobrišite sve eventudetalj prilikom planiraMicrosoft Virtual Machine Converter, besplatni alat za konverziju VMware virtualnih alne kontrolne točke nja i implementacije, strojeva u Hyper-V (Snapshots) virtualnih u konačnici moramo strojeva. Ukoliko radite vidjeti kako sustav diše u produkciji i pod opterećenjem te ga moramo ugoditi. Prvo što novu instalaciju operativnog sustava na isti poslužitelj, momoramo napraviti je bazno mjerenje (baseline performance) rate voditi računa o nekoliko stvari. Budite sigurni da su svi performansi sustava. Što to znači i na koje detalje moramo virtualni strojevi ugašeni te da se nalaze na drugoj particiji od obratiti pažnju? Tri su osnovne stvari koje ćemo gledati, a to sistemske kako ih u procesu instalacije operativnog sustava su opterećenje diskova, mreže i memorije. Jedan od načina ne biste pobrisali. Ako se virtualni strojevi nalaze na SANmjerenja performansi je pomoću ugrađenog alata Performance u, iskopčajte sve LUN-ove prije instalacijskog procesa te ih Monitor, koji nam daje općenite parametre i može se koristiti nakon završene instalacije operativnog sustava vratite nazad, ako zaista nemamo ništa drugo pri ruci. Drugi alat koji smo a ako koristite lokalne diskove (DAS), budite pažljivi kako ne spomenuli na početku članka, Microsoft Assessment and biste formatirali diskove na kojima se nalaze virtualni strojevi. Planning Toolkit dat će nam vjerodostojnije parametre na Nakon što je proces ovakvog načina nadogradnje završen, koje treba obratiti pažnju, od toga koliko resursa troši poje- potrebno je napraviti Import virtualnih strojeva. Kada su dini virtualni stroj na razini procesora, memorije, diskova i virtualni strojevi na svome mjestu i spremni za rad na novoj mreže pa sve do toga koje resurse dodati, odnosno oduzeti. platformi potrebno je napraviti nadogradnju integracijskih Nakon uspješne prilagodbe performansi za virtualne strojeve servisa te konvertirati .vhd format virtualnog diska u .vhdx preporuka je da kreiramo redovne izvještaje o radu Hyper-V prije puštanja u produkciju. Također, jedna od preporuka je okoline. Za redovne izvještaje također možemo koristiti MAP da ako još uvijek imate Windows Server 2003 prijeđete na Toolkit ili System Center Operations Manager, koji će osim Windows Server 2012 R2, s obzirom na to da podrška za izvještaja slati i upozorenja ne samo o stanju virtualne okoline, Windows Server 2003 prestaje u šestom mjesecu ove godine. Ukoliko se virtualni strojevi nalaze na nekoj drugoj virtualinego i o stanju cjelokupnog IT sustava. zacijskoj platformi, primjerice, VMware ESXi, također postoje odlični alati koji služe za migraciju na Hyper-V virtualizacijsku Migracija na Hyper-V 2012 R2 Shvatili smo koliko je bitno držati se preporučenih praksi platformu. Jedan od tih alata je Microsoft Virtual Machine prilikom implementacije Hyper-V virtualnog okruženja, a Converter, potpuno besplatan alat o kojem ćemo pisati malo kako biste iskoristili ono najbolje, preporuka je da koristite kasnije. Drugi ozbiljan alat za migraciju je dobro nam poznati najnovije verzije Hyper-V virtualizacijske tehnologije. Ukoliko System Center Virtual Machine Manager. Osim Microsoft alata koristite starije verzije Hyper-V-a ili neku drugu virtualizacij- na tržištu se može naći dosta alata za migraciju bilo besplatsku platformu, poput VMwarea, vrijeme je da se prebacite na nih ili onih za koje ćete morati izdvojiti određenu sumu, ali noviju Hyper-V 2012 R2. Vrsta migracije ovisi o okruženju i navedeni su i više nego dovoljni za sve što trebate prilikom koje imate. Ovdje ćemo ukratko opisati nekoliko mogućih migracije na Hyper-V 2012 R2, bilo da radite nadogradnju sa starije verzije ili migraciju s drugih virtualizacijskih tehnologija. scenarija migracije. U ovom članku ukratko smo opisali na koje stvari trebaJedan od najnezahvalnijih je takozvani In place upgrade ili nadogradnja starog sustava na novi na postojećem Hyper-V mo obratiti pažnju prilikom kreiranja Hyper-V virtualnog domaćinu. Prije samog početka nadogradnje potrebno je pro- okruženja. Naravno, svaka IT infrastruktura je drugačija te vjeriti zadovoljavaju li poslužitelj i sve njegove komponente je potrebno prilagoditi projekt takvom okruženju. Svakako, na kojima radimo nadogradnju, uvjete novog operativnog prije nego što se sami upustite u sličan projekt, proučite sustava i virtualizacije. Nakon što smo utvrdili da su preduvjeti dokumentaciju, isplanirajte radove od prve do zadnje točke, zadovoljavajući, potrebno je nadograditi cjelokupan softver te prije nego što stvar ide u produkciju, sve isprobajte u koni firmware te pripremiti sve drivere koji će nam naknadno troliranom, odnosno testnom okruženju. Želimo vam sretnu biti potrebni. Kod ovog načina nadogradnje, odnosno migra- i veselu virtualizaciju! na fizičkim diskovima i virtualni strojevi će lakše raditi. Nekoliko savjeta i najboljih praksi vezanih za kontrolne točke: koristite ih što je manje moguće, kontrolne točke nisu zamjena za backup, pobrišite ih što je prije moguće, ali ih nikada ne brišite na razini datoteke, već pomoću HyperV konzole.
WD MREŽA 2015
103
Savjeti C# i Visual Studio 2015
Kraći, jasniji i ljepši kôd Visual Studio 2012 donio je samo jednu značajku u C#-u: podršku za asinkrono programiranje, a nasljednik niti jednu. C# je postao moćan, stabilan i činilo se da prostora za napredak nema toliko u samom jeziku koliko u razvoju alata i podršci za višeplatformski razvoj. No, nova verzija donosi hrpu novih značajki, a u budućnosti nas čeka još mnogo toga… Toni Petrina
I
ako nas je s novom verzijom Visual Studija (kad je u pitanju C#) uvijek čekao neki novi, kul feature, posljednje dvije verzije nisu nas ostavile bez daha, no stabilnost jezika ne treba gledati kao nešto loše. Dodavanje novih značajki teško je zbog velikog broja interakcija s postojećim kôdom, a i jezik mora zadržati svoj izgled. Možda je najvažniji faktor u uvođenju novih značajki težina njihovog razvoja. Upravo je prastar kod C# prevoditelja bio otežavajući faktor u uvođenju novih značajki, kako malih, tako i velikih. Tim C#-a je nakon uvođenja async/awaita odlučio da neće dodavati niti jedan feature dok ne dobiju novi prevoditelj - neki koji je lakši za održavanje i gdje dodavanje novih značajki neće biti naporno ili sklono greškama. Srećom za njih, novi zajednički prevoditelj za C# i Visual Basic. NET pod kodnim imenom Roslyn, već je bio blizu završetka i ugledat će (službeno) svjetlo dana u Visual Studiju 2015, gdje će zamijeniti trenutni prevoditelj. Razvojni tim iza C#-a i Visual Studija se razmahao te nas čeka pregršt novih featurea, optimizacija i poboljšanja postojećih alata upravo zahvaljujući Roslynu. Glavna odlika svih novih značajki je skraćivanje postojećeg kôda. Za svaku novu značajku u C#-u 6 postoji ekvivalentan kôd u C#-u 5 koji je samo duži i nečitkiji. Pretjerano skraćivanje kôda vodi prema kriptičnom kôdu, ali funkcioniranje novih značajki trebalo bi biti očito programerima koji se prvi put susreću s C# 6 kôdom.
Interpolacija stringova
Formatiranje znakovnih nizova vrlo je čest zadatak i postojeće metode su sasvim dovoljne. No za jednostavno formatiranje možemo koristiti sljedeći kôd: var person = new Person { Name = “Hrvoje”, LastName = “Horvat” }; var fullName = $”{person.Name} {person.Last Name}”; Ekvivalentan kôd u C#u 5 je: var fullName = string.Format(“{0} {1}”, person. Name, person.LastName); Interpolirani se argumenti ponašaju na isti način kao da ste pisali donju formu. To znači da možete koristiti i dodatne instrukcije za formatiranje poput “\{person.BirthDate:dd.MM.yyyy}”
Null-propagation operator
Tony Hoare je nazvao uvođenje nulla u Algol 1965. greškom od milijun dolara. Zasigurno nema programera koji barem jednom u 104
WD MREŽA 2015
životu nije naišao na ekvivalent NullReferenceExceptiona u nekom jeziku. S obzirom na to da kôd ima tendenciju sadržavati ogroman broj provjera varijabli za null vrijednost, ovaj će operator zasigurno skratiti postojeći kod. Primjer: var city = Company?.Owner?.Address?.City; Svakom pristupanju propertyju treba prethoditi provjera za null, što otežava pisanje kôda i čini ga nečitkijim. Ekvivalentni kôd je sasvim očit i jednako ga je bolno vidjeti kao i pisati. Osim što omogućuje bezbolan pristup vrijednostima, može se koristiti i za siguran poziv metoda, odnosno nepozivanje ukoliko je objekt null: Event?.Invoke(this, EventArgs.Empty); Na isti način možete koristiti i operator indeksiranja [] no morate paziti na potencijalnu iznimku ArgumentOutOfRange koja će se sigurno dogoditi ako na to niste pazili.
Globalne metode
Ne, C# nije dobio globalne metode, ali je dobio značajku koja daje isti efekt. Osim što je moguće uvesti klase iz imenika koristeći ključnu riječ using, sad je moguće na isti način uvesti statične funkcije iz statičnih klasa. Umjesto pisanja: Console.WriteLine(“Hello world”); sad pišemo: using static System.Console; WriteLine(“Hello world”); Ukoliko je statična metoda istovremeno i extension metoda, ona se neće moći koristiti kao globalna funkcija jer je ideja iza takvih funkcija da se koriste kao metode.
Poboljšanja u pisanju klasa
C# program bez klasa je nezamisliv, pa čak i nemoguć. PisaUvođenje statičkih funkcija iz statičkih klasa koristeći ključnu riječ using
Open source razvoj Formatiranje znakovnih nizova korištenjem interpolacije stringova
nje klasa je osnova objektno orijentiranih jezika poput C#-a, no ponekad je pisanje malih klasa relativno naporno. Pogotovo je pisanje nepromjenjivih klasa otežano u odnosu na F# zbog nepotrebnog ponavljanja. No sad na raspolaganju imamo niz manjih značajki koje nam skraćuju zapis i olakšavaju razumijevanje. Odsad je moguće inicijalizirati automatske propertyje odmah prilikom deklaracije: public class Foo { public int Maximum { get; set; } = 100; } Također je moguće i propertyje koji nemaju mogućnost postavljanja inicijalizirati prilikom deklaracije ili u konstruktoru: public class Foo { public int MaxLength { get; } = 10;
Razvoj C#-a i Visual Basic.NET-a već je duže vrijeme kompletno otvoren. Ako želite sudjelovati u razvoju ili samo vidjeti što se događa, uputite se na http://github.com/ dotnet/roslyn i pogledajte kôd, roadmap, prijavite bug ili čak pošaljite pull request ako se osjećate dovoljno odvažnima. Za sve ljubitelje struktura i value tipova jedna dobra vijest: odsad možete pisati vlastite konstrukture bez parametara. Jedini je uvjet da ručno inicijalizirate sva polja. Taj će se konstruktor pozivati samo kad se instanca konstruira s new, ali neće se pozivati prilikom konstrukcije polja ili kad je instanca strukture član neke druge strukture ili klase. Jedna nova značajka su exception filteri, odnosno mogućnost definiranja filtera na catch blokovima. Ako se if uvjet evaluira s true, ulazi se u catch blok. U protivnom se preskače ulazak. Ovo omogućuje finu obradu različitih iznimki. try { // ... } catch (Exception ex) if (...) {} catch (Exception ex) if (...) {} catch (Exception ex) if (...) {} Kreiranje i inicijalizacija rječnika sad je lakša nego prije koristeći sljedeću sintaksu:
public Foo() { MaxLength = 15; } }
var dict = new Dictionary { [1] = 1, [2] = 2, [3] = 3, [3] = 4, };
Kraće metode možemo zapisati na novi način (expression bodied members):
Ukoliko više puta navedete isti ključ kao u gornjem primjeru, neće doći do iznimke i koristi se zadnja vrijednost.
public class Foo { public string FullName = $”{FirstName} {LastName}”; public string ToString => “Foo”; }
Budućnost
Ostale značajke
Osim navedenih značajki, postoji još niz manjih koje ipak imaju manji domet. U C#-u 6 moguće je koristiti await unutar catch i finally blokova. Ovo će prije svega skratiti obradu grešaka jer je mnoge iznimke moguće obraditi samo korištenjem asinkronih metoda. Ako vam treba ime neke metode ili člana klase, umjesto korištenja hardkodiranih znakovnih nizova ili trikova, možete koristiti nameof operator. Ovaj operator vraća znakovnu reprezentaciju simbola, što je vrlo korisno u XAML platformama, logiranju ili validaciji parametara. Glavna prednost je mogućnost refaktoriranja jer to više nije znakovni niz za koji treba “pogoditi” da se radi upravo o korištenju tog simbola. void Bar(Person person) { if (person == null) throw new ArgumentNullException(nameof(p erson)); }
Većina ovih značajki je mala, no zajedničko im je to što je njihova implementacija bila preteška u starom prevoditelju. Novi prevoditelj omogućuje razvoj ovakvih malih synctactic sugar značajki, no omogućuje i neke veće. U budućnosti nas očekuju slične male značajke, no moguće je da dobijemo i nešto veće. Nakon što je C# uveo async/ await paradigmu, mnogi jezici sad implementiraju sličnu značajku. Vrijeme je da C# preuzme napredne značajke drugih jezika.
C# 6 donosi i nove funkcionalnosti na klasi
WD MREŽA 2015
105
Savjeti Koji Azure model odabrati?
Krojiti ili biti krojen u Azureu Mnogi se odlučuju za Azure, a u početku se obično pitaju - kojim putem krenuti, koju uslugu izabrati? Česta je zabluda da je Azure samo “neki virtualni stroj koji čuči u nekom podatkovnom centru u nekom dijelu svijeta” Cloud Services i Websites. Platform-as-a-Service model je idealno rješenje za korisnike tvarnost je drugačija koji žele prebaciti održavanje Azure je mnogo više operativnog sustava, brigu o od toga. Iskrojiti svoj sigurnosti, mrežnoj topologiji i vlastiti stroj uz pomoć usluge integracijskoj infrastrukturi na Azure Virtual Machines, ostaponuditelja usluge. Korisnik se viti drugima dio odgovornosti može posvetiti razvoju svoje koristeći Azure Cloud Services aplikacije, znajući da korišteili pojednostaviti stvar i koristiti njem platforme kao servisa Azure Websites? može računati na skalabilnost, Ponudu Azurea možemo svrskoro neograničene resurse i stati u dvije osnovne kategorije sigurnost. Podjela odgovornosti u Azureu - tko radi što? izvedene kroz tri različite usluPlatforma Azure nudi okolige: Infrastructure-as-a-Service nu s unaprijed konfiguriranim (IaaS) predstavljen kroz Azure Virtual Machines te Platform-as- aplikacijskim poslužiteljima, na koje razvojni inženjeri mogu a-Service (PaaS) utjelovljen kao Azure Cloud Services ili Azure instalirati svoje aplikacije. Budući da Azure vodi brigu o hardveru Websites. Kako bi se donijela odluka o tome koji model odabrati (krpanju, nadogradnji itd.), kao i dostupnosti poslužitelja i apliu konkretnom scenariju potrebno je poznavati prednosti i ne- kacija, uključivanje korisnikovih informatičkih profesionalaca je dostatke pojedinog modela te uobičajene scenarije korištenja. svedeno na minimum. Programeri razvijaju aplikacije te računaju na potrebne resurse. Azure Virtual Machines Nakon instalacije aplikacije, Azure na temelju željenih resursa Infrastructure-as-a-Service model većini je konceptualno najbliži dodjeljuje konkretnu infrastrukturu, za nesmetan rad aplikacije. jer je sličan tradicionalnom hostingu. Ukratko, takav model nudi Pod resursima se misli na mrežne pristupne točke, load balanposlužitelj u oblaku (virtualni poslužitelj), nad kojim korisnik ima cere, procesore i memoriju. Razvojni inženjer se može fokusipotpunu kontrolu, a ujedno je vrlo fleksibilan jer samo iznajmljuje rati na sâm razvoj aplikacija i ne treba brinuti o skalabilnosti i infrastrukturu - kada i koliko mu zatreba. Korisnikova su briga infrastrukturi. operativni sustav, podaci, diskovi, mreža i naravno aplikacije koje će živjeti na poslužitelju. Drugim riječima, umjesto kupnje Azure Cloud Services hardvera, plaća se servis obračunat na temelju potrošnje ili u Azure Cloud Services sastoje se od dviju komponenti - apliobliku pretplate - ako usporedimo sa svakodnevnim životom, kacijskih datoteka (izvorni kôd, biblioteke, itd.) i konfiguracijske kao električna energija, voda ili telefon. datoteke. Navedene komponente zajedno sačinjavaju Web role i Laički rečeno, ovaj se model može predočiti kao tipičan on- Worker role, koje, pak, koristi aplikacija. Cloud services korisniku premises virtualni stroj na koji se korisnik spaja remote desktopom omogućuju da se fokusira na ono što mu je bitno - aplikaciju. te uređuje i podešava sve što mu treba - ima mnogo mogućnosti, Ne mora brinuti o detaljima vezanih uz operativni sustav, mrežu ali i potpunu odgovornost. Potrebni su stručno znanje i mnoge i slično, kao što je slučaj kod usluge Azure Virtual Machines. računalne vještine. Razvojni inženjeri razvijaju softver potpuno Web rola je preddefinirani i konfigurirani Azure virtualni stroj svjesni toga kakva ih hardverska konfiguracija očekuje jer je u ulozi web-poslužitelja (IIS) te ima automatski instaliranu korisâmi pripremaju. snikovu aplikaciju prilikom podizanja poslužitelja, ali i kreiranu Ovaj model savršen je za sve sustave koji zahtijevaju third party javnu pristupnu točku (public endpoint). softver ili scenarije više aplikacija koje će živjeti na jednom stroju. Worker role su odgovorne za računalne funkcije te su podrška Dobar je izbor za prebacivanje postojećih i starih aplikacija u aplikacijama. Uobičajeni proces izgleda tako da Web rola prihvati oblak jer je omogućena detaljna konfiguracija okruženja, bez neku vrstu ulaznih podataka ili informacija, a zatim ih stavlja u ikakvih ograničenja. Jednostavno se pripremi okruženje kakvo red čekanja za Worker rolu, koja naknadno vrši obradu. Upravo aplikacija očekuje te se prebaci u potpuno kontroliranu okolinu. takvo postrojenje omogućuje Web roli dobar odziv te visoku Pogodan scenarij za Azure Virtual Machines su aplikacije koje učinkovitost i dostupnost. zahtijevaju prilagodbe softverskih komponenti ili korištenje Broj Web i Worker rola moguće je unaprijed konfigurirati i poservisa i biblioteka trećih strana - jer ne postoje ograničenja te desiti opciju automatskog skaliranja - u slučaju kada se poveća se sve može podesiti u skladu s konkretnim zahtjevima. Tvrtke potreba za resursima, na temelju većeg broja ulaznih zahtjeva. često koriste ovaj model zbog manje cijene od kupnje hardvera, ali i u slučajevima kad im kratkotrajno treba veći broj virtualnih Azure Websites poslužitelja za određena testiranja. Azure Websites su najjednostavniji i najjeftiniji, ali i najbrži način prebacivanja aplikacije u oblak. Websites zahtijeva vrlo Zašto platforma kao servis? malo konfiguriranja i namijenjen je jednostavnim web-aplikaPlatforma kao servis se u kontekstu Azurea razmatra kroz cijama koje ne trebaju kompleksnu konfiguraciju skaliranja i Antonio Faletar
S
106
WD MREŽA 2015
Microsoftov oblak i Software as a Service Software-as-a-Service poslovni je model u kojem davatelj usluge nudi aplikaciju korisnicima u obliku usluge, obično za određenu naknadu. Korisnik koristi uslugu dok mu treba, nema dugoročnih obaveza ili ugovora te uslugu može prekinuti u bilo kojem trenutku. Ne vidi i ne zanima ga hardverska i konfiguracijska pozadina usluge. Većina SaaS aplikacija koristi se direktno kroz web-preglednik, bez ikakvih preuzimanja ili instalacija. Zbog takvog modela, SaaS je idealan za zaobilaženje
instalacije na korisnikovom računalu, a time omogućuje velikim tvrtkama lako održavanje aplikacija i podršku. Korisnika se ne opterećuje nadogradnjama i zakrpama - one se događaju konstantno i korisnik uživa u prilagodljivom softveru koji se konstantno mijenja i unaprjeđuje te osjeća da se netko “brine o njemu”. Popularne SaaS usluge su elektronička pošta i kolaboracija, CRM sustavi te aplikacije orijentirane očuvanju zdravlja. Radi se uglavnom o zamjeni za softver koji se donedavno nalazio na uređajima
korisnika, a neki od primjera SaaS aplikacija su Microsoft Office 365, Microsoft Business Productivity Online Suite (BPOS), CRM Online. SaaS je brzorastući model budućnosti, a najviše smisla ima u aplikacijama koje su prijeko potrebne za poslovanje, ali ne čine kompetitivnu razliku jer ih koriste i klijenti - primjerice e-mail. Preporučljiv je i za aplikacije koje povezuju organizaciju s vanjskim svijetom, kao što su newsletter aplikacije, ali i aplikacije koje se koriste kratko vrijeme i privremeno. Porezne aplikacije ili
aplikacije za naplatu, koje imaju “navalu” korisnika u određenom razdoblju, idealan su primjer softvera koji je pogodan za SaaS model oblaka. SaaS nije dobar model za brzu obradu podataka u stvarnom vremenu (osim ako podaci koje želite analizirati ne dolaze iz aplikacija koje se već nalaze u istom oblaku) te za aplikacije koje zbog legislative ne dopuštaju iznošenje podataka izvan određenih granica. Nije preporučljivo niti mijenjati postojeće aplikacije koje ispunjavaju sve zahtjeve organizacije.
procesuiranja. Opradi internu komunićenito, PaaS pojedkaciju i drži se razine nostavljuje, ubrzava IIS-a, preporučljivo i pojeftinjuje razvoj, je koristiti Websites testiranje i instalaciju zbog jednostavnosti i brzine. aplikacija. Instalacija aplikaciWe b site s m ože je u Azure Websites koristiti više posluvrlo je jednostavna. žitelja koji obrađuju Moguće je koristiti upite, ali ti poslužibilo koji razvojni alat telji ne znaju jedan ili source kontrolu za drugoga, izolirani (TFS, Git, GitHub, su. Websites je kao Bitbucket, CodePlex, stvoren za scenarije gdje je web-aplikacija DropBox) za guranje aplikacije u oblak pisana u PHP-u, Pyhostalo se može pretonu ili Node.js-u jer pustiti Azureu, a sve nudi unaprijed konradi savršeno. Azure figuriran poslužitelj, Websites omogućuje za razliku od Cloud Web i Worker role - Web role primaju zahtjeve te ih prosljeđuju Worker rolama na obradu podizanje WordPreServices, gdje bi koriss, Drupal, OpenX ili snik morao instalirati čak phpBB stranica jednim klikom miša. Bez pisanja kôda, bez određene pakete, ovisno o konkretnom scenariju. Cloud Services gnjavaže, uz minimalno konfiguracije. Koristeći Azure Websites se koristi kada je potreban pristup poslužitelju, do razine ispod moguće je u nekoliko minuta podići željeni servis. aplikacijskog poslužitelja, ili ako aplikacija koristi neki proces Naravno, aplikacija može uključivati i pozadinsku bazu poda- koji se vrti u pozadini, kao i u scenarijima više poslužitelja koji taka, bilo SQL Server ili MySQL. U tom slučaju, nakon što se trebaju moći međusobno komunicirati i znati jedan za drugoga. aplikacija uspješno preseli u oblak, samo je potrebno izmijeniti pristupne podatke u konfiguracijskoj datoteci, da gledaju ispravnu Krojiti ili pustiti da kroje? bazu podatka. To je sve! Na kraju se postavlja pitanje, što koristiti? Korisnici koji žele preseliti postojeće aplikacije u oblak, bez puno muke, vjeroAzure Websites ili Cloud Services? jatno će odabrati Azure Virtual Machines gdje će “simulirati” Kada koristiti Azure Websites, a kada Cloud Services? Razlike dosadašnju okolinu u tvrtki i dati povjerenje oblaku, smanjiti su male, ali mogu biti značajne. U obje varijante je, naravno, troškove hardvera i ostalih resursa. Za korisnike koji žele razviti dostupno Azure automatsko skaliranje. U usporedbi s Cloud jednostavne web-aplikacije, bez pozadinskih procesa, bilo da Services, Websites su zasigurno jednostavniji za korištenje. je riječ o ASP.NET-u, PHP-u ili Node.js-u, koristit će Azure IIS je unaprijed pripremljen za potreban scenarij, s unaprijed Websites. Kompleksnije aplikacije, s pozadinskim procesima i konfiguriranim application poolom, a na korisniku je samo da međuposlužiteljskom komunikacijom, zahtijevat će Azure Cloud prenese kôd aplikacije. Web-aplikacija se može razvijati uo- Services. Azure Websites je odličan izbor za jednostavno podibičajenim alatima, poput Visual Studija, a instalaciju obavljati zanje WordPressa, Drupala ili neke druge platforme - u nekoliko korištenjem WebDeploya, FTP-a, ali i primjerice DropBoxa. Kôd klikova mišem može se “kreirati” svoj softver u oblaku. Svatko će na poslužitelju vrlo je jednostavno osvježiti korištenjem Visual se od nas prepoznati u nekom od navedenih scenarija - izbora Studio Onlinea, GitHuba ili Codeplexa. Ako web-aplikacija ne ima, uz Azure je lako skrojiti rješenje koje vam treba! WD MREŽA 2015
107
Savjeti Microsoftov hibridni oblak
Povezivanje postojeće infrastrukture U današnje se vrijeme sve više isprepliće interna infrastruktura s raznim uslugama u oblaku. Microsoft je kao jedan od lidera u području računalstva u oblaku ponudio skup rješenja koja omogućuju IT odjelima da jednostavno iskoriste sve potencijale svoje interne infrastrukture te da ju, povezivanjem s Microsoftovim javnim oblakom, dodatno prošire Matija Blagus
U
posljednje vrijeme svjedoci smo da računalstvo u oblaku uzima sve više maha te da broj usluga koje su dostupne korisnicima svakim danom raste. To otvara nove mogućnosti za tvrtke koje sada mogu brzo i jednostavno kombinirati različite usluge u Microsoftovom oblaku s uslugama koje pružaju kroz svoju internu infrastrukturu. Koncept hibridnog oblaka podrazumijeva da IT odjeli sada uz svoje interne resurse koriste i javni oblak da bi nadogradili postojeće mogućnosti koje nude korisnicima, ali i kako bi proširili interne kapacitete prema potrebi. Ovakav pristup dizajnu infrastrukture omogućuje IT odjelima fleksibilnije planiranje, a i smanjenje troškova kroz plaćanje usluga i servisa točno onoliko koliko su bile korištene. Valja napomenuti da premještanje dijela usluga u javni oblak ima i velike prednosti u smanjenju troška održavanja usluga koje možda nisu kritični dio za poslovanje tvrtke. Transformacija IT-a ide u smjeru pružanja usluga i lagano se brišu granice između privatnog i javnog oblaka te i sam Microsoft sve više spominje hibridne modele infrastrukture, svjestan činjenice da tako krajnjim korisnicima omogućuje brže odgovore na izazove.
System Center App Controller - Odabir oblaka u koji možemo staviti server bez obzira na to je li to privatan ili javni oblak (Microsoft Azure)
iskustvo korištenja usluga, potrebno je koristiti sinkronizaciju Active Directory da bi se izbjeglo korištenje dvostrukih korisničkih računa. Kako bismo osigurali korisnicima identične lozinke za usluge unutar sinkronizacije Active Directory omogućeno je da se odabere opcija sinkronizacija lozinki. U tom će slučaju korisnici koristiti iste vjerodajnice za spajanje na interne servise, kao i Office 365 integracija na one u javnom oblaku. Vjerojatno je većina upoznata s Microsoftovom Drugo rješenje jest implementacija Active uslugom Office 365. Ona nudi pregršt usluga u Directory Federation Servicesa. Oni nam omoCloudOS - Microsoftova vizija Microsoftovom oblaku, od kojih je bitno izdvojiti gućuju single sign-on korisničko iskustvo te će se cloud OS-a i hibridnih oblaka Microsoft Exchange, SharePoint i Lync. Tvrtke korisnici, kada se jednom logiraju na računalo, mogu pojedinačno uzimati usluge ovisno o potrebama, s time automatski logirati na sve usluge, bez obzira nalazile se one na da je moguće kombinirati postojeći sustav s uslugama u jav- internim poslužiteljima ili u Microsoftovim podatkovnim centrinom oblaku. Kako bi se korisnicima osiguralo najbolje moguće ma. Ovaj je scenarij kompleksniji za implementaciju, ali je na kraju jednostavniji za krajnje korisnike. Prije implementacije važno je dobro isplanirati autentikaciju korisnika, kako bi korisnici što bezbolnije prešli na novu uslugu. Mogućnosti koje su dostupne detaljnije su objašnjene u članku na sljedećoj adresi: http://blogs.office. com/2014/05/13/choosing-a-sign-in-modelfor-office-365/.
A što se nudi sistemskim inženjerima?
Usluga Azure Active Directory služi nam kao IDaaS (Identity as a Service) - nezaobilazna stvar kod hibridnih scenarija
108
WD MREŽA 2015
Naravno da je Microsoft mislio i na sistemske inženjere te im omogućio veliki skup usluga koje se nadovezuju na Windows Server 2012 R2 operativni sustav i System Centar alate. Microsoft ovaj koncept hibridnog oblaka naziva i Cloud OS.
Budućnost je hibridna
Usluga Azure Backup uz korištenje DPM-a pojednostavljuje nam poslove izrade sigurnosnih kopija
Windows Azure Pack - upravljanje lokalnom infrastrukturom uz poznato korisničko iskustvo iz Microsoftovog Azurea
U posljednje vrijeme sve više tvrtki koristi prednosti usluga u javnom oblaku te sada i male tvrtke mogu brzo i jednostavno dobiti enterprise usluge po nižim cijenama nego da ih samostalno implementiraju. Druge, pak, proširuju svoju infrastrukturu (privatni oblak) s uslugama u javnom oblaku. Čak se i u enterprise okruženjima lagano brišu granice između privatnog i javnog oblaka te se sve češće događa da je dio usluga smješten interno, dok je drugi dio proširen u Microsoft Azure i/ili Office 365. Korisnici su se privikli na usluge u oblaku i odlučili dio odgovornosti za održavanje većeg broja servera jednostavno prebaciti na Microsoft te se fokusirati na razvoj internih servisa umjesto da se bave održavanjem usluga. U budućnosti možemo definitivno očekivati da će se IT odjeli više baviti hibridnim arhitekturama jer Microsoft velikim koracima grabi
naprijed u unaprjeđenju usluga u svojem oblaku. Pojednostavljenjem povezivanja lokalnih usluga s onima u javnom oblaku Microsoft je napravio dobar posao, jer je omogućio tvrtkama koje nisu IT orijentirane da povoljnije dođu do usluga. S druge strane, sistemci će sada moći kombinirati različite usluge kako bi dostavili tražena rješenja krajnjim korisnicima. To naravno ne znači da su nužno hibridni scenariji jednostavniji za implementaciju, nego da se otvara cijeli novi spektar usluga koje se mogu ponuditi korisnicima. U krajnjoj liniji korisnicima danas više nije niti bitno gdje se nalazi server koji poslužuje njihove zahtjeve, već da je usluga brza, stabilna i pouzdana. Hibridni oblak jedan je od vrlo dobrih odgovora na zahtjeve koji se postavljaju pred IT odjele, a i od krajnjih korisnika i menadžmenta.
Microsoft Azure je već duže vrijeme prisutna usluga na tržištu narije. Što se tiče upravljanja korisnicima i uređajima Configuration koja korisnicima omogućuje iznajmljivanje infrastrukture prema Manager i usluga Windows Intune odlično pokrivaju taj segment tržišta. Uza sve spomenute komponente System Centra, moguće je korištenjem potrebama. Osim samih infrastrukturnih usluga i iznajmljivanja virtualnih stroje- Azure Packa dobiti izgled Azureovog portala koji možete ponuditi vlava, dostupan je cijeli spektar usluga kao što su primjerice SQL baze, stitim korisnicima. U novom valu operativnog sustava Windows Server trezori za backup, Visual Studio Online, RemoteApp te mnogi drugi. te System Centar alata, za očekivati je daljnje integracije i proširivanje Već danas velika većina usluga koje možete imati interno u tvrtki mogućnosti Cloud OS-a, odnosno hibridnog oblaka. dostupna je i u javnom oblaku te ih je sve moguće povezati u jedinstveni hibridni oblak. System Centar alati bitno olakšavaju upravljanje i nadziranje hibridnog oblaka te su spremni za sve izazove. App Controller nudi jednostavno kreiranje virtualnih strojeva i u privatnom oblaku i u Microsoftovom Azureu. Operations Manager ima mogućnost nadgledanja servisa i u privatnom i u javnom oblaku, čime je omogućeno jednostavno upravljanje i nadziranje hibridnog oblaka. Data Protection Manager pak nudi, osim spremanja na lokalni storage, spremanje podataka i u Microsoftov Azure. Orchestrator se također prilagodio trendu te nam nudi kompletnu automatizaciju za hibridne sce- Usluga Microsoft Intune omogućuje nam nadzor lokalne infrastrukture direktno iz Microsoftovog oblaka WD MREŽA 2015
109
Savjeti Microsoft SharePoint 2013
SharePoint infrastruktura za početnike SharePoint 2013 dostupan je na tržištu već jedno dulje vrijeme za krajnje korisnike. Jedan od izazova implementacije je dobro isplanirati infrastrukturu i donijeti odluke na koji način složiti SharePoint kako bi dao optimalne performanse, ovisno o scenariju… Matija Blagus
S
harePoint je već duže vrijeme na tržištu prepoznat kao vodeći alat za potporu poslovanju te povećanju uredske produktivnosti. Iako ga većinom implementiraju veće tvrtke, zbog dostupnosti Office 365 usluge, ali i besplatne verzije SharePointa, i mnoge manje tvrtke odlučuju se za implementaciju SharePointa u svojim okolinama. Dizajniranje sustava SharePoint može biti izuzetno kompleksan posao, pogotovo ako se s njime susrećete prvi put. U ovom ćemo tekstu obratiti pozornost na neke osnovne stvari kod donošenja takvih odluka te na koji način one utječu na rad sustava SharePoint.
SharePoint u oblaku ili lokalni?
Već prije spomenuta usluga Microsofta Office 365 ponudila je korisnicima mogućnost korištenja SharePointa u oblaku po povoljnim cijenama. Za tvrtke koje možda nemaju potrebe za nekim naprednijim funkcionalnostima u smislu detaljne prilagodbe platforme, ovo će vrlo vjerojatno biti najjednostavnije
SharePoint 2013 arhitektura - primjer za veću SharePoint farmu
i najjeftinije rješenje. U ovom slučaju brigu oko infrastrukture, održavanja i dostupnosti ostavljate Microsoftu. S druge strane, ako ćete morati razvijati specifična rješenja za SharePoint te imate specifične zahtjeve koje možda jednostavniji workflowi ne mogu riješiti, u te ćete svrhe koristiti SharePoint Server 2013. Iako usluga u oblaku na prvu izgleda kao jednostavnije rješenje, dio korisnika, što zbog specifičnih potreba, što zbog zakonske regulative, ne mogu koristiti rješenja bazirana na javnom oblaku. Za samu instalaciju SharePointa trebat ćete minimalno jedan server na kojem će se nalaziti SharePoint Server. Također će vam trebati i Microsoft SQL Server (2008 R2 ili noviji), a očekuje se da su serveri spojeni u domenu. Uvijek je preporuka da uz jedan produkcijski, imate i jedan i testni sustav na kojem možete slobodno testirati sve što vam je potrebno. Uz to, uz SharePoint se veže i pojam SharePoint farme, što podrazumijeva da sam SharePoint može biti skaliran na više servera koji čine jednu farmu te tako i jednu funkcionalnu i logičku cjelinu. Više detalja o tome u nastavku članka.
Server više ili server manje...
Search je jedna od često korištenih komponenti na koju valja obratiti posebnu pozornost pri planiranju arhitekture farme
110
WD MREŽA 2015
Pitanje koje korisnici uvijek postavljaju je: koliko je meni resursa (navedenih u ovim početnim uvjetima) zaista potrebno? Ukoliko želite visoku dostupnost SQL servera, onda je logično da ćete imati dva ili više SQL servera koji će koristiti AlwaysOn tehnologiju replikacije te se tako zaštititi da - ako se nešto dogodi s jedim od servera - drugi odmah preuzima ulogu glavnog servera te sve i dalje radi. SQL server jedna je od najvažnijih stvari o kojoj treba voditi računa kada se projektira SharePoint implementacija. Velika većina stvari koje SharePointu trebaju za normalan rad nalaze se u bazama na SQL serveru.
Ako je SQL server loše podešen, ima spori storage u pozadini i slično, očekujte da će sam SharePoint biti spor. Svi vaši dokumenti bit će spremljeni u baze, tako da morate voditi računa i o pravilnom backupu tih baza. Što se tiče samog SQL servera, on za SharePoint zahtijeva neka posebna podešavanja kako bi ispravno radio. Preporuke za najbolje prakse kako podesiti SQL server možete vidjeti na adresi: https://technet.microsoft.com/ en-us/library/hh292622%28v=office.15%29.aspx. SharePoint farma može se sastojati od minimalno jednog servera (obično za testne potrebe ili manje sustave) ili više servera, gdje svaki odrađuje dio posla (produkcijski sustavi). U arhitekturi SharePointa obično razlikujemo dvije vrste servera u SharePoint farmi, a to su Web Front End Server i Application Server. Web Front End server bit će zadužen za generiranje stranica koje korisnici vide te će oni biti smješteni iza nekog web proxyja ili load balancera ako ih je više. Application serveri su serveri u SharePoint farmi koji obavljaju neke specifične radnje - primjerice pretraživanje je obično u većim farmama izdvojeno na posebne servere zbog svojih hardverskih zahtjeva. Kod SharePointa se može skoro svaka servisna aplikacija izdvojiti na poseban server ukoliko je to potrebno, a, naravno, moguće je i da više servera “opslužuje” jednu servisnu aplikaciju.
SharePoint možete koristiti i kao dio Office 365 usluge pa svu administraciju SharePoint infrastrukture za vas obavlja Microsoft
Takvi su scenariji mogući kod velikih enterprise korisnika, koji imaju opet neke specifične potrebe. Za manje i srednje tvrtke u Hrvatskoj u većini slučajeva bit će dovoljan jedan do dva servera u farmi kako bi se zadovoljile njihove potrebe. Vrlo je važno imati odgovarajući hardver u pozadini kako bi cijeli SharePoint bio responzivan. Preporuke koje možete naći na Microsoftovim stranicama minimalni su zahtjevi. Potrebno je voditi računa i o limitima Primjer virtualizacije s odvojenim rolama koje SharePoint ima SharePointa na različitim virtualnim serverima (u slučaju da imate velike količine dokumenata). Primjerice, 200 GB je maksimalna preporučena veličina jedne baze, osim ako nemate poseban storage koji zadovoljava određene uvjete.
SharePoint u Azure oblaku - jedan od primjera hibridne topologije
Kako izvući još malo više iz servera? Jedna od čestih stvari koje se pojavljuju kod korisnika je to da su limitirani hardverskim resursima koji su dani na raspolaganje SharePointu. U tom slučaju, ako nije moguće nabaviti novu opremu, potrebno je malo više obratiti pozornost na Microsoftove preporuke kako podesiti SharePoint i SQL server da bi dali svoj maksimum. Microsoft daje svoje preporuke kako podesiti određene parametre servera da bi radili brže, bolje i pouzdanije. S druge strane, mnoštvo konzultanata daje
svoje preporuke na temelju vlastitog iskustva koje su stekli prilikom održavanja raznih SharePoint sustava. Jedan veći popis tih preporuka s poveznicama na dodatne materijale možete naći na sljedećoj adresi: http://social.technet. microsoft.com/wiki/ contents/articles/12438. community-best-practicesfor-sharepoint-2013.aspx. Ove preporuke nisu samo za one koji žele optimizirati svoj SharePoint, već i za sve ostale, jer osim same implementacije SharePointa,
važno je održavati SharePoint prema najboljim praksama. Naravno, neke su se preporuke s vremenom mijenjale, tako da je također važno biti u tijeku s najnovijim informacijama. Većina stvari pri implementaciji SharePointa ovise o određenom scenariju korištenja. Nekima će biti važno pretraživanje pa će naglasak pri projektiranju infrastrukture staviti na taj dio. Drugima će, možda, biti zanimljivije BI funkcionalnosti. Bez obzira na scenarij korištenja,
planirajte da će se sustav u nekom trenutku morati proširivati te probajte odmah u početku predvidjeti rast. Time ćete uštedjeti dosta vremena pri kasnijem održavanju, koje je uvijek potrebno. SharePoint je jedan od sustava o kojemu morate proaktivno brinuti i nakon što završite implementaciju. Kako korisnici budu sve više koristili SharePoint, tako će vjerojatno i neki segmenti SharePointa morati biti promijenjeni u skladu s korištenjem i zahtjevima korisnika.
WD MREŽA 2015
111