Filary dobrze zaprojektowanego środowiska platformy Azure

Ukończone

Chmura zmieniła sposób, w jaki organizacje realizują swoje potrzeby biznesowe oraz projektują aplikacje i systemy. Rola architekta rozwiązań nie jest ograniczona do dostarczania wartości biznesowej dzięki wymaganiom funkcjonalnym aplikacji. Muszą one również zapewnić, że rozwiązanie jest zaprojektowane w sposób skalowalny, odporny, wydajny i bezpieczny.

Architektura rozwiązania koncentruje się na planowaniu, projektowaniu, wdrażaniu i ciągłym ulepszaniu systemu. Architektura systemu musi równoważyć i dostosowywać wymagania biznesowe do możliwości technicznych niezbędnych do spełnienia tych wymagań. Ostateczny kształt architektury to wypadkowa wyników oceny ryzyka, kosztów i możliwości całego systemu i jego składników.

Dobrze zaprojektowana struktura platformy Azure

Dobrze zaprojektowane środowisko platformy Azure to zestaw wytycznych umożliwiających tworzenie wysokiej jakości rozwiązań na platformie Azure. Nie ma jednego uniwersalnego podejścia do projektowania architektury, ale istnieją pewne uniwersalne pojęcia, które mają zastosowanie niezależnie od architektury, technologii lub dostawcy usług w chmurze.

Te pojęcia nie są all-inclusive, ale skupienie się na nich może pomóc w tworzeniu niezawodnej, bezpiecznej i elastycznej podstawy dla aplikacji.

Dobrze zaprojektowane środowisko platformy Azure składa się z pięciu filarów:

  • Optymalizacja kosztów
  • Doskonałość operacyjna
  • Efektywność wydajności
  • Niezawodność
  • Zabezpieczenia

An illustration that shows the pillars of the Azure Well-Architected Framework.

Optymalizacja kosztów

Chcesz zaprojektować środowisko chmury, aby było opłacalne dla operacji i programowania. Aby mieć pewność, że środki pieniężne są prawidłowo wydatkowane, należy zidentyfikować wszelkie braki wydajności i ewentualne straty.

An illustration that shows increasing quality, speed, and efficiency while maintaining decreasing costs.

Doskonałość operacyjna

Korzystając z nowoczesnych rozwiązań programistycznych, takich jak DevOps, można włączyć szybsze cykle programowania i wdrażania. Niezbędna jest dobra architektura monitorowania, która pozwoli wykrywać awarie i problemy, zanim wystąpią lub przynajmniej zanim zauważą je klienci. Automatyzacja to kluczowy aspekt tego filaru — pozwala wyeliminować rozbieżności i błędy, a jednocześnie zwiększyć elastyczność operacyjną.

Efektywność wydajności

Aby architektura działała dobrze i była skalowalna, powinna odpowiednio dopasowywać pojemność zasobów do zapotrzebowania. Aby osiągnąć tę równowagę, architektury chmury zazwyczaj obejmują dynamiczne skalowanie aplikacji na podstawie ich aktywności. Zapotrzebowanie na usługi ulega zmianom, dlatego ważne jest, aby architektura mogła dostosowywać się do tego zapotrzebowania. Projektując architekturę z myślą o wydajności i skalowalności, zapewniasz klientom doskonałe środowisko, jednocześnie ekonomiczne.

An illustration that shows how resources in the cloud scale dynamically based on demand, resulting in highly efficient usage. When resources are implemented at a fixed level, it results in inefficient usage during low demand and shortage during high demand.

Niezawodność

Największą obawą każdego architekta jest to, że architektura przestanie działać, a jej odzyskanie okaże się niemożliwe. W prawidłowo zaprojektowanych środowiskach w chmurze przewiduje się ewentualne awarie na wszystkich poziomach. Aby było to możliwe, należy zaprojektować system, który będzie umożliwiał odzyskanie danych po awarii w czasie wymaganym przez interesariuszy i klientów.

An illustration that shows two virtual machines in a virtual network. One of the machines is shown as failed, while the other is working to service customer requests.

Zabezpieczenia

Dane są najcenniejszym elementem technicznym w Twojej organizacji. W tym filarze skupisz się na zabezpieczaniu dostępu do architektury za pomocą uwierzytelniania i ochrony aplikacji i danych przed lukami w zabezpieczeniach sieci. Należy również chronić integralność danych za pomocą narzędzi, takich jak szyfrowanie.

O bezpieczeństwie należy myśleć przez cały cykl życia aplikacji, począwszy od projektowania i implementacji po wdrożenie i działanie. Chmura zapewnia ochronę przed różnymi zagrożeniami, takimi jak włamanie do sieci i ataki DDoS. Jednak nadal trzeba wbudować zabezpieczenia w aplikację, procesy i kulturę organizacyjną.

An illustration that shows the types of security threats and attacks that might affect your data in the cloud.

Ogólne zasady projektowania

Oprócz tych filarów istnieją również pewne ogólne zasady projektowania, które należy wziąć pod uwagę, tworząc architekturę.

  • Włącz ewolucję architektury: żadna architektura nie jest statyczna. Wykorzystuj nowe, dostępne usługi, narzędzia i technologie, aby umożliwić ewolucję swojej architektury.

  • Podejmowanie decyzji przy użyciu danych: zbieranie danych, analizowanie ich i używanie ich do podejmowania decyzji dotyczących architektury. Od danych kosztów, po wydajność, po obciążenie użytkownika, przy użyciu danych można poprowadzić cię do podejmowania właściwych wyborów w środowisku.

  • Edukuj i włączaj: Technologia chmury szybko ewoluuje. Wyszkolone zespoły biznesowe, programistyczne i operacyjne będą wiedziały, jak podejmować właściwe decyzje i tworzyć rozwiązania w celu eliminowania problemów biznesowych. Dokumentuj i udostępniaj konfiguracje, decyzje i najlepsze rozwiązania w swojej organizacji.

  • Automatyzowanie: Automatyzacja działań ręcznych zmniejsza koszty operacyjne, minimalizuje błędy wprowadzane ręcznie i zapewnia spójność między środowiskami.

Wspólna odpowiedzialność

Przejście do chmury wprowadza model wspólnej odpowiedzialności. W tym modelu dostawca usług w chmurze zarządza pewnymi aspektami aplikacji, pozostawiając Ci pozostałą odpowiedzialność.

W środowisku lokalnym Ty ponosisz odpowiedzialność za wszystkie elementy. Podczas przechodzenia do infrastruktury jako usługi (IaaS), a następnie do platformy jako usługi (PaaS) i oprogramowania jako usługi (SaaS), dostawca usług w chmurze przejmuje większą odpowiedzialność.

Ta wspólna odpowiedzialność odgrywa rolę w decyzjach dotyczących architektury, ponieważ te decyzje mogą mieć wpływ na koszty, zabezpieczenia i możliwości techniczne i operacyjne aplikacji. Przenosząc odpowiedzialność za te obszary na dostawcę, możesz skoncentrować się na przynoszeniu wartości dodanej swojej firmie i przestać zajmować się działaniami, które nie należą do podstawowych funkcji biznesowych.

An illustration that shows the level of shared responsibilities in each type of cloud-service model.

Wybór elementów projektu

W idealnej architekturze utworzysz najbezpieczniejsze, wysokiej wydajności, wysoce dostępne i wydajne środowisko. Jednak podobnie jak w przypadku wszystkiego, istnieją kompromisy.

Utworzenie środowiska o najwyższym poziomie wszystkich tych filarów wymaga poniesienia pewnych kosztów. Mogą one dotyczyć środków pieniężnych, czasu dostawy lub sprawności operacyjnej. Każda organizacja ma różne priorytety, które mają wpływ na wybory projektowe dokonane w każdym filarze. Podczas projektowania architektury należy określić, które kompromisy są akceptowalne i które nie są.

Podczas tworzenia architektury platformy Azure należy pamiętać o wielu kwestiach. Każdy chce, aby jego architektura była bezpieczna, skalowalna, dostępna i miała możliwość odzyskiwania danych. Aby to możliwe, należy podejmować decyzje na podstawie kosztów, priorytetów organizacyjnych i ryzyka.