Termin „natywne usługi chmurowe” odnosi się do koncepcji tworzenia i uruchamiania aplikacji w celu korzystania z rozproszonego przetwarzania oferowanego przez model chmurowy. Natywne aplikacje chmurowe zostały zaprojektowane i stworzone z myślą o korzystaniu ze skalowalności, odporności i elastyczności oferowanych przez chmurę.
Zgodnie z definicją stworzoną przez organizację Cloud Native Computing Foundation (CNCF) natywne technologie chmurowe umożliwiają organizacjom tworzenie i uruchamianie skalowalnych aplikacji w chmurach publicznych, prywatnych i hybrydowych. Najlepiej zobrazowane jest to poprzez zastosowanie takich rozwiązań jak kontenery, siatki usługi, mikrousługi, niezmienna infrastruktura i deklaratywne interfejsy programistyczne aplikacji (API).
Funkcje te umożliwiają stosowanie luźno sprzężonych systemów, które są odporne, łatwe w zarządzaniu i obserwowalne. Umożliwiają inżynierom częste zmiany na wielką skalę przy minimalnym wysiłku.
Nowoczesny krajobraz złożonych aplikacji – w którym użytkownicy oczekują ciągłej innowacyjności w połączeniu z niezrównaną responsywnością – wymaga bardziej strategicznych i coraz bardziej elastycznych systemów biznesowych. Natywne usługi chmurowe polegają na szybkim działaniu przy jednoczesnym zachowaniu elastyczności.
Umożliwiają tworzenie nowoczesnych aplikacji przy użyciu takich technologii jak Kubernetes, Docker, funkcje bezserwerowe, interfejsy API i Kafka. Czołowi dostawcy usług w chmurze oferują narzędzia i rozwiązania w chmurze pozwalające programistom na zredukowanie operacyjnych zadań i szybsze tworzenie aplikacji. Natywne usługi chmurowe zapewniają programistom wszechstronną, opartą na standardach platformę do tworzenia i wdrażania natywnych aplikacji chmurowych (takich jak mikrousługi i funkcje bezserwerowe) oraz pozwalają nimi zarządzać.
Dowiedz się, jak możesz wykorzystać pełny potencjał natywnych rozwiązań chmurowych, aby szybko i łatwo tworzyć nowoczesne aplikacje chmurowe, które są elastyczne, łatwe w zarządzaniu i skalowalne.
Przejście do natywnych technologii chmurowych zmieniło na zawsze tworzenie oprogramowania i modele biznesowe, umożliwiając maksymalizację obsługi klientów na przestrzeni platformy organizacji. Nie tak dawno temu infrastruktura informatyczna wielu organizacji była „przyjazna dla chmury”. Zespoły informatyczne, które przenoszą się do chmury, wystawiają się na konfrontację z ostrą i lepszą konkurencją, jeśli nie zmaksymalizują inwestycji poprzez tworzenie natywnych aplikacji chmurowych. Aby firma mogła przetrwać, jednocześnie wyróżniając się spośród swoich konkurentów, konieczne jest dostosowywanie się do nowej rzeczywistości i szybka iteracja. Infrastruktura chmurowa oferuje elastyczność oraz możliwości na żądanie, które umożliwiają przeniesienie dowolnej firmy do chmury.
CNCF powstała w 2015 roku w reakcji na obfitość organizacji i usług wdrażających natywne systemy chmurowe. CNCF to fundacja oprogramowania open source stworzona przez Linux Foundation i promująca stosowanie natywnych technologii chmurowych. CNCF ma ponad 400 członków, w tym dostawców chmury publicznej, firm oprogramowania dla przedsiębiorstw i startupów technologicznych. Microsoft, Oracle, VMware oraz Intel to niektórzy z platynowych członków CNCF.
CNCF istnieje w celu zapewnienia dostępności i niezawodności natywnej technologii chmurowej. Wspiera społeczność, która poświęca się projektom, takim jak Kubernetes, Prometheus i CoreDNS, przy jednoczesnym wsparciu organizacj tworzących zrównoważone środowiska, które orkiestrują kontenery w ramach architektury mikrousługowej.
Podróż organizacji do natywnej chmury może być niełatwa, ale ostatecznie warta wysiłku Rozwój polega nie tylko na zmianie architektury aplikacji, lecz także na zmianie struktury i kultury firmy, a ostatecznie – na popchnięciu firmy do przodu. Firmy mogą przyrostowo implementować natywne technologie chmurowe korzystając z modelu Trail Map autorstwa CNCF. Postęp wzdłuż „szlaku” wymaga wdrożenia bardziej złożonego oprogramowania do dostarczania mikrousług, funkcji bezserwerowych, strumieni opartych na zdarzeniach oraz innych aplikacji chmurowych.
Natywne aplikacje chmurowe (NCA) to programy zaprojektowane z myślą o architekturze obliczeniowej w chmurze. Niosą ze sobą wiele korzyści.
Natywne aplikacje chmurowe to niezależne usługi, spakowane jako samodzielne, lekkie i przenośne kontenery, które można łatwo i błyskawicznie skalować, w zależności od potrzeb. Po opakowaniu wszystkich elementów w kontener (np. Docker), aplikacja i jej zależności są odizolowane od używanej infrastruktury. Dzięki temu można wdrożyć tę konteneryzowaną aplikację w dowolnym środowisku, w którym jest używany motor wykonawczy kontenera. W przypadku orkiestracji kontenerów Kubernetes ważne jest to, że zarządzają one cyklem życia kontenerów. Natywne aplikacje chmurowe są często dostarczane poprzez potoki DevOps zawierające łańcuchy narzędzi ciągłej integracji i ciągłego dostarczania (CI/CD). Potoki CI/CD są istotne dla automatyzacji tworzenia, testowania i wdrażania natywnych aplikacji chmurowych.
Natywna architektura chmurowa dotyczy projektowania aplikacji lub usług stworzonych specjalnie do istnienia w chmurze, a nie w bardziej tradycyjnej infrastrukturze lokalnej. Udana architektura chmurowa musi być łatwa w utrzymaniu i obsłudze przez chmurę następnej generacji, a także zapewniać ekonomiczność i samonaprawianie. W porównaniu do starszych systemów, natywne architektury chmurowe mają większy stopień elastyczności bez konieczności korzystania z serwerów fizycznych.
Mikrousługi i funkcje bezserwerowe mogą tutaj odegrać dużą i ważną rolę. Mikrousługi są podstawową natywnej architektury chmurowej, a ponadto stały się kluczowym narzędziem dla firm, które przenoszą się do chmury. Mikrousługi organizują aplikację w wiele niezależnych usług, z których każda służy określonej funkcji. Wiele firm oferujących oprogramowanie korzysta z mikrousług, ponieważ obsługują one DevOps, zapewniają elastyczność i skalowalność, a także zmniejszają koszty. Natywne mikrousługi chmurowe komunikują się poprzez API oraz korzystają z architektury sterowanej zdarzeniami, co zwiększa ogólną wydajność poszczególnych aplikacji. Usługi Oracle Cloud Native zgodnie z dokumentacją CNCF upraszczają przejście i ułatwiają firmom tworzenie i wdrażanie nowoczesnych natywnych aplikacja chmurowych oraz zarządzanie nimi.
Termin funkcje bezserwerowe opisuje styl architektury, który koncentruje się na zwiększaniu produktywności programistów. Aplikacja bezserwerowa umożliwia napisanie kodu na platformie, która działa jako usługa (FaaS), używając architektury sterowanej zdarzeniami i różnych modeli zaplecza jako usługi (BaaS). Eliminuje to konieczność martwienia się o udostępnianie, stosowanie poprawek, skalowanie, zabezpieczenia, wysoką dostępność itd. Dzięki platformom FaaS, takim jak Oracle Functions, aplikacje mogą być rozbijane na małe fragmenty kodu (nanousługi), dynamicznie zaplanowane i uruchamiane na żądanie, po wywołaniu przez zdarzenie. Zaletą tego podejścia jest to, że kod jest wywoływany i wykonywany tylko w razie potrzeby, a użytkownik płaci tylko za zasoby używane w czasie jego wykonywania. Różni się to od klasycznego podejścia do serwera, w którym aplikacje są ładowane do serwera i spędzają większość czasu bezczynnie, czekając na żądania. Dlatego w przypadku przeliczania bezserwerowego płaci się jedynie tylko za faktycznie wykorzystane zasoby obliczeniowe.
Natywne usługi chmurowe stanowią najważniejszy element innowacji cyfrowych i są podstawą dla zaawansowanych analiz, aplikacji mobilnych i botów czatowych. Metody DevOps eliminują większość zadań zarządzania związanych z tworzeniem, obsługą i utrzymywaniem złożonej platformy oprogramowania. Działania związane z tworzeniem, wdrażaniem i testowaniem oprogramowania rezydują w chmurze i mogą być na bieżąco rozszerzane lub ograniczane. Przeniesienie aplikacji, DevOps i zadań przetwarzania do architektury chmurowej jest integralną częścią podtrzymywania konkurencyjności firmy.
Natywne usługi chmurowe Oracle umożliwiają tworzenie nowoczesnych natywnych aplikacji chmurowych przy użyciu zgodnych ze standardami technologii, takich jak Kubernetes, Docker, funkcje bezserwerowe, interfejsy API i Kafka. Kubernetes to platforma open source do zarządzania klasterami skonteneryzowanych aplikacji i usług, którą często określa się mianem „systemu operacyjnego dla chmury”. Kluczowe składniki systemu Kubernetes to klastery, węzły i płaszczyzna sterowania. Klastery zawierają węzły. Każdy węzeł składa się z zestawu obejmującego co najmniej jedną maszynę roboczą. Węzły hostują zasobniki, które zawierają elementy wdrożonej aplikacji. Płaszczyzna sterowania zarządza węzłami i zasobnikami w klastrze, często na wielu komputerach, w celu zapewnienia wysokiej dostępności i odporności.
Oracle udostępnia narzędzia i automatyzację niezbędne dla tych usług, tak aby zespoły programistyczne mogły zmniejszyć obciążenie zadaniami operacyjnymi i szybko tworzyć aplikacje. Natywne usługi chmurowe działają na platformie Oracle Cloud Infrastructure (OCI), która zapewnia platformę opartą na standardach z wyższą wydajnością i niższymi kosztami w porównaniu z innymi dostawcami chmury. Wykorzystując usługi oparte na kodzie open source i otwartych standardach, OCI umożliwia programistom korzystanie z aplikacji w dowolnej chmurze lub środowisku lokalnym bez refaktoryzacji, co daje im swobodę skupienia się na tworzeniu i wprowadzaniu innowacji.
OCI Container Registry to oparta na otwartych standardach, zarządzana przez Oracle usługa rejestru Docker przeznaczona do bezpiecznego przechowywania i udostępniania obrazów kontenerów. Inżynierowie mogą z łatwością wysyłać i pobierać obrazy Docker, korzystając ze znanego im interfejsu wiersza poleceń (Command Line Interface, CLI) i API. W celu zapewnienia obsługi cykli życia kontenerów, Container Registry współpracuje z rozwiązaniami Oracle Container Engine for Kubernetes, OCI Identity and Access Management, Oracle Visual Builder Studio i innymi narzędziami programistycznymi DevOps.
Usługa OCI Notifications to usługa publikowania/subskrypcji (pub/sub) o wysokim poziomie dostępności i małym opóźnieniu, która wysyła alerty i komunikaty do Oracle Cloud Functions, systemu poczty elektronicznej, SMS i partnerów zajmujących się dostarczaniem wiadomości, w tym platform Slack, PagerDuty oraz ServiceNow. Usługa jest integrowana z usługą OCI Identity and Access Management, co zapewnia bezpieczny dostęp i dostarczanie wiadomości, nawet podczas nagłych wzrostów ruchu. Notifications pomaga tworzyć natywne aplikacje chmurowe, które są skalowalne i niezawodne.
Usługa OCI Streaming to działająca w czasie rzeczywistym, bezserwerowa platforma strumieniowania zdarzeń zgodna z systemem Apache Kafka, przeznaczona dla programistów i analityków danych. Ta usługa strumieniowej transmisji zdarzeń zarządzanych pozyskuje, przechowuje i przetwarza dane strumieniowe w czasie rzeczywistym na dużą skalę. Ogranicza przywiązanie do jednego dostawcy dzięki pełnej kompatybilności z powszechnie stosowanymi interfejsami API typu open source platformy Kafka.
Container Engine for Kubernetes (OKE) to zarządzana przez Oracle usługa orkiestracji kontenerów, która może skrócić czas i zmniejszyć koszty tworzenia nowoczesnych aplikacji natywnych w chmurze. W przeciwieństwie do większości innych dostawców, OCI zapewnia usługę Container Engine for Kubernetes bezpłatnie i na wysokowydajnych wariantach obliczeniowych o niższych kosztach. Inżynierowie DevOps mogą używać niezmodyfikowanej wersji open source Kubernetes do przenoszenia zadań przetwarzania dla aplikacji, upraszczając operacje dzięki automatycznym aktualizacjom i wprowadzaniu poprawek.
Oracle Cloud Functions to bezserwerowa platforma umożliwiająca twórcom aplikacji tworzenie, uruchamianie i skalowanie aplikacji bez zarządzania infrastrukturą – jest integrowana z OCI, usługami platformy i aplikacjami SaaS. Ponieważ usługa Functions jest oparta na projekcie open source o nazwie Fn Project, programiści mogą tworzyć aplikacje, które można łatwo przenieść do innych środowisk lokalnych i działających w chmurze. Kod oparty na usłudze Functions jest zazwyczaj uruchamiany na krótkie okresy czasu, a klienci płacą tylko za używane zasoby.
Czy tworzenie natywnych aplikacji chmurowych naprawdę oferuje aplikacje, które są znacznie lepsze od tych tworzonych w tradycyjny sposób? Tak. Korzyści wynikające z aplikacji chmurowych są oczywiste: aplikacje w chmurze mogą być skalowane, ponieważ ich funkcje są podzielone na mikrousługi. Umożliwiają także indywidualne zarządzanie. A ponieważ typ lub rodzaj infrastruktury chmurowej nie gra roli, aplikacje chmurowe mogą działać w sposób wysoce rozproszony, zachowując niezależność i przydzielając zasoby zgodnie z potrzebami aplikacji. Natywne aplikacje chmurowe stały się kluczowym rozwiązaniem pozwalającym na zwiększenie strategii biznesowej i wartości, ponieważ mogą zaoferować ujednolicone doświadczenie w chmurach prywatnych, publicznych oraz hybrydowych. Pozwalają organizacji w pełni korzystać z przetwarzania w chmurze, uruchamiając responsywne i niezawodne aplikacje chmurowe, które są skalowalne i zmniejszają ryzyko.
Dowiedz się, dlaczego deweloperzy cieszą się z możliwości wykorzystania natywnych technologii chmurowych do tworzenia aplikacji nowej generacji i uruchamiania ich w dowolnym miejscu.
Naucz się tworzyć i obserwować nowoczesne aplikacje (np. mikrousługi i funkcje bezserwerowe) oraz zarządzać nimi przy użyciu kontenerów Docker, Kubernetes, Terraform oraz innych natywnych technologii chmurowych.
Twórz, testuj i wdrażaj aplikacje na platformie Oracle Cloud — bezpłatnie.