Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wskazówka
Ta zawartość jest fragmentem e-książki, Architektura Cloud Native .NET Applications for Azure, dostępnej w .NET Docs lub jako bezpłatny plik PDF do pobrania, który można czytać offline.
Pomyśl o aplikacjach, które organizacja musi utworzyć. Następnie przyjrzyj się istniejącym aplikacjom w portfolio. Ile z nich gwarantuje architekturę natywną dla chmury? Wszystkie z nich? Być może niektóre?
Stosując analizę kosztów/korzyści, istnieje duża szansa, że niektórzy nie będą wspierać wysiłku. Koszt zostaniu natywnym dla chmury znacznie przekracza wartość biznesową aplikacji.
Jaki typ aplikacji może być kandydatem na natywną dla chmury?
- Strategiczne systemy przedsiębiorstwa, które muszą stale rozwijać możliwości biznesowe/funkcje
- Aplikacja, która wymaga wysokiej szybkości wydawania — z dużą pewnością
- System, w którym poszczególne funkcje muszą zostać zwolnione bez pełnego ponownego wdrożenia całego systemu
- Aplikacja opracowana przez zespoły z doświadczeniem w różnych stosach technologicznych
- Aplikacja ze składnikami, które muszą być skalowane niezależnie
Mniejsze, mniej wpływowe aplikacje wspomagające działalność przedsiębiorstwa mogą dobrze działać w prostej architekturze monolitycznej hostowanej w środowisku chmurowym PaaS.
Następnie istnieją starsze systemy. Chociaż wszyscy chcemy tworzyć nowe aplikacje, często odpowiadamy za modernizację starszych obciążeń, które mają kluczowe znaczenie dla firmy.
Modernizowanie starszych aplikacji
Bezpłatna książka elektroniczna firmy Microsoft Modernizowanie istniejących aplikacji .NET za pomocą chmury platformy Azure i kontenerów systemu Windows zawiera wskazówki dotyczące migrowania obciążeń lokalnych do chmury. Rysunek 1–10 pokazuje, że nie ma jednej, uniwersalnej strategii modernizacji starszych aplikacji.
Rysunek 1–10. Strategie migracji starszych obciążeń
Monolityczne aplikacje, które nie są krytyczne, mogą skorzystać z szybkiej migracji metodą lift-and-shift. W tym miejscu obciążenie lokalne jest ponownie hostowane na maszynie wirtualnej opartej na chmurze bez zmian. W tym podejściu jest używany model IaaS (infrastruktura jako usługa). Platforma Azure obejmuje kilka narzędzi, takich jak Azure Migrate, Azure Site Recovery i Azure Database Migration Service , które ułatwiają usprawnienie przenoszenia. Chociaż ta strategia może przynieść pewne oszczędności kosztów, takie aplikacje zwykle nie zostały zaprojektowane do odblokowania i wykorzystania korzyści związanych z przetwarzaniem w chmurze.
Starsze aplikacje, które mają kluczowe znaczenie dla firmy, często korzystają z rozszerzonej migracji zoptymalizowanej pod kątem chmury . Takie podejście obejmuje optymalizacje wdrażania, które umożliwiają korzystanie z kluczowych usług w chmurze — bez zmieniania podstawowej architektury aplikacji. Na przykład możesz konteneryzować aplikację i wdrożyć ją w orkiestratorze kontenerów, takim jak Azure Kubernetes Services, omówionych w dalszej części tej książki. Po przejściu do chmury aplikacja może korzystać z usług zaplecza w chmurze, takich jak bazy danych, kolejki komunikatów, monitorowanie i rozproszone buforowanie.
Na koniec monolityczne aplikacje, które zapewniają strategiczne funkcje przedsiębiorstwa, mogą najlepiej skorzystać z podejścia natywnego dla chmury — temat tej książki. Takie podejście zapewnia elastyczność i szybkość. Jednak kosztem ponownego tworzenia, zmieniania architektury i ponownego pisania kodu. Z czasem starsza aplikacja może zostać rozłożona na mikrousługi, konteneryzowane i ostatecznie przekształcone w architekturę natywną dla chmury.
Jeśli Ty i Twój zespół uważasz, że podejście natywne dla chmury jest odpowiednie, warto zracjonalizować decyzję w organizacji. Jaki jest dokładnie problem biznesowy, który rozwiąże podejście natywne dla chmury? Jak będzie ona zgodna z potrzebami biznesowymi?
Szybkie wydania funkcji z większą pewnością?
Szczegółowa skalowalność — bardziej wydajne użycie zasobów?
Ulepszona odporność systemu?
Zwiększona wydajność systemu?
Więcej wglądu w operacje?
Mieszaj platformy programistyczne i magazyny danych, aby znaleźć najlepsze narzędzie do wykonania zadania.
Inwestycja w aplikacje odporne na przyszłe zmiany?
Właściwa strategia migracji zależy od priorytetów organizacji i docelowych systemów. Dla wielu osób bardziej kosztowo efektywne może być zoptymalizowanie aplikacji monolitycznej lub dodanie usług o dużej ziarnistości do aplikacji N-warstwowej. W takich przypadkach nadal można w pełni korzystać z funkcji PaaS w chmurze, takich jak te oferowane przez usługę Azure App Service.
Podsumowanie
W tym rozdziale przedstawiliśmy obliczenia natywne dla chmury. Udostępniliśmy definicję wraz z kluczowymi możliwościami, które napędzają aplikację natywną dla chmury. Przyjrzeliśmy się typom aplikacji, które mogą uzasadniać tę inwestycję i nakład pracy.
Po wprowadzeniu w temat, teraz zagłębimy się w bardziej szczegółową analizę technologii natywnych dla chmury.
Źródła
- Cloud Native Computing Foundation
- Mikrousługi platformy .NET: architektura dla konteneryzowanych aplikacji .NET
- Platforma Microsoft Azure — dobrze zaprojektowana struktura
- Modernizuj istniejące aplikacje platformy .NET przy użyciu chmury platformy Azure i kontenerów systemu Windows
- Wzorce natywne dla chmury przez Cornelia Davis
- Aplikacje natywne dla chmury: szybsze dostarczanie, zmniejszanie ryzyka i rozwijanie firmy
- Dokumenty Dapr
- Poza aplikacją Twelve-Factor
- Co to jest infrastruktura jako kod
- Micro Deploy firmy Uber Engineering: wdrażanie codziennie z ufnością
- Jak netflix wdraża kod