Poznejte vývojáře!

Představte si, že může existovat svět ve kterém věci opravdu fungují a lidé dělají to co je baví. Věříme, že klub Silicon Hill si zaslouží informační systém, který odpovídá jeho potenciálu. Udělali jsme co jsme mohli, udělali jsme to co jsme uměli, ale v každém případě jsme dělali něco co nás baví. Na strahově máme takové možnosti, o kterých se dalším lidem ani nezdá! Zaujalo vás to? Přijďte taky podniknout něco velkého!

Okénko do historie

Již v počátcích sítě (rok 1998) vznikla jednoduchá aplikace v programu PC-Fand, která dostala název DUSPS a i přes své nedostatky vydržela až do dubna roku 2001, kdy byla vytvořena nová verze založená na SQL databázi a webovém rozhraní (Michal Leinweber, Ondřej Bezucha, Eduard Matúš a dále Zbyněk Čech a Stanislav Šmejkal). DUSPS byl tedy první na míru vytvořený systém, který se staral o evidenci členů, plateb a o konfiguraci síťe. Největšími problémy byla zastaralost, bezpečnost, prakticky žádný vývoj a komunikace se správci/autory. Během let 2010 a 2011 byl tedy vyvinut nový systém - SUPP (Martin Komoň, Martin Chloupek, Radim Roška, Petr Přikryl, firma Quanti s.r.o. a další). SUPP byl nasazen během prosince 2011 a používal se až do září roku 2012, SUPP tak nějak neměl kdo vyvíjet a vzhledem k tomu, že byl značně nedodělaný a poměrně problémový (nepoužitelné webové rozhraní, konfigurace prvků, hardwarové nároky a duplicity v databázi), nezbylo nic jiného než přijít s něčím novým - a tak vznikl IS. Od června 2012 byl IS vyvíjen v tajnosti, vědělo o něm pár lidí. Nakonec byl oficiálně představen během prázdninové schůze představenstva dne 14.8.2012 a nasazen do provozu od 1.10.2012. Prezentace ISu před odbornou veřejností proběhla na Installfestu 2013.

Logo SUPP

Filozofie systému

IS byl od začátku vyvíjen s tím, že buď budou jednotlivé části fungovat pořádně, nebo nebudou vůbec. Velká část úsilí se věnovala samotnému uživatelskému rozhraní, díky kterému by používání již nemělo být pro uživatele utrpením. Dále pro nás byla důležitá vysoká dostupnost, rychlé reakce systému a také zabezpeční a logování uživatelských akcí.

Integrované funkce

Informační systém zahrnuje správu členů klubu (uživatelů), členských příspěvků a správu sítě a síťových zařízení. Dále IS zajišťuje tyto služby:

  • Jednotné přihlášení v rámci klubu (OAuth, LDAP, Radius, Active Directory, TACACS+)
  • IEEE 802.1X a Dynamic VLAN assignment
  • Řízení uživatelských oprávnění založené na kontextech jak v rámci systému tak mimo něj
  • Zpracování placení členských příspěvků a platnosti členství a služeb
  • Správa síťových zařízení, IP adresních rozsahů a VLAN
  • Rekurzivní a autoritativní DNS server, správa a automatické generování DNS záznamů
  • RADIUS server pro spolupráci s 802.1x
  • Automatická konfigurace síťových prvků, zejména uživatelských portů přes SSH
  • Kontrola konfigurace síťových prvků
  • Odesílání Wake on LAN paketů
  • DHCP a DHCPv6 server
  • Správa mailových adres a aliasů, mail proxy a antispam
  • Serverová část RFID přístupového systému
  • Správa čerpání financí a rozpočtu klubu
  • Automatizované výkazy pro potřeby klubu
  • REST API
  • Předregistrace a PUBLIC VLAN (Detekce portu - DHCP Option 82)

Přednášky

Is2_thumb

Frontend

V části aplikace, která jde vidět si nejspíš nejvíce všimnete CSS frameworku Twitter Bootstrap. Samotné webové rozhraní generuje aplikace napsaná v Ruby on Rails, která kromě webu obsahuje workery pro práci na pozadí (konfigurace prvků, exporty, komunikace s bankou, ...).

Backend

Serverový cluster je založený na nástroji Pacemaker. Hlavní linuxovou distribucí pro všechny servery byl použit Debian Wheezy.
Jako databázový server bylo vybráno PostgreSQL, zejména jakožto open source a dále pro možnosti expression indexů, snadno implementovatelného full-textového vyhledávání a také pro vidinu materialized views v následujících verzích.
Jako aplikační server byl vybrán pro jednoduchost a nízký overhead Thin. Pro realizaci webového serveru, load balancing, SSL offload a hostování assetů byl použit nginx.
Pro DNS server je použit PowerDNS Recursive Server a Authoritative Server, toto řešení má oproti vyzkoušené implementaci BINDu přímé napojení na databázi a do budoucna je snadno rozšiřitelné o DNSSEC.
DHCP zajišťuje upravená verze ISC DHCP, DHCPv6 upravená verze dhcpy6d.
Pro LDAP interface byl použit OpenDJ a pro RADIUS server freeRADIUS.
Mailové služby zajišťuje Postfix, Amavis a SpamAssasin.

Is_thumb