Close

Czym jest przetwarzanie w chmurze? Omówienie technologii chmurowej

Przewodnik po przetwarzaniu w chmurze i związanych z nim korzyści dla nowoczesnych przedsiębiorstw


Przetwarzanie w chmurze to usługa udostępniania zasobów obliczeniowych za pośrednictwem Internetu. Jego zalety to między innymi ograniczenie kosztów, skalowalność, wysoka wydajność oraz oszczędność zasobów. Dla wielu firm migracja do chmury jest bezpośrednio związana z modernizacją danych i IT.

Gdy pojęcie „chmury” zaczęło być stosowane powszechnie na początku pierwszej dekady XXI wieku, miało początkowo pewien wydźwięk ezoteryczny. Pomysł dostępu do zasobów obliczeniowych umiejscowionych gdzie indziej niż lokalna infrastruktura IT (w niebie?) brzmiał jak science fiction. Ale technologia ta była znacznie bardziej realistyczna i rozwinięta, niż mogło się wydawać, i na zawsze odmieniła nasz sposób prowadzenia działalności.

Czym jest przetwarzanie w chmurze?


Przetwarzanie w chmurze to dostarczanie zasobów obliczeniowych — w tym pamięci masowej, mocy obliczeniowej, baz danych, urządzeń sieciowych i analitycznych, sztucznej inteligencji czy oprogramowania — za pośrednictwem Internetu, a właściwie chmury obliczeniowej. Outsourcing tej sfery umożliwia firmom uzyskanie dostępu do potrzebnych im zasobów obliczeniowych w dowolnym momencie bez konieczności zakupu i utrzymywania lokalnej infrastruktury IT. Oznacza to elastyczność zasobów, szybsze innowacje oraz wydajne wykorzystanie efektu skali. Dla wielu firm migracja do chmury jest bezpośrednio związana z modernizacją danych i IT.

Charakterystyka przetwarzania w chmurze


Przed wprowadzeniem technologii przetwarzania w chmurze firmy nabywały i samodzielnie utrzymywały własną infrastrukturę IT. Chociaż początkowo główną motywacją do przechodzenia na model chmurowy były oszczędności, wiele organizacji dostrzegło, że utrzymywanie infrastruktury w chmurze publicznej, prywatnej czy hybrydowej wiąże się z wieloma korzyściami.

Przetwarzanie w chmurze zapewnia zespołom Agile i DevOps możliwość uproszczenia i przyspieszenia procesów programowania.

Poniżej przedstawiamy zestawienie właściwości charakteryzujących przetwarzanie w chmurze.

Samoobsługa na żądanie

Dostawcy usług w chmurze oferują interfejsy API umożliwiające użytkownikom zgłaszanie zapotrzebowania na nowe zasoby i skalowanie istniejących zasobów w zależności od potrzeb. Oznacza to wydajną automatyzację aprowizowania infrastruktury za sprawą narzędzi opartych na modelu „infrastruktura jako kod”, np. Terraform i Ansible.

Powszechny dostęp

Fizyczna lokalizacja sprzętu jest istotnym problemem przy zapewnianiu użytkownikom końcowym optymalnych wrażeń. Przetwarzanie w chmurze stanowi ogromne udogodnienie za sprawą globalnie rozproszonej infrastruktury fizycznej, umożliwiającej strategiczne aprowizowanie usług zlokalizowanych.

Łączenie zasobów

Zasoby obliczeniowe w ramach infrastruktury chmurowej są dynamicznie dzielone i przydzielane na żądanie. W związku z powyższym fizyczny sprzęt hosta chmury, udostępniany i współdzielony przez wielu dzierżawców naraz, jest dokładnie zoptymalizowany pod kątem maksymalnego wykorzystania.

Błyskawiczna elastyczność

Infrastruktury chmurowe umożliwiają dynamiczne rozszerzanie i ograniczanie, dzięki czemu dostępna jest opcja automatycznego skalowania zasobów obliczeniowych w zależności od potrzeb użytkownika. Elastyczne dopasowanie może być oparte na pojedynczej maszynie, na zasadzie przydziału zasobów w celu maksymalizacji dostępnej mocy, lub na wielu urządzeniach w ramach sieci dobieranych według skali przez aplikację.

Dokładne statystyki wykorzystania

Dostawcy infrastruktury chmurowej udostępniają szczegółowe wskaźniki użytkowania, co ułatwia zarządzanie jego kosztami. Np. Amazon Web Services (AWS) podaje wykorzystanie dla każdej kategorii usług w ujęciu godzinowym lub dziennym. Dostawcy usług w chmurze zazwyczaj przyjmują model rozliczeniowy typu pay-as-you-go — mierzony i dostarczany w taki sposób, aby klienci ponosili wyłącznie koszt faktycznie użytych zasobów obliczeniowych.

Rodzaje wdrożeń w chmurze


Istnieją trzy podstawowe rodzaje wdrożeń w chmurze. Każdy z nich odznacza się unikalnymi zaletami, a odbiorcy często korzystają z kilku rozwiązań naraz.

Schemat wdrożeń w chmurze

Chmura publiczna

Chmury publiczne udostępniają zasoby obliczeniowe — serwery, pamięci masowe, aplikacje itp. — za pośrednictwem Internetu od dostawcy usług w chmurze, takiego jak AWS czy Microsoft Azure. Dostawcy usług chmurowych są właścicielami i zarządcami całego sprzętu, oprogramowania i pozostałej infrastruktury pomocniczej.

Chmura prywatna

Chmura prywatna to zasoby obliczeniowe przydzielone wyłącznie danej organizacji. Może być fizycznie zlokalizowana w lokalnym centrum danych konkretnej organizacji lub hostowana przez dostawcę usług chmurowych. Chmura prywatna daje wyższy poziom bezpieczeństwa i prywatności niż chmury publiczne, zapewniając wyłączny dostęp do dedykowanych zasobów.

Użytkownicy chmury prywatnej otrzymują wszelkie podstawowe zalety chmury publicznej, w tym samoobsługę, skalowalność i elastyczność, dysponując jednocześnie rozszerzonym zakresem kontroli i personalizacji. Ponadto chmury prywatne charakteryzują się wyższym poziomem bezpieczeństwa i prywatności, jako że są umieszczone w prywatnych sieciach niedostępnych dla użytkowników zewnętrznych.

Chmura hybrydowa

Chmura hybrydowa stanowi połączenie chmury prywatnej i publicznej (np. usługa IBM Hybrid Cloud na oprogramowaniu Red Hat) sprzężonych za pomocą technologii umożliwiających sprawne współdziałanie danych i aplikacji. Szczególnie istotne usługi i aplikacje mogą być przechowywane w bezpiecznej chmurze prywatnej, podczas gdy publicznie dostępne serwery i punkty dostępu dla klientów mogą się znajdować w chmurze publicznej. Większość popularnych dostawców usług chmurowych oferuje model hybrydowy, umożliwiając użytkownikom swobodne łączenie rozwiązań prywatnych i publicznych wedle potrzeb. Zapewnia to przedsiębiorstwom większą elastyczność w zakresie doboru infrastruktury do konkretnych wymagań stosowanych aplikacji.

Usługi przetwarzania w chmurze


Schemat IaaS / PaaS / SaaS

Dynamiczne właściwości przetwarzania w chmurze są podstawą wielu nowoczesnych usług wyższego poziomu. Usługi te mogą stanowić nie tylko wsparcie, ale wręcz bywają niezbędne dla funkcjonowania zespołów Agile i DevOps.

Infrastruktura jako usługa

Infrastruktura jako usługa (IaaS) to podstawowa kategoria usług chmurowych, umożliwiająca organizacjom dzierżawę infrastruktury IT — serwerów, pamięci masowych, sieci, systemów operacyjnych — od dostawcy usługi. Model IaaS umożliwia użytkownikom rezerwację i aprowizowanie wymaganych zasobów dostępnych w ramach fizycznego magazynu serwerów. Ponadto model IaaS pozwala rezerwować wstępnie skonfigurowane maszyny do takich specjalistycznych zadań, jak równoważenie obciążenia, bazy danych, serwery poczty elektronicznej czy rozproszone kolejki.

Zespoły DevOps mogą korzystać z IaaS jako platformy bazowej do budowy łańcucha narzędzi DevOps obejmującego rozwiązania innych firm.

Platforma jako usługa

Platforma jako usługa (PaaS) oznacza infrastrukturę chmurową zbudowaną w oparciu o model IaaS, zapewniającą zasoby do budowania narzędzi i aplikacji na poziomie użytkownika. Obejmuje infrastrukturę bazową, w tym zasoby obliczeniowe, sieciowe i pamięciowe, a także narzędzia programistyczne, systemy zarządzania bazami danych oraz oprogramowanie pośredniczące.

Model PaaS wykorzystuje IaaS do automatycznego przydziału zasobów niezbędnych do zasilania stosów technologicznych. Popularne stosy technologiczne obejmują takie rozwiązania, jak Ruby On Rails, Java Spring MVC, MEAN czy JAM. Użytkownicy PaaS mogą następnie po prostu przesłać artefakt kodu swojej aplikacji, który jest automatycznie wdrażany w obrębie infrastruktury PaaS. Jest to nowatorski i wydajny model przepływu pracy, który umożliwia zespołom całkowite skupienie na zastosowaniach końcowych bez martwienia się o kwestie hostingu czy problemy z infrastrukturą. PaaS automatycznie obsługuje skalowanie i monitorowanie infrastruktury, rozszerzając lub ograniczając zasoby w zależności od odnotowanego obciążenia.

Oprogramowanie jako usługa

Oprogramowanie jako usługa (SaaS) oznacza dostarczanie aplikacji za pośrednictwem Internetu, na żądanie, zazwyczaj w ramach modelu subskrypcyjnego. Dostawcy usługi dbają o hosting i zarządzanie aplikacją, zapewniając stałą aktualizację oprogramowania i wprowadzanie wszelkich wymaganych poprawek w zakresie bezpieczeństwa. Do przykładów modelu SaaS należą m.in. systemy CRM, aplikacje poczty internetowej, narzędzia zwiększające produktywność, np. Jira lub Confluence, narzędzia analityczne, narzędzia monitorujące oraz aplikacje czatowe.

Funkcja jako usługa

Funkcja jako usługa (FaaS) to model przetwarzania w chmurze oferujący platformę, na której klienci mogą tworzyć i uruchamiać aplikacje oraz na bieżąco nimi zarządzać. Zwalnia programistów z konieczności budowania i utrzymywania infrastruktury potrzebnej do tworzenia i uruchamiania aplikacji. Usługodawca dostarcza zasoby chmurowe, wykonuje dany zakres kodu, zwraca wynik, a następnie niszczy wykorzystane zasoby.

Korzyści z przetwarzania w chmurze


Unikatowe właściwości infrastruktur chmurowych zapewniają kilka nowatorskich korzyści technicznych i biznesowych. Oto kluczowe korzyści płynące z przetwarzania w chmurze dla zespołów Agile.

Ograniczenie kosztów

Zespoły korzystające z zasobów chmurowych nie muszą nabywać własnej infrastruktury sprzętowej. Ponadto dostawcy usług chmurowych robią wszystko, co w ich mocy, aby zmaksymalizować i zoptymalizować wykorzystanie swoich urządzeń. W efekcie zarówno sprzęt, jak i zasoby obliczeniowe stają się towarem, a dostawcy rozwiązań chmurowych konkurują ze sobą o zapewnienie klientom jak najkorzystniejszej ceny.

Zwiększona skalowalność

Domyślna elastyczność rozwiązań chmurowych umożliwia ich odbiorcom dowolne skalowanie zasobów na żądanie. Zespoły mogą również skorzystać z opcji skalowania automatycznego. Aplikacje chmurowe mogą automatycznie ograniczać lub rozszerzać zakres zasobów w odpowiedzi na skoki w natężeniu ruchu.

Lepsza wydajność

Przetwarzanie w chmurze oznacza dostęp do najnowocześniejszych rozwiązań w dziedzinie zasobów obliczeniowych. Użytkownicy mają do dyspozycji maszyny wyposażone w potężne, wielordzeniowe procesory przeznaczone do wymagających zadań przetwarzania równoległego. Ponadto główni dostawcy usług chmurowych oferują przełomowe procesory graficzne i TPU do intensywnych zadań z zakresu przetwarzania grafiki czy sztucznej inteligencji. Udostępniane przez nich zasoby sprzętowe są stale unowocześniane.

Infrastruktura oferowana przez głównych dostawców usług chmurowych jest zazwyczaj rozproszona po całym świecie, co zapewnia wysoką jakość połączeń niezależnie od lokalizacji. Ponadto ci dostawcy udostępniają globalne sieci dostarczania zawartości, które buforują treści i żądania użytkowników według lokalizacji.

Szybsza realizacja

Zespoły korzystające z infrastruktury chmurowej sprawniej tworzą i dostarczają wartość swoim klientom. Zespoły Agile mogą wykorzystać infrastrukturę chmurową do szybkiego uruchamiania nowych maszyn wirtualnych dla potrzeb eksperymentowania i sprawdzania unikalnych pomysłów oraz automatyzacji faz testowania i wdrażania pipeline'u.

Zwiększone bezpieczeństwo

Hosting w chmurze prywatnej oznacza odizolowaną infrastrukturę chronioną zaporą sieciową dla wzmożonej ochrony. Ponadto dostawcy usług chmurowych oferują wiele mechanizmów zabezpieczających oraz technologii ułatwiających tworzenie bezpiecznych aplikacji. Kontrola dostępu użytkowników stanowi istotny aspekt bezpieczeństwa, dlatego większość dostawców usług chmurowych oferuje narzędzia szczegółowego zarządzania dostępem.

Ciągła integracja i dostarczanie

Ciągła integracja i dostarczanie (CI/CD) to kluczowa kwestia dla praktyków DevOps, pomagająca zwiększyć prędkość zespołu i skrócić czas wprowadzania produktów na rynek. Chmurowe funkcje CI/CD, np. Bitbucket Pipelines, umożliwiają zespołom automatyczne tworzenie, testowanie i wdrażanie kodu bez obaw o sprawy zarządzania czy konserwacji infrastruktury CI. Usługa Bitbucket Pipelines jest oparta na kontenerach Docker w celu zapewnienia izolacji i odtwarzalności pipeline'u wydania. Zespoły mogą wykonywać polecenia podobnie jak na lokalnej maszynie, jednocześnie uzyskując wszelkie zalety świeżej i powtarzalnej konfiguracji dla każdej kompilacji.

Kompleksowe monitorowanie i zarządzanie incydentami

Wdrożenia w chmurze umożliwiają zespołom łączenie narzędzi na całej długości procesu, co ułatwia monitorowanie wszystkich elementów pipeline'u. Kompleksowy monitoring to funkcjonalność niezbędna dla praktyków DevOps, jako że pozwala na szybsze rozwiązywanie zaistniałych problemów i incydentów. Dostawcy usług w chmurze udostępniają wskaźniki dotyczące stanu systemu, w tym procesora aplikacji i serwera, pamięci, współczynnika żądań, współczynnika błędów, średniego czasu odpowiedzi itd. Np. monitorowanie obciążenia wielu maszyn wirtualnych naraz oznacza dla zespołów możliwość zwiększenia pojemności w przypadku wzrostu zapotrzebowania lub zautomatyzowania skalowania (w górę/w dół) w oparciu o wspomniane wskaźniki w celu ograniczenia zarówno stopnia ingerencji ludzkiej, jak i kosztów. Przeczytaj więcej o monitorowaniu DevOps.

Wnioski…


Przetwarzanie w chmurze oznacza możliwość korzystania z zaawansowanych zasobów obliczeniowych dostępnych na żądanie, skalowalnych w zależności od potrzeb, regularnie aktualizowanych oraz niewymagających zakupu i utrzymywania infrastruktury lokalnej. Za sprawą przetwarzania w chmurze zespoły stają się bardziej wydajne i skracają czas wprowadzania produktów na rynek dzięki możliwości szybkiego pozyskiwania i skalowania usług z pominięciem wysiłku, jakiego wymaga zarządzanie tradycyjną infrastrukturą stacjonarną. Zapoznaj się z ofertą usług chmurowych Atlassian.

Kev Zettler
Kev Zettler

Kev jest wiodącym web deweloperem i przedsiębiorcą z ponad dziesięcioleciem doświadczenia w tworzeniu produktów i zespołów za pomocą metodologii Agile. Jest zapalonym twórcą, autorem i edukatorem w zakresie nowych technologii open source, takich jak DevOps, kryptowaluty i VR/AR. W wolnym czasie bierze udział w jamach poświęconych tworzeniu gier indie.


Zalecane lektury

Dodaj te zasoby do zakładek, aby dowiedzieć się więcej na temat tworzenia oprogramowania oraz otrzymywać bieżące aktualizacje dotyczące rozwiązania Compass.

Ilustracja DevOps

Społeczność rozwiązania Compass

ilustracja przedstawiająca pokonywanie przeszkód

Samouczek: Tworzenie komponentu

Ilustracja przedstawiająca mapę

Zacznij korzystać z Compass za darmo

Zapisz się do newslettera DevOps

Thank you for signing up