Aplikacje kandydujące dla aplikacji natywnych dla chmury
Napiwek
Ta zawartość jest fragmentem książki eBook, Architekting Cloud Native .NET Applications for Azure, dostępnej na platformie .NET Docs lub jako bezpłatny plik PDF do pobrania, który można odczytać w trybie 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ływające aplikacje biznesowe mogą dobrze różnić się od prostej architektury monolitycznej hostowanej w środowisku PaaS w chmurze.
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 wersje funkcji ze zwiększonym zaufaniem?
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 dotrzeć do najlepszego narzędzia do zadania?
Przyszłe inwestycje w aplikacje?
Właściwa strategia migracji zależy od priorytetów organizacji i docelowych systemów. W przypadku wielu może to być bardziej opłacalne, aby zoptymalizować aplikację monolityczną lub dodać gruboziarniste usługi 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ę aplikacja systemu Azure 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.
Wraz z wprowadzeniem zapoznamy się teraz z bardziej szczegółowym omówieniem natywnym dla chmury.