Jakie są typowe wyzwania, które pojawiają się podczas przekształcania aplikacji z jednym dzierżawcą w aplikację z wieloma lokatorami? Najważniejsze jest bezpieczeństwo i izolacja danych. Jakie są inne?
Jestem jednym z architektów dość znaczącego wysiłku w zakresie automatyzacji i historycznie to właśnie nasza firma z niego korzysta. Chcemy, aby inni mogli z niego również korzystać. Za każdym razem, gdy mówimy o „uczynieniu go wielodostępnym”, rozmowa koncentruje się na utrzymywaniu użytkowników z jednym najemcą z dala od danych, które posiada inny najemca, i upewnianiu się, że użytkownicy z jednym najemcą nie mogą (umyślnie lub przypadkowo) wywierać wpływu na innego środowiska najemcy. Zastanawiam się, czy bezpieczeństwo / izolacja danych są tak naprawdę jedynymi głównymi problemami tutaj, czy też są jakieś inne poważne obawy, o których po prostu nie myślimy.
źródło
Odpowiedzi:
Oprócz silosowania danych mogą wystąpić problemy
Niektóre z nich zakładają, że używasz wszystkich dzierżawców w tej samej przestrzeni adresowej (komputer lub klaster). Jeśli każdy najemca uruchamia oprogramowanie na swoim sprzęcie, możesz wykonać kilka z powyższych czynności i dodać:
źródło
Moim zdaniem największym problemem w wielu najemcach jest dostosowanie. Dzieje się tak rutynowo, jeśli sprzedajesz aplikację biznesową przedsiębiorstwom. Może to być coś tak prostego, jak każdy klient chcący własnych skórek, a także możliwość konfigurowania dodatkowych pól, reguł, formularzy i raportów. Poziom dostosowania, który należy obsługiwać, odgrywa kluczową rolę w architekturze.
źródło
Odpowiedź Mike'a jest bardzo dobra, a wiele z tych punktów prawie nie docenia ich złożoności ze względu na to, jak krótkie są, więc weź je sobie do serca.
Chciałbym dodać, że powinieneś mieć dobre narzędzia zarządzania do tworzenia (a później zarządzania) nowych najemców. W zależności od używanej architektury fizycznej może to być dalekie od trywialnych i jest to często pomijane. Korzyści z oprogramowania jako produktu usługowego naprawdę wchodzą w grę tylko wtedy, gdy istnieje duża liczba najemców, dlatego należy poświęcić temu dużo wysiłku.
Rozszerzyć odpowiedź Śrirama; dostosowanie najemcy jest prawie zabronione, wszystko, co najemca może chcieć zmienić, powinno być konfigurowalne . Np. Jeśli twoje rozwiązanie nie obsługuje dynamicznego dodawania pól danych w co najmniej kilku kluczowych obszarach, prawdopodobnie zostaniesz zalany żądaniami dostosowania. Jest to jeden z niewielu przypadków, gdy trochę dodatkową złożoność góry ma faktycznie spłacić (powiedzmy to sprzeczne YAGNI, a przynajmniej ten poziom konfiguracji jest niemal kluczowym wymogiem, więc to będzie to potrzebne).
źródło