Z´apadoˇcesk´a univerzita v Plzni Fakulta aplikovan´ych vˇed Katedra informatiky a v´ypoˇcetn´ı techniky
Bakal´arˇ sk´a pr´ace
Cloudov´e rˇ eˇsen´ı v EEG/ERP dom´enˇe
Plzeˇn, 2013
Roman Tryml
Prohl´asˇen´ı: Prohlaˇsuji, zˇ e jsem bakal´arˇskou pr´aci vypracoval samostatnˇe a v´yhradnˇe s pouˇzit´ım citovan´ych pramen˚u.
V Plzni dne 28. 4. 2013
...........................
Podˇekov´an´ı: T´ımto vyjadˇruji podˇekov´an´ı vedouc´ımu pr´ace Ing. Petru Jeˇzkovi, Ph.D. za cenn´e rady a pˇripom´ınky, velkou vstˇr´ıcnost a ochotu mi vˇzdy poradit a pomoci.
Abstract: The aim of this thesis is to find a suitable cloud solution for applications and databases that are developed by the neuroinformatics research group focusing at the Department of Computer Science and Engineering of the Faculty of Applied Science of the University of West Bohemia. The first part of the thesis explains possibilities of cloud computing. It includes over and analysis of Amazon, Google and INCF solutions. The second part describes a particular solution the INCF Dataspace; procedure and experience with its connecting to the incf zone is presented. The implementation includes connecting the data from the EEG/ERP Database of experiments in to the Dataspace system is described.
Obsah 1
´ Uvod
1
2
V´yzkumn´a skupina neuroinformatiky 2.1 Z´akladn´ı informace . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Poˇzadavky pro v´ybˇer cloudov´eho ˇreˇsen´ı . . . . . . . . . . . . . .
2 2 2
3
Problematika cloud computingu 3.1 Struˇcn´y pˇrehled . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 V´yvojov´e trendy v informaˇcn´ıch technologi´ıch . . . . . . . . . .
4 4 5
4
Anal´yza vybran´ych poskytovatelu˚ ˇ sen´ı od Amazon . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Reˇ ˇ 4.2 Reˇsen´ı Google . . . . . . . . . . . . . . . . . . . . . . . . . . . . ˇ sen´ı Microsoft . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Reˇ ˇ 4.4 Reˇsen´ı BeeScale . . . . . . . . . . . . . . . . . . . . . . . . . . . ˇ sen´ı International Neuroinformatics Coordinating Facility (INCF) 4.5 Reˇ
6 6 15 18 20 23
5
Zhodnocen´ı analyzovan´ych poskytovatelu˚
24
6
INCF Dataspace a syst´em iRODS 26 6.1 Zakladn´ı charakteristika iRODS . . . . . . . . . . . . . . . . . . 26 6.2 Klient syst´emu iRODS . . . . . . . . . . . . . . . . . . . . . . . 27 6.3 Pˇripojen´ı do syst´emu INCF Dataspace . . . . . . . . . . . . . . . 29
7
Z´ıskan´ı dat z datab´aze EEG pro INCF Dataspace ´ 7.1 Uvodn´ ı informace . . . . . . . . . . . . . . . . ˇ 7.2 Reˇsen´ı pomoc´ı jazyka PL/SQL . . . . . . . . . ˇ sen´ı pomoc´ı jazyka Java . . . . . . . . . . . 7.3 Reˇ 7.4 Zhodnocen´ı ˇreˇsen´ı . . . . . . . . . . . . . . . .
8
Z´avˇer
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
32 32 33 33 34 36
´ 1 Uvod
1
´ 1 Uvod Na Katedˇre informatiky a v´ypoˇcetn´ı techniky Fakulty aplikovan´ych vˇed Z´apadoˇcesk´e univerzity v Plzni p˚usob´ı nˇekolik v´yzkumn´ych skupin. Mezi nimi i skupina se zamˇeˇren´ım na v´yzkum neuroinformatiky. Experimenty prov´adˇen´e touto skupinou produkuj´ı velk´e mnoˇzstv´ı dat, kter´a potˇrebuj´ı b´yt k dispozici nejen v´yˇ ale i odborn´ık˚um z cel´eho svˇeta. V´yzkumn´a skupina na KIV zkumn´ık˚um ze ZCU, se rozhodla pro vyuˇzit´ı jednoho z nov´ych trend˚u v informaˇcn´ıch technologi´ıch, a to cloud computingu (d´ale tak´e cloud). Cloud m˚uzˇ e b´yt plnohodnotn´ym alternativn´ım ˇreˇsen´ım k n´akupu vlastn´ıho informaˇcn´ıho syst´emu. Jednou z moˇznost´ı ´ vyuˇzit´ı cloud computingu je schopnost zajistit ukl´ad´an´ı cˇ i sd´ılen´ı dat. Ukolem t´eto bakal´aˇrsk´e pr´ace je prov´est anal´yzu moˇznost´ı cloud computingu pro skupinu se zamˇeˇren´ım na v´yzkum neuroinformatiky KIV. V n´asleduj´ıc´ıch kapitol´ach budou zm´ınˇeni nˇekteˇr´ı poskytovatel´e, jejichˇz nab´ıdky cloudu budou vyzkouˇseny a otestov´any. Na z´akladˇe porovn´an´ı tˇechto nab´ıdek bude podle poˇzadavk˚u v´yzkumn´e skupiny vybr´an nejvhodnˇejˇs´ı poskytovatel cloudu. Dalˇs´ı cˇ a´ st se pak zamˇeˇr´ı na komplexn´ı popis vybran´eho ˇreˇsen´ı a zd˚uvodnˇen´ı, proˇc bylo vybr´ano. Bude zvolen konkr´etn´ı postup instalace a zprovoznˇen´ı dom´eny EEG1 /ERP2 v cloudu. O tomto postupu budou uvedeny reference s uveden´ım konkr´etn´ıch u´ skal´ı a jejich ˇreˇsen´ı. V´ysledek budou podrobeny praktick´emu testov´an´ı s vyhodnocen´ım. Pr´ace obsahuje celkem tˇri hlavn´ı t´emata, pˇriˇcemˇz kaˇzd´e se skl´ad´a z teoretick´eho vysvˇetlen´ı problematiky a popisu praktick´ych zkuˇsenost´ı. Prvn´ı t´ema pojedn´av´a o cloud computingu. Budou teoreticky pops´any souˇcasn´e moˇznosti a praktick´e vyzkouˇsen´ı nˇekter´eho z ˇreˇsen´ı. Druh´e t´ema popisuje syst´em iRODS a Dataspace a postup pˇripojen´ı do z´ony incf. Tˇret´ı t´ema pojedn´av´a o v´ybˇeru dat z datab´aze neuroinformatick´e skupiny pro sd´ılen´ı v syst´emu Dataspace. N´asleduje popis praktick´e realizace.
1
Electroencephalography - Je vyˇsetˇren´ı registruj´ıc´ı aktu´aln´ı elektrickou aktivitu mozku pomoc´ı povrchov´ych elektrod um´ıstˇen´ych na povrchu lebky. 2 Event-Related Potential – Evokovan´y potenci´al je mozkov´a odezva na nˇejakou ud´alost, tzv. stimul.
2 V´yzkumn´a skupina neuroinformatiky
2
2
V´yzkumn´a skupina neuroinformatiky
V t´eto kapitole bude uvedena struˇcn´a charakteristika neuroinformatick´e v´yzkumn´e skupiny na KIV a d´ale zde budou pops´ana jej´ı krit´eria a poˇzadavky pro v´ybˇer optim´aln´ıho cloudov´eho ˇreˇsen´ı.
2.1
Z´akladn´ı informace
V´yzkumn´a skupina pˇri Katedˇre informatiky a v´ypoˇcetn´ı informatiky Z´apadocˇ esk´e univerzity v Plzni se specializuje na v´yzkum medic´ınsk´ych aplikac´ı, zejm´ena na oblast neurologie. S ohledem na tento v´yzkum jsou hojnˇe vyuˇz´ıv´any metody elektroencefalografie (EEG) a evokovan´e potenci´aly (ERP). V´yzkumn´a skupina vyuˇz´ıv´a webov´y EEG/ERP port´al jako centr´aln´ı u´ loˇziˇstˇe pro data/metadata z´ıskan´a pˇri EEG/ERP experimentech, a software JERPA - desktopovou aplikaci pro v´ypoˇcetnˇe n´aroˇcn´e operace. EEG/ERP experimenty jsou obvykle cˇ asovˇe n´aroˇcn´e a produkuj´ı velk´e mnoˇzstv´ı dat, proto se mus´ı aktivnˇe ˇreˇsit jejich dlouhodob´e skladov´an´ı a management. Probl´emem je praktick´e sd´ılen´ı a v´ymˇena dat mezi jednotliv´ymi v´yzkumn´ymi laboratoˇremi z r˚uzn´ych m´ıst svˇeta tak, aby byla z´aroveˇn zachov´ana jejich bezpeˇcnost. [1]
2.2
Poˇzadavky pro v´ybˇer cloudov´eho rˇ eˇsen´ı
´ Unosn´ a finanˇcn´ı n´aroˇcnost rˇ eˇsen´ı V´yzkumn´a skupina je souˇca´ st´ı st´atn´ı vysok´e sˇkoly, proto jsou jej´ı finanˇcn´ı mnoˇznosti velmi omezen´e. Z tohoto d˚uvodu je vhodn´e naj´ıt poskytovatele, kter´y podporuje vˇedu a v´yzkum malou, v ide´aln´ım pˇr´ıpadˇe nulovou finanˇcn´ı n´aroˇcnost´ı sv´ych cloudov´ych sluˇzeb. Kompatibilita cloudov´eho rˇ eˇsen´ı s EEG/ERP dom´enou EEG/ERP port´al je pro zajiˇstˇen´ı vysok´e u´ rovnˇe abstrakce vyv´ıjen v programovac´ım jazyce Java i s vyuˇzit´ım XML technologie. Pro zpracov´an´ı velk´ych datov´ych soubor˚u slouˇz´ı datab´azov´y server Oracle 11g. Proto je nutn´e naj´ıt poskytovatele, kter´y podporuje tyto informaˇcn´ı syst´emy. Dostupnost sluˇzby cloudov´eho rˇ eˇsen´ı Dalˇs´ım poˇzadavkem v´yzkumn´e skupiny je 100% dostupnost cloudov´ych sluˇzeb. Je nutn´e br´at v u´ vahu takov´a ˇreˇsen´ı, kter´a v tomto smˇeru uˇzivatele neomezuj´ı napˇr´ıklad variabiln´ım v´ykonem sv´eho cloudu v z´avislosti na jeho aktu´aln´ım zat´ızˇ en´ı. Vhodn´e je vyb´ırat poskytovatele s ohledem na budoucnost.
2.2 Poˇzadavky pro v´ybˇer cloudov´eho rˇeˇsen´ı
3
´ ziˇstˇe Dostaˇcuj´ıc´ı datov´e uloˇ Vzhledem k zm´ınˇen´emu velk´emu mnoˇzstv´ı informac´ı produkovan´ych EEG/ERP experimenty je nutn´e nal´ezt ˇreˇsen´ı, kter´e neomezuje velikost ukl´adan´ych dat. Zabezpeˇcen´ı citliv´ych dat Jelikoˇz se jedn´a o osobn´ı data, je nutn´e vybrat takov´eho poskytovatele, kter´y plnˇe garantuje jejich zabezpeˇcen´ı proti zcizen´ı a zneuˇzit´ı. Jednoduchost implementace a snadn´a administrace Jednoduchost implementace je zde relativn´ı, z´aleˇz´ı na zamˇeˇren´ı, znalostech a zkuˇsenostech administr´atora. D˚uraz by vˇsak mˇel b´yt kladen na jednoduchost a nen´aroˇcnost pro koncov´e uˇzivatele z ˇrad v´yzkumn´ık˚u. Syst´em by mˇel b´yt ide´alnˇe pˇr´ıstupn´y odkudkoliv z internetu (se zˇretelem na bezpeˇcnostn´ı autentizaci uˇzivatele syst´emu).
3 Problematika cloud computingu
3
4
Problematika cloud computingu
N´asleduj´ıc´ı kapitola pˇrinese popis samotn´eho cloudu, jeho cˇ lenˇen´ı, vyuˇzit´ı a struˇcn´y pˇrehled nˇekter´ych poskytovatel˚u.
3.1
Struˇcn´y pˇrehled
Cloud computingu je na Internetu zaloˇzen´y model v´yvoje a pouˇz´ıv´an´ı poˇc´ıtacˇ ov´ych technologi´ı. Lze jej charakterizovat jako pron´ajem informaˇcn´ıho syst´emu, jako sluˇzby od poskytovatel˚u, pˇriˇcemˇz tyto sluˇzby je moˇzn´e rozdˇelit podle jejich typu do n´asleduj´ıc´ıch skupin: [2] SaaS - Software as a Service (software jako sluˇzba) Poskytovatel v tomto modelu pronaj´ım´a aplikace vˇcetnˇe infrastruktury (hardware a operaˇcn´ıho syst´emu/bˇehov´eho prostˇred´ı). M˚uzˇ eme vyuˇz´ıvat pˇripraven´e aplikace poskytovatelem sluˇzby. PaaS - Platform as a Service (platforma jako sluˇzba) Poskytovatel nab´ız´ı bˇehov´e prostˇred´ı pro provoz a vyuˇzit´ı vlastn´ıch aplikac´ı. Nev´yhodou je vˇsak propriet´aln´ı uzavˇren´ı poskytovatelem: API rozhran´ı, programovac´ı jazyk, datab´aze vˇetˇsinou s pˇresnˇe danou nebo omezenou moˇznost´ı v´ybˇeru. Tuto nev´yhodu ˇreˇs´ı posledn´ı model cloudov´e sluˇzby, a to: IaaS - Infrastructure as a Service (infrastruktura jako servis) Je zde nab´ızen v´ypoˇcetn´ı v´ykon, u´ loˇziˇstˇe a s´ıt’ov´a konektivita - hardware pro naˇse vlastn´ı bˇehov´e postˇred´ı a aplikace. V´yhody cloud computingu jsou zejm´ena: - vˇzdy aktu´aln´ı software - platba za skuteˇcnˇe vyuˇz´ıvan´e sluˇzby - sˇk´alovatelnost, moˇznost rychl´e zmˇeny zdroj˚u podle konkr´etn´ı potˇreby - dostupnost z Internetu a mobiln´ıch zaˇr´ızen´ı Nev´yhody cloud computingu: - ztr´ata u´ pln´e kontroly nad vlastn´ımi daty - nutnost zabezpeˇcen´ı osobn´ıch dat sˇifrov´an´ım - obt´ızˇ n´a nebo finanˇcnˇe n´akladn´a migrace k jin´emu poskytovateli - stabilita informaˇcn´ıho syst´emu z´avis´ı na pronaj´ımateli
3.2 V´yvojov´e trendy v informaˇcn´ıch technologi´ıch
5
D´ale se cloud dˇel´ı na: Public Cloud (Veˇrejn´y cloud) Pron´ajem informaˇcn´ıho syst´emu poskytuje extern´ı spoleˇcnost. Private Cloud (Soukrom´y cloud) Spoleˇcnost v tomto modelu cloudu provozuje vlastn´ı informaˇcn´ı syst´em jako sluˇzbu. Management m´a tomto pˇr´ıpadˇe k dispozici pˇrehled vyuˇz´ıv´an´ı informaˇcn´ıch sluˇzeb dle oddˇelen´ı, napˇr. pro analytick´e u´ cˇ ely n´aklad˚u na IT syst´em. Hybridn´ı cloud Spojen´ı obou v´ysˇe uveden´ych typ˚u cloud˚u. Pokud aktu´alnˇe, myˇsleno n´arazovˇe, syst´emov´e prostˇredky vlastn´ıho informaˇcn´ıho syst´emu spoleˇcnosti nepostaˇcuj´ı, je moˇzn´e vyuˇz´ıt veˇrejn´eho cloudu.
3.2
V´yvojov´e trendy v informaˇcn´ıch technologi´ıch
V´yvoj trend˚u v informaˇcn´ıch technologi´ıch je velmi rychl´y. Informace, kter´e byly pˇred nˇekolika mˇes´ıci novinkou, nemus´ı b´yt nyn´ı jiˇz aktu´aln´ı. Stoj´ıme tedy pˇred probl´emem, jak k t´eto skuteˇcnosti pˇristupovat. Obecn´e informace a definice t´ykaj´ıc´ı se novinek lze cˇ erpat prostˇrednictv´ım kniˇzn´ı literatury. Pro hlubˇs´ı anal´yzu je potˇreba proˇc´ıtat aktu´aln´ı cˇ l´anky cˇ i se u´ cˇ astnit tematick´ych konferenc´ı apod. Cloud computing je typick´ym pˇr´ıkladem rychle se vyv´ıjej´ıc´ıho modern´ıho trendu v informaˇcn´ıch technologi´ıch. Informace potˇrebn´e pro popis cloudov´ych ˇreˇsen´ı uveden´ych v t´eto pr´aci byly cˇ erp´any z aktu´aln´ıch internetov´ych cˇ l´ank˚u, konferenc´ı a osobn´ıch konzultac´ı s odborn´ıky ze spoleˇcnost´ı poskytuj´ıc´ıch cloud computing.
4 Anal´yza vybran´ych poskytovatel˚u
6
Anal´yza vybran´ych poskytovatelu˚
4
Tato kapitola pˇrin´asˇ´ı konkr´etn´ı nab´ıdky spoleˇcnost´ı poskytuj´ıc´ı cloud computing. Pokud to bude moˇzn´e, konkr´etn´ı ˇreˇsen´ı bude otestov´ano a zhodnoceno.
4.1
ˇ sen´ı od Amazon Reˇ
Spoleˇcnost Amazon je pr˚ukopn´ıkem na trhu cloudov´ych sluˇzeb. Zaˇc´ınala s internetov´ym obchodem. V roce 2002 spustila na voln´ych hardwarov´ych prostˇredc´ıch sluˇzbu AWS1 . [3] V roce 2006 byla spuˇstˇena sluˇzba on-line u´ loˇzn´eho prostoru Amazon Simple Storage Service (S3) a pˇredstavena sluˇzba Amazon Elastic Compute Cloud (EC2). [4] AWS pˇredstavuje kompletn´ı sadu infrastrukturn´ıch a aplikaˇcn´ıch sluˇzeb, jejichˇz seznam a struˇcn´y popis n´asleduje n´ızˇ e. V´ypoˇcetn´ı v´ykon: EC2 (Amazon Elastic Compute Cloud) - nab´ız´ı v´ypoˇcetn´ı kapacitu v Cloudu. Auto Scaling - umoˇznˇ uje automaticky sˇk´alovat v´ypoˇcetn´ı v´ykon v z´avislosti na podm´ınk´ach, kter´e potˇrebujeme nebo definujeme. Elastic Load Balancing - automaticky distribuuje pˇr´ıchoz´ı aplikaˇcn´ı provoz na v´ıce Amazon EC2 instanc´ı. Datab´aze: Amazon Relational Database Service (RDS) - umoˇznˇ uje snadn´e nastaven´ı, ovl´ad´an´ı a sˇk´alov´an´ı relaˇcn´ı datab´aze v Cloudu. Amazon DynamoDB - je plnˇe ˇr´ızen´a, vysoce v´ykonn´a NoSQL2 datab´aze, kterou lze snadno nastavit, provozovat a sˇk´alovat. Amazon SimpleDB - pˇredstavuje ˇr´ızenou NoSQL datab´azi urˇcenou pro menˇs´ı soubory dat.
Nasazen´ı a spr´ava: 1 2
AWS - Amazon Web Services NoSQL - datab´aze nevyuˇz´ıvaj´ıc´ı jazyk SQL
ˇ sen´ı od Amazon 4.1 Reˇ
7
AWS Identity a Access Management (IAM) - IAM umoˇznˇ uje bezpeˇcnˇe ˇr´ıdit pˇr´ıstup k AWS sluˇzb´am a zdroj˚um uˇzivatel˚u, umoˇznˇ uje vytv´aˇren´ı a spr´avu uˇzivatel˚u v AWS a umoˇznˇ uje udˇelit pˇr´ıstup k AWS zdroj˚um pro uˇzivatele spravovan´e mimo AWS, napˇr´ıklad v podnikov´em adres´aˇri.
S´ıt’ov´e sluˇzby: Amazon Virtual Private Cloud (VPC) - umoˇznˇ uje poskytov´an´ı soukrom´e izolovan´e cˇ a´ sti Amazon Web Services (AWS), kde je moˇzn´e spustit AWS zdroje ve virtu´aln´ı s´ıti. S Amazon VPC m˚uzˇ eme definovat virtu´aln´ı topologii s´ıtˇe, kter´a se podob´a t´e tradiˇcn´ı a kter´a by z´aroveˇn mohla pracovat v naˇsem vlastn´ım datov´em centru. Datov´a u´ loˇziˇstˇe Amazon Simple Storage Service (S3) - poskytuje infrastrukturu pro plnˇe redundantn´ı ukl´ad´an´ı a naˇc´ıt´an´ı libovoln´eho mnoˇzstv´ı dat kdykoli a odkudkoli na webu. Amazon Glacier - skladovac´ı sluˇzba s extr´emnˇe n´ızk´ymi n´aklady, kter´a poskytuje bezpeˇcn´e a trvanliv´e u´ loˇziˇstˇe pro archivaci dat a z´alohov´an´ı. Podpora: AWS Support - rychl´y kan´al pro pomoc se sestaven´ım a spuˇstˇen´ım aplikac´ı v AWS infrastruktuˇre. N´ızˇ e n´asleduje podrobnˇejˇs´ı popis sluˇzby Amazon EC2 (Elastic Compute Cloud) a Simple Storage Service(S3). Amazon EC2 je webov´a sluˇzba, kter´a nab´ız´ı variabiln´ı v´ypoˇcetn´ı kapacitu. V´yhoda tohoto ˇreˇsen´ı spoˇc´ıv´a v tom, zˇ e vyuˇz´ıv´ame pouze v´ypoˇcetn´ı v´ykon, kter´y skuteˇcnˇe potˇrebujeme. Pˇrid´an´ı nov´e instance serveru nen´ı sloˇzit´e a umoˇznˇ uje rychle sˇk´alovat kapacitu v´ypoˇcetn´ıho v´ykonu nahoru nebo dol˚u. M´ame moˇznost vybrat si z nˇekolika typ˚u instanc´ı. Standardn´ı instanci prvn´ı generace (M1) si m˚uzˇ eme pˇredstavit, jako pronajmut´y virtu´aln´ı server r˚uzn´e ”velikosti”. Pˇr´ıklad mal´eho virtua´ ln´ıho serveru: 1,7 GiB pamˇeti, 1 EC2 Compute Unit (1 virtu´aln´ı j´adro s 1 EC2 v´ypoˇcetn´ı jednotkou), 160 GB m´ıstn´ı instance u´ loˇziˇstˇe, 32-bit nebo 64-bit platformy. Pˇr´ıklad velk´eho virtu´aln´ıho serveru: 7,5 GiB pamˇeti, 4 EC2 v´ypoˇcetn´ıho jednotky (2 virtu´aln´ı j´adra kaˇzd´a s 2 EC2 v´ypoˇcetn´ımi jednotkami), 850 GB m´ıstn´ı instance u´ loˇziˇstˇe, 64-bit platformy.
ˇ sen´ı od Amazon 4.1 Reˇ
8
Pokud by standardn´ı virtu´aln´ı servery prvn´ı generace byly nedostaˇcuj´ıc´ı, existuje moˇznost vybrat si z generace druh´e (M3). Tedy z jeˇstˇe v´ykonˇejˇs´ıch virtu´aln´ıch server˚u. Pˇr´ıklad dvojit´e extra velk´e instance serveru z druh´e generace je 30 GiB pamˇeti, 26 EC2 v´ypoˇcetn´ıch jednotek (8 virtu´aln´ıch jader s 3,25 EC2 v´ypoˇcetn´ımi jednotkami), EBS u´ loˇziˇstˇe, 64-bit platformy. Vˇsechny virtu´aln´ı servery jsou samozˇrejmˇe k dispozici ihned, plat´ı se pouze za jejich vyuˇz´ıt´ı. To je podstatn´y rozd´ıl oproti vlastn´ımu podnikov´em serveru. Pokud vˇsak nechceme mˇenit cel´e virtu´aln´ı servery, ale chceme pouze sˇk´alovat v´ykon po menˇs´ıch v´ypoˇcetn´ıch jednotk´ach, m˚uzˇ e zcela dobˇre poslouˇzit Micro instance. Micro instance (t1.micro) poskytuje mal´e mnoˇz-stv´ı konzistentn´ıch prostˇredk˚u procesor˚u a umoˇznˇ uj´ı zv´ysˇit kapacitu CPU v kr´atk´ych d´avk´ach. Jsou vhodn´e pro niˇzsˇ´ı propustnosti aplikac´ı a webov´ych str´anek, kter´e pravidelnˇe vyˇzaduj´ı delˇs´ı v´ypoˇcetn´ı cykly. Probl´emem nen´ı ani aplikace s velk´ymi n´aroky na pamˇet’ nebo na velk´y v´ykon procesoru. Vˇse je totiˇz moˇzn´e libovolnˇe podˇr´ıdit konkr´etn´ım poˇzadavk˚um. Pokud je jeden z poˇzadavk˚u na rendering nebo medi´aln´ı zpracov´an´ı aplikace, lze pro tyto u´ cˇ ely vyuˇz´ıt grafick´e procesory (GPU) s masivn´ım paralelen´ım zpracov´an´ım. Vyuˇziteln´e je napˇr´ıklad pro grafick´e studio pˇri tvorbˇe animan´ı cˇ i cel´ych animovan´ych film˚u bez potˇreby vlastn´ıho hardware. Poˇzadujeme-li extr´emnˇe rychl´y pˇr´ıstup k dat˚um (vysoce v´ykonn´e datab´azov´e u´ lohy), jsou k dispozici SSD disky s vysokou I/O propustnost´ı. Amazon S3 poskytuje jednoduch´e rozhran´ı webov´ych sluˇzeb, kter´e lze pouˇz´ıt ukl´ad´an´ım a naˇc´ıt´an´ım libovoln´eho mnoˇzstv´ı dat, a to kdykoliv a odkudkoliv na webu. Velikost objekt˚u se m˚uzˇ e pohybovat od 1B aˇz do 5TB, pˇriˇcemˇz poˇcet objekt˚u je neomezen´y. V´yhodou pro optimalizaci latence je moˇznost zvolit si um´ıstˇen´ı u´ loˇziˇstˇe dle regionu. Je garantov´ano, zˇ e napˇr´ıklad data uloˇzen´a v Irsku (pro region EU), nikdy tuto oblast neopust´ı. Nezbytnost´ı jsou autentizaˇcn´ı mechanizmy s sˇifrov´an´ım dat. Vlastn´ık tˇechto dat obdrˇz´ı urˇcit´y kl´ıcˇ“, bez kter´eho se ” k dat˚um nikdo jin´y nedostane. Cen´ık sluˇzeb Amazon Sluˇzby Amazon jsou bohuˇzel zpoplatnˇeny. Proto povaˇzuji za d˚uleˇzit´e analyzovat i cen´ık, protoˇze pr´avˇe cena m˚uzˇ e b´yt krit´eriem pˇri v´ybˇeru cloudov´eho poskytovatele. Pˇred samotnou finanˇcn´ı anal´yzou je dobr´e zn´at alespoˇn pˇribliˇzn´y interval n´aroˇcnosti na v´ypoˇcetn´ı v´ykon pouˇz´ıvan´ych aplikac´ı, velikost a rychlost u´ loˇziˇstˇe dat, s´ıt’ov´y provoz (ˇc´ımˇz je myˇsleno i cˇ asov´e vyuˇzit´ı aplikace a zat´ızˇ en´ı uˇzivateli), poˇzadavky na software, respektive operaˇcn´ı syst´em a bˇehov´e prostˇred´ı pro aplikaci. Pro vyzkouˇsen´ı bˇehu doporuˇcuji vyzkouˇsen´ı provozu v cloudu od
ˇ sen´ı od Amazon 4.1 Reˇ
9
spoleˇcnosti Amazon sluˇzbu AWS Free na rok zdarma. [6] Pro celkovˇe lepˇs´ı pˇrehlednost cen jsou zpracov´any tabulky n´ızˇ e. Bal´ıcˇ ek AWS Free obsahuje: • 750 hodin mˇes´ıcˇ nˇe provozu Amazon EC2 (Linux nebo Windows) s 613 Mb pamˇeti • 750 hodin mˇes´ıcˇ nˇe provozu Load Balanceru s 15 Gb u´ loˇzn´eho prostoru • 30 Gb Block Storage s 2 000 000 I/O a 1 Gb prostoru pro snapshot • 750 hodin Amazon RDS, relaˇcn´ı datab´aze (MySQL, Oracle BYOL1 nebo SQL Server) s u´ loˇzn´ym prosorem o velikosti 20 Gb a 10 000 000 I/O operac´ı. • dalˇs´ı sluˇzby jako 5 Gb Simple Storage Service (S3), Dynamo DB, Simple Workflow (SWF), Simple Queue Service (SQS) a Simple Notification Service (SNS), CloudWatch, pˇrenos dat a Data Pipeline • kromˇe tˇechto sluˇzeb je k dispozici t´ezˇ zdarma i AWS Management Console, kter´a pom˚uzˇ e vytvoˇrit a spravovat aplikace na AWS Tyto voln´e vrstvy jsou k dispozici pouze pro nov´e z´akazn´ıky, a to po dobu 12 mˇes´ıc˚u po pˇrihl´asˇen´ı k u´ cˇ tu AWS Free. Pokud voln´e pouˇzit´ı vyprˇs´ı a/nebo pokud beˇz´ıc´ı aplikace pˇresahuje voln´e pouˇzit´ı, je nutno zaplatit standardn´ı pay-as-you-go sluˇzbu dle cen´ıku. Ceny sluˇzeb jsou rozdˇeleny do nˇekolika kategori´ı, napˇr. podle regionu, kter´y je pro dan´y cloud vybr´an, podle d´elky z´avazku vyuˇz´ıt´ı sluˇzeb nebo pokud postaˇc´ı cloud s dynamicky se mˇen´ıc´ı volnou kapacitou prostˇredk˚u Amazonu, kterou maj´ı aktu´alnˇe k dispozici. On-Demand instance [4] umoˇznuje platit za v´ypoˇcetn´ı kapacity na hodinu bez pau-ˇsa´ ln´ı platby. Nen´ı nutn´e pl´anovat v´ypoˇcetn´ı kapacitu s dlouhodob´ym v´yhledem, nakupovat a udrˇzovat hardware. 1
BYOL - Bring Your Own License
ˇ sen´ı od Amazon 4.1 Reˇ
10
Region EU (Irsko) Standard On-Demand Instances Linux/UNIX Windows Small (Default) $0.085 za hodinu $0.115 za hodinu Medium $0.170 za hodinu $0.230 za hodinu Large $0.340 za hodinu $0.460 za hodinu Extra Large $0.680 za hodinu $0.920 za hodinu Tab.1 Cen´ık On-Demand instance
V tabulce Tab.2 je uveden cen´ık dalˇs´ıch typ˚u On-Demand instanc´ı pro aplikace se speci´aln´ımi n´aroky na pamˇet’, v´ykon procesoru, GPU nebo rychlejˇs´ı I/O pˇrenosy.
Micro On-Demand Instances Micro High-Memory On-Demand Instances Extra Large Double Extra Large High-CPU On-Demand Instances Medium Extra Large Cluster GPU Instances Quadruple Extra Large High-I/O On-Demand Instances Quadruple Extra Large
Region EU (Irsko) Linux/UNIX Windows $0.020 za hodinu $0.035 za hodinu $0.506 za hodinu $0.570 za hodinu $1.012 za hodinu $1.140 za hodinu $0.186 za hodinu $0.285 za hodinu $0.744 za hodinu $1.140 za hodinu $2.36 za hodinu
$2.60 za hodinu
$3.410 za hodinu $3.580 za hodinu
Tab.2 Cen´ık On-Demand instanc´ı pro speci´aln´ı poˇzadavky
Dalˇs´ı moˇznost´ı volby jsou vyhrazen´e instance (Reserved Instances) virtu´aln´ıch server˚u v cloudu. Pokud bychom vˇedˇeli, zˇ e danou instanci budeme s urˇcitost´ı vyuˇz´ıvat delˇs´ı dobu, napˇr. jeden rok, zaplat´ıme jednor´azovou cˇ a´ stku a pot´e podobnˇe jako u On-Demand instanc´ı hodinovou sazbu, kter´a je ale v tomto pˇr´ıpadˇe v´yraznˇe levnˇejˇs´ı. Vyhrazen´e instance se d´ale dˇel´ı na tˇri skupiny dle v´ysˇe jednor´azov´e platby na Light, Medium a Heavy. Cen´ıky vyhrazen´ych instanc´ı pro porovn´an´ı jsou uvedeny v tabulk´ach Tab. 3, Tab.4, Tab.5, Tab.6, Tab.7 a Tab.8. Vˇsechny ceny jsou uvedeny pro Linux. Pro Windows jsou pauˇsa´ ln´ı ceny stejn´e. Hodinov´a sazba pro Windows je vˇsak o $0.2 - $0.4 vyˇssˇ´ı neˇz pro Linux.
ˇ sen´ı od Amazon 4.1 Reˇ LIGHT Reserved Instances
Standart Reserved Instances Small (Default) Medium Large Extra Large
11 Region EU (Irsko) na 1 rok na 3 roky pˇredem za hodinu pˇredem za hodinu $69 $138 $276 $552
$0.049 $0.098 $0.196 $0.392
$106.30 $212.50 $425.20 $850.40
$0.039 $0.078 $0.156 $0.312
Tab.3 Cen´ık vyhrazen´ych standartn´ıch instanc´ı Light pro Linux
LIGHT Reserved Instances
Region EU (Irsko) na 1 rok na 3 roky pˇredem za hodinu pˇredem za hodinu
Micro Reserved Instances Micro High-Memory Reserved Instances Extra Large Double Extra Large Cluster GPU Reserved Instances Quadruple Extra Large High-I/O Reserved Instances Quadruple Extra Large
$23
$0.015
$35
$0.015
$353 $706
$0.288 $0.576
$548 $1096
$0.23 $0.46
N/A*
N/A*
N/A*
N/A*
$2576
$2.605
$3884
$2.035
* Nen´ı k dispozici v regionu EU (Irsko) - nutn´e zvolit jin´y region Tab.4 Cen´ık vyhrazen´ych instanc´ı Light pro Linux pro speci´aln´ı poˇzadavky aplikac´ı
MEDIUM Reserved Instances
Standart Reserved Instances Small (Default) Medium Large Extra Large
Region EU (Irsko) na 1 rok na 3 roky pˇredem za hodinu pˇredem za hodinu $160 $320 $640 $1280
$0.031 $0.063 $0.124 $0.248
$250 $500 $1000 $2000
Tab.5 Cen´ık vyhrazen´ych standartn´ıch instanc´ı Light pro Linux
$0.025 $0.05 $0.10 $0.20
ˇ sen´ı od Amazon 4.1 Reˇ
12
MEDIUM Reserved Instances
Region EU (Irsko) na 1 rok na 3 roky pˇredem za hodinu pˇredem za hodinu
Micro Reserved Instances Micro High-Memory Reserved Instances Extra Large Double Extra Large Cluster GPU Reserved Instances Quadruple Extra Large High-I/O Reserved Instances Quadruple Extra Large
$54
$0.01
$82
$0.01
$850 $1700
$0.185 $0.37
$1283 $2566
$0.148 $0.296
N/A*
N/A*
N/A*
N/A*
$5973
$1.379
$9133
$1.022
* Nen´ı k dispozici v regionu EU (Irsko) - nutn´e zvolit jin´y region Tab.6 Cen´ık vyhrazen´ych instanc´ı Light pro Linux pro speci´aln´ı poˇzadavky aplikac´ı
HEAVY Reserved Instances
Standart Reserved Instances Small (Default) Medium Large Extra Large
Region EU (Irsko) na 1 rok na 3 roky pˇredem za hodinu pˇredem za hodinu $195 $390 $780 $1560
$0.025 $0.05 $0.10 $0.20
$300 $600 $1200 $2400
Tab.7 Cen´ık vyhrazen´ych standartn´ıch instanc´ı Light pro Linux
$0.02 $0.04 $0.8 $0.16
ˇ sen´ı od Amazon 4.1 Reˇ HEAVY Reserved Instances
Micro Reserved Instances Micro High-Memory Reserved Instances Extra Large Double Extra Large Cluster GPU Reserved Instances Quadruple Extra Large High-I/O Reserved Instances Quadruple Extra Large
13 Region EU (Irsko) na 1 rok na 3 roky pˇredem za hodinu pˇredem za hodinu $62
$0.008
$100
$0.008
$1030 $2060
$0.148 $0.296
$1550 $3100
$0.118 $0.236
N/A*
N/A*
N/A*
N/A*
$7280
$0.931
$10960
$0.742
* Nen´ı k dispozici v regionu EU (Irsko) - nutn´e zvolit jin´y region Tab.8 Cen´ık vyhrazen´ych instanc´ı Light pro Linux pro speci´aln´ı poˇzadavky aplikac´ı
Platba pˇredem za vyhrazenou instanci je navratn´a. Po dobu, kdy nebude instance Light nebo Medium spuˇstˇena, se nehrad´ı hodinov´e sazby. Pouze u Heavy instance je u´ cˇ tov´ana hodinov´a sazba bez ohledu na jej´ı spuˇstˇen´ı. Pokud se spoleˇcnosti Microsoft (Windows) nebo RedHat (Linux) rozhodnou zv´ysˇit licenˇcn´ı poplatky za software, vyhrazuje si spoleˇcnost Amazon u´ mˇernˇe tomuto n´ar˚ustu nav´ysˇit hodinov´e sazby. Je zde pak samozˇrejmˇe moˇznost odstoupit od vyuˇz´ıv´an´ı sluˇzby Amazon a pomˇern´a cˇ a´ st platby bude vr´acena. Posledn´ı instanc´ı, kterou je vhodn´e zm´ınit, je Spot Instance. Spot instance umoˇznˇ uje vyuˇz´ıt aktu´aln´ı volnou kapacitu Amazon EC2. Instance je zpoplatnˇena spotovou cenou, kter´a je stanoven´a Amazon EC2 a kol´ıs´a periodicky v z´avislosti na nab´ıdce a popt´avce po kapacitˇe Spot instance. Pokud bychom chtˇeli vyuˇz´ıt Spot instanci, zaˇsleme dotaz s uveden´ım typu instance na dostupnost poˇzadovan´e z´ony vˇcetnˇe uveden´ı poˇctu Spot instanc´ı, kter´e chceme spustit, a maxim´aln´ı cenou, kterou jsme ochotni zaplatit za hodinu. Tato maxim´aln´ı cena se porovn´av´a s aktu´aln´ımi spotov´ymi cenami. Historie Spot cen je tak´e k dispozici na Amazon EC2 API a AWS Admin Console. Pokud maxim´aln´ı cena pˇresahuje aktu´aln´ı spotovou cenu, je zˇ a´ dost splnˇena a naˇse instance pobˇezˇ´ı, dokud se ji rozhodneme ukonˇcit, nebo spotov´a cena pˇres´ahne n´ami urˇcen´y maxim´aln´ı finanˇcn´ı limit. Pokud bychom chtˇeli z pˇrehledov´ych tabulek porovnat finanˇcn´ı n´akladnost jednotliv´ych instanc´ı, zvol´ıme si napˇr´ıklad On-Demand Large instanci. On-Demand je bez platby pˇredem. Hodinov´a sazba v tomto pˇr´ıpadˇe vych´az´ı na $0.460. Kurz dolaru pˇredpokl´adejme 20 Kˇc. Hodinov´a sazba v Korun´ach cˇ eck´ych vych´az´ı na 9,20 Kˇc. Denn´ı sazba cˇ in´ı 220 Kˇc. Mˇes´ıcˇ n´ı n´aklady na instanci serveru od Ama-
ˇ sen´ı od Amazon 4.1 Reˇ
14
zone pˇredstavuj´ı cˇ a´ stku 6624 Kˇc. Jedn´a se o cloud server se 7,5 GiB pamˇeti, 4 EC2 v´ypoˇcetn´ıho jednotky (2 virtu´aln´ı j´adra kaˇzd´a s 2 EC2 v´ypoˇcetn´ımi jednotkami), 850 GB m´ıstn´ı instance u´ loˇziˇstˇe, 64-bit platforma. Pokud bychom oproti tomu poˇc´ıtali s n´akupem odpov´ıdaj´ıc´ıho serveru, s dobou cˇ ek´an´ı na dod´avku, jeho provozn´ı n´aklady, spotˇreba elektrick´e energie, u´ drˇzba a zˇ ivotnost, pˇredstavuje ˇreˇsen´ı od Amazon.com zaj´ımavou alternativu. Pro vyzkouˇsen´ı sluˇzeb je nutn´e prov´est registraci na webov´ych str´ank´ach1 . V dalˇs´ım kroku je jako nezbytnou podm´ınku nutno uv´est u´ daje o platebn´ı kartˇe, coˇz mnou nebylo akceptov´ano. Z tohoto d˚uvodu praktick´e otestov´an´ı sluˇzby AWS Free nebylo moˇzn´e.
1
http://www.amazon.com
ˇ sen´ı Google 4.2 Reˇ
4.2
15
ˇ sen´ı Google Reˇ
Google je americk´a nadn´arodn´ı spoleˇcnost, kter´a od doby sv´eho vzniku v roce 1998 poskytuje internetov´e produkty a sluˇzby. Do podvˇedom´ı vstoupila pˇredevˇs´ım sv´ym vyhled´avaˇcem. Spoleˇcnost se v souˇcasn´e dobˇe zamˇeˇruje mimo jin´e i na v´yvoj software, napˇr´ıklad prohl´ızˇ eˇc Chrome a operaˇcn´ı syst´em Android. Aktu´alnˇe se spoleˇcnost Google snaˇz´ı proniknout i do oblasti cloud computingu, protoˇze vlastn´ı voln´e v´ypoˇcetn´ı kapacity, kter´e nejsou plnˇe vyuˇzity. Investice do cloud computingu se zde proto jev´ı jako v´yhodnˇe ˇreˇsen´ı vyuˇzit´ı voln´ych kapacit a z´aroveˇn z´ısk´an´ıch urˇcit´ych finanˇcn´ıch prostˇredk˚u z jejich pron´ajmu. Vzhledem k tomu, zˇ e Google s´am vznikl na akademick´e p˚udˇe, snaˇz´ı se jako spoleˇcnost poskytovat sˇkolstv´ı a v´yzkumu veˇsker´e sluˇzby zdarma. Z toho d˚uvodu je v t´eto pr´aci spoleˇcnost Google zahrnuta do anal´yzy moˇzn´ych cloudov´ych ˇreˇsen´ı pro neuroinformatickou dom´enu. Spoleˇcnost Google v souˇcasnosti poskytuje tyto cloudov´e moˇznosti: Google Apps - pˇredstavuje soubor hotov´ych online aplikac´ı (firemn´ı email, kalend´aˇre, rezervace, kontakty a skupiny, chat, telefony, videokonference, webov´e str´anky, disk Google – sd´ılen´ı v r´amci firmy). Aplikace lze rovnou nastavit a ihned pouˇz´ıvat. Toto ˇreˇsen´ı patˇr´ı do modelu cloud computingu SaaS (Software as a Service). Nev´yhodou toho ˇreˇsen´ı je nemoˇznost pouˇzit´ı vlastn´ıho software, lze vyuˇz´ıvat pouze pˇreddefinovan´y. [7] Tento probl´em ˇreˇs´ı n´asleduj´ıc´ı produkt: Google App Engine (GAE) -nab´ız´ı prostor pro bˇeh vlastn´ıch aplikac´ı a software. Tento model cloudov´e sluˇzby spad´a do kategorie PaaS (Platrofme as a Service). I toto ˇreˇsen´ı m´a vˇsak sv´a u´ skal´ı. Aplikace mus´ı b´yt napsan´a v jazyc´ıch urˇcen´ych poskytovatelem, tj.: Java, Python a experiment´alnˇe Go (vlastn´ı programovac´ı jazyk spoleˇcnosti Google). GAE d´ale nenab´ız´ı klasick´e instalaˇcn´ı metody jako je FTP nebo webov´e rozhran´ı. Aplikace je nutn´e nahr´at a spustit pomoc´ı speci´aln´ıch n´astroj˚u. GAE celkovˇe pˇredstavuje velmi dobr´e ˇreˇsen´ı pro bˇeh aplikac´ı Java a Phyton, mus´ıme vˇsak vz´ıt v u´ vahu moˇznou nev´yhodu v podobˇe Googlem omezen´ych, respektive ne vˇzdy stejnˇe velk´ych v´ypoˇcetn´ıch a datov´ych kapacit. Dostupn´y v´ypoˇcetn´ı v´ykon je nab´ızen v z´avislosti na aktu´aln´ı z´atˇezˇ i server˚u spoleˇcnosti Google, nem´ame jej tedy pro naˇsi aplikaci vˇzdy garantovan´y, nebo dostupn´y. [8] Google Compute Engine (GCE) -je posledn´ı novinkou spoleˇcnosti Google v oblasti cloud computing. GCE byl v cˇ ervnu 2012 pˇredstaven na konferenci spoleˇcnosti Google v San Franciscu v Kalifornii. Tento produkt spadaj´ıc´ı do modelu cloudov´ych sluˇzeb IaaS (Infrastructure
ˇ sen´ı Google 4.2 Reˇ
16
as a Service) umoˇznˇ uje spouˇstˇet n´aroˇcn´e v´ypoˇcetn´ı u´ lohy na virtu´aln´ıch serverech s operaˇcn´ım syst´emem Linux, na vlastn´ı infrastruktuˇre spoleˇcnosti Google. Za zm´ınku jistˇe stoj´ı fakt, zˇ e na uveden´e konferenci byla pˇri prezentaci GCE spuˇstˇena demo aplikace z oblasti biologie, kter´a v n´arazov´em maximu dos´ahla z´atˇezˇ e sˇest set tis´ıc CPU jader. GCE m´a b´yt pˇr´ım´ym konkurentem EC2 spoleˇcnosti Amazone (viz v´ysˇe). Vzhledem k datu uveden´ı tohoto cloudov´eho ˇreˇsen´ı na trh nejsou zcela dostupn´e detailn´ı informace o produktu a zkuˇsenosti uˇzivatel˚u s n´ım samotn´ym. Pokud by se vˇsak potvrdily nast´ınˇen´e moˇznosti a GCE opravdu takto zvl´adal velmi n´aroˇcn´e v´ypoˇcetn´ı operace, d´a se re´alnˇe pˇredpokl´adat, zˇ e by GCE bylo v´yhodnˇejˇs´ı alternativou clonov´emu ˇreˇsen´ı spoleˇcnosti Amazone. [9] Praktick´e otestov´an´ı GCE (pro u´ cˇ ely t´eto pr´ace) je nemoˇzn´e z d˚uvodu nutnosti zakoupit pˇredplatn´e tzv. Google Gold Support - uˇzivatelsk´e podpory. Google Cloud Storage (GCS) -pˇredstavuje virtu´aln´ı datov´e u´ loˇziˇstˇe, kter´e je moˇzn´e vyuˇz´ıt pro data naˇs´ı aplikace v celkov´em rozsahu aˇz 10 GB. Moˇznosti t´eto sluˇzby jsou velmi sˇirok´e. Lze ji vyuˇz´ıt pˇr´ımo pro data naˇs´ı aplikace, jako z´aloha nebo replikace datov´ych server˚u v pˇr´ıpadˇe jejich v´ypadku. [10] Google BigQuery -je syst´em, kter´y umoˇznˇ uje analyzovat uˇzivatelsk´a data v ˇra´ dech TB bez nutnosti vyuˇzit´ı vlastn´ıho hardware cˇ i software. Nahr´av´an´ı dat je velmi rychl´e, protoˇze syst´em vyuˇz´ıv´a API, kter´e pouˇz´ıv´a soubˇezˇ nˇe komprimovan´e streamy. [11] Google Cloud SQL -reprezentuje datab´azov´y syst´em v cloudu, kter´y umoˇznˇ uje vytv´aˇret, spravovat a konfigurovat relaˇcn´ı datab´aze MySQL. Umoˇznˇ uje v´ybˇer mezi servery v USA a EU, podporuje programovac´ı jazyky Java a Python. Velikost datab´aze se pohybuje do 100 GB a pamˇet’ pro transakce 16 GB RAM pro kaˇzd´eho uˇzivatele. Negativem je absence podpory uˇzivatelsk´ych funkc´ı a MySQL replikace. Spoleˇcnost tento produkt nab´ız´ı k vyzkouˇsen´ı aˇz do 1. cˇ ervna 2013 zcela zdarma. [12] Produkty spoleˇcnosti Google nab´ızej´ı velmi zaj´ımavou alternativu cloudov´eho ˇreˇsen´ı Amazone sv´ymi cenov´ymi relacemi, respektive bezplatn´ym vyuˇzit´ım pro akademickou sf´eru. Zm´ınˇen´a bezplatnost je ovˇeˇrov´ana pouze z internetov´ych zdroj˚u. Aˇc jsem kontaktoval spoleˇcnost NetMail, kter´a je certifikovan´ym partnerem ˇ Google Apps pro Ceskou republiku, neobdrˇzel jsem na dotaz opovˇed’. Nev´yhodou cloudov´eho ˇreˇsen´ı spoleˇcnosti Google je kromˇe v´ysˇe zm´ınˇen´ych nedostatk˚u tak´e fakt, zˇ e vzhledem ke konkurenˇcn´ımu boji se spoleˇcnost´ı Microsoft Google pˇr´ıleˇzitostnˇe ukonˇcuje podporu nˇekter´ych sv´ych sluˇzeb (napˇr´ıklad ukonˇcen´ı podpory Ex-
ˇ sen´ı Google 4.2 Reˇ
17
change ActiveSync v prosinci 2012). [13] Probl´em m˚uzˇ e i cˇ init urˇcit´a netransparentnost smluvn´ıch podm´ınek (napˇr´ıklad vynucen´e pouˇz´ıv´an´ı nˇekter´ych ne zcela souvisej´ıc´ıch sluˇzeb, pˇr´ıpadnˇe vynucen´e poskytnut´ı soukrom´ych dat cˇ i informac´ı, kter´e nutnˇe nesouvis´ı s poskytovanou sluˇzbou). Skuteˇcnost, zˇ e spoleˇcnost Google nab´ız´ı relativnˇe sˇirok´e spektrum cloudov´ych moˇznost´ı, m˚uzˇ e b´yt paradoxnˇe nev´yhodou, nebot’ Google z´akazn´ıkovi nenab´ız´ı ucelen´y pˇrehled a popis poskytovan´ych sluˇzeb (oproti spoleˇcnosti Amazone). Zjiˇst’ov´an´ı informac´ı o jednotliv´ych cloudov´ych sluˇzb´ach t´eto spoleˇcnosti nen´ı pˇr´ıliˇs jednoduch´e. Z tohoto d˚uvodu ˇ jsem sv´e poznatky ovˇeˇrovat osobn´ı konzultac´ı s Ing. Sediv´ ym, kter´y ˇradu let pracoval ve spoleˇcnosti Google.
ˇ sen´ı Microsoft 4.3 Reˇ
4.3
18
ˇ sen´ı Microsoft Reˇ
Spoleˇcnost Microsoft zachytila trend pron´ajmu informaˇcn´ıch technologi´ı pozdˇeji. Vzhledem ke skuteˇcnosti, zˇ e se jedn´a o jednu z nejvˇetˇs´ıch softwarov´ych firem na svˇetˇe, je vhodn´e jej´ı ˇreˇsen´ı uv´est. Existuje zde pˇredpoklad nejen smaz´an´ı deficitu, ale i dalˇs´ıho rychl´eho rozvoje nab´ızen´ych sluˇzeb. Hlavn´ı cloudovou platformu spoleˇcnosti Microsoft pˇredstavuje Windows Azure. Jako datov´e u´ loˇziˇstˇe Micrososft poskytuje sluˇzbu SkyDrive. Microsoft Azure je moˇzn´e vyuˇz´ıt pro hostov´an´ı webov´ych aplikac´ı. Jedn´a se o jednoduch´e webov´e aplikace i v´ıcevrstv´e sluˇzby, kdy syst´em sˇk´aluje sv˚uj v´ykon na z´akladˇe aktu´aln´ıho zat´ızˇ en´ı webu. Microsoft nab´ız´ı zdarma 90denn´ı zkuˇsebn´ı verzi Windows Azure pro otestov´an´ı, ovˇsem podobnˇe jako Amazon poˇzaduje registraci vˇcetnˇe u´ daj˚u z platebn´ı karty. Bez tˇechto informac´ı nen´ı moˇzn´e pˇrihl´asˇen´ı korektnˇe dokonˇcit. [14] Microsoft nab´ız´ı v r´amci sluˇzby SkyDrive zdarma 7 GB voln´eho datov´eho prostoru. [15] Diskov´y prostor je dostupn´y po pˇrihl´asˇen´ı na webov´ych str´ank´ach1 . Pˇri registraci je poˇzadov´ana pouze platn´a emailov´a adresa. Souˇca´ st´ı sluˇzby SkyDrive je moˇznost vytv´aˇret vlastn´ı dokumenty zn´ame z bal´ıku MS Office. Uk´azka webov´eho pˇr´ıstupu na sluˇzbu SkyDrive je zn´azornˇena na obr´azku 1.
Obr´azek 1: Webov´y pˇr´ıstup k sluˇzbˇe MS SkyDrive 1
https://skydrive.live.com
ˇ sen´ı Microsoft 4.3 Reˇ
19
Pˇripojen´ı k u´ loˇziˇsti je moˇzn´e dvˇema zp˚usoby: pˇres webov´e rozhran´ı a pomoc´ı aplikace, kterou je moˇzn´e nainstalovat do poˇc´ıtaˇce. Zpˇr´ıstupn´ı se t´ımto zp˚usobem SkyDrive jako dalˇs´ı disk. Osobnˇe jsem vyzkouˇsel pˇr´ıstup pˇres webov´e rozhran´ı, kter´e je sv´ym vzhledem a grafick´ym uspoˇra´ d´an´ım zamˇeˇreno na koncov´eho z´akazn´ıka, u nˇejˇz se pˇredpokl´ad´a, zˇ e ke sv´ym dat˚um pˇristupuje i pomoc´ı dotykov´ych obrazovek tablet˚u a chytr´ych“ telefon˚u. Obsluhu zvl´adne i bˇezˇ n´y uˇzivatel poˇc´ıtaˇce. ” Vytv´aˇren´ı dokument˚u MS Office je tak´e jednoduch´e. Dokumenty lze ponechat v cloudov´em uloˇziˇsti SkyDrive a je umoˇznˇen i jejich pˇrenos do vlastn´ıho poˇc´ıtaˇce. Na obr´azku cˇ . 2 je zobrazena uk´azka vytvoˇren´ı dokumentu Word ve SkyDrive. Z obr´azku je zˇrejm´e identick´e prostˇred´ı jako dektopov´a aplikace MS Word.
Obr´azek 2: Vytvoˇren´ı dokumentu MS Word ve SkyDrive
ˇ sen´ı BeeScale 4.4 Reˇ
4.4
20
ˇ sen´ı BeeScale Reˇ
Jak je zˇrejm´e v´ysˇe uveden´eho, cloudov´a ˇreˇsen´ı s vyj´ımkou MS SkyDrive nebylo vˇzdy moˇzn´e korektnˇe vyzkouˇset a prakticky si ovˇeˇrit uveden´e informace. Sluˇzba BeeScale spoleˇcnosti OldanyGroup umoˇznˇ uje po registraci z´ıskat voln´y kredit na vyzkouˇsen´ı serveru v cloudu. Registrovat u´ cˇ et je moˇzn´e na webov´ych str´ank´ach1 . Je moˇzn´e vytvoˇrit plnohodnotn´e servery s pˇredinstalovan´ymi operaˇcn´ımi syst´emy Ubuntu, Debian, FreeBSD, CentOS a Turnkey. Pˇripravuj´ı se i operaˇcn´ı syst´emy Windows. Je moˇzn´e pronajmout si libovoln´y poˇcet server˚u, kaˇzd´y s 1 - 4 virtu´aln´ımi procesory, 64 MB - 4 GB pamˇeti, 1 - 4 pevn´ymi disky, kaˇzd´y o kapacitˇe 1 aˇz 100 GB. [16] Postup vytvoˇren´ı vlastn´ıho serveru k cloudu je n´asleduj´ıc´ı. Na v´ysˇe uveden´e webov´e str´ance provedeme registraci. Je nutn´e zadat platnou emailovou adresu. Z´ısk´ame 100 Kˇc kreditu zdarma. Nyn´ı vytvoˇr´ıme server, zad´ame n´azev serveru, urˇc´ıme poˇcet CPU a velikost RAM. V r´amci zkuˇsebn´ı verze m´ame k dispozici pouze 1 vCPU o rychlosti 3 GHz a maxim´aln´ı velikost vRAM 256 MB. Zad´ame poˇcet disk˚u. Kapacita disku ve zkuˇsebn´ı verzi je 10GB. Zvol´ıme pˇreinstalovan´y operaˇcn´ı syst´em. Konfigurace serveru je zˇrejm´a z obr´azku cˇ .3.
Obr´azek 3: Konfigurace virtu´aln´ıho serveru sluˇzby BeeScale
Parametry serveru jsou nastaveny a je jej tedy moˇzn´e spustit. Spuˇstˇen´ı serveru provedeme z dialogu Serverovna jak je zˇrejm´e s obr´azku cˇ .4. 1
https://beescale.com/
ˇ sen´ı BeeScale 4.4 Reˇ
21
Obr´azek 4: Dialogov´e okno vypnut´eho serveru sluˇzby BeeScale Na obr´azku cˇ . 5 je vidˇet webov´y dialog spuˇstˇen´eho serveru. Z dialogu je moˇzn´e vyˇc´ıst parametry pro pˇripojen´ı jako je ip adresa serveru, je moˇzn´e zobrazit heslo pro uˇzivatele root. Server lze restartovat nebo u´ plnˇe vypnout. Pokud je server vypnut´y, nedoch´az´ı k odeˇc´ıt´an´ı kreditu.
Obr´azek 5: Dialogov´e okno spuˇstˇen´eho serveru sluˇzby BeeScale
Od tohoto okamˇziku je server s operaˇcn´ım syst´emem Debian plnˇe k dispozici. Pro administraci je pˇr´ıstupn´y pˇres ssh protokol. Soubory je moˇzn´e pˇren´asˇet pˇres
ˇ sen´ı BeeScale 4.4 Reˇ
22
sftp. Je moˇzn´y pˇr´ıstup uˇzivatele root. Konfigurace bal´ıcˇ k˚u aplikac´ı je plnˇe v naˇs´ı reˇzii. Nainstaloval jsem na server v´yvojov´e a bˇehov´e prostˇred´ı Java a aplikaˇcn´ı server Apache Tomcat. Vˇse je bez probl´em˚u funkˇcn´ı. Cena za sluˇzby odpov´ıd´a mnoˇzstv´ı pronajat´ych prostˇredk˚u, kter´e jsou vyuˇz´ıv´any. Na webov´e str´ance1 je pˇrehlednˇe zobrazena hodinov´a taxa za spotˇrebovan´e sluˇzby a aktu´aln´ı v´ysˇe kreditu s u´ dajem, za jak´e cˇ asov´e obdob´ı bude vyˇcerp´an (pˇri souˇcasn´em pr˚umˇern´em vyuˇz´ıt´ı syst´emu). Pˇri pln´e z´atˇezˇ i testovan´e konfigurace serveru je udan´a cˇ a´ stka 0,27 Kˇc/h, denn´ı sazba je tedy 6,35 Kˇc, mˇes´ıcˇ n´ı pˇribliˇznˇe 197 Kˇc. Tato cˇ a´ stka je maxim´aln´ı. Pokud nen´ı server 100% vyuˇzit, sazba kles´a. Na sluˇzbˇe BeeScale jsem si tedy prakticky vyskouˇsel vytvoˇrit a spustit server v cloudu. Po tˇr´ıdenn´ım testov´an´ı mus´ım konstatovat, zˇ e jsem se nesetkal s jedin´ym probl´emem. Je zˇrejm´e, zˇ e 256 MB pamˇeti pro webov´y server nen´ı dostateˇcn´a hodnota, ale kromˇe ceny v tomto pˇr´ıpadˇe nic nebr´an´ı sestavit optim´aln´ı ˇreˇsen´ı.
1
https://beescale.com/front/kolik-to-stoji/
ˇ sen´ı International Neuroinformatics Coordinating Facility (INCF) 4.5 Reˇ
4.5
23
ˇ sen´ı International Neuroinformatics Coordinating FaciReˇ lity (INCF)
INCF je mezin´arodn´ı organizace, kter´a podporuje a sjednocuje cˇ lensk´e neuroinformatick´e skupiny z cel´eho svˇeta. Jej´ı snahou je mimo jin´e vytvoˇren´ı mezin´arodn´ı infrastruktury pro podporu v´yzkumu v oblasti neuroinformatiky. Sekreˇ edsku. Organizace sdruˇzuje sˇestn´act zem´ı, tari´at INCF s´ıdl´ı ve Stocholmu ve Sv´ ˇ mezi nimi i Ceskou Republiku. V´yzkumn´a skupina KIV je cˇ lenem cˇ esk´eho n´arodn´ıho uzlu. [17] Organizace INCF byla postavena pˇred probl´em, jak navz´ajem sd´ılet informace z v´yzkumu cˇ lensk´ych skupin z oboru neuroinformatik˚u z r˚uzn´ych cˇ a´ st´ı svˇeta. V r´amci t´eto podpory uvaˇzovali o zakoupen´ı v´ypoˇcetn´ıho v´ykonu a datov´eho u´ loˇziˇstˇe od Amazone. Po zral´e u´ vaze bylo v INCF rozhodnuto o vlastn´ım datov´em uzlu, kter´y nese n´azev DataSpace - cel´ym n´azvem INCF DataSpace (IDS). Nejedn´a se o typick´y cloud storage, ale o vz´ajemn´e propojen´ı datov´ych u´ loˇziˇst’ cˇ len˚u organizace INCF. IDS tedy nen´ı sluˇzba dostupn´a pro sˇirokou sˇk´alu bˇezˇ n´ych z´akazn´ık˚u, ale pouze pro v´yzkumn´ıky z oblasti neuroinformatiky, kteˇr´ı maj´ı garantovan´e bezplatn´e vyuˇzit´ı. IDS pouˇz´ıv´a iRODS1 software. V souˇcasn´e dobˇe se INCF DataSpace zamˇeˇruje na back-end u´ loˇzn´e vrstvy. Byla zˇr´ızena datov´a iRODS z´akladna pro celou federaci/unii. J´adro serveru je nasazeno v Amazone cloudu, je replikovan´e pˇres cˇ tyˇri z´ony: z´apad USA, v´ychod USA, Evropa a tichomoˇrsk´a cˇ a´ st Asie. Tvoˇr´ı tak jakousi p´ateˇr. Servery jsou dostupn´e na ids.incf.net, klienti budou pˇresmˇerov´ani na servery pro nˇe zemˇepisnˇe nejbliˇzsˇ´ı. Na p´ateˇr navazuj´ı servery, kter´e poskytuj´ı u´ loˇziˇstˇe nebo spravuj´ı dalˇs´ı z´ony. Tyto z´ony pak komunikuj´ı v iRODS. Aktu´aln´ı stav v´yvoje IDS lze sledovat online na Internetu2 , stejnˇe tak jako dokumenty a dokumentace IDS3 .
1
iRODS - integrated Rule-Oriented Data System http://dev.incf.org/trac/infrastructure/wiki/CurrentResources 3 http://dev.incf.org/trac/infrastructure/wiki/WikiStart 2
5 Zhodnocen´ı analyzovan´ych poskytovatel˚u
5
24
Zhodnocen´ı analyzovan´ych poskytovatelu˚
V pˇredchoz´ı kapitole byly analyzov´any nab´ıdky nˇekter´ych spoleˇcnost´ı poskytuj´ıc´ı cloud computing. Spoleˇcnost Amazon nab´ız´ı sˇirok´e spektrum sluˇzeb cloud computingu, jak ostatnˇe vypl´yv´a z odd´ılu 4.1. Praktick´e vyzkouˇsen´ı nab´ızen´ych sluˇzeb ale nebylo moˇzn´e realizovat z d˚uvodu poˇzadavku na u´ daje, kter´e jsem nemohl spoleˇcnosti Amazone poskytnout. Pokud by byly k dispozici finanˇcn´ı prostˇredky, bylo by ˇreˇsen´ı spoleˇcnosti Amazone pro v´yzkumnou skupinu KIV (s ohledem na jej´ı poˇzadavky) vhodn´e. Protoˇze jsou ale veˇsker´e sluˇzby i pro vˇedu, v´yzkum a sˇkolstv´ı plnˇe zpoplatnˇeny, nevyhovuje toto ˇreˇsen´ı poˇzadavku na n´ızk´e (bezplatn´e) provozn´ı n´aklady. Oproti tomu spoleˇcnost Google sv´e cloudov´e sluˇzby poskytuje sˇkolstv´ı zdarma. Konkr´etnˇe se jedn´a o aktu´alnˇe voln´e v´ypoˇcetn´ı kapacity. Vzhledem ke skuteˇcnosti, zˇ e neuroinformatick´a vˇedeck´a skupina KIV mimo jin´e pˇredpokl´adala pro svou EEG/ERP dom´enu stabiln´ı cloudov´e ˇreˇsen´ı, a spoleˇcnost Google pro cloud nab´ız´ı pouze sv´e aktu´alnˇe voln´e kapacity, nen´ı cloud vhodn´ym poskytovatelem pro danou v´yzkumnou skupinu. Dalˇs´ı d˚uvody vypl´yvaj´ıc´ı z anal´yzy ˇreˇsen´ı Google jsou uvedeny v odd´ılu 4.2. Z anal´yzy nab´ıdky spoleˇcnosti Microsoft pˇrich´az´ı v u´ vahu platforma Windows Azure. Z d˚uvodu nedostatku referenc´ı na toto ˇreˇsen´ı, ale tak´e proto, zˇ e jsem jej nemohl prakticky otestovat kv˚uli dotazu na u´ daje o platebn´ı kartˇe, nelze ˇreˇsen´ı ´ ziˇstˇe SkyDrive, kter´e bylo moˇzn´e prakticky vyv souˇcasn´e chv´ıli akceptovat. Uloˇ zkouˇset, nevyhovuje poˇzadavk˚um v´yzkumn´e skupiny na kompatibilitu pro bˇehov´e prostˇred´ı Java. Cloudov´a sluˇzba BeeScale je podle vˇetˇsiny poˇzadavk˚u v´yzkumn´e skupiny KIV optim´aln´ı. Tuto sluˇzbu bylo moˇzn´e otestovat i bez zad´an´ı citliv´ych osobn´ıch dat. Virtu´aln´ı server v cloudu je ovˇsem zpoplatnˇen, coˇz nevyhovuje poˇzadavku v´yzkumn´e skupiny KIV na n´ızsk´e (bezplatn´e) provozn´ı n´aklady. Organizace INCF poskytuje softwarovou podporu v´yzkumu pro sv´e cˇ leny zcela zdarma. Dle zjiˇstˇen´ych informac´ı pˇr´ımo cloudovou sluˇzbu v´ypoˇcetn´ıho v´ykonu spoleˇcnost nenab´ız´ı. Velmi zaj´ımav´e je ovˇsem ˇreˇsen´ı, kter´e se naz´yv´a INCF Dataspace. Sluˇzba by se dala popsat jako propojen´ı datov´ych u´ loˇziˇst’ cˇ len˚u INCF do spoleˇcn´ych uzl˚u. Povaˇzuji toto ˇreˇsen´ı za pespektivn´ı jiˇz s ohledem na propojen´ı s dalˇs´ımi v´yzkumn´ymi skupinami oboru neuroinformatiky a vz´ajemn´e sd´ılen´ı v´ysledk˚u v´yzkumu. Jak jiˇz bylo uvedeno, nejedn´a se o cloud ve standardn´ım“ ” smyslu. Nejd˚uleˇzitˇejˇs´ım poˇzadavkem v´yzkumn´e skupiny na cloudov´e ˇreˇsen´ı byla
5 Zhodnocen´ı analyzovan´ych poskytovatel˚u
25
n´ızk´a finanˇcn´ı n´aroˇcnost, proto po konzultaci s vedouc´ım pr´ace bylo dohodnuto zprovoznˇen´ı syst´emu INCF Dataspace pro neuroinformatickou v´yzkumnou skupinu KIV.
6 INCF Dataspace a syst´em iRODS
6
26
INCF Dataspace a syst´em iRODS N´asleduj´ıc´ı kapitola bude vˇenov´ana syst´emu iRODS.
6.1
Zakladn´ı charakteristika iRODS
iRODS je syst´em, kter´y pom´ah´a uˇzivatel˚um organizovat, chr´anit i zachov´avat velk´e mnoˇzstv´ı soubor˚u libovoln´e velikosti. Uˇzivatel´e mohou sv´a data nahr´avat a sd´ılet s jin´ymi uˇzivateli. Vˇsechna data jsou dostupn´a prostˇrednictv´ım jednotn´eho syst´emu. [18] Na obr´azku cˇ . 6 je zn´azornˇeno z´akladn´ı sch´ema sloˇzek, kter´e tvoˇr´ı syst´em iRODS.
Obr´azek 6: Souˇca´ sti syst´emu iRODS
Rule Engine - aplikuje uˇzivatelsky definovan´e z´asady a pravidla, prosazuje ˇr´ıd´ıc´ı politiku. iCAT Metadata Catalog - ukl´ad´a informace o stavu a popisn´a metadata do datab´aze, umoˇznˇ uje vyhled´av´an´ı, spr´avu, ˇr´ızen´ı a sledov´an´ı pˇr´ıstupu k dat˚um. Storage - u´ loˇzn´y prostor (syst´em soubor˚u) pˇr´ıstupn´y pˇres iRODS data server. User interface - uˇzivatelsk´e rozhran´ı - pˇr´ıstup k serveru iRODS, viz. odd´ıl 6.2. Zone - jedn´a se o uzel v syst´emu, kter´y se skl´ad´a ze serveru iRODS, datab´aze (iCAT) a pˇr´ısluˇsn´ych datov´ych zdroj˚u.
6.2 Klient syst´emu iRODS
6.2
27
Klient syst´emu iRODS
Syst´em iRODS je moˇzn´e spravovat pomoc´ı pˇr´ıkaz˚u i-commands. [18] Typy pˇr´ıkaz˚u a popisy jejich funkc´ı jsou k dispozici na internetu1 . V´yhodou t´eto administrace je jednoduch´a instalace. Soubory i-commands pro operaˇcn´ı syst´em Windows jsou t´ezˇ dostupn´e na internetu2 . V tomto pˇr´ıpadˇe postaˇc´ı spustiteln´e soubory uloˇzit na disk poˇc´ıtaˇce a v pˇr´ıkazov´em ˇra´ dku zad´avat pˇr´ıkazy i-commands s odpov´ıdaj´ıc´ımi parametry. Pro spr´avn´e fungov´an´ı pˇr´ıkaz˚u je nezbytn´e spouˇstˇet soubory z jejich aktu´aln´ıho adres´aˇre, nebo m´ıt cestu k nim uloˇzenu v syst´emov´ych promˇenn´ych. Pˇrihl´asˇen´ı se provede zad´an´ım pˇr´ıkazu iinit. Syst´em poˇza´ d´a o vloˇzen´ı pˇr´ıstupo-v´ych u´ daj˚u pro iRODS, tj. adresa, port, login a heslo. Po u´ spˇesˇn´em ovˇeˇren´ı u´ daj˚u je pˇrihl´asˇen´ı na server provedeno a je moˇzn´e syst´em dalˇs´ımi pˇr´ıkazy administrovat nebo z nˇej z´ısk´avat informace. Zadan´e parametry pˇripojen´ı (mimo hesla) si syst´em po u´ spˇesˇn´em pˇrihl´asˇen´ı uloˇz´ı do souboru a pˇri dalˇs´ım pˇripojen´ı se tyto u´ daje nemus´ı znova zad´avat. Pˇr´ıklad vytvoˇren´ı z´ony: iadmin mkzone cz.czu.eeg remote Pˇr´ıklad pˇrid´an´ı uˇzivatele iadmin mkuser testuser rodsadmin Pro prohl´ızˇ en´ı dat v iRODS je k dispozici nˇekolik aplikac´ı. Pro syst´em Windows je moˇzn´e z webov´ych str´anek3 st´ahnout iExplorer for Windows. Jedn´a se o rychl´y navigaˇcn´ı n´astroj s bohat´ym grafick´ym uˇzivatelsk´ym rozhran´ım. Nav´ıc jej nen´ı nutn´e instalovat. Postaˇcuje program (jeden exe soubor) uloˇzit na dik poˇc´ıtaˇce a spustit. Po spuˇstˇen´ı se aplikace dot´azˇ e na pˇr´ıstupov´e u´ daje k serveu iRODS. Po jejich korektn´ım zad´an´ı dojde k pˇripojen´ı na iRODS a je moˇzn´e prohl´ızˇ et a vyhled´avat soubory. Na obr´azku cˇ . 7 je zobrazen n´ahled na aplikaci iExplorer. Jako dalˇs´ı zp˚usob prohl´ızˇ en´ı dat v iRODS je moˇzn´e zm´ınit syst´em iDROP. [19] Jedn´a se o klienta postaven´eho na programovac´ım jazyku Java. K dispozici jsou tˇri verze t´eto aplikace: iDROP Swing4 klient, iDROP webov´e rozhran´ı a iDrop-lite upload / download applet, kter´y m˚uzˇ e b´yt snadno vloˇzen do vlastn´ıch webov´ych rozhran´ı. iDROP webov´y klient umoˇznˇ uje pˇr´ıstup z jak´ehokoliv internetov´eho prohl´ızˇ eˇce (nutn´a podpora Java). Toto rozhran´ı je jedno z nejkomplexnˇejˇs´ıch, po1
https://www.irods.org/index.php/icommands https://www.irods.org/index.php/windows 3 https://www.irods.org/index.php/windows 4 Swing - sada n´astroj˚u grafick´eho uˇzivatelsk´eho rozhran´ı programovac´ıho jazyka Java 2
6.2 Klient syst´emu iRODS
28
Obr´azek 7: Uk´azka aplikace iExplorer for Windows kud jde o editaci atribut˚u objekt˚u, metadat a ACL1 . Uk´azka iDROP webov´eho klienta je zobrazena na obr´azku cˇ 8.
Obr´azek 8: Uk´azka webov´eho klienta iDrop
Pro u´ plnost je nutno uv´est jeˇstˇe dva zp˚usoby pˇr´ıstupu do iRODS. Jsou jimi syst´em FUSE2 a Davis (Webdav). FUSE - jedn´a se o Linuxovou knihovnu, kter´a 1 2
ACL - Access control list (seznam pro ˇr´ızen´ı pˇr´ıstupu) FUSE - the Filesystem in User Space (Souborov´y syst´em v uˇzivatelsk´em prostoru)
6.3 Pˇripojen´ı do syst´emu INCF Dataspace
29
umoˇznˇ uje zapisovat do souborov´eho syst´emu. Protoˇze tento syst´em obsahuje i j´adro iRODS, pˇr´ıkazy, pomoc´ı kter´ych se v Linuxu proch´az´ı souborov´y syst´em, funguj´ı i v iRODS. Davis je webov´a aplikace zaloˇzen´a na programovac´ım jazyku Java, kter´a poskytuje rozhran´ı Webdav pro pˇr´ıstup do souborov´eho syst´emu iRODS podobnˇe jako FUSE v Linuxu. Je moˇzn´e tak´e spravovat metadata a seznamy ˇr´ızen´ı pˇr´ıstupu ACL.
6.3
Pˇripojen´ı do syst´emu INCF Dataspace
Postup pˇripojen´ı do IDS je uveden na internetu1 . [20] Instalaˇcn´ı bal´ıcˇ ky pro pro 64 bit. verzi Debian2 Squeeze (6.0.4) jsou k dispozici v u´ loˇziˇsti INCF. Jedn´a se o ids-tools, coˇz jsou instalaˇcn´ı a konfiguraˇcn´ı scripty napsan´e v jazyku Python3 . Pˇred zapoˇcet´ım instalace je nutn´e m´ıt na operaˇcn´ım syst´emu nainstalov´any potˇrebn´e moduly: - python-pip - python-crypto Moduly lze do syst´emu Debian pˇridat pomoc´ı spr´avce bal´ıcˇ k˚u, napˇr. Aptitude, nebo pˇr´ıkazem apt-get -f install. Po u´ spˇesˇn´em naistalov´an´ı je moˇzno pˇristoupit ke spuˇstˇen´ı pˇr´ıkazu: sudo pip install http://ids-us-east-1.s3.amazonaws.com/ ids-tools-latest.tar.gz pip je n´astroj pro instalaci a spr´avu bal´ıcˇ k˚u Python. Umoˇznˇ uje snadn´e pˇrid´an´ı bal´ıcˇ k˚u script˚u pˇr´ıkazem pip install [n´ azev bal´ ıˇ cku] i jeho n´asledn´e jednoduch´e odebr´an´ı pˇr´ıkazem pip uninstall [n´ azev bal´ ıˇ cku]. Instalaci bal´ıcˇ k˚u je nutno prov´adˇet pod uˇzivatelem s administr´atorsk´ymi pr´avy. Pˇr´ıpadnˇe uˇzivatel mus´ı b´yt cˇ lenem skupiny sudo4 . Pokud instalace ids-tools probˇehne u´ spˇesˇnˇe, je moˇzn´e spouˇstˇet jednotliv´e instalaˇcn´ı scripty. N´asleduj´ıc´ı popis je vˇenov´an postupu pˇrid´an´ı z´ony do federace INCF. Pˇredpokladem je funkˇcn´ı iRODS server vˇcetnˇe iCAT datab´aze. V INCF je dohodnuto, 1
https://github.com/INCF/ids-tools/wiki/IDS-Zone-Setup Debian - distribuce operaˇcn´ıho syst´emu Linux, na kter´em nainstalov´an iRODS v´yzkumn´e skupiny 3 Python - dynamick´y, objektovˇe orientovan´y scriptovac´ı programovac´ı jazyk. Standardnˇe nainstalov´an v syst´emu v r´amci distribuce Debian 4 sudo - substitute user do - slouˇz´ı k vykon´an´ı operace pod jin´ym uˇzivatelem, v tomto pˇr´ıpadˇe napˇr´ıklad uˇzivatelem root 2
6.3 Pˇripojen´ı do syst´emu INCF Dataspace
30
zˇ e v r´amci federace je n´azev z´ony obr´acen´y n´azev internetov´e dom´eny pˇr´ısluˇsn´e v´yzkumn´e skupiny. Pokud m´a laboratoˇr n´azev internetov´e dom´eny napˇr. ”lab.univerzity.edu”, mˇela by m´ıt pˇr´ısluˇsn´a z´ona laboratoˇre n´azev ”edu.univerzity.lab”. Dalˇs´ım pˇredpokladem je tedy na iRODS vytvoˇrena z´ona s n´azvem cz.zcu.eeg. Je zn´am login a heslo administr´atora iRODS serveru. Pˇr´ıkazem iCommands iinit se pˇripoj´ıme k administraci iRODS serveru. Spust´ıme pˇr´ıkaz: sudo -i iadmin mkzone incf remote ids.incf.net:1247 T´ımto pˇr´ıkazem dojde k pˇripojen´ı z´ony incf k iRODS serveru. V dalˇs´ım kroku je nutn´e poslat emailovou zpr´avu na adresu
[email protected] s u´ daji iRODS (iCAT) serveru. To jest FQDN1 a port, na kter´em bˇezˇ´ı iRODS server (standardnˇe se jedn´a o port cˇ´ıslo 1247). Stejn´ym zp˚usobem, jako byla pˇrid´ana z´ona incf do naˇseho iRODS serveru, pˇrid´a administr´ator INCF z´onu cz.zcu.eeg do jejich syst´eˇ mu a poˇsle emailovou zpr´avu, zˇ e tak bylo uˇcinˇeno a vˇse probˇehlo korektnˇe. Ze tomu tak skuteˇcnˇe je, je moˇzno ovˇeˇrit t´ımto zp˚usobem: po pˇrihl´asˇen´ı k syst´emu iRODS pomoc´ı iinit se zad´a pˇr´ıkaz iCommands: iquest -z incf "select ZONE NAME" Zobraz´ı se v´ypis dostupn´ych z´on iRODS serveru, viz obr´azek cˇ . 9.
Obr´azek 9: V´ypis seznamu z´on na iRODS serveru 1
FQDN - Fully Qualified Domain Name - je oznaˇcen´ı pro plnˇe specifikovan´e dom´enov´e jm´eno poˇc´ıtaˇce.
6.3 Pˇripojen´ı do syst´emu INCF Dataspace
31
Pro sd´ılen´ı dat v r´amci federace INCF je zapotˇreb´ı z´ıskat seznam uˇzivatelsk´ych ˇ uˇzivatelsk´e u´ cˇ ty z´ony incf je nutn´e synchronizovat (vytvoˇrit je) pˇr´ıstup˚u. Cili i v zonˇe incf na iRODS serveru neuroinformatick´e v´yzkumn´e skupiny. K tomuto u´ cˇ elu slouˇz´ı script ids-sync-users bal´ıcˇ ku ids-tools. Pro spuˇstˇen´ı stahov´an´ı uˇzivatelsk´ych u´ cˇ t˚u pro z´onu incf se zad´a pˇr´ıkaz: sudo -i ids-sync-users ´ esˇn´e vytvoˇren´ı uˇzivatelsk´ych pˇr´ıstup˚u z´ony incf na iRODS serveru je moˇzn´e Uspˇ ovˇeˇrit napˇr´ıklad pˇr´ıkazem iCommands: iadmin lu [login] [z´ ona]
Obr´azek 10: V´ypis informace o uˇzivateli v z´onˇe incf
Nyn´ı je moˇzn´e pouˇz´ıvat skupiny a uˇzivatele z´ony incf pro nastaven´ı pˇr´ıstupu ve vlastn´ı z´onˇe cz.zcu.eeg. Pokud jsou tedy tato opr´avnˇen´ı nastavena, m˚uzˇ e uˇzivatel z´ony incf, kter´y m´a opr´avnˇen´ı cˇ ten´ı, v r´amci cz.zcu.eeg proch´azet soubory z´ony cz.zcu.eeg. Aby se udrˇzoval seznam uˇzivatel˚u z´ony incf aktu´aln´ı, je vhodn´e spousˇtˇet pˇr´ıkaz ids-sync-user pravidelnˇe napˇr´ıklad automaticky z cronu1 .
1
atd.
cron - softwarov´a sluˇzba, kter´e v operaˇcn´ıch syst´emech spouˇst´ı v dan´y cˇ as urˇcit´y pˇr´ıkaz, script
7 Z´ıskan´ı dat z datab´aze EEG pro INCF Dataspace
7
32
Z´ıskan´ı dat z datab´aze EEG pro INCF Dataspace
Tato kapitola pojedn´av´a o extrakci dat z datab´aze neuroinformatick´e skupiny pro syst´em Dataspace.
7.1
´ Uvodn´ ı informace
Server iRODS (system Dataspace) vyuˇz´ıv´a pro data souborov´y syst´em. Je proto nutn´e vytvoˇrit program pro z´ısk´an´ı potˇrebn´ych dat z datab´aze Oracle. Tato data budou n´aslednˇe uloˇzena do soubor˚u. Pro syst´em Dataspace bude podle zad´an´ı vytvoˇrena n´asleduj´ıc´ı struktura: z tabulky sc´en´aˇru˚ (SCENARIO) je nutn´e z´ıskat vˇsechny n´azvy dan´ych sc´en´aˇru˚ . Tyto n´azvy budou tvoˇrit sloˇzky. V kaˇzd´e sloˇzce se sc´en´aˇrem budou uloˇzeny sloˇzky s n´azvem dle cˇ´ısla experimentu (z tabulky EXPERIMENTS) pˇr´ısluˇsn´e k dan´emu sc´en´aˇri. Pro n´azornost je na obr´azku cˇ . 11 uvedeno sch´ema tabulek.
Obr´azek 11: Struktura vyuˇzit´ych tabulek z datab´aze EEG
V kaˇzd´e sloˇzce experimentu bude uloˇzen archiv ZIP s odpov´ıdaj´ıc´ımi soubory z tabulky DATA FILE pˇr´ısluˇsn´ych dan´emu experimentu. Ve sloˇzce experimentu bude d´ale uloˇzen soubor (napˇr. csv) s informacemi o datech (tzv. metadata). Jedn´a se o dalˇs´ı u´ daje o jednotliv´ych experimentech, napˇr´ıklad datum a cˇ as zaˇca´ tku i konce experimentu, teplota, poˇcas´ı atd. Tento vytvoˇren´y souborov´y syst´em bude
ˇ sen´ı pomoc´ı jazyka PL/SQL 7.2 Reˇ
33
uloˇzen v adres´aˇri s n´azvem experiments na sereru iRODS pro sd´ılen´ı dat v r´amci syst´emu Dataspace.
7.2
ˇ sen´ı pomoc´ı jazyka PL/SQL Reˇ
Data z v´yzkumu neuroinformatick´e skupiny jsou uloˇzena v datab´azi Oracle 11g. Pro pr´aci s datab´az´ı Oracle je vhodn´y jazyk PL/SQL1 . V PL/SQL jsou pouˇzity konstrukce zn´am´e pˇredvˇs´ım z v´ysˇsˇ´ıch programovac´ıch jazyk˚u: promˇenn´e a konstanty, cursory, cykly a rozhodovac´ı podm´ınky, subprogramy atd. Implementace v jazyce PL/SQL byla zvolena jako prvn´ı varianta ˇreˇsen´ı. D˚uvodem byla zm´ınˇen´a komplexnost jazyka PL/SQL nad datab´az´ı Oracle a d´ale pak proto, zˇ e scripty PL/SQL lze spouˇstˇet interaktivnˇe z webov´ych str´anek (napˇr. port´alu EEG). Od tohoto ˇreˇsen´ı bylo ale prozat´ım upuˇstˇeno, protoˇze nebyl nalezen zp˚usob z´ısk´an´ı ˇ sen´ım by bylo ukl´adat data z BLOB pomoc´ı bal´ıcˇ ku UTL BLOB z datab´aze. Reˇ FILE. UTL FILE lze v jazyce PL/SQL pouˇz´ıt pro z´apis do lok´aln´ıho souborov´eho syst´emu, kde je um´ıstˇena datab´aze. [21] Protoˇze pˇr´ıstup do souborov´eho syst´e-mu datab´aze EEG nen´ı moˇzn´y, bylo od t´eto moˇznosti ˇreˇsen´ı upuˇstˇeno. Dalˇs´ım moˇzn´ym rˇeˇsen´ım bylo pos´ılat data z BLOB protokolem TCP pˇres s´ıt’ov´e spojen´ı na server iRODS. Na serveru iRODS by bˇezˇ el program, kter´y by pos´ılan´a data zpracov´aval a ukl´adal do lok´aln´ıho souborov´eho syst´emu na serveru. K realizaci toho ˇreˇsen´ı lze pouˇz´ıt bal´ıcˇ ek UTL TCP. [22] Protoˇze toto ˇreˇsen´ı bylo implementaˇcnˇe sloˇzit´e (obsahuje dvˇe cˇ a´ sti, jednu na datab´azi a druhou na serveru iRODS) a nav´ıc by se musely obˇe cˇ a´ sti udrˇzovat ve vz´ajemn´e synchronizaci, bylo zvoleno ˇreˇsen´ı v jazyce Java.
7.3
ˇ sen´ı pomoc´ı jazyka Java Reˇ
Programovac´ı jazyk Java obsahuje podporu pro pˇripojen´ı k datab´azi. Pro kaˇzdou datab´azi, se kterou chtˇej´ı programy v jazyku Java komunikovat, mus´ı b´yt ale vytvoˇren ovladaˇc tzv. JDBC2 driver. Pro datab´azi Oracle je JDBC ovladaˇc k dispozici ke staˇzen´ı z webov´ych str´anek3 jako ojdbc6.jar soubor pro JDK 1.6. Pro z´ısk´an´ı dat z datab´aze v jazyku Java jsou d˚uleˇzit´e tˇr´ıdy bal´ıku java.sql. Tˇr´ıda Connection slouˇz´ı pro vytvoˇren´ı spojen´ı k datab´azi. Tˇr´ıda PreparedStatement pro zasl´an´ı SQL dotazu/pˇr´ıkazu na datab´azi a ResultSet pro uloˇzen´ı v´ysledk˚u dotazu. 1
PL/SQL - Procedural Language/Structured Query Language - je procedur´aln´ı nadstavba jazyka SQL pro datab´aze Oracle 2 JDBC - Java Database Connectivity - aplikaˇcn´ı rozhran´ı, kter´e definuje jednotn´y pˇr´ıstup k relaˇcn´ım datab´az´ım 3 http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html
7.4 Zhodnocen´ı rˇeˇsen´ı
34
Algoritmus programu je n´asleduj´ıc´ı: po spuˇstˇen´ı dojde z konfiguraˇcn´ıho souboru k pˇreˇcten´ı pˇr´ıstupov´ych u´ daj˚u k datab´azi a vytvoˇr´ı se spojen´ı. Pomoc´ı SQL dotazu z tabulky SCENARIO se vyberou vˇsechny n´azvy sc´en´aˇru˚ a v cyklu se proch´az´ı kaˇzd´y sc´en´aˇr zvl´asˇt’. Ke kaˇzd´emu sc´en´aˇri se opˇet pomoc´ı SQL dotazu z´ıskaj´ı vˇsechny experimenty z tabulky EXPERIMENTS a v cyklu se kaˇzd´emu experimentu vyberou pomoc´ı SQL dotazu vˇsechny odpov´ıdaj´ıc´ı soubory z tabulky DATA FILE. Pro cˇ ten´ı soubor˚u se vytvoˇr´ı cˇ tec´ı proud bin´arn´ıch dat. Pro z´apis dat do souboru program vytvoˇr´ı v´ystupn´ı proud tˇr´ıdy ZIPOutputStream. T´ımto zp˚usobem doch´az´ı k archivaci vˇsech soubor˚u dan´eho experimentu do jednoho ZIP archivu. V posledn´ım kroku dojde k z´ısk´an´ı metadat o pˇr´ısluˇsn´em experimentu. Metadata se uloˇz´ı do souboru csv ve sloˇzce dan´eho experimentu. Charakter metadat lze ovlivnit SQL dotazem. Ve standardn´ım nastaven´ı programu se do csv souboru ukl´adaj´ı vˇsechny poloˇzky pˇr´ısluˇsn´eho experimentu viz obr´azek cˇ . 11, tabulka EXPERIMENT. [23]
7.4
Zhodnocen´ı rˇ eˇsen´ı
Program byl testov´an na operaˇcn´ım syst´emu Windows 7 a Linux Debian. Pr˚ubˇeh cˇ innosti programu je zn´azornˇen na obr´azku cˇ . 12.
Obr´azek 12: Uk´azka pr´ace programu na v´ybˇer dat z datab´aze EEG
Vyzkouˇsel jsem aplikaci i na serveru v cloudu ve sluˇzbˇe BeeScale. Rychlost stahov´an´ı dat z datab´aze EEG byla i pˇr´ıpadˇe cloudov´eho ˇreˇsen´ı totoˇzn´a s rychlost´ı
7.4 Zhodnocen´ı rˇeˇsen´ı
35
stahov´an´ı na serveru iRODS. Z d˚uvodu, zˇ e se jedn´a o neveˇrejn´a data v´yzkumn´e skupiny KIV byl tento test proveden pouze na nˇekolika souborech. Staˇzen´e soubory byly n´aslednˇe z cloudov´eho serveru odstranˇeny. V pˇr´ıpadˇe, zˇ e by tato data byla skuteˇcnˇe uloˇzena na serveru v cloudu, musela by se nezbytnˇe ˇreˇsit problematika sˇifrov´an´ı.
8 Z´avˇer
8
36
Z´avˇer
Zad´an´ı bakal´aˇrsk´e pr´ace bylo n´alezt optim´aln´ı cloudov´e ˇreˇsen´ı pro EEG/ERP dom´enu. Byly analyzov´any poˇzadavky neuroinformatick´e skupiny KIV a na jejich z´akladˇe byl proveden pr˚uzkum dostupn´ych ˇreˇsen´ı, z nichˇz bylo vybr´ano takov´e, kter´e nejv´ıce vyhovovalo poˇzadavk˚um v´ysˇe uveden´e skupiny. V souˇcasn´e dobˇe je pro v´yzkumnou skupinu KIV vhodn´y syst´em Dataspace, kter´y vyv´ıj´ı a podporuje neziskov´a organizace INCF. Syst´em je postaven na technologii iRODS. Jedn´a se o technologii sd´ılen´ı dat z v´yzkumu mezi jednotliv´ymi cˇ lensk´ymi skupinami. V tomto smyslu je tato technologie pˇr´ınosn´a, protoˇze spojuje cˇ lensk´e laboratoˇre po cel´em svˇetˇe do jednoho celku. Aˇckoliv na prvn´ı pohled nejde o pron´ajem v´ypoˇcetn´ıch kapacit od poskytovatele cloudu, je nutn´e se na tuto z´aleˇzitost d´ıvat v sˇirˇs´ım slova smylu. V´yzkumn´a skupina KIV produkuje a ukl´ad´a informace ze sv´ych vlastn´ıch v´yzkum˚u, k dispozici m´a oproti tomu v´ysledky v´yzkumu cˇ lensk´ych laboratoˇr´ı z cel´eho svˇeta. V souˇcasn´e dobˇe je syst´em Dataspace funkˇcn´ı a data neuroinformatick´e skupiny urˇcena pro sd´ılen´ı jsou v z´onˇe incf pˇr´ıstupn´a. Tak´e soubory, kter´e jsou sd´ıleny dalˇs´ımi laboratoratoˇremi, jsou d´ıky syst´emu Dataspace pro v´yzkumnou skupinu KIV k dispozici. Program pro v´ybˇer soubor˚u a metadat z datab´aze EEG je moˇzn´e pravidelnˇe spouˇstˇet tak, aby data v´yzkumn´e skupiny byla v syst´emu Dataspace vˇzdy aktu´aln´ı. Jako vylepˇsen´ı t´eto skuteˇcnosti je moˇzn´a u´ prava programu tak, aby jej bylo moˇzn´e spouˇstˇet pˇr´ımo, napˇr´ıklad z webov´ych str´anek port´alu EEG/ERP. Zkuˇsenost s hled´an´ım cloudov´eho rˇeˇsen´ı dle zadan´ych poˇzadavk˚u hodnot´ım jako pˇr´ınosnou. Jelikoˇz jsem se s t´ımto odvˇetv´ım informatiky doposud bl´ızˇ e nezab´yval, mnoho informac´ı pro mˇe bylo u´ plnou novinkou. Bylo potˇreba prostudovat velk´e mnoˇzstv´ı materi´al˚u a z´aroveˇn ovˇeˇrit ˇradu fakt˚u. Pozitivnˇe t´ezˇ hodnot´ım, zˇ e jsem se mohl sezn´amit s technologiemi, kter´e vyuˇz´ıv´a neuroinformatick´a skupina KIV, aktivnˇe jsem komunikoval s organizac´ı INCF a ˇreˇsil odborn´e probl´emy s napojen´ım iRODS serveru do syst´emu Dataspace. Nauˇcil jsem se pracovat s datab´azov´ymi syst´emy Oracle, kter´e vyuˇz´ıv´a zm´ınˇen´a v´yzkumn´a skupina. Vˇsechny tyto novˇe nabyt´e informace jsou pro mne d˚uleˇzit´e nejen v zamˇestn´an´ı, ale tak´e v dalˇs´ım pˇr´ıpadn´em studiu.
Pˇrehled zkratek ACL - access control list - seznam opr´avnˇen´ı pˇr´ıstupu k objektu (napˇr. souboru) API - Aplikaˇcn´ı programov´e rozhran´ı AWS - Amazon Web Services EEG - Elektroencephalography - vyˇsetˇren´ı registruj´ıc´ı elektrickou aktivitu mozku ERP - Even-Related Potential - Evokovan´y potenci´al - mozkov´a odezva na stimulaci FQDN - Fully Qualified Domain Name - dom´enov´y n´azev poˇc´ıtaˇce nebo serveru iRODS - integrated Rule-Oriented Data System IT - informaˇcn´ı technologie JDBC - Java Database Connectivity - aplikaˇcn´ı rozhran´ı aplikac´ı Java pro pˇr´ıstup k datab´azi KIV - Katedra informatiky a v´ypoˇcetn´ı techniky PL/SQL - Procedural Language/Structured Query Language - procedur´aln´ı nadstavba jazyka SQL od firmy Oracle SQL - Structured Query Language - standardizovan´y dotazovac´ı jazyk pouˇz´ıvan´y pro pr´aci s daty v relaˇcn´ıch datab´az´ıch SSD - Solid-State Drive - datov´e m´edium, neobsahuje mechanick´e cˇ a´ sti, vyˇssˇ´ı pˇrenosov´e rychlosti ˇ - Z´apadoˇcesk´a univerzita v Plzni ZCU
Literatura Tiˇstˇen´e cˇ l´anky: ˇ HEROUT, Pavel. Uˇcebnice jazyka Java. 3., rozˇs. vyd. Cesk´ e Budˇejovice: Kopp, 2007, 381 s. ISBN 978-80-7232-323-4. URMAN, Scott, Ron HARDMAN a Michael MCLAUGHLIN. Oracle: programov´an´ı v PL/SQL. Vyd. 1. Brno: Computer Press, 2007, 720 s. ISBN 97880-251-1870-2. Elektronick´e cˇ l´anky: ˇ ˇ [1] JEZEK, Petr a Roman MOUCEK. Database of EEG/ERP experiments.2009. [2] Cloud computing [online]. 2013 [cit. 24.4.2013]. Dostupn´e z: http://cs.wikipedia.org/wiki/Cloud_computing [3] Amazon Web Services [online]. 2013 [cit. 26.4.2013]. Dostupn´e z:http://aws.amazon.com/ [4] Amazon Elastic Compute Cloud (Amazon EC2): Cloud Computing Servers. [online]. [cit. 26.4.2013]. Dostupn´e z: http://aws.amazon.com/ec2/ [5] Amazon Simple Storage Service (Amazon S3) [online]. 2013 [cit. 26.4.2013]. Dostupn´e z: http://aws.amazon.com/s3/ [6] AWS Free Usage Tier [online]. 2013 [cit. 26.4.2013]. Dostupn´e z:http://aws.amazon.com/free [7] Google Apps pro vzdˇel´av´an´ı [online]. 2012 [cit. 26.4.2013]. Dostupn´e z: http://www.google.com/apps/intl/cs/edu/ [8] Google App Engine [online]. 2013 [cit. 27.4.2013]. Dostupn´e z: http://appengine.google.com/ [9] Google Compute Engine [online]. 2012 [cit. 27.4.2013]. Dostupn´e z: https://developers.google.com/compute/ [10] Google Cloud Storage [online]. 2013 [cit. 27.4.2013]. Dostupn´e z: https://cloud.google.com/products/cloud-storage [11] Google BigQuery [online]. 2013 [cit. 27.4.2013]. Dostupn´e z: https://cloud.google.com/products/big-query
[12] Google Cloud SQL [online]. 2013 [cit. 27.4.2013]. Dostupn´e z: https://cloud.google.com/products/cloud-sql [13] Google konˇc´ı s podporou protokolu Exchange ActiveSync, RIP Google Sync [online]. 2012 [cit. 27.5.2013]. Dostupn´e z: http://www.lupa.cz/clanky [14] Windows Azure: Veˇrejn´y cloud Microsoft. [online]. [cit. 26.4.2013]. Dostupn´e z: http://www.microsoft.com/cs-cz/server-cloud/ windows-azure.aspx [15] Microsoft SkyDrive: Microsoft Windows. [online]. [cit. 26.4.2013]. Dostupn´e z: http://windows.microsoft.com/cs-cz/skydrive [16] BeeScale [online]. 2013 [cit. 27.5.2013]. Dostupn´e z:https://beescale.com/ [17] INCF [online]. 2012 [cit. 27.5.2013]. Dostupn´e z:http://www.incf.org/ [18] IRODS [online]. 2013 [cit. 27.5.2013]. Dostupn´e z:http://www.irods.org [19] System Architecture and Design, Data Management Policy Specification. Dataspace [online]. 2012, 1.3 [cit. 27.4.2013]. Dostupn´e z:http://www. incf.org/resources/data-space/documentation [20] IDS Zone Setup [online]. 2013 [cit. 27.4.2012]. Dostupn´e z: https://github.com/INCF/ids-tools/wiki/ IDS-Zone-Setup [21] How can I extract files from an Oracle BLOB field?[online]. 2011 [cit. 26.4.2013]. Dostupn´e z: http://stackoverflow.com/questions/6332032/ how-can-i-extract-files-from-an-oracle-blob-field [22] UTL TCP [online]. 2007 [cit. 27.4.2013]. Dostupn´e z: http://docs.oracle.com/cd/B19306_01/appdev. 102/b14258/u_tcp.htm [23] Read BLOBs data from database [online]. 2012 [cit. 26.4.2013]. Dostupn´e z: http://www.java2s.com/Code/Java/Database-SQL-JDBC/ ReadBLOBsdatafromdatabase.htm
Pˇr´ıloha cˇ . 1 V´ybˇer dat z datab´aze EEG pro syst´em Dataspace Uˇzivatelsk´a dokumentace ´ cel programu: 1) Uˇ Program slouˇz´ı pro v´ybˇer dat z datab´aze. Konkr´etnˇe se jedn´a o z´ısk´an´ı soubor˚u a metadat z datab´aze Oracle neuroinformatick´e v´yzkumn´e skupiny KIV pro syst´em Dataspace. 2) Popis programu: Program byl vyvinut v programovac´ım jazyku Java. Jeho cˇ innost je jednor´azov´a a automatick´a. Nen´ı tedy interaktivnˇe z´avisl´a na ovl´ad´an´ı uˇzivatelem. Po spuˇstˇen´ı se program napoj´ı na datab´azi EEG. Vybere postupnˇe sc´en´aˇre z datab´aze a tak´e ke kaˇzd´emu sc´en´aˇri vˇsechny pˇr´ısluˇsn´e experimenty. Ke kaˇzd´emu experimentu program nalezne vˇsechny odpov´ıdaj´ıc´ı soubory. V dalˇs´ım kroku program vybere z datab´aze informace o kaˇzd´em experimentu a uloˇz´ı je do zvl´asˇtn´ıho souboru. O sv´e aktu´aln´ı cˇ innosti, chyb´ach a u´ spˇesˇn´em ukonˇcen´ı program informuje v´ypisy na obrazovce. 3) Instalace Jak jiˇz bylo uvedeno, program je vyvinut v programovac´ım jazyku Java. Je k dispozici ve zdrojov´em k´odu pro kompilaci na libovoln´em operaˇcn´ım syst´emu, na kter´em bˇezˇ´ı Java virtu´aln´ı stroj. Pro operaˇcn´ı syst´em Windows je zdrojov´y k´od jiˇz zkompilov´an pro verzi Java 7 a je vytvoˇren spustiteln´y archiv JAR se vˇsemi potˇrebn´ymi knihovnami. Identicky je program sestaven pro operaˇcn´ı syst´em Debian s verz´ı Java 6. Pro snaˇzsˇ´ı sestaven´ı na jin´em operaˇcn´ım syst´emu je program k dispozici jako projekt Maven. Pˇri kompilaci zdrojov´eho k´odu mus´ı b´yt pˇrekladaˇci k dispozici informace o uloˇzen´ı souboru ojdbc6.jar (ovladaˇc pro datab´azi Oracle). Jeˇstˇe pˇred spuˇstˇen´ım programu je potˇreba ovˇeˇrit, zda je ve stejn´em adres´aˇri s programem uloˇzen konfiguraˇcn´ı soubor s pˇr´ıstupov´ymi u´ daji k datab´azi. Pokud tomu tak nebude, program skonˇc´ı s chybou. Prvn´ı ˇra´ dek konfiguraˇcn´ıho souboru ud´av´a poloˇzku host. Druh´y u´ daj pˇredstavuje port. Tˇret´ı ˇra´ dek m´a hodnotu ˇ Service ID (SID). Ctvrt´ y a p´at´y ˇra´ dek konfiguraˇcn´ıho souboru ud´av´a login a heslo. 4) Spuˇstˇen´ı programu Program se spouˇst´ı z konzole nebo pˇr´ıkazov´eho ˇra´ dku pˇr´ıkazem: java -jar EEGTransfer.jar
V tomto pˇr´ıpadˇe v aktu´aln´ım adres´aˇri, odkud je program spuˇstˇen, se vytvoˇr´ı sloˇzka experiments, ve kter´e se budou vytv´aˇret sloˇzky se sc´en´aˇri, experimenty a soubory. Pokud by byl poˇzadavek na zmˇenu v´ystupn´ıho adres´aˇre, program oˇcek´av´a jeden parametr s u´ plnou cestou pro uloˇzen´ı dat. Syntaxe takov´eho pˇr´ıkazu by pak byla napˇr´ıklad: java -jar EEGTransfer.jar ./home/irods/ V uveden´em adres´aˇri se zaloˇz´ı sloˇzka experiments, ve kter´e se pak budou vytv´aˇret adres´aˇre a stahovat soubory identick´ym zp˚usobem, jako je uvedeno v´ysˇe. Program stahovan´e soubory pˇr´ımo komprimuje do ZIP archiv˚u. Doba bˇehu programu z´avis´ı na velikosti pˇresouvan´ych dat a rychlosti s´ıt’ov´eho spojen´ı. Z tohoto d˚uvodu bˇeh programu trv´a ˇra´ dovˇe nˇekolik minut (16 minut transport dat z datab´aze EEG na server iRODS). 5) Chyby programu a jejich ˇreˇsen´ı: Program je dostateˇcnˇe otestov´an, pˇresto nelze vylouˇcit pˇri spuˇstˇen´ı a bˇehu programu k v´yskytu chyb, kter´e ale budou zachyceny syst´emem vyj´ımek. Jedn´a se zejm´ena o chyby cˇ ten´ı a z´apisu do soubor˚u (tzv. IOException) a chyby v souvislosti s operacemi na datab´azi (tzv. SQLException). N´asleduje seznam nˇekter´ych chybov´ych hl´asˇen´ı a moˇzn´y zp˚usob jejich odstranˇen´ı: Error reading data access to the database. - Nedostupn´y soubor s konfiguraˇcn´ımi u´ daji k datab´azi, nebo z nˇej nelze cˇ´ıst. Nutno provˇeˇrit dostupnost konfiguraˇcn´ıho souboru. Error initializing database driver. - Nedostupn´y soubor ojdbc6.jar (ovladaˇc pro datab´azi Oracle) v cestˇe, kter´a je uvedena v seznamu knihoven, nebo z´avislost´ı programu. Error connecting to database. - Chyba spojen´ı s datab´az´ı. V konfiguraˇcn´ım souboru jsou uvedeny nespr´avn´e u´ daje pro pˇr´ıstup k datab´azi. Chyba s´ıtˇe. Error the file transfer from database. - Chyba kop´ırov´an´ı soubor˚u z datab´aze. K chybˇe doch´az´ı bud’ v pˇr´ıpadˇe cˇ ten´ı bin´arn´ıch dat z datov´eho objektu BLOB v datab´azi, nebo pˇri z´apisu do souborov´eho syst´emu na serveru iRODS. Transfer file - SQL Error. - K t´eto chybˇe doch´az´ı, pokud selˇze SQL dotaz na datab´azi. Napˇr´ıklad v datab´azov´ych tabulk´ach doˇslo k modifikaci, kterou program nepˇredpokl´adal. Je tˇreba upravit SQL dotaz dle nov´eho uspoˇra´ d´an´ı tabulek.
Create metadata - SQL Error. - Identick´a chyba jako v´ysˇe, ale vznikla pˇri vytv´aˇren´ı metadat. Create metadata - File create error. - Chyba pˇri z´apisu do soubor˚u s metadaty na serveru iRODS. Nen´ı povolen z´apis, aktu´aln´ı soubor je pro z´apis uzamˇcen nebo soubor m´a otevˇren jin´y proces.