This project hopes to bring new way to distribute information about vari- ous operating systems – especially multifarious Linux distributions but also other open-source systems. There are so many of them it is not easy to get to know or try out each one. The output of this work is design and imple- mentation of web application which displays information about operating systems on well designed pages. These information come from automatic procedures scanning the inside of operating systems and the Internet. Be- sides displaying information, the website gives a chance for visitors to try out specific operating systems right in their browser. This project is inspired by ideas behind distrowatch.com – a popular website providing updates and rankings of Linux distributions.
2. 1. Úvod
Predmet 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
3. 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
4. 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)
5. Ako dostať OS do prehliadača?
● virtualizácia na pozadí
● flash/html5 VNC konzola
Priebeh
1. používateľ klikne na "Deploy"
2. frontend pošle správu backendu
3. backend požiada cloud o virtuál
4. ako odpoveď dostane prístupové dáta, ktoré pošle
frontendu
5. používateľovi sa zobrazí prístup a konzola
5/15
2. Analýza (3)
6. 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)
7. 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
8. 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
9. 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
11. 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
12.
13.
14.
15.
16.
17. 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