Trendy w IT w 2021 r. - chmury i kontenery

Mówienie o kimś, że ma głowę w chmurach ma raczej negatywną konotację – ten ktoś nie interesuje się przyziemnymi, ważnymi sprawami. Zamiast tego jest rozkojarzony, podąża za alternatywnymi, często abstrakcyjnymi rozwiązaniami. 

Są jednak sytuacje, w których taki zwrot może nabrać zupełnie innego znaczenia. Wygląda na to, że od dłuższego czasu spora część branży IT zaczęła chodzić z głową w chmurach, a na początku 2021 r. to zjawisko wyłącznie się nasiliło. Warto nadmienić, że właśnie w tym przypadku jest to pozytywny proces.

Oczywiście mam tu na myśli coraz częstsze i poważniejsze inwestycje w technologię i rozwiązania chmurowe. Firmy IT od dłuższego czasu dostrzegają ich rosnący potencjał. Zapewniają m.in. dostęp do dużej mocy obliczeniowej (“on-demand”) oraz łatwość w tworzeniu dodatkowych środowisk lub maszyn, głównie w celach testowych. 

Na tej i innych korzyściach płynących z używania rozwiązań chmurowych skupię się w tym artykule. Poza zaletami związanymi z pracą codzienną, poznasz kontenery – narzędzia, które ułatwiają programistom pracę z zaawansowanej, technicznej strony. Zapraszam do lektury.

Rosnący komfort pracy zdalnej

Według danych Statista, ok. 65% pracowników branży IT w USA, Wlk. Brytanii, Kanadzie i Australii pracowało w 2020 r. w trybie zdalnym często lub zawsze. Wiele wskazuje na to, że ten odsetek będzie w bieżącym roku stale postępował.

Oczywiście, pandemia była wielokrotnie przytaczana jako główna przyczyna takiego stanu rzeczy. Tymczasem, w rzeczywistości jest ona jedynie katalizatorem nieuchronnego procesu. Procesu, który został zainicjowany znacznie wcześniej przez technologie chmurowe.

Obecnie są one wdrażane do aplikacji ułatwiających komunikację zdalną, takich jak Zoom czy Teams. Szczególnie ta druga jest na etapie wyraźnej transformacji. Nie jest już wyłącznie przestrzenią umożliwiającą prowadzenie konferencji. 

Teams stało się wielkim repozytorium, które przechowuje wszelkie dokumenty firmy. Mają do nich dostęp wszystkie zainteresowane osoby. Mogą przesyłać je między sobą i analizować na ekranie konferencji np. poprzez udostępnianie widoku swojego ekranu. Znacznie usprawnia to pracę wszystkich osób zaangażowanych w dany projekt.

Wewnątrz każdej firmy powstają różnego rodzaju grupy i podgrupy. Dzięki dostępowi do ważnych dokumentów i plików w chmurze można swobodnie dzielić je na:

  • ogólnodostępne – dotyczące wszystkich pracowników firmy;

  • prywatne – ma do nich dostęp wyłącznie określona grupa pracowników, np. należąca do jednego działu (HR, front-end, back-end, itd.) lub pracująca nad jednym projektem.

Firmy często korzystają z publicznych platform chmurowych, takich jak Google Cloud, Microsoft Azure, czy też Amazon Web Services. W wyjątkowych przypadkach można stworzyć też prywatną chmurę – jest to o wiele bardziej kosztowne przedsięwzięcie. Na jego korzyść przemawia pewność, że zamieszczone tam dane pod żadnym pozorem nie trafią w ręce osób trzecich. 

Tablica dla wszystkich  

Pracę w chmurze ułatwiają także dodatkowe aplikacje. Jedną z najwyżej ocenianych jest Microsoft Whiteboard, kompatybilna z Teams. 

W czasie klasycznych spotkań tablica zawsze pełniła nieocenioną rolę – są na niej notowane wszelkie nowe pomysły, dotychczasowe zmiany, uwagi itd. Następnie na podstawie tych notatek można jasno opracować np. kolejny etap pracy nad projektem. Do tej pory często spośród uczestników spotkania wybierany był “skryba”, który zbierał i zapisywał wszystko na tablicy. Wprowadzenie tej funkcji do spotkań zdalnych ułatwiło tę pracę.

Do wspomnianego Microsoft Whiteboard mają dostęp wszyscy. Każda osoba uczestnicząca w konferencji online może wprowadzać swoje uwagi – przez aplikację ma do dyspozycji mazaki, karteczki samoprzylepne, itd. Efekty takiej burzy mózgów można zapisać w chmurze, wracać do nich i edytować w każdej chwili. Posiadanie takiej historii działań wpływa pozytywnie na organizację i wydajność pracy

Warto jednak mieć na uwadze, jak w rzeczywistości wyglądałoby przeniesienie ogólnego dostępu do edytowania tablicy. Można wyobrazić sobie tłum dyskutujących ludzi, którzy próbują dostać się do tablicy z mazakiem i zapisać swoją myśl. Dlatego mimo tego sporego ułatwienia wciąż warto wyznaczyć osobę, która nadzoruje ten proces także w trybie online.

Kontener – chmura dla programisty

Od dłuższego czasu podobny tryb przechowywania ważnych danych jest popularny w indywidualnej pracy programisty nad aplikacją. Mowa o konteneryzacji. Na czym polega i kiedy jest stosowana?

Wyobraźmy sobie sytuację, w której programista chce przenieść tworzoną przez siebie aplikację. Powodów takiej decyzji może być wiele – np. konieczność przeprowadzenia testów, także tych destrukcyjnych, lub oddzielenie nowej aplikacji od innych, by zapewnić jej stabilność i bezpieczeństwo.

W normalnych okolicznościach takie działanie wiąże się z ponowną instalacją systemu operacyjnego, przywracaniem wszelkich konfiguracji aplikacji, czasem tworzeniem wielu kopii i instancji, z których każda może wymagać oddzielnego adresu IP, itp. Wszystkie te działania są wymagające, a przede wszystkim czasochłonne.

W tym celu powstała konteneryzacja – programista korzysta z wirtualnej jednostki, tzw. kontenera. Umieszcza tam aplikację wraz z jej wszystkimi procesami, konfiguracjami i zależnościami (bibliotekami, lokalnymi bazami danych, itd.). Może też na bieżąco testować wszelkie potencjalne rozwiązania. Każdy kontener jest bezpiecznym miejscem z wydzielonym obszarem pamięci RAM i dysku. Poza tym, posiada swój indywidualny adres IP.

Tak wygodny sposób przechowywania i przenoszenia wszelkich działań związanych z aplikacją znacznie zwiększa skuteczność i produktywność programistów. Jest to szczególnie zauważalne w dużych i średnich organizacjach, w których na bieżąco toczą się dziesiątki projektów. 

Przy zwiększonej liczbie kontenerów warto zadbać o automatyzację infrastruktury, odpowiedni workflow i skalowanie. Najpopularniejszą platformą stosowaną w tym celu od kilku lat jest Docker. W ostatnim czasie coraz popularniejszy staje się stworzony przez Google Kubernetes. Działanie tych programów można ze sobą swobodnie łączyć.

Szybciej, wyżej, mocniej, przede wszystkim łatwiej

W kontekście wyżej wymienionych trendów można lekko sparafrazować dewizę Igrzysk Olimpijskich. Od chmur i kontenerów zaczyna się łańcuch, na którym zyskują wszystkie jego elementy.

Chmury wpływają na rozwój kultury pracy, komunikacji zarówno między pracownikami poszczególnych działów firmy, jak i osób zaangażowanych w dany projekt. Praca zdalna z użyciem tych narzędzi staje się pospolitym i skutecznym działaniem. 

Z kolei kontenery zostały stworzone dla programistów. Zalety tej aktywności można podsumować krótko – mobilność, lekkość i wynikająca z nich szybkość działania. Z zaciekawieniem będziemy obserwować dalszy progres tych dwóch narzędzi. Można zaryzykować stwierdzenie, że to właśnie w nich leży przyszłość branży IT. 

Już wkrótce rozwiązania, o których jak dotąd myśleliśmy będąc głową w chmurach, mogą się urzeczywistnić. Wpłynie na to inny rodzaj chmur oraz kontenery.