the new distrowatch – bachelor's thesis (sk)
TRANSCRIPT
Portál unixových distribúciíJakub Žitný
1. ÚvodPredmet práce● navrhnúť a vytvoriť webový portál s automaticky
generovanými informáciami o unix-like OS● možnosť spustiť OS v cloude (priamo z prehliadača)
Dôvody pre zvolenie témy● evanjelizácia open-source OS● detailné informácie na jednom mieste● možnosť vyskúšať OS bez potreby zdĺhavej inštalácie● pre laikov aj odborníkov● preskúmanie možností automatizovanej práci s OS
2/15
2. Analýza
● Ako by mal portál vyzerať?● Čo by mal návštevníkom ponúkať?
● Ako zaručiť, aby systém na pozadí dokázal manipulovať s celým operačným systémom?
● Ako zaručiť, aby to dokázal s mnohými?
● Čo nové ponúknuť oproti distrowatch.com?
3/15
Ako získať informácie?● z internetu● priamo z nainštalovaného systému
=> Kde ho nainštalovať? Ako?
● virtualizácia, virtuálne disky● chroot
4/15
2. Analýza (2)
Ako dostať OS do prehliadača?● virtualizácia na pozadí● flash/html5 VNC konzola
Priebeh1. používateľ klikne na "Deploy"2. frontend pošle správu backendu3. backend požiada cloud o virtuál4. ako odpoveď dostane prístupové dáta, ktoré pošle
frontendu5. používateľovi sa zobrazí prístup a konzola
5/15
2. Analýza (3)
Automatizácia● komunikácia frontend - backend● deployment virtuálov● získavanie nainštalovaných OS
○ niektoré systémy sú dostupné priamo v podobe virtuálnych obrazov už predinštalované
○ ostatné je potrebné nainštalovať■ ručne■ autoinštalátory (FAI, M23, Kickstart, AutoYaST)■ "wizard"
6/15
2. Analýza (4)
3. Návrh systému
● Frontend (webový portál)● Komunikačná vrstva● Backend
○ Automatizované procedúry■ inštalácia OS■ úprava virtuálnych diskov■ dolovanie dát■ ...
○ Administračné rozhranie○ Prepojenie s cloudom
7/15
4. Technológie
● Aký programovací jazyk?○ PHP, Python, Ruby, Java EE○ Použiť framework? Ak áno, aký?
● Aký spôsob komunikácie?○ DB, REST, SOAP, XML-RPC○ Redis, Active MQ, Rabbit MQ
● Ako virtualizovať?○ libvirt/kvm○ private IaaS platforma OpenStack, Eucalyptus○ komerčná IaaS platforma Amazon AWS, TMC-CZ
● Ako získavať informácie o OS???8/15
5. Implementácia systému
● Frontend (PHP, Symfony2 framework)● Backend (Python, Django framework)● Komunikácia (Redis MQ)● Cloud (viaceré možnosti, TMC-CZ)
● Zber informácií o systémoch - moduly do backendu
9/15
10/15
6. Výsledok● robustný systém● možnosť ľahko rozšíriť funkcionalitu● navrhnuté viaceré možnosti prepojenia s cloudom
Budúcnosť● vlastný hardvér● moduly na získavanie nových informácií● funkcionalita webu
11/15
1. Sběr informací z nainstalovaného operačního systému probíhá pouze „pasivně“ (chroot atd., odst 3.2.2)? Stačí to? Resp. není třeba se „aktivně“ přihlásit (root?) a získat některá data takto?
2. Jak se realizuje „update“ informací a jejich prezentace u nových verzí téhož OS, za předpokladu, že se staré i nové verze běžně používají?
3. Jakým způsobem se posuzuje relevantnost informací, získávaných ze zdrojů typu Wikipedia?
Otázky oponenta
15/15