W zaciszach serwerowni (choć tak naprawdę tam nigdy nie jest cicho 😊) od jakiegoś czasu trwa rewolucja związana ze sposobem wirtualizacji systemów komputerowych. Do niedawna standardem były maszyny wirtualne będące – w pewnym uproszczeniu – kopiami maszyn fizycznych, przeniesione na wspólną infrastrukturę, ale stanowiące osobne byty od poziomu systemów operacyjnych w górę.
Taka architektura ma bardzo wiele zalet w stosunku do uruchamiania systemów komputerowych na realnym sprzęcie: zarówno finansowych, jak i technicznych związanych z administracją i bieżącym utrzymaniem infrastruktury. Ma jednak wiele cech wspólnych ze swoim pierwowzorem, które czasami mogą stanowić istotne ograniczenia w rozwoju lub skalowalności systemu.
Naturalnym krokiem rozwojowym wirtualizacji jest rozdzielenie wirtualizowanych komponentów od systemów operacyjnych, na których pracują, usunięcie wspólnych – często konfliktowych – zależności od wykorzystywanych bibliotek i komponentów.
Takie podejście nazywane jest konteneryzacją: staramy się odseparować atomowe, podstawowe elementy systemu wraz z, niezbędnymi każdemu z nich, komponentami wsparcia.
Do głównych zalet konteneryzacji należą:
- Szybkość wdrażania – wystarczy przenieść znany, wytestowany kontener w nowe miejsce.
- Izolacja (także zasobów) – oprogramowanie zamknięte w kontenerze – i jego biblioteki wspierające – nie wpływają w żaden sposób na inne kontenery.
- Spójność środowisk (testowe/produkcyjne/developerskie) – kontenery są takie same, to kopia, a nie osobne instalacje.
- Przenaszalność elementów systemu – wystarczy skopiować wybrane, potrzebne kontenery.
- Skupienie uwagi na aplikacjach, nie na OS-ach (także jeśli chodzi o monitorowanie) – mniejszy wpływ systemu operacyjnego na oprogramowanie i usługi istotne dla użytkownika i całości systemu.
- Mikroserwisy – łatwa dekompozycja systemu na dedykowane jednozadaniowe kontenery, świadczące w powtarzalny, stabilny sposób jedną dedykowaną funkcjonalność.
- Skalowalność i upakowanie – bardzo dobre (efektywne ekonomicznie i wydajnościowo) wykorzystanie zasobów sprzętowych przy teoretycznie nieskończonej skalowalności.
Jednym z wiodących środowisk konteneryzacji jest, otwarty dla wszystkich zainteresowanych, projekt Kubernetes (z gr. „Sternik”), którego początkiem były wewnętrzne doświadczenia w pionierskich pracach prowadzone w Google nad nowym podejściem.
Obecnie Kubernetes łączy zalety otwartego oprogramowania ze wsparciem oferowanym przez komercyjne firmy: partnerami projektu są setki firm z szeroko pojętego rynku IT, ale także np. telekomunikacji czy manufacturing, w tym giganci znani z pierwszych stron gazet i portali technologicznych.
Dobrze, to był długi wstęp: ale jak to się ma do oferowanej przez Esri platformy oprogramowania ArcGIS?
Tu dochodzimy do sedna sprawy. Widząc istotność i wagę nadchodzącej zmiany, a także poważne zainteresowanie tematem ze strony naszych największych użytkowników, już ponad rok temu rozpoczęliśmy prace programistyczne nad budową natywnej wersji ArcGIS for Enterprise przeznaczonej do uruchamiania na otwartej platformie Kubernetes. Innowacyjność, ale także uważne śledzenie, a kiedy potrzeba, wręcz tworzenie trendów technologicznych jest cechą, która towarzyszy nam od samych początków istnienia Esri.
Pierwsze oficjalne wzmianki o nowym rozwiązaniu uważni obserwatorzy dostrzegli być może w trakcie sesji technicznych konferencji DevSummit w marcu 2020 roku. Kolejne informacje i więcej szczegółów pojawiło się w czasie corocznego wydarzenia jakim jest w okresie wakacyjnym Esri User Conference – co natychmiast zostało zauważone jako ważna wiadomość przez szereg blogów i portali zajmujących się tematyką GIS, ale także i szeroko pojętym IT, którego częścią jesteśmy.
Pod koniec grudnia 2020, na etapie zamkniętych testów wersji beta pojawiły się pierwsze wdrożenia pilotażowe u wybranych, zainteresowanych klientów posiadających odpowiednią praktykę i środowisko.
W chwili obecnej dopinane są ostatnie szczegóły (jak np. baza wiedzy, dokumentacja, tutoriale itd.) i wszystko wskazuje na to, że rok 2021 będzie datą kiedy ArcGIS for Enterprise dołączy do rosnącego grona profesjonalnych rozwiązań pracujących w modelu Cloud Native. To wydarzenie splata się w ciekawy sposób z inwestycjami największych dostawców usług chmurowych w data centers na terenie naszego kraju (dla całego rejonu CE).
W razie pytań temat konteneryzacji i prac nad natywną wersją ArcGIS for Enterprise napisz do nas.