Chmura od A do Z. Przewodnik po przetwarzaniu w chmurze
Pojęcia dotyczące przetwarzania w chmurze
oprogramowanie pośredniczące
Oprogramowanie znajdujące się między systemem operacyjnym a aplikacjami, które w nim działają. Umożliwia ono komunikację i zarządzanie danymi w przypadku aplikacji rozproszonych, takich jak aplikacje oparte na chmurze. Na przykład dzięki niemu można uzyskać dostęp do danych znajdujących się w jednej bazie danych z poziomu innej bazy danych. Oprogramowanie pośredniczące to na przykład serwery sieci Web, serwery aplikacji i systemy zarządzania zawartością. Dowiedz się więcej o oprogramowaniu pośredniczącym.
Pięć kierunków rozwoju przetwarzania w chmurze
Modele operacyjne IT i modele rozwoju oprogramowania
Firmy informatyczne upatrują w chmurze możliwość zmniejszenia kosztów i zwiększenia elastyczności biznesowej27 Niemniej jednak, tradycyjne modele operacyjne IT (ręcznie obsługiwane, o strukturze silosowej, prowadzące do monolitycznych aplikacji) mogą ograniczyć te korzyści. Coraz bardziej rozpowszechnione stosowanie nowych modeli operacyjnych IT, takich jak DevOps, czy też nowych paradygmatów rozwoju oprogramowania, takich jak technologie cloud native, pozwala na czerpanie większych korzyści z chmury.
DevOps sprzyja współpracy zespołów zajmujących się rozwojem oprogramowania (Dev) i operacjami IT (Ops). Pozwala również na automatyzację procesów28 testowania i wdrażania kodów i, tym samym, poprawę skuteczności dostaw do takiego poziomu, jakiego nie można byłoby uzyskać jedynie poprzez wdrożenie rozwiązań w chmurze. Badanie CA Technologies wykazało, że wdrożenie rozwiązań w chmurze poprawiło skuteczność dostaw oprogramowania pod względem szybkości, jakości, kontroli kosztów i doświadczeń klientów o 53%. Połączenie DevOps z rozwiązaniami w chmurze spowodowało zaś poprawę skuteczności o 81%. Ten ogromny potencjał napędza proces wdrażania rozwiązań DevOps. IDC przewiduje, że średnia roczna stopu wzrostu (CAGR) rynku narzędzi DevOps będzie wynosić 15%, a sama wartość tego rynku osiągnie w 2022 r. 8 mld USD.29
W przypadku niektórych firm, ewolucja modeli operacyjnych IT idzie jeszcze dalej - w kierunku rozwiązań NoOps i środowisk bezserwerowych, w ramach których dostawcy rozwiązań w chmurze dokonują automatyzacji wielu zadań związanych z administracją systemów, a przejmują kontrolę nad zarządzaniem infrastrukturą i bezpieczeństwem. Dzięki temu, firmy mogą zaoszczędzić znaczne koszty i czerpać dodatkowe korzyści.30
Jednocześnie, nowe modele rozwoju aplikacji również pozwalają firmom czerpać większe korzyści z rozwiązań w chmurze. Pomimo tego, że są nowością, technologie cloud native, które wykorzystują kontenery i mikrousługi, stają się coraz bardziej popularne. Przeprowadzone w 2018 r. badanie Cloud Foundry, dostawcy usług PaaS, wykazało, że 20% decydentów w obszarze IT skupiało się głównie na nowych technologiach cloud native, co stanowi wzrost o 5 p.p. w stosunku do 2017 r.31 Ponadto, jak można zauważyć na podstawie informacji pozyskanych przez Deloitte ze swojego narzędzia Open Source Compass, w 2018 r. liczba uczestników projektów związanych z mikrousługami na platformie GitHub wzrosła (o 45% w skali roku) do 29.000, co potwierdza rozwój technologii cloud native.
Technologie cloud native oznaczają dla firm jeszcze większe oszczędności i korzyści z chmury.32 Konteneryzacja pozwala na ograniczenie tzw. śladu aplikacji, a tym samym zmniejszenia kosztów. Dzięki niej, ponadto, aplikacje stają się modułowe, co prowadzi do ich większej rozszerzalności i szybszego rozwoju. Przykładowo, jeden z czołowych dostawców usług edukacyjnych zmniejszył liczbę instancji maszyn wirtualnych o 70% zaoszczędził 40% kosztów na każdej swojej aplikacji właśnie dzięki wdrożeniu mikrousług i kontenerów na potrzeby aplikacji w chmurze. Kontenery pozwoliły również na zautomatyzowanie procesu wdrażania aktualizacji aplikacji - teraz trwa on kilka minut, a nie kilka godzin.33
Im dalej firmy będą rozwijać swoje modele operacyjne IT i modele rozwoju oprogramowania w kierunku pełniejszego wykorzystania możliwości chmury, tym większe korzyści będą z niej mogły czerpać. Ten kierunek rozwoju wzmacnia argument za migracją do chmury.
Chmura od A do Z. Przewodnik po przetwarzaniu w chmurze
Chmura obliczeniowa stała się idealnym sposobem dostarczania aplikacji dla przedsiębiorstw oraz preferowanym rozwiązaniem dla firm powiększających swoją infrastrukturę lub wprowadzających kolejne innowacje. Wachlarz dostępnych usług przetwarzania w chmurze jest ogromny, ale większość z nich należy do jednej z kategorii, które opisujemy w naszym przeglądzie.
Przetwarzanie w chmurze ma dwa nieco odmienne znaczenia. Najczęściej spotykane odnosi się do uruchamiania obciążeń zdalnie przez internet w centrum danych komercyjnego dostawcy i znane jest również jako chmura publiczna. Popularne oferty chmury publicznej, takie jak: Amazon Web Services, system CRM Salesforce i Microsoft Azure, są przykładem tego dobrze znanego rozumienia przetwarzania w chmurze. Obecnie większość firm stosuje system wielochmurowy, co oznacza, że korzystają więcej niż z jednej usługi chmury publicznej.
Drugie znaczenie przetwarzania w chmurze opisuje sposób jej działania: zwirtualizowana pula zasobów – od czystej mocy obliczeniowej po funkcjonalność aplikacji – dostępna na żądanie. Kiedy klienci zamawiają usługi w chmurze, dostawca spełnia te żądania, wykorzystując zaawansowaną automatyzację, a nie ręczne udostępnianie. Kluczową zaletą jest zwinność: możliwość przydzielenia obciążeniom wyabstrahowanych zasobów obliczeniowych, magazynowania i sieciowych w zależności od potrzeb oraz wykorzystania mnóstwa wstępnie przygotowanych usług.
Zobacz również:
Najszerzej przyjęta definicja chmury obliczeniowej zakłada, że uruchamiasz swoje obciążenia na cudzych serwerach, ale to nie to samo co outsourcing. Wirtualne zasoby chmury, a nawet aplikacje SaaS muszą być konfigurowane i utrzymywane przez klienta. Czynniki te należy wziąć pod uwagę przy planowaniu inicjatywy dotyczącej chmury obliczeniowej.
Chmura publiczna pozwala klientom na zyskanie nowych możliwości bez konieczności inwestowania w nowy sprzęt lub oprogramowanie. Zamiast tego uiszczają swojemu dostawcy usług w chmurze opłatę abonamentową lub płacą tylko za używane zasoby. Wypełniając jedynie formularze internetowe, użytkownicy mogą zakładać konta i uruchamiać wirtualne maszyny lub dostarczać nowe aplikacje. Więcej użytkowników lub zasobów obliczeniowych można dodawać w locie – te ostatnie w czasie rzeczywistym wraz ze wzrostem zapotrzebowania obciążeń na te zasoby dzięki funkcji znanej jako autoskalowanie.
Chmura od A do Z. Rodzaje chmur obliczeniowych
SaaS (oprogramowanie jako usługa) to typ publicznej chmury obliczeniowej dostarczający aplikacje przez internet do użycia w przeglądarce. Najpopularniejsze aplikacje SaaS dla biznesu można znaleźć w Google G Suite i Microsoft Office 365; wśród aplikacji korporacyjnych prym wiedzie Salesforce. Praktycznie wszystkie aplikacje korporacyjne, w tym pakiety ERP firm Oracle i SAP, przyjęły już model SaaS. Zazwyczaj aplikacje SaaS cechują się rozbudowanymi możliwościami konfiguracji, jak również środowiskami programistycznymi, które pozwalają klientom na tworzenie własnych modyfikacji i dodatków.
IaaS (infrastruktura jako usługa). Na poziomie podstawowym dostawcy chmury publicznej IaaS oferują usługi magazynowania i obliczeniowe na zasadzie opłaty za użycie. Jednak pełna gama usług oferowanych przez wszystkich głównych dostawców chmur publicznych jest oszałamiająca: wysoce skalowalne bazy danych, wirtualne sieci prywatne, analiza Big Data, narzędzia programistyczne, uczenie się maszyn, monitorowanie aplikacji i tak dalej. Amazon Web Services był pierwszym dostawcą IaaS i pozostaje liderem, za nim plasują się Microsoft Azure, Google Cloud Platform i IBM Cloud.
PaaS (platforma jako usługa) dostarcza zestawy usług i przepływów pracy przeznaczone dla programistów, którzy mogą korzystać ze wspólnych narzędzi, procesów i interfejsów API w celu przyspieszenia tworzenia, testowania i wdrażania aplikacji. Salesforce Heroku i to popularne publiczne oferty PaaS w chmurze; Cloud Foundry firmy Pivotal i OpenShift firmy Red Hat mogą być wdrażane lokalnie lub dostępne przez główne chmury publiczne. W przypadku przedsiębiorstw PaaS może zagwarantować, że programiści będą mieć dostęp do zasobów, działać w konkretnych procesach i korzystać tylko z określonej gamy usług, podczas gdy operatorzy zajmują się utrzymaniem infrastruktury stojącej za platformą.
FaaS (funkcje jako usługa), czyli serverless computing w wydaniu chmurowym, dodaje kolejną warstwę abstrakcji do PaaS, dzięki której programiści są całkowicie odizolowani od wszystkiego, co znajduje się w stosie pod ich kodem. Zamiast bawić się w wirtualne serwery, kontenery i środowiska uruchomieniowe aplikacji, wrzucają bloki kodu o zawężonej funkcjonalności i ustawiają je tak, aby były wyzwalane przez określone zdarzenie (np. przesłanie formularza lub pliku). Wszystkie główne chmury oferują FaaS postawione na IaaS: AWS Lambda, Azure Functions, Google Cloud Functions i IBM OpenWhisk. Szczególną zaletą aplikacji FaaS jest to, że nie zużywają zasobów IaaS do momentu wystąpienia zdarzenia, co zmniejsza opłaty za jedno użycie.
Chmura od A do Z. Chmura prywatna
Chmura prywatna sprowadza technologie wykorzystywane w publicznych chmurach IaaS do oprogramowania, które może być wdrażane i obsługiwane w centrum danych klienta. Podobnie jak w przypadku chmury publicznej, klienci wewnętrzni mogą udostępniać własne zasoby wirtualne do budowania, testowania i uruchamiania aplikacji, stosując opomiarowanie pozwalające obciążyć odpowiednie działy za zużycie zasobów. Dla administratorów chmura prywatna stanowi najwyższy poziom automatyzacji centrum danych, minimalizując ręczne udostępnianie i zarządzanie. Software Defined Data Center firmy VMware jest najpopularniejszym komercyjnym oprogramowaniem do obsługi chmur prywatnych, podczas gdy OpenStack jest liderem open source.
Należy jednak pamiętać, że chmura prywatna nie jest w pełni zgodna z definicją chmury obliczeniowej. Przetwarzanie w chmurze jest usługą, podczas gdy chmura prywatna wymaga od organizacji zbudowania i utrzymywania własnej infrastruktury chmury; tylko wewnętrzni użytkownicy chmury prywatnej odbierają ją jako usługę chmury obliczeniowej.
Chmura od A do Z. Chmura hybrydowa
Chmura hybrydowa to integracja chmury prywatnej z chmurą publiczną. Najbardziej rozwinięta chmura hybrydowa polega na tworzeniu równoległych środowisk, w których aplikacje mogą łatwo przemieszczać się pomiędzy chmurami prywatnymi i publicznymi. W innych przypadkach bazy danych mogą pozostać w centrum danych klienta i integrować się z aplikacjami chmury publicznej lub zwirtualizowane obciążenia centrum danych mogą być replikowane do chmury w okresach szczytowego zapotrzebowania. Rodzaje integracji chmury prywatnej i publicznej różnią się znacznie między sobą, ale muszą być rozległe, aby uzyskać miano chmury hybrydowej.
Chmura od A do Z. Publiczne API
Tak jak SaaS dostarcza aplikacje użytkownikom przez internet, tak publiczne interfejsy programowania aplikacji oferują programistom funkcjonalność aplikacji, do której można uzyskać dostęp programowo. Na przykład podczas tworzenia aplikacji internetowych programiści często korzystają z interfejsu API Google Maps, aby udostępnić wskazówki dojazdu do celu; integrację z mediami społecznościowymi deweloperzy uzyskują dzięki interfejsom API oferowanym przez Twittera, Facebooka lub LinkedIn. Twilio stworzyło udane przedsięwzięcie, którego celem jest dostarczanie usług telefonii i przesyłania wiadomości poprzez publiczne API. Każda firma może udostępniać własne publiczne API, aby umożliwić klientom korzystanie z danych lub dostęp do funkcji aplikacji.
Chmura od A do Z. Inne modele usługowe
iPaaS (platforma integracyjna jako usługa). Integracja danych jest kluczowym zagadnieniem dla każdej dużej firmy, szczególnie dla tych, które stosują SaaS na dużą skalę. Dostawcy iPaaS zazwyczaj oferują wstępnie przygotowane łączniki do udostępniania danych między popularnymi aplikacjami SaaS i lokalnymi aplikacjami korporacyjnymi, choć dostawcy mogą koncentrować się w mniejszym lub większym stopniu na integracji B2B i e-handlu, integracji z chmurą lub tradycyjnej integracji w stylu SOA (architektury zorientowanej na usługi). Oferty iPaaS w chmurze od takich dostawców, jak: Dell Boomi, Informatica, MuleSoft i SnapLogic, pozwalają również użytkownikom wdrażać mapowanie danych, transformacje i przepływy pracy w ramach procesu budowania integracji.
IDaaS (tożsamość jako usługa). Najtrudniejszą kwestią bezpieczeństwa związaną z przetwarzaniem w chmurze jest zarządzanie tożsamościami użytkowników oraz związanymi z nimi prawami i uprawnieniami w prywatnych centrach danych i witrynach w chmurze publicznej. Dostawcy IDaaS utrzymują w chmurze profile użytkowników, które uwierzytelniają użytkowników i umożliwiają dostęp do zasobów lub aplikacji na podstawie zasad zabezpieczeń, grup użytkowników i indywidualnych uprawnień. Niezbędna jest możliwość integracji z różnymi usługami katalogowymi (Active Directory, LDAP itp.) i ich udostępniania. Okta jest wyraźnym liderem IDaaS w chmurze; CA, Centrify, IBM, Microsoft, Oracle i Ping zapewniają zarówno rozwiązania lokalne, jak i chmurowe.
Platformy współpracy. Rozwiązania do współpracy, takie jak: Slack, Microsoft Teams i HipChat, stały się ważnymi platformami komunikacyjnymi, które umożliwiają grupom skuteczną komunikację i współpracę. Zasadniczo rozwiązania te są stosunkowo prostymi aplikacjami SaaS, które obsługują przesyłanie wiadomości w stylu czatu oraz udostępnianie plików i komunikację audio lub wideo. Większość z nich oferuje API ułatwiające integrację z innymi systemami i umożliwiające programistom zewnętrznym tworzenie i udostępnianie dodatków rozszerzających funkcjonalność.
Chmury pionowe. Kluczowi dostawcy w takich branżach, jak: usługi finansowe, opieka zdrowotna, handel detaliczny, nauki przyrodnicze i produkcja, oferują chmury PaaS, które umożliwiają klientom tworzenie aplikacji pionowych wykorzystujących specyficzne dla danej branży usługi dostępne przez API. Chmury pionowe mogą znacznie skrócić czas wprowadzania aplikacji pionowych na rynek i przyspieszyć specyficzne dla danej domeny integracje B2B. Większość chmur pionowych jest budowana z myślą o pielęgnowaniu ekosystemów partnerskich.
Chmura od A do Z. Bezpieczeństwo przetwarzania w chmurze
Obiekcje wobec chmury publicznej zazwyczaj zaczynają się od bezpieczeństwa chmury, chociaż główne chmury publiczne okazały się znacznie mniej podatne na ataki niż przeciętne centrum danych przedsiębiorstwa.
Większy niepokój budzi integracja polityki bezpieczeństwa oraz zarządzania tożsamością pomiędzy klientami i dostawcami usług w chmurze publicznej. Regulacje państwowe mogą ponadto zabraniać klientom udzielania dostępu do wrażliwych danych poza obrębem firmy. Inne obawy obejmują ryzyko przestojów i długoterminowe koszty operacyjne usług chmury publicznej.
Chmura od A do Z. Zarządzanie wieloma chmurami obliczeniowymi
Poprzeczka, powyżej której można się zakwalifikować jako posiadacz środowiska wielochmurowego, zawieszona jest nisko: klient musi tylko korzystać z więcej niż jednej usługi chmury publicznej. Jednak w zależności od liczby i różnorodności tych usług chmury zarządzanie wieloma chmurami może stać się złożone zarówno z punktu widzenia optymalizacji kosztów, jak i technologii.
W niektórych przypadkach klienci kupują wiele usług w chmurze, aby uniknąć uzależnienia od jednego dostawcy. Bardziej wyrafinowane podejście polega na wybieraniu chmur publicznych na podstawie wyjątkowości usług, które oferują, a w niektórych przypadkach na ich integracji. Programiści mogą chcieć korzystać z usługi maszynowego uczenia się Google TensorFlow z platformy Google Cloud do tworzenia aplikacji obsługujących maszynowe uczenie się, ale woleć usługę Jenkins hostowaną na platformie CloudBees do ciągłej integracji.
Aby kontrolować koszty i zmniejszyć nakłady na zarządzanie, część klientów wybiera platformy do zarządzania chmurą (CMP) i/lub brokerów usług w chmurze (CSB), które pozwalają na zarządzanie wieloma chmurami tak, jakby były one jedną chmurą. Problemem jest to, że owe rozwiązania mają tendencję do zawężania opcji klientom do usług będących wspólnym mianownikiem, np. magazynowania i obliczeniowych, ignorując wachlarz usług, które stanowią o wyjątkowości danej chmury.
Chmura od A do Z. Przetwarzanie na obrzeżu sieci
Często można napotkać tezę, jakoby przetwarzanie na obrzeżu sieci (edge computing) było alternatywą wobec przetwarzania w chmurze. Tak jednak nie jest. Przetwarzanie na obrzeżu sieci polega na przenoszeniu przetwarzania lokalnego do urządzeń lokalnych w wysoce rozproszonym systemie, zazwyczaj jako warstwa wokół rdzenia chmury obliczeniowej. Zwykle też stosuje się chmurę do orkiestracji wszystkich urządzeń i pobierania od nich danych, a następnie analizowania tych informacji lub działania na nich w inny sposób.
Chmura od A do Z. Korzyści z przetwarzania w chmurze
Głównym celem chmury jest skrócenie czasu wprowadzania na rynek aplikacji, które wymagają dynamicznego skalowania. Coraz częściej jednak programiści są przyciągani do chmury przez obfitość zaawansowanych nowych usług, które mogą być włączone do aplikacji – od maszynowego uczenia się po łączność z internetem rzeczy.
Chociaż firmy czasami migrują stare aplikacje do chmury w celu zmniejszenia wymagań dotyczących zasobów centrum danych, rzeczywiste korzyści płyną z nowych aplikacji, które wykorzystują usługi chmury i atrybuty modelu cloud native. Te ostatnie obejmują: architekturę mikrousług, kontenery Linuksowe zwiększające przenośność aplikacji oraz rozwiązania do zarządzania kontenerami takie jak Kubernetes, które dowodzą usługami opartymi na kontenerach. Podejścia i rozwiązania cloud native mogą być częścią chmur publicznych lub prywatnych i pomóc uzyskać wysoce wydajny przepływ pracy w stylu DevOps.