Aplikacje od początku przeznaczone dla chmury

menu icon

Aplikacje od początku przeznaczone dla chmury

Dowiedz się więcej o aplikacjach od początku tworzonych dla chmury i sprawdź, jak napędzają innowacyjność i przyspieszają działania w przedsiębiorstwie.

Czym jest technologia od początku tworzona dla chmury?

Pojęcie tworzenia z myślą o działaniu w chmurze odnosi się nie tyle do lokalizacji aplikacji, co do sposobu jej opracowania i wdrożenia.

  • Aplikacja od początku przeznaczona dla chmury składa się z dyskretnych komponentów wielokrotnego użytku znanych jako mikrousługi, które integrują się z dowolnym środowiskiem w chmurze.
  • Mikrousługi działają jak bloki konstrukcyjne i często są skonteneryzowane.
  • Mikrousługi współpracują ze sobą jako całość, tworząc aplikację, jednak każda z nich może być niezależnie skalowana, stale udoskonalana i szybko iterowana poprzez procesy automatyzacji i orkiestracji.
  • Elastyczność każdej mikrousługi zwiększa sprawność działania i możliwości ciągłego ulepszania aplikacji od początku przeznaczonych dla chmury.

W filmie „What is Cloud Native?” (4:36) Andrea Crawford przedstawia przegląd niektórych kluczowych pojęć:

Możesz również zapoznać się z materiałami IBM Cloud Podcast, wśród których znajdziesz siedmioodcinkową miniserię pt. „Everything Cloud Native”.

Mikrousługi i kontenery

Mikrousługi (zwane również architekturą mikrousług) to architektoniczne podejście, w którym pojedyncza aplikacja składa się z wielu mniejszych, luźno powiązanych i niezależnie wdrażanych komponentów lub usług. Te usługi (mikrousługi) zwykle mają własny stos technologii, włącznie z bazą danych i modelem danych, oraz komunikują się ze sobą za pośrednictwem kombinacji interfejsów API REST, strumieniowego przesyłania zdarzeń i brokerów komunikatów.

Ponieważ mikrousługi mogą być wdrażane niezależnie, bez wpływu na siebie nawzajem lub pracę użytkownika końcowego, są idealne dla potrzeb zautomatyzowanych, iteracyjnych metod dostarczania, takich jak integracja ciągła / wdrażanie ciągłe (CI/CD) lub DevOps.

Oprócz tego, że mikrousługi są używane do tworzenia nowych aplikacji od początku przeznaczonych dla chmury, znajdują również zastosowanie w modernizacji tradycyjnych aplikacji monolitycznych.

W niedawnej ankiecie IBM skierowanej do dyrektorów IT, kierowników i programistów 87% użytkowników mikrousług zgodziło się, że implementacja mikrousług jest warta wysiłku i kosztów. Dowiedz się więcej na temat ich spojrzenia na korzyści i wyzwania związane z mikrousługami, korzystając z poniższego interaktywnego narzędzia:

(Źródło: „Microservices in the enterprise 2021: Real benefits, worth the challenges”).

Programiści często wdrażają mikrousługi wewnątrz kontenerów uproszczonych, wykonywalnych komponentów aplikacji, które łączą kod źródłowy aplikacji (w tym przypadku kod mikrousług) ze wszystkimi bibliotekami i zależnościami systemu operacyjnego (OS) wymaganymi do uruchomienia kodu w dowolnym środowisku. Kontenery — mniejsze i bardziej oszczędne pod względem zasobów oraz cechujące się większą przenośnością niż maszyny wirtualne (VM) — to de facto jednostki obliczeniowe współczesnych aplikacji od początku przeznaczonych dla chmury.

Kontenery zwiększają korzyści płynące z zastosowania mikrousług, zapewniając spójne wdrażanie i zarządzanie w hybrydowym środowisku wielochmurowym — chmurach publicznych, chmurze prywatnej i infrastrukturze lokalnej. Jednak w miarę wzrostu liczby aplikacji od początku przeznaczonych dla chmury, rośnie też liczba kontenerów i złożoność zarządzania nimi. Większość organizacji korzystających ze skonteneryzowanych mikrousług użytkuje również platformy do orkiestracji kontenerów, takie jak Kubernetes, aby automatyzować wdrażanie kontenerów i zarządzanie nimi na dużą skalę.

Aby uzyskać więcej informacji na temat kontenerów i konteneryzacji, zobacz „Kontenery: kompletny przewodnik” oraz „Konteneryzacja: kompletny przewodnik”.

Dowiedz się więcej o tym, dlaczego warto korzystać z mikrousług i kontenerów jako elementów architektonicznych.

Zalety i wady

Klienci IBM coraz częściej mają za zadanie udoskonalanie istniejących aplikacji, tworzenie nowych aplikacji i doskonalenie doświadczeń użytkowników. Aplikacje od początku przeznaczone dla chmury spełniają te wymagania poprzez zwiększanie wydajności, elastyczności i rozszerzalności aplikacji.

Zalety

  • W porównaniu z tradycyjnymi aplikacjami monolitycznymi, aplikacje od początku przeznaczone dla chmury mogą być łatwiejsze do zarządzania, ponieważ iteracyjne ulepszenia są wprowadzane przy użyciu metodologii zwinnych i DevOps.
  • Złożone z mikrousług aplikacje od początku przeznaczone dla chmury mogą być ulepszane przyrostowo i automatycznie w celu ciągłego dodawania nowych i udoskonalonych funkcji.
  • Ulepszenia mogą być wprowadzane w sposób nieinwazyjny, bez przestojów i zakłócania pracy użytkowników końcowych.
  • Skalowanie w górę lub w dół okazuje się łatwiejsze dzięki elastycznej infrastrukturze, która stanowi podstawę dla aplikacji od początku przeznaczonych dla chmury.
  • Proces programowania z myślą o chmurze jest lepiej dopasowany do szybkości i innowacji wymaganych przez współczesne środowisko biznesowe.

Wady

  • Chociaż mikrousługi umożliwiają wykorzystanie iteracyjnego podejścia do ulepszania aplikacji, wymagają też zarządzania większą liczbą elementów. Zamiast jedną dużą aplikacją, trzeba zarządzać dużą liczbą małych, dyskretnych usług.
  • Aplikacje od początku przeznaczone dla chmury wymagają dodatkowych zestawów narzędzi do zarządzania potokami DevOps, zastępowania tradycyjnych struktur monitorowania i sterowania architekturą mikrousług.
  • Pozwalają na szybkie programowanie i wdrażanie, ale wymagają kultury biznesowej, która poradzi sobie z tempem tej innowacji.

Przykłady aplikacji

Aplikacje od początku przeznaczone dla chmury często mają dość specyficzne funkcje. Zastanówmy się, jak aplikacje tworzone z myślą o chmurze mogą zostać wykorzystane w serwisie WWW dla podróżników. Każdy temat w serwisie — loty, hotele, samochody, oferty specjalne — to oddzielna mikrousługa. Do każdej mikrousługi można wprowadzać nowe funkcje niezależne od pozostałych mikrousług. Oferty specjalne i rabaty również mogą być skalowane niezależnie. Podczas gdy serwis WWW dla podróżników jest prezentowany klientom jako całość, każda mikrousługa pozostaje niezależna i może być skalowana lub aktualizowana w zależności od potrzeb, bez wpływu na inne usługi. Poniżej przedstawiono kilka przykładów innych aplikacji od początku przeznaczonych dla chmury.

IBM Cloud Garage zapewnia klientom IBM wiedzę specjalistyczną w dziedzinie szybkiego tworzenia skalowalnych, innowacyjnych aplikacji od początku przeznaczonych dla chmury. Oferuje centrum innowacji, w którym firmy różnej wielkości mogą projektować i budować aplikacje spełniające realne potrzeby biznesowe.

Firma American Airlines (2:50) współpracowała z IBM przy tworzeniu aplikacji Dynamic Rebooking, która została uruchomiona podczas trudnych warunków pogodowych. Aplikacja zwiększyła komfort klientów, udostępniając więcej informacji oraz ulepszony proces ponownego rezerwowania.

XComP Analytics (1:56), platforma analityczna na potrzeby edukacji i szkoleń, wymagała rozwiązania problemu analitycznego. Dzięki IBM Cloud Garage była w stanie opracować sześć nowych produktów w trakcie korygowania jednego problemu. Rozwiązanie obejmowało skorzystanie z architektury mikrousług i implementację systemu IBM Watson w celu rozwiązywania konkretnych problemów analitycznych.

UBank (2:45) stanął przed wyzwaniem ulepszenia oferty kredytów mieszkaniowych i udzielenia pomocy klientom w przechodzeniu przez proces zaciągania kredytu. Stworzony w tym celu inteligentny asystent, RoboChat, odpowiada na tę potrzebę i został zbudowany przy użyciu łańcucha narzędzi IBM DevOps. Klienci, którzy skorzystali z aplikacji RoboChat, mieli o 15 procent wyższy wskaźnik uzyskania kredytu mieszkaniowego.

Kluczowym punktem badań medycznych jest rekomendowanie lekarzom najlepszych praktyk w obszarze opieki nad pacjentem. Jednakże zanim te praktyki, odkryte w trakcie badań medycznych, trafią do praktyki lekarskiej, mija 17 lat. ThinkResearch (2:06) wykorzystuje IBM Cloud do dostarczania najprzydatniejszych informacji medycznych w punktach świadczenia opieki. Korzystając z infrastruktury IBM Cloud i zarządzanych usług Kubernetes, zespół ds. DevOps firmy ThinkResearch może skupić się na innowacjach i opiece nad pacjentami, a nie na infrastrukturze.

Zasady rozwoju

Zarówno tworząc nową aplikację od początku przeznaczoną dla chmury, jak i modernizując istniejącą aplikację, programiści przestrzegają spójnego zestawu zasad:

  • Korzystaj z architektury mikrousług: dziel aplikacje na usługi jednofunkcyjne nazywane mikrousługami. Mikrousługi są luźno powiązane, ale pozostają niezależne, co pozwala na tworzenie przyrostowych, zautomatyzowanych i ciągłych usprawnień aplikacji bez powodowania przestojów.
  • Polegaj na kontenerach, aby uzyskać maksymalną elastyczność i skalowalność: kontenery to pakiety oprogramowania zawierające kompletny kod i zależności w jednym miejscu, co pozwala na uruchamianie oprogramowania w dowolnej lokalizacji. Zapewnia to maksymalną elastyczność i przenośność w środowisku wielochmurowym. Kontenery umożliwiają też szybkie skalowanie w górę lub w dół z pomocą zdefiniowanych przez użytkownika strategii orkiestracji Kubernetes.
  • Stosuj metodykę zwinną: metodyki zwinne przyspieszają proces tworzenia i ulepszania. Programiści mogą szybko wprowadzać cykliczne aktualizacje oparte na opiniach użytkowników, co ułatwia dokładne dopasowanie pracującej aplikacji do ich oczekiwań.

Pamięć masowa

Aplikacje od początku przeznaczone dla chmury często bazują na kontenerach. Urok kontenerów polega na tym, że są elastyczne, lekkie i przenośne. Początkowo użycie kontenerów koncentrowało się raczej na bezstanowych aplikacjach, które nie musiały zapisywać danych użytkownika między sesjami.

Jednak ponieważ coraz więcej podstawowych funkcji biznesowych jest przenoszonych do chmury, kwestię trwałej pamięci masowej należy rozważać w kontekście środowiska od początku przeznaczonego dla chmury. Wymaga to od programistów rozważenia nowych strategii wykorzystania pamięci masowej w chmurze.

Pamięć masowa od początku przeznaczona dla chmury musi polegać na mikrousługach i modularnym podejściu, zupełnie jak w przypadku aplikacji tworzonych z myślą o chmurze. Dane od początku przeznaczone dla chmury mogą znajdować się w dowolnej liczbie miejsc — takich jak dzienniki zdarzeń lub systemu, relacyjne bazy danych oraz składnice dokumentów lub obiektów.

Lokalizacja danych, wymagania dotyczące przechowywania, przenośność, kompatybilność platformy i bezpieczeństwo to tylko kilka z aspektów, które programiści muszą rozważyć przy planowaniu pamięci masowej od początku przeznaczonej dla chmury.

Dowiedz się, jak IBM Cloud Object Storage tworzy trwałą składnicę danych dla aplikacji od początku przeznaczonych dla chmury.

Aplikacje od początku przeznaczone dla chmury a aplikacje tradycyjne

Aplikacje od początku przeznaczone dla chmury a obsługa chmury

Aplikacja z obsługą chmury jest aplikacją, która została opracowana do wdrożenia w tradycyjnym centrum przetwarzania danych, ale została później zmodyfikowana w taki sposób, aby mogła działać także w środowisku chmurowym. Natomiast aplikacje od początku przeznaczone dla chmury są budowane w taki sposób, aby działały tylko w chmurze. Programiści projektują aplikacje od początku przeznaczone dla chmury tak, aby były skalowalne i niezależne od platformy oraz składały się z mikrousług.

Aplikacje od początku przeznaczone dla chmury a gotowość do pracy w chmurze

Od początku istnienia koncepcji przetwarzania w chmurze znaczenie terminu „gotowość do pracy w chmurze” zmieniało się kilkukrotnie. Początkowo termin ten był stosowany do usług lub oprogramowania przeznaczonego do pracy przez internet. Obecnie jest on częściej używany do opisywania aplikacji, która działa w środowisku chmury lub tradycyjnej aplikacji, zrekonfigurowanej pod kątem środowiska w chmurze. Termin „od początku przeznaczone dla chmury” ma znacznie krótszą historię i odnosi się do aplikacji od samego początku opracowywanej do pracy tylko w chmurze. Aplikacja taka korzysta z cech architektury chmury lub istniejącej aplikacji, która przeszła refaktoryzację i rekonfigurację zgodnie z zasadami tworzenia rozwiązań od początku przeznaczonych dla chmury.

Aplikacje od początku przeznaczone dla chmury a oparte na chmurze

Usługa lub aplikacja oparta na chmurze jest dostarczana przez internet. Jest to ogólny termin stosowany dość dowolnie w przypadku wielu produktów chmurowych. „Od początku przeznaczone dla chmury” to węższy termin. Aplikacje od początku przeznaczone dla chmury to aplikacje zaprojektowane do pracy w środowiskach chmurowych. Termin ten oznacza aplikacje, które opierają się na mikrousługach, integracji ciągłej i dostarczaniu ciągłym (CI/CD) oraz mogą być używane za pośrednictwem dowolnej platformy chmurowej.

Aplikacje od początku przeznaczone dla chmury a stawiające chmurę na pierwszym miejscu

„Chmura na pierwszym miejscu” opisuje strategię biznesową, w ramach której organizacje zobowiązują się do korzystania w pierwszej kolejności z zasobów chmurowych w trakcie uruchamiania nowych usług IT, odświeżania istniejących usług oraz wymiany tradycyjnej technologii. Ta strategia cechuje się oszczędnością kosztów i efektywnością operacyjną. Aplikacje od początku przeznaczone dla chmury dobrze współgrają ze strategią zakładającą stawianie chmury na pierwszy miejscu, ponieważ wykorzystują one tylko zasoby chmurowe i korzystne cechy architektury chmury.

IBM i rozwiązania od początku przeznaczone dla chmury

Sprostanie bardziej wymagającym oczekiwaniom użytkowników oznacza korzystanie z odpowiednich architektur, praktyk i technologii. Jeśli pragniesz udoskonalić doświadczenia użytkowników poprzez budowanie nowych aplikacji i modernizację istniejących w trakcie migracji do chmury, aplikacje od początku przeznaczone dla chmury mogą Ci pomóc, zwiększając wydajność, elastyczność i rozszerzalność aplikacji.

Wykonaj kolejny krok:

Załóż konto IBM Cloud już dzisiaj.