Architektura chmury odnosi się do projektowania i struktury środowisk przetwarzania w chmurze, obejmujących różne komponenty i technologie umożliwiające świadczenie usług w chmurze. Zwykle obejmuje wiele warstw i komponentów, z których każdy obsługuje określone funkcje, aby zapewnić skalowalność, elastyczność i niezawodność aplikacji i usług w chmurze. Kluczowe komponenty obejmują wirtualizację, sieci, pamięć masową, narzędzia do zarządzania i środki bezpieczeństwa. Architektura chmury ma na celu optymalizację wykorzystania zasobów, zwiększenie wydajności i zapewnienie bezproblemowego dostępu do zasobów obliczeniowych przez Internet.
Cztery typy architektury chmurowej obejmują:
- Architektura chmury publicznej: wykorzystuje zewnętrznych dostawców usług w chmurze do dostarczania zasobów obliczeniowych i usług przez Internet. Umożliwia wielu dzierżawcom dynamiczne udostępnianie zasobów i zapewnia skalowalność w zależności od zapotrzebowania. Przykłady obejmują AWS, Microsoft Azure i Google Cloud Platform.
- Private Cloud Architecture: Działa w ramach własnego centrum danych organizacji lub za pośrednictwem dedykowanego zewnętrznego dostawcy, oferując wyłączne użytkowanie i kontrolę nad zasobami. Zapewnia ulepszone opcje bezpieczeństwa i dostosowywania, dzięki czemu jest odpowiedni dla organizacji o rygorystycznych wymaganiach prawnych lub określonych potrzebach operacyjnych.
- Hybrid Cloud Architecture: integruje środowiska chmur publicznych i prywatnych, umożliwiając wymianę danych i aplikacji między nimi. Zapewnia elastyczność w optymalizacji rozmieszczenia obciążeń w oparciu o takie czynniki, jak wydajność, koszt i zgodność. Architektura chmury hybrydowej obsługuje przenoszenie obciążeń i nadmiarowość, łącząc zalety chmur publicznych i prywatnych.
- Architektura wielochmurowa: obejmuje korzystanie z usług wielu dostawców usług w chmurze, aby uniknąć uzależnienia od dostawcy, zoptymalizować koszty i wykorzystać wyspecjalizowane usługi. Umożliwia organizacjom wybór najlepszych w swojej klasie usług od różnych dostawców w oparciu o określone wymagania, takie jak zasięg geograficzny, umowy dotyczące poziomu usług (SLA) lub modele cenowe. Architektura wielochmurowa zwiększa odporność, rozdzielając obciążenia na różne platformy chmurowe.
Zrozumienie architektury chmury obejmuje zrozumienie wzajemnych zależności pomiędzy różnymi komponentami, takimi jak wirtualizacja, sieci, pamięć masowa i narzędzia do zarządzania w środowisku chmury. Wymagana jest wiedza na temat interakcji tych komponentów w celu świadczenia usług, takich jak infrastruktura jako usługa (IaaS), platforma jako usługa (PaaS) i oprogramowanie jako usługa (SaaS). Efektywny projekt architektury chmury uwzględnia takie czynniki, jak skalowalność, optymalizacja wydajności, bezpieczeństwo, zgodność i zarządzanie kosztami. Architekci i inżynierowie zazwyczaj współpracują przy projektowaniu i wdrażaniu architektur chmurowych dostosowanych do konkretnych celów biznesowych i wymagań operacyjnych.
Przykład architektury chmurowej można zobaczyć w wielowarstwowej aplikacji internetowej wdrożonej w Amazon Web Services (AWS). Architektura zazwyczaj obejmuje takie komponenty, jak warstwa serwera WWW do obsługi żądań HTTP, warstwa serwera aplikacji do przetwarzania logiki biznesowej oraz warstwa bazy danych do przechowywania trwałych danych. Usługi AWS, takie jak Amazon EC2, zapewniają serwery wirtualne do hostowania warstw internetowych i aplikacji, podczas gdy Amazon RDS oferuje usługi zarządzanych baz danych. Elastic Load Balancing (ELB) rozdziela ruch przychodzący na wiele instancji, aby zapewnić skalowalność i odporność na awarie. Architektura chmurowa w AWS wykorzystuje te usługi, aby zapewnić skalowalną, niezawodną i opłacalną platformę do hostowania aplikacji internetowych dostępnych przez Internet.