Udostępnij za pośrednictwem


Zasady projektowania obciążeń SaaS na platformie Azure

Jako niezależny dostawca oprogramowania (ISV) dostarczający rozwiązanie SaaS, ponosisz odpowiedzialność za doskonałość architektury rozwiązania i dzielisz się odpowiedzialnością ze swoim klientem. Polegają one na twoim rozwiązaniu, a problemy mogą być kaskadowe dla nich. Jeśli Twoja organizacja jest dojrzała i ma ustanowioną bazę klientów, niezawodność i bezpieczeństwo są prawdopodobnie największymi problemami. Przestoje i naruszenia zabezpieczeń mogą mieć negatywne konsekwencje dla przychodów i reputacji firmy.

Jednak wiele niezależnych dostawców oprogramowania, zwłaszcza niezależnych dostawców oprogramowania, działa z ograniczonymi zasobami, aby zminimalizować koszty. Jeśli Twoja organizacja jest w fazie uruchamiania, może być konieczne dokonanie agresywnych kompromisów, aby przejść do następnej fazy wzrostu. Być może nie masz dedykowanych zespołów do zarządzania, zabezpieczeń ani automatyzacji wdrażania, ale pamiętaj, aby zaplanować przyszły rozwój. Jeśli musisz podjąć ryzyko, podejmij decyzje obliczeniowe.

Sposób projektowania rozwiązania, które działa w małej skali, różni się od rozwiązania o dużej skali. Aby zapewnić szybki wzrost, należy zaprojektować architekturę obciążenia SaaS z elastycznością i elastycznością. W tym artykule przedstawiono podstawowe zasady dotyczące tego rozwoju. Weź pod uwagę wszystkie pięć filarów well-architected Framework razem, w tym kompromisy. Istnieje minimalny standard dla wszystkich filarów, więc należy wziąć pod uwagę każdy z nich. Jeśli nie zastosujesz tych zasad, możesz wprowadzić straty finansowe i zmniejszyć zaufanie klientów.

Niezawodność

Zasada projektowania Kwestie wymagające rozważenia
Określanie priorytetów dostępności. Twoim rozwiązaniem jest Twoja firma. Zachowaj wysoką dostępność tak samo praktyczną. Jeśli twoje rozwiązanie wystąpi awaria, wpływ może mieć wpływ nie tylko na klientów, ale także na ich klientów.
Bądź jawny na temat umów dotyczących poziomu usług (SLA), które oferujesz swoim klientom. Podczas tworzenia umów SLA wspieranych finansowo dla klientów upewnij się, że można je spełnić i że składniki, od których zależysz, są zgodne z nimi. Zapoznaj się z złożonymi umowami SLA dla podstawowych usług platformy Azure w ramach procesu projektowania umowy SLA. Nie zakładaj założeń. Odzwierciedlić model wspólnej odpowiedzialności w umowach SLA.

Kompromis: niezawodność i koszty. Aby osiągnąć wysoką niezawodność, często trzeba wdrożyć dodatkowe zasoby. Można na przykład dystrybuować zasoby w wielu strefach dostępności lub regionach. Niektóre usługi platformy Azure oferują wbudowaną replikację geograficzną lub replikację między strefami, ale te funkcje często wiążą się z wysokimi kosztami.

Podejmij świadome decyzje dotyczące poziomu odporności, na który zezwala budżet. Jeśli niezawodność niektórych składników lub przepływów w obciążeniu nie ma konsekwencji finansowych, rozważ niskie koszty, aby zwiększyć odporność. Można na przykład używać stref dostępności usług platformy, regularnie tworzyć kopie zapasowe danych w innej lokalizacji fizycznej i używać infrastruktury jako kodu (IaC), aby szybko ponownie wdrażać zasoby podczas procesów odzyskiwania.

Zabezpieczenia

Zasada projektowania Kwestie wymagające rozważenia
Ustanów ład jako podstawę bezpieczeństwa. Ustanów dobre praktyki w zakresie ładu od samego początku, zamiast później radzić sobie z problemami. Wiele czynników wpływa na bezpieczeństwo, takie jak zarządzanie rolami, organizowanie zasobów i implementowanie zasad. Bez niezawodnego ładu mechanizmy kontroli zabezpieczeń nie chronią systemu.
Postępuj zgodnie z punktem odniesienia zabezpieczeń chmury od pierwszego dnia. Spodziewaj się inspekcji zabezpieczeń od klientów. Uwzględnij ślady inspekcji na wczesnym etapie projektowania.
Izoluj swoich klientów i izoluj segmenty. Użyj modelu dzierżawy jako strategii izolacji danych. Segmentowanie wdrożeń i środowisk.
Zacznij od zera zaufania i zapewnij najmniejszy możliwy dostęp. Ustawienie domyślne pozycji bez dostępu. Wprowadź minimalny dostęp tylko wtedy, gdy jest to konieczne. Ta strategia służy do zarządzania tożsamościami i ruchu sieciowego. Regularnie przeglądaj przepływy przez system i podejmij działania w zakresie anomalii.
Unikaj poświadczeń tam, gdzie to możliwe. Jeśli musisz użyć poświadczeń, chroń je. Traktuj poświadczenia jako odpowiedzialność. Użyj zaufanych dostawców tożsamości i technik, które minimalizują magazyn poświadczeń. Gdy jest to nieuniknione, chroń poświadczenia przy użyciu bezpiecznych metod natywnych dla chmury. Obsługa poświadczeń i wpisów tajnych klienta z najwyższą starannością.
Wdrażanie zabezpieczeń jako trwającego procesu. Stale ponownie przeszacuj stan zabezpieczeń. Weź pod uwagę zmieniający się krajobraz zagrożeń, nowe możliwości i protokoły oraz zaktualizowane wymagania dotyczące zgodności lub przepisów prawnych.

Kompromis: Zabezpieczenia i optymalizacja kosztów. Projektowanie i obsługa bezpiecznych rozwiązań jest kosztowne. Można jednak osiągnąć znaczące kroki w kierunku zabezpieczeń, takie jak dobre zarządzanie i przestrzeganie punktu odniesienia zabezpieczeń, przy minimalnym lub minimalnym wydatkami. Określ równowagę między wydajnością kosztową a idealnym stanem zabezpieczeń.

Optymalizacja kosztów

Zasada projektowania Kwestie wymagające rozważenia
Płacisz tylko za to, czego potrzebujesz. Skorzystaj z funkcji usługi Microsoft Cost Management, aby zrozumieć ogólne wydatki. Określanie priorytetów najdroższych kategorii zasobów w celu dalszego przeglądu. Zidentyfikuj obszary, w których możesz przesłać wydatki.
Użyj tego, za co płacisz. Zmaksymalizuj wartość z zasobów, za które płacisz, ale może być niewystarczająca.
Modelowanie kosztów. Śledzenie kosztów sprzedanych towarów. Zapoznaj się z kosztami dostarczania rozwiązania klientom. Ten proces jest podobny do produkcji produktu fizycznego. Aby poinformować o podejmowaniu decyzji, monitoruj koszt dla każdego klienta względem generowanego przychodu. Aby szybko zrozumieć i zagregować wydatki na platformę Azure, zaimplementuj procesy ładu, takie jak dobra organizacja zasobów i tagowanie.
Dowiedz się, jak są powiązane koszty i przychody. Unikaj sytuacji, w których koszty rosną bez odpowiedniego wzrostu przychodów. Na przykład koszty mogą wzrosnąć, jeśli dodasz nową funkcję, która oferuje nieograniczony bezpłatny magazyn. Podobnie, jeśli naliczasz opłaty za klientów na podstawie liczby użytkowników, upewnij się, że funkcje są związane z użytkownikami.

Kompromis: Optymalizacja kosztów i niezawodność. Aby tworzyć niezawodne rozwiązania, często trzeba wdrażać dodatkowe składniki, przesyłać więcej danych i używać bardziej odpornych jednostek SKU kluczowych składników, z których wszystkie zwiększają koszty. Dodatkowa niezawodność jest często warta wydatków, ale należy podejmować świadome decyzje. Aby zrównoważyć te wzrosty kosztów, upewnij się, że używasz innych składników skutecznie i maksymalizujesz ich wartość.

Doskonałość operacyjna

Zasada projektowania Kwestie wymagające rozważenia
Omówienie modelu wspólnej odpowiedzialności. Jasno zdefiniuj obowiązki dostawcy usług w chmurze, klientów i organizacji. Upewnij się, że wszyscy wiedzą, kto jest odpowiedzialny za jakie zadania.
Przygotuj się do obsługi rozwiązania w imieniu klientów. Skonfiguruj organizację, zespół, procesy i narzędzia do obsługi obsługi rozwiązań SaaS na dużą skalę.
Wdrażanie spójnych procesów. Użyj sygnatur wdrażania. Spójność między konfiguracją i architekturą sygnatur. Automatyzowanie lub standaryzacja procesów.
Sformalizuj wyjątki lub różnice. Zdefiniuj różne jednostki SKU, aby spełniały różne potrzeby. Użyj tej metody, aby uniknąć wdrożeń niestandardowych, konfiguracji lub kodu dla różnych klientów.
Bezpieczne wprowadzanie zmian. Zaimplementuj bezpieczny proces wdrażania, którego można użyć do progresywnego narażenia, ciągłego monitorowania i wycofywania, jeśli wystąpią problemy. Użyj spójnego procesu dla zmian kodu, infrastruktury i konfiguracji. Kontrolowanie liczby wdrożonych wersji rozwiązania w danym momencie.

Kompromis: doskonałość operacyjna i koszt złożoności. Zautomatyzowane operacje zarządzania mogą zwiększyć złożoność rozwiązania i zająć trochę czasu na kompilowanie. Początkowo koszt automatyzacji może przewyższać korzyści, zwłaszcza w przypadku małej bazy klientów. Jednak wraz ze wzrostem liczby klientów koszty automatyzacji się opłacają i zwiększają się korzyści.

Efektywność wydajności

Zasada projektowania Kwestie wymagające rozważenia
Zaimplementuj skalę globalną, aby umożliwić globalną wydajność. Zapewnij klientom globalnym dobre środowisko za pośrednictwem wdrożeń w wielu regionach lub przyspieszonego routingu ruchu.
Kwantyfikuje oczekiwaną skalę. Najlepsze, średnie i najgorsze scenariusze wzrostu modelu. Przeanalizuj trendy i skonsultuj się z zespołem sprzedaży w celu uzyskania realistycznych prognoz. Zaplanuj elastyczne strategie skalowania, aby uwzględnić różne możliwości wzrostu.
Omówienie punktów skalowania. Zidentyfikuj, gdzie prawdopodobnie potrzebujesz elastyczności. Typowe wyzwalacze obejmują liczbę klientów lub dzierżaw, użytkowników i transakcji na użytkownika. Dowiedz się, jak te czynniki zmieniają się w miarę rozwoju firmy i jak wpływają one na twoją architekturę.
Projektowanie pod kątem skalowania w poziomie. Skalowanie w górę ma limity, ale skalowanie w górę pozwala na większą ekspansję. Nie wszystkie elementy są skalowane w poziomie, dlatego rozważ użycie sygnatur wdrażania do skalowania rozwiązania jako jednostki, aby uniknąć ograniczeń skalowania zasobów w górę.

Kompromis: Wydajność i niezawodność. Niezawodne systemy często wymagają replikacji danych w wielu obszarach geograficznych. W zależności od projektu replikacji ta konfiguracja może prowadzić do większego opóźnienia i mniejszej przepływności. Jeśli na przykład synchronicznie replikujesz ważne dane między dwoma regionami świadczenia usługi Azure, które są oddalone o kilkaset mil, możesz dodać setki milisekund do czasów odpowiedzi z powodu replikacji w czasie rzeczywistym.

Następny krok

Rozpocznij naukę, optymalizując rozliczenia klienta i strategię zarządzania kosztami.