Jednou z nepostradatelných technologií pro vývojáře je v dnešní době kontejnerizace.
Týmy vývojářů mohou v kontejnerech snadno a rychle startovat, testovat a aktualizovat aplikace, což výrazně zvyšuje efektivitu a flexibilitu vývoje aplikací. Vedle veřejných poskytovatelů umožňujících provoz kontejnerů ve svých cloudech ovšem neztrácí na důležitosti i on-premises řešení provozované na interních infrastrukturách.
Důvody pro provozování takového on-premises řešení mohou být různé. Může se jednat o bezpečnost, výkon, ekonomiku provozu a další.
Jako příklad realizace uvedu instalaci menšího Kubernetes clusteru pro firmu PRINCIP a.s., člena skupiny W.A.G. payment solutions, a.s., poskytující mimo jiné i služby elektronického mýtného.
Tento zákazník nás požádal o dodávku instalace Kubernetes clusteru na lokální infrastruktuře. Je potřeba vždy věnovat obzvláště důkladnou péči návrhu celého systému. Počínaje síťovou vrstvou, přes správné využití úložiště i ostatního hardware a konče spolehlivým monitoringem a zálohováním. Ve spolupráci s vývojovým týmem zákazníka jsme analyzovali hardware/software potřeby aplikace a samotného týmu.
Dále jsme navrhli a nainstalovali požadovanou infrastrukturu. Dodávka zahrnovala kompletní prostředí pro deployment aplikace včetně Elasticsearch clusteru pro zpracování objemu dat v řádech desítek terabajtů, replikované databáze Percona, HAproxy clusteru a služeb jako RabbitMQ, Redis, Kafka, Kibana nebo MetalLB. Jako podhoubí pro všechny komponenty prostředí jsme zvolili s ohledem na poskytnutý hardware virtualizaci Proxmox a softwarově definované úložiště Ceph. Takto komplikovaný ekosystém není v lidských silách instalovat a udržovat na manuální bázi, a tak je vše pochopitelně instalováno naším oblíbeným automatizačním nástrojem Ansible.
Doufám, že se aplikacím v novém „domově“ líbí a dělají vývojářům jen a jen radost. ;)
Ondřej Pešta