AWS, Azure i Google Cloud: jak wybrać odpowiednią platformę w chmurze
Usługi w chmurze publicznej cieszą się popularnością ze względu na wysoką skalowalność, wysoką dostępność oraz liczne elastyczne opcje. Liczba dostawców usług w chmurze stale rośnie, jednak trzech najbardziej znanych dostawców na rynku to Amazon, Microsoft i Google, oferujący odpowiednio Amazon Web Services (AWS), Microsoft Azure oraz Google Cloud Services.
Wszystkie są atrakcyjne i oferują ciekawe funkcje w zakresie infrastruktury jako usługi (IaaS), oprogramowania jako usługi (SaaS) oraz platformy jako usługi (PaaS). Przyjrzyjmy się i porównajmy chmury AWS, Azure oraz Google, aby pomóc Ci wybrać najlepszą platformę chmurową dostosowaną do potrzeb Twojej organizacji.
Ważne: Informacje zawarte w tym artykule dotyczące trzech platform są aktualne w momencie jego publikacji. Wszyscy trzej dostawcy mogą aktualizować swoje platformy i produkty oraz wprowadzać w nich zmiany.
Krótka historia każdej platformy chmurowej
- AWS. Amazon jest pionierem w dziedzinie usług chmurowych. Platforma chmurowa Amazon to najstarsza publiczna platforma chmurowa, której początki sięgają 2006 roku i która od tego czasu dominuje na rynku. AWS koncentruje się na usługach chmury publicznej, a nie hybrydowej czy prywatnej.
- Azure . Platforma chmurowa Azure jest obecna na rynku od 2010 roku. Microsoft postanowił uzupełnić swoją szeroką ofertę oprogramowania, tworząc chmurę publiczną we własnych centrach danych. Microsoft znajduje się obecnie w pierwszej trójce graczy oferujących usługi chmury publicznej.
- Google Cloud Platform (GCP) została stworzona w 2011 roku w celu zapewnienia Usługi chmury Google. GCP jest najmłodszą platformą w chmurze, ale szybko się rozwija. GCP ulepsza rozwiązania IaaS, PaaS i SaaS firmy Google. Centra danych Google oferują doskonałą infrastrukturę, która jest wykorzystywana do obsługi wyszukiwarki Google, serwisu YouTube i poczty Gmail. Usługi chmurowe Google korzystają z tej samej infrastruktury, a Google Cloud Platform charakteryzuje się najwyższym wskaźnikiem wzrostu na rynku usług w chmurze.
Werdykt
W większości przypadków wiek platformy nie będzie czynnikiem decydującym. Warto jednak pamiętać, że ci trzej dostawcy rywalizują o ten sam rynek. Wybór platformy sprowadza się do innych wskaźników, które wykorzystujemy w tym porównaniu.
Obsługa maszyn wirtualnych
Wszystkie platformy w chmurze zapewniają usługi obliczeniowe do uruchamiania maszyn wirtualnych (VM), wyboru różnych konfiguracji dla maszyn wirtualnych oraz wyboru klasy maszyny wirtualnej. Dysk, Procesor, pamięć oraz operacje wejścia/wyjścia na sekundę (IOPS) zależą od wybranej klasy maszyny wirtualnej. Maszyny wirtualne i magazyn są najczęściej używanymi usługami na platformach w chmurze.
- AWS . Maszyny wirtualne działające w Amazon Web Services nazywane są instancjami Elastic Compute Cloud (EC2). Można wybrać instancje EC2 z wstępnie skonfigurowanymi ustawieniami lub ręcznie skonfigurować ustawienia sprzętu wirtualnego. Instancje Amazon EC2 mogą działać w różnych lokalizacjach, czyli w centrach danych w różnych regionach geograficznych. Warto zauważyć, że spośród tych trzech dostawców AWS oferuje największą różnorodność centrów danych.
- Azure . Maszyny wirtualne Azure wykorzystują prawdziwe rdzenie procesorów, co jest jedną z głównych zalet platformy Azure. Na przykład, jeśli skonfigurujesz maszynę wirtualną tak, aby korzystała z jednego procesora z czterema rdzeniami, platforma Azure udostępni jeden procesor z czterema rzeczywistymi rdzeniami (bez technologii Hyper-Threading). Z kolei platformy AWS i Google Cloud Platform utworzyłyby procesor maszyny wirtualnej z dwoma rdzeniami i czterema wątkami (z wykorzystaniem technologii Hyper-Threading). Rzeczywiste rdzenie zapewniają wyższą wydajność procesora dla maszyn wirtualnych działających w Azure w porównaniu z maszynami wirtualnymi o podobnych konfiguracjach na innych platformach chmurowych.
- Google Cloud wykorzystuje Google Compute Engine do uruchamiania maszyn wirtualnych w Google Cloud Platform. Chociaż oferuje mniejszą różnorodność maszyn wirtualnych w porównaniu z AWS i Azure, Google koncentruje się bardziej na kontenerach i Kubernetes w celu uruchamiania aplikacji skalowalnych horyzontalnie z architekturą mikrousług.
W poniższej tabeli porównano maksymalne parametry konfiguracyjne maszyn wirtualnych dla platform chmurowych AWS, Azure i Google (na dzień sporządzenia niniejszego dokumentu, na podstawie informacji z odpowiednich oficjalnych stron internetowych).
| AWS | Azure | Google Cloud | |
| Procesor | 1,6 GHz – 3,3 GHz | 2,7 GHz – 3,7 GHz | 2,0 GHz – 4,0 GHz |
| Maksymalna liczba vCPU | 128 | 128 | 224 |
| Maksymalna pamięć | 244 | 208 | 448 |
| Pamięć tymczasowa | 48 TB | 3 TB | 4 TB |
| Maksymalna liczba vGPU | 4 | 4 | 4 |
Wniosek
Wybór zależy od następujących czynników:
- Jeśli Twoje aplikacje mają wymagania dotyczące działania na maszynach wirtualnych z wykorzystaniem rzeczywistych rdzeni procesora zamiast wirtualnych (rdzeni z technologią Hyper-Threading), wybierz chmurę Azure.
- Amazon oferuje największy wybór instancji EC2 z różnymi kombinacjami konfiguracji procesora i pamięci. Jeśli potrzebujesz korzystać z różnych maszyn wirtualnych o różnej ilości zasobów procesora i pamięci dla różnych typów obciążeń, możesz wybrać chmurę Amazon.
- Google Cloud oferuje mniej kombinacji konfiguracji procesorów dla maszyn wirtualnych. Dlatego AWS i Azure są lepsze dla wyspecjalizowanych obciążeń.
Obsługa kontenerów
Wszystkie trzy platformy chmurowe obsługują uruchamianie kontenerów, które są obecnie niezwykle popularne wśród twórców aplikacji korzystających z mikrousług.
- Firma Google odegrała ważną rolę w opracowaniu Kubernetes do orkiestracji kontenerów, dzięki czemu platforma Google Cloud zapewnia dobre wsparcie dla Kubernetes i kontenery Docker. Usługa Google Cloud Run służy do tworzenia i wdrażania wysoce skalowalnych aplikacji kontenerowych.
- Firma Amazon oferuje usługi Amazon Elastic Container Registry, Amazon Elastic Container Service oraz Amazon Elastic Kubernetes Service. Usługi kontenerowe obsługują platformę Kubernetes, kontenery Docker oraz usługi Fargate (Amazon EC2 Container Service).
- Azure oferuje dwie usługi kontenerowe: Azure Kubernetes Service (AKS) oraz Azure Container Service (ACS). Do zarządzania kontenerami wykorzystywane są Docker Hub oraz Azure Container Registry.
Poniższa tabela zawiera zestawienie poszczególnych usług kontenerowych w AWS, Azure i Google Cloud.
| Usługa | AWS | Azure | Google Cloud |
| Usługi kontenerowe Docker | Elastic Container Registry (ECR) | Container Registry | Container Registry |
| Zarządzane usługi kontenerowe | EC2 Container Service (ECS) Amazon Kubernetes Service |
Azure Container Service (ACS) | Google Kubernetes Engine |
| Usługi kontenerowe bezserwerowe | AWS Fargate | Azure Container Instances (ACI) | Google Cloud Run |
Werdykt
W przypadku obciążeń uruchamiających aplikacje kontenerowe w chmurze należy wybrać platformę Google Cloud. Google jest pierwszym graczem na rynku, który opracował standard Kubernetes i ma najdłuższe doświadczenie w uruchamianiu kontenerów.
Magazyn-chmura
Magazyn-chmura, wraz z maszynami wirtualnymi, jest najważniejszą usługą platformy chmurowej, która często pojawia się w porównaniach AWS vs Azure vs Google Cloud. Każda platforma chmurowa oferuje różne rodzaje magazynów-chmury, z własną terminologią i poziomami.
Amazon Cloud Storage
- Amazon S3 to usługa pamięci masowej na poziomie obiektów. Wszystkie pliki i foldery są przechowywane jako obiekty w zasobnikach Simple Storage Service (S3).
- Amazon Elastic Block Storage (EBS) to usługa pamięci masowej oparta na blokach. Wolumeny EBS są podłączone do instancji Amazon EC2 w celu udostępniania dysków wirtualnych dla maszyn wirtualnych AWS.
- Amazon Glacier to usługa przechowywania danych rzadko używanych, na przykład kopii zapasowych i danych archiwalnych.
- Elastic File System (EFS) to skalowalny system plików w chmurze dla systemu Linux, który można podłączyć do instancji EC2 działających w chmurze oraz do maszyn lokalnych. Do łączenia maszyn z EFS zwykle używa się NFSv4. Popularnymi zastosowaniami EFS są ogólne obciążenia i udział plików (konfiguracja serwera plików, przechowywanie danych aplikacji itp.).
Uwaga : Brama magazynu to specjalna usługa skonfigurowana w chmurze i lokalnie (na maszynie wirtualnej) w celu podłączenia lokalnych maszyn do magazynu-chmura AWS.
Platforma Azure Storage
- Azure Files to uniwersalna usługa pamięci masowej służąca do udostępniania plików maszynom wirtualnym działającym w Azure oraz lokalnym maszynom działającym na miejscu.
- Blob Azure to skalowalna pamięć masowa dla dużych zbiorów danych, w tym danych tekstowych i binarnych.
- Azure Disks to pamięć masowa na poziomie bloków używana jako woluminy dla maszyn wirtualnych Azure.
- Azure Tables przechowuje dane strukturalne dla baz danych NoSQL (bezschematowych).
- Azure Queues lub Azure Queue Storage to specjalny typ magazynu-chmura przeznaczony do przechowywania dużych ilości komunikatów, które są wykorzystywane przez aplikacje do komunikacji między komponentami aplikacji.
Google Cloud Storage
- Dyski trwałe to pamięć blokowa dla maszyn wirtualnych działających w Google Cloud (Google Cloud Compute Engine). Dyski trwałe są również wykorzystywane w usłudze Google Kubernetes Engine.
- Pamięć obiektowa, wyposażona w takie funkcje jak przechowywanie wersji i uprawnienia dostępu, wykorzystuje zasobniki do przechowywania obiektów.
- Filestore to sieciowa pamięć plików służąca do przechowywania, udostępniania i uzyskiwania dostępu do danych w sieci.
Opcje magazynów-chmury w ramach AWS, Azure i Google Cloud zostały wymienione w poniższej tabeli.
| Usługi | AWS | Azure | Google Cloud |
| Pamięć blokowa | Elastic Block Storage (EBS) | Magazyn Azure Blob Storage | Google Persistent Disks |
| Pamięć obiektowa | Simple Storage Service (S3) | Magazyn Azure Blob Storage | Google Cloud Storage |
| Pamięć plików | Elastic File System (EFS) | Azure Files | Google Cloud Files |
| Pamięć masowa archiwum | S3 Glacier Deep Archive S3 Infrequent Access |
Azure Archive Storage Azure Cool Blob Storage |
Google Cloud Storage Nearline, Coldline i Archive |
| Transport danych masowych | AWS Snow Family
Usługa AWS Import/Export |
Azure Data Box
Usługa Azure Import/Export |
Usługa Storage Transfer Service |
Werdykt
Wszystkie trzy platformy chmurowe zapewniają doskonałe usługi magazynu-chmura do różnych celów. Cena magazynu może być czynnikiem decydującym przy wyborze dostawcy:
- Google Cloud oferuje najniższą cenę za przechowywanie plików i obiektów.
- Azure oferuje najniższą cenę za przechowywanie obiektów. Dzięki Azure Stack można wybrać Microsoft Azure jako opcję hybrydowego magazynu chmury.
Usługi sieciowe
Usługi sieciowe umożliwiają tworzenie sieci wirtualnych (i podłączanie do nich maszyn wirtualnych działających w chmurze), konfigurowanie routingu i dostępu na miejscu lub między środowiskami chmurowymi oraz zapewnianie równoważenia obciążenia sieci.
Wszyscy trzej dostawcy usług w chmurze mają podobne możliwości sieciowe, zapewniając nadmiarowość sieciową dla swoich usług.
- AWS podstawowe usługi sieciowe wykorzystują wewnętrzną architekturę zwaną wirtualną chmurą prywatną (VPC), która jest całkowicie izolowaną siecią logiczną.
- Google wykorzystuje architekturę Andromeda do obsługi sieci. Jest to stos wirtualizacji sieci Google.
- Wewnętrzna architektura sieci Azure jest bliższa tradycyjnej architekturze sieciowej centrów danych i sieci prywatnych. Azure Virtual Networking (VNet) to podstawowy produkt sieciowy firmy Microsoft w chmurze.
| Usługa | AWS | Azure | Google Cloud |
| Połączenie bezpośrednie | AWS Direct Connect | Azure ExpressRoute | Google Cloud Interconnect |
| Globalne sieci dostarczania treści (CDN) | Amazon CloudFront | Azure CDN | Google CDN |
| DNS | Amazon Route 53 | Azure DNS Traffic Manager |
Google Cloud DNS |
| Sieć wirtualnej chmury prywatnej (VPC) | VPC | Sieci wirtualne (VNet) | Google VPC |
| Równoważenie obciążenia | Elastic Load Balancing (ELB) | Application Gateway
Azure Load Balancer |
Cloud Load Balancer |
Zapora sieciowa
Zapora sieciowa pozwala skonfigurować dostęp tylko do tego, co jest potrzebne, i tylko z dozwolonych źródeł. Wszystkie trzy platformy chmurowe zapewniają zarządzaną zaporę sieciową do konfiguracji bezpiecznego dostępu sieciowego do maszyn wirtualnych i usług na nich. W porównaniu AWS vs Azure vs Google Cloud zapory sieciowe mają wiele podobieństw.
AWS
AWS zapewnia AWS Network Firewall, usługę zarządzaną, którą można zarządzać w AWS Firewall Manager. AWS Firewall dzieli się na dwie kategorie: Network Firewall i Web Application Firewall.
- Firewall sieciowy służy do filtrowania ruchu sieciowego pod kątem odpowiednich protokołów sieciowych, takich jak adresy IP, porty itp. Obejmuje on filtrowanie pakietów, wirtualną sieć prywatną (VPN), głęboką inspekcję pakietów, filtrowanie stron internetowych oraz filtrowanie reputacji DNS.
- AWS Web Application Firewall zapewnia bezpieczeństwo aplikacji i filtrowanie ruchu. Zabezpieczenia aplikacji służą do ochrony aplikacji internetowych przed atakami, takimi jak ataki typu distributed denial of service (DDoS), ataki typu zero-day, wycieki danych itp. Filtrowanie ruchu opiera się na nagłówkach HTTP, adresach IP, słowach kluczowych i ciągach URI.
Uwaga: Oprócz zapór sieciowych AWS użytkownicy mogą korzystać z zapór sieciowych innych firm dostępnych w AWS Marketplace.
Azure
Usługi zapory sieciowej Azure obejmują Azure Firewall Premium, Azure Application Gateway oraz Azure Web Application Firewall. Każda usługa zapory sieciowej jest przeznaczona do konkretnych zastosowań.
- Zapora sieciowa Azure oferuje funkcję translacji adresów sieciowych (NAT) oraz filtrowanie adresów IP, portów protokołów TCP (Transport Control Protocol) i UDP (User Datagram Protocol) oraz ruchu HTTPS. Ponadto usługa Azure Firewall Premium obejmuje system wykrywania i ochrony przed włamaniami (IDPS) oraz kontrolę TLS.
- Azure Application Gateway działa jako moduł równoważenia obciążenia dla ruchu HTTPS oraz jako odwrotny serwer proxy, który może szyfrować i odszyfrowywać ruch SSL (Secure Socket Layer). Azure Application Gateway obsługuje inspekcję ruchu internetowego i wykrywanie ataków na poziomie HTTP. Azure Application Gateway posiada dodatek o nazwie Azure Web Application Firewall (WAF), który służy do inspekcji żądań HTTP oraz zapobiegania złośliwym atakom internetowym, skryptom międzywitrynowym (CSS) i wstrzyknięciom SQL.
- Usługi zapory Azure wzajemnie się uzupełniają. Jeśli spojrzymy na zaporę Azure jako zaporę sieciową i zaporę aplikacji internetowych, możemy sklasyfikować typy ochrony dla każdej zapory w następujący sposób:
- Zapora sieciowa Azure obejmuje ochronę punktu wejścia, obsługę VPN, funkcje sieci rozległej definiowanej programowo (SD-WAN), obsługę wirtualnej sieci WAN oraz zarządzanie tożsamością i dostępem.
- Zapora aplikacji internetowych platformy Azure obejmuje filtrowanie ruchu, ochronę skryptów, bezpieczne dostarczanie, dostosowane zestawy reguł, ochronę interfejsów API oraz zabezpieczenia.
Platforma Google Cloud
Można skonfigurować reguły zapory dla ruchu przychodzącego i wychodzącego oraz zabezpieczyć dostęp sieciowy do maszyn wirtualnych działających na platformie Google Cloud. Opcje zapory są częścią konfiguracji sieci VPC. Reguły zapory sieciowej dla Google VPC działają podobnie do grup zabezpieczeń AWS.
Werdykt
Wszystkie trzy platformy chmurowe zapewniają doskonałe możliwości sieciowe i zaspokajają potrzeby użytkowników. Różnica polega na tym, w jaki sposób usługi są wdrażane na każdej platformie chmurowej oraz jakie indywidualne funkcje są dostępne dla każdej usługi.
Aby uzyskać mniejsze opóźnienia sieciowe, wybierz region centrum danych, który jest geograficznie najbliżej fizycznej lokalizacji Twojej organizacji. Jeśli połączysz swoją infrastrukturę na miejscu (na przykład VMware vSphere) z infrastrukturą chmury publicznej i skonfigurujesz połączenia sieciowe między nimi, uzyskasz model wdrażania chmury hybrydowej. Microsoft Azure zapewnia szeroki zakres opcji hybrydowych dla klientów Microsoftu.
Bezpieczeństwo
Zapora sieciowa pomaga zwiększyć bezpieczeństwo sieci na miejscu i w chmurze. Istnieją jednak dodatkowe funkcje platform chmurowych, które podnoszą poziom bezpieczeństwa. Wszystkie trzy platformy chmurowe zapewniają doskonały poziom bezpieczeństwa dzięki szyfrowanym połączeniom z ich usługami w chmurze. Klienci mogą jednak potrzebować sprawdzić i zmodyfikować konfiguracje zabezpieczeń, aby spełnić swoje wymagania w zakresie bezpieczeństwa.
AWS
AWS stosuje izolację bezpieczeństwa jako domyślną zasadę podczas tworzenia konta, maszyny wirtualnej lub innych obiektów, aby chronić zasoby chmury przed nieautoryzowanym dostępem. Polityka bezpieczeństwa jest domyślnie rygorystyczna. Niektóre narzędzia bezpieczeństwa mogą być obsługiwane w określonych regionach, ale nie w innych.
Azure
Jedną z najpopularniejszych funkcji bezpieczeństwa platformy chmurowej Azure jest Azure Active Directory. Active Directory to scentralizowana usługa uwierzytelniania opracowana przez firmę Microsoft w celu bezpiecznego uwierzytelniania komputerów z systemem Windows i obsługiwanych programów. Azure Active Directory umożliwia integrację lokalnej usługi Active Directory w domenie Active Directory z usługą Azure Active Directory w chmurze. Można skonfigurować usługi Active Directory Federation Services w celu korzystania z pojedynczego logowania w różnych usługach.
Jeśli utworzysz obiekt w chmurze, domyślna konfiguracja zabezpieczeń nie jest tak rygorystyczna jak w AWS. AWS i Google Cloud stosują domyślną politykę „Odmowa” w konfiguracji dostępu, podczas gdy Azure stosuje politykę „Zezwól”. Na przykład, jeśli utworzysz nową sieć wirtualną i nową maszynę wirtualną w Azure, wszystkie protokoły i porty są domyślnie otwarte.
Dzienniki aktywności Azure i Centrum zabezpieczeń Azure zapewniają wiele korzyści w porównaniu z AWS. Nie musisz ręcznie tworzyć funkcji Lambda, aby przenosić zdarzenia między regionami, gdy korzystasz z Azure z funkcją dzienników aktywności.
Uwaga: Konfigurowanie ustawień zabezpieczeń może być trudne, dlatego profesjonalna dokumentacja jest mile widziana. Dokumentacja dotycząca platformy Azure nie jest jednak tak szczegółowa jak w przypadku AWS.
Platforma Google Cloud
Platforma Google Cloud jest bardziej scentralizowana i podobna do platformy Azure. Kiedy firma Google uruchomiła usługi w chmurze Google, wszystkie usługi zostały zaplanowane tak, aby dobrze współdziałały z innymi usługami, i zostały uruchomione jednocześnie (w AWS usługi były dodawane pojedynczo). Projekty na koncie są domyślnie odizolowane od siebie. Centrum dowodzenia Cloud Security Command Center w Google Cloud jest odpowiednikiem centrum Azure Security Center. Poziom bezpieczeństwa w Google Cloud plasuje się gdzieś pomiędzy zabezpieczeniami AWS a Azure.
AWS Security Hub, Azure Security Center oraz Cloud Security Command Center w Google Cloud to narzędzia do zarządzania bezpieczeństwem dla poszczególnych platform chmurowych.
Wniosek
Amazon zapewnia duża liczba certyfikatów zgodności obejmujące GDPR, PCI-DSS, FIPS 140-2, HIPAA/HITECH, FedRAMP oraz NIST 800-171. Korzystając z AWS Artifact, można uzyskać dostęp na żądanie do ponad 2500 mechanizmów kontroli bezpieczeństwa. Również w Microsoft Azure istnieją silne mechanizmy kontroli cyberbezpieczeństwa, z ponad 90 certyfikatów zgodności w ponad 50 różnych regionach. Google Cloud spełnia 45 certyfikatów zgodności.
Bazy danych
Wszyscy trzej dostawcy oferują klientom opcję bazy danych jako usługi (DBaaS). Dzięki DBaaS klienci mogą korzystać z baz danych bez konieczności zarządzania infrastrukturą do ich obsługi. Obsługiwane są zarówno bazy danych relacyjne, jak i NoSQL.
- AWS oferuje najszerszy wybór opcji baz danych. Rozwiązania charakteryzują się wysoką wydajnością, innowacje są wdrażane na czas, a tradycyjne technologie baz danych są dostępne. Możesz wybrać usługi baz danych AWS, jeśli już korzystasz z innych usług AWS, oczekujesz wysokiego poziomu wydajności i niezawodności lub potrzebujesz najszerszego zestawu opcji.
- Azure zapewnia doskonałe wsparcie dla migracji, w tym ocenę migracji, automatyzację i optymalizację. Dostępne są elastyczne opcje wdrażania, opcje licencjonowania oraz wdrożenie hybrydowe (dla tych, którzy mają określone wymagania dotyczące bezpieczeństwa i prywatności). Możesz wybrać bazy danych Azure, jeśli już korzystasz z oprogramowania Microsoft w swoich środowiskach (w tym w środowisku hybrydowym opartym na Microsoft), musisz przenieść bazę danych do chmury oraz gdy prywatność jest szczególnie ważna.
- Google Cloud Platform. Usługi baz danych w Google Cloud są najbardziej przyjazne dla użytkownika i zapewniają najlepszą wydajność dla obciążeń. Google oferuje doskonałe możliwości korzystania z baz danych z kontenerami w Google Cloud. Możesz preferować bazy danych Google, jeśli potrzebujesz podłączyć bazę danych do kontenerów (dla architektury mikrousług) oraz jeśli potrzebujesz wysokiej wydajności i rozwiązania przyjaznego dla użytkownika.
| AWS | Azure | Google Cloud | |
| Baza danych relacyjna | Amazon RDS | Baza danych Microsoft SQL | Google Cloud SQL |
| NoSQL Key-Value | Amazon DynamoDB | Magazyn danych | Google Cloud Bigtable
Google Cloud Magazyn danych |
| NoSQL Key-Index | Amazon SimpleDB | Azure Cosmos DB | Google Cloud Magazyn danych |
Wnioski
Wszystkie trzy platformy oferują identyczne usługi bazodanowe w różnych kategoriach. Zarządzane usługi bazodanowe są niemal identyczne w tym porównaniu baz danych AWS, Microsoft Azure i Google Cloud.
Zauważalna różnica może pojawić się przy korzystaniu z licencji na Microsoft SQL Server (przy użyciu IaaS). W Azure i AWS dostępne są funkcje optymalizacji kosztów, ale nie w Google Cloud. Azure jest najbardziej ekonomiczną chmurą dla Microsoft SQL Server.
Jeśli chodzi o Baza danych Oracle (przy użyciu IaaS), istnieje również znacząca różnica w licencjonowaniu. Można zapoznać się z wytycznymi i przeprowadzić wdrażanie Oracle w AWS i Azure, korzystając z elastycznego wyboru konfiguracji maszyn wirtualnych/instancji. W Google Cloud Platform można wdrożyć bazę danych Oracle tylko na drogich serwerach typu bare metal. Azure zapewnia łączność o niskim opóźnieniu z chmurą Oracle w niektórych regionach dzięki partnerstwu między Microsoftem a Oracle.
Regiony i strefy dostępności
Każdy dostawca usług w chmurze obejmuje swoimi centrami danych następujące główne obszary: Europę, Amerykę Północną, Azję Południowo-Wschodnią, Azję Wschodnią i Chiny. Centra danych te są rozmieszczone w jednostkach zwanych regionami i strefami dostępności.
Region to zbiór centrów danych zbudowanych na określonym (oddzielnym) obszarze geograficznym. Region to obszar, na którym fizycznie znajdują się centra danych. Centra danych są połączone ze sobą za pomocą sieci o niskim opóźnieniu (obwód zdefiniowany przez opóźnienie). Regiony to największe jednostki dostawców usług w chmurze, które zawierają strefy dostępności. Jeden region jest całkowicie niezależny od innych regionów.
Strefa dostępności to unikalna fizyczna lokalizacja w obrębie regionu. Strefy dostępności są odizolowane od siebie w obrębie regionu i połączone ze sobą za pomocą szybkich, redundantnych sieci. Jeśli jedna strefa dostępności w regionie ulegnie awarii, inne działające strefy dostępności zapewniają klientom potrzebne usługi. Strefa dostępności składa się z jednego lub więcej centrów danych.
- AWS . Amazon zapewnia ponad 80 stref dostępności w 25 regionach geograficznych.
- Azure . W Azure istnieje ponad 60 regionów, z co najmniej 3 strefami dostępności w każdym regionie. Platforma chmura Azure dysponuje ponad 160 fizycznymi centrami danych w 140 krajach.
- Google Cloud Platform . Istnieje 24 regionów i 73 stref dostępności.
| AWS | Azure | Google Cloud | |
| Regiony | 25 | ponad 60 | 24 |
| Strefy dostępności | 80 | ponad 180 (co najmniej 3 na region) | 73 |
| Punkt obecności (POP) | 230 | 130 | 144* |
| Kraje | 245 | 140 | 200 |
| * Lokalizacje brzegowe sieci | |||
Uwaga : Dostawcy okresowo dodają strefy dostępności i centra danych w różnych krajach. Zobacz szczegółową, zaktualizowaną listę miast i innych lokalizacji centrów danych na stronie internetowej każdego dostawcy usług w chmurze. Mapa lokalizacji centrów danych może pomóc w wyborze centrów danych w potrzebnej lokalizacji.
Werdykt
Jeśli chcesz wdrożyć maszyny wirtualne w jak największej liczbie lokalizacji geograficznych na całym świecie, korzystając z różnych regionów i stref dostępności, możesz skorzystać z Microsoft Azure.
Ceny AWS vs GCP vs Azure
Cena jest ważnym czynnikiem, który wpływa na wybór platformy chmurowej. Znajomość ceny pomaga oszacować, ile trzeba wydać na usługi w chmurze. Trudno jest porównać ceny AWS, Azure i Google, ponieważ ceny zmieniają się od czasu do czasu.
Główne koszty dotyczą zazwyczaj usług obliczeniowych, takich jak maszyny wirtualne. Cena zależy od regionu, w którym znajduje się centrum danych, konfiguracji Procesora maszyny wirtualnej, ilości pamięci, miejsca na dysku oraz typu dysku (SSD lub HDD).
Rozliczenie za działanie maszyny wirtualnej odbywa się na zasadzie stawki godzinowej i sekundowej. Jeśli opłacisz roczną subskrypcję w ramach jednej transakcji (lub dłuższą, na przykład trzyletnią), możesz uzyskać zniżkę. W takim przypadku zazwyczaj należy wybrać instancję zarezerwowaną odpowiedniego typu.
Uwaga : Ceny mogą ulegać zmianom w czasie. Aby uzyskać aktualne ceny, sprawdź informacje o cenach na stronach internetowych AWS, Azure i Google Cloud.
Konfiguracje maszyn wirtualnych
Aby rzetelnie porównać dostawców usług w chmurze pod względem cen, należy wybrać ten sam region dla wszystkich trzech dostawców oraz podobną konfigurację maszyn wirtualnych. AWS, Azure i Google oferują wstępnie skonfigurowane maszyny wirtualne (należy wybrać gotowy zestaw ustawień).
Przykład 1
W poniższej tabeli przedstawiono cztery typy maszyn wirtualnych o podobnych konfiguracjach.
Uwaga : Niektóre maszyny wirtualne Google mają więcej pamięci i procesorów, ponieważ w odpowiedniej klasie maszyn wirtualnych Google w tym przykładzie nie ma w 100% identycznej konfiguracji. Na potrzeby tego porównania wybrano najbardziej odpowiednią konfigurację dla maszyny wirtualnej Google.
Tabela 1: Rodzaje instancji (maszyn wirtualnych)
| Typ instancji | Instancje AWS | Pamięć RAM AWS (GB) | Maszyny wirtualne Azure | Pamięć RAM Azure (GB) | Maszyny wirtualne Google | Pamięć RAM Google (GB) |
| Ogólnego przeznaczenia | m6g.xlarge | 16 | B4MS | 16 | e2-standard-4 | 16 |
| Zoptymalizowane pod kątem pamięci | r6g.xlarge | 32 | E4a v4 | 32 | m1-ultramem-40 | 961 |
| Zoptymalizowane pod kątem obliczeń | c6g.xlarge | 8 | F4s v2 | 8 | c2-standard-4 | 16 |
| Przetwarzanie przyspieszone | p2.xlarge | 61 | NC4as T4 v3 | 28 | a2-highcpu-1g | 85 |
Sprawdźmy cenę za godzinę w momencie pisania tego artykułu (listopad 2021 r.) dla wybranej konfiguracji maszyn wirtualnych.
Tabela 2: Ceny na żądanie (USD)
| Typ instancji | AWS | Azure | Ceny AWS (za godzinę) | Ceny Azure (za godzinę) | Ceny Google (za godzinę) | |
| Ogólnego przeznaczenia | m6g.xlarge | B4MS | e2-standard-4 | 0,154 | 0,166 | 0,156 |
| Zoptymalizowane pod kątem pamięci | r6g.xlarge | E4a v4 | m1-ultramem-40 | 0,202 | 0,252 | 6,303 |
| Optymalizacja obliczeniowa | c6g.xlarge | F4s v2 | c2-standard-4 | 0,136 | 0,169 | 0,235 |
| Przyspieszone obliczenia | p2.xlarge | NC4as T4 v3 | a2-highcpu-1g | 0,90 | 0,526 | 3,839 |
Ceny maszyn wirtualnych w AWS i Google Cloud są podobne w przypadku maszyn wirtualnych ogólnego przeznaczenia i maszyn wirtualnych zoptymalizowanych pod kątem pamięci. Różnica w cenie między platformą chmurową Azure a usługą chmury AWS w przypadku maszyn wirtualnych zoptymalizowanych pod kątem obliczeniowym jest znikoma. Należy jednak pamiętać, że jest to tylko jeden przykład, a jeśli wybierzesz umowę na 1 rok, inny dostawca usług w chmurze może zaoferować najniższą cenę za dany typ instancji. Ponadto istnieją różne ceny za kontenery, pamięć masową, usługi baz danych i inne rodzaje przetwarzania w chmurze.
Przykład 2
Wybierzmy najmniejszą i największą maszynę wirtualną dla każdej platformy o identycznych parametrach i porównajmy cenę miesięczną (poniższe informacje są aktualne w momencie pisania).
Tabela 1: Konfiguracja maszyn wirtualnych
| Typ maszyny wirtualnej | Procesor AWS | Pamięć RAM AWS | Procesor Azure | Pamięć RAM Azure | Procesor Google | Pamięć RAM Google |
| Najmniejsza | 2 procesory | 8 GB | 2 procesory | 8 GB | 2 procesory | 8 GB |
| Największa | 128 procesorów | 3,84 TB | 128 procesorów | 3,89 TB | 160 procesorów | 3,75 TB |
Tabela 2: Cena (USD) wybranych maszyn wirtualnych
| Typ maszyny wirtualnej | AWS | Azure | Google Cloud |
| Najmniejsza | 69 USD/miesiąc | 70 USD/miesiąc | 52 USD/miesiąc |
| Największa | 3,97 USD/godz. | 6,79 USD/godz. | 5,32 USD/godz. |
W tym przykładzie cena najmniejszej instancji w AWS i Azure jest niemal taka sama, ale cena w Google Cloud Platform wynosi znacznie mniej. Jeśli chodzi o największą instancję maszyny wirtualnej, najniższą cenę oferuje AWS, a najwyższą – Azure. Należy pamiętać, że maszyny wirtualne w Azure wykorzystują rzeczywiste rdzenie Procesora, w przeciwieństwie do maszyn wirtualnych w AWS i w chmurze Google, gdzie stosowane są rdzenie logiczne (rdzenie z technologią Hyper-Threading). Rzeczywiste rdzenie zapewniają wyższą wydajność.
Jak widać na tych przykładach, najlepsza cena usług w chmurze zależy od scenariusza i wymagań użytkownika.
Koszty przechowywania danych
Przechowywanie obiektowe. Istnieją pewne główne różnice między cenami przechowywania obiektowego w AWS i Google Cloud oraz między podejściami stosowanymi do ustalania ceny.
- W Google Cloud Platform płaci się za operacje związane z przechowywaniem obiektowym i ruchem wychodzącym z sieci, a także ma się natychmiastowy dostęp do wszystkich rzadko używanych warstw pamięci masowej. Przed obliczeniem kosztów zaleca się modelowanie dostępu do danych.
- W AWS czas dostępu do archiwalnej pamięci masowej Amazon wynosi od kilku minut do kilku godzin.
Pamięć blokowa. Istnieją różnice między AWS a Google Cloud. Google Cloud zapewnia wysoką dostępność w całym regionie, w różnych strefach dostępności oraz w wielu regionach. AWS zapewnia nadmiarowość tylko w obrębie tej samej strefy dostępności. AWS pobiera dodatkową opłatę za przydzielone IOPS, co pozwala woluminom EBS na przekroczenie ich zwykłych szybkości transmisji danych. W Google Cloud nie ma limitu IOPS dla pamięci blokowej Google i nie płaci się za dodatkowe IOPS.
AWS
- Ogólnie rzecz biorąc, cennik AWS jest skomplikowany i trudno jest zrozumieć strukturę kosztów, zwłaszcza nowym klientom.
- Aby uzyskać rabat , AWS wymaga przedpłaty za instancje zarezerwowane, które są przeznaczone do długoterminowego użytkowania.
- Jeśli maszyna wirtualna jest zatrzymana, opłata jest naliczana tylko za przestrzeń dyskową wykorzystywaną przez woluminy EBS.
- Nowi użytkownicy AWS otrzymują 12-miesięczną bezpłatną wersję próbną .
Azure
- Oprogramowanie Microsoftu cieszy się popularnością wśród klientów i jest szeroko stosowane przez organizacje. Jest to jeden z powodów sukcesu Microsoftu jako dostawcy usług w chmurze.
- Zniżki są oferowane obecnym klientom Microsoftu, którzy logują się do Azure i korzystają z usług chmury AWS. Przed rozpoczęciem korzystania z Azure warto zapoznać się z opcjami licencjonowania oprogramowania Microsoftu. W przypadku przedpłaty za 12 miesięcy przysługuje 5% zniżki.
- Wyłączanie maszyn wirtualnych należy przeprowadzać prawidłowo, bez zachowywania adresu IP przypisanego do maszyny wirtualnej. Aby uniknąć naliczania opłat, należy zwolnić maszynę wirtualną, jeśli nie działa ona w platformie Azure.
- Okres bezpłatnej wersji próbnej dla nowych klientów platformy Azure wynosi 12 miesięcy i obejmuje kwotę 200 USD, którą można wykorzystać w ciągu pierwszych 30 dni od rejestracji i rozpoczęcia wersji próbnej. W ramach okresu próbnego dostępnych jest ponad 25 produktów Microsoft w Azure.
Google Chmura
- Google Chmura oferuje przyjazną dla użytkownika strukturę cenową. Dostępne są rabaty dla długotrwałych obciążeń bez konieczności podejmowania zobowiązań z góry.
- Po zatrzymaniu maszyny wirtualnej nie są naliczane opłaty za zasoby obliczeniowe maszyny wirtualnej, takie jak Procesor, karta graficzna lub pamięć, ale są naliczane opłaty za zasoby przypisane do maszyny wirtualnej, takie jak dyski trwałe i statyczne adresy IP.
- Google zapewnia kredyt w wysokości 300 USD na 90 dni dla nowych użytkowników, którzy rozpoczynają bezpłatną wersję próbną . Użytkownikom korzystającym z wersji próbnej oferowanych jest ponad 20 produktów z usług chmury Google.
Uwaga : Istnieją narzędzia do optymalizacji kosztów , które mogą pomóc w wyborze optymalnej konfiguracji usług na wybranej platformie chmurowej:
- AWS : AWS Cost Explorer, AWS Trusted Advisor, AWS Budgets
- Azure : Azure Advisor
- Google Cloud Platform: Zarządzanie kosztami
Wniosek
Nie ma uniwersalnej rekomendacji, którą platformę wybrać, aby uzyskać najniższą cenę. Podział kosztów jest skomplikowany w porównaniu dostawców usług w chmurze, ponieważ każda platforma w chmurze stosuje inne modele cenowe. Skorzystaj z Kalkulator cen AWS, Kalkulator cen usług Azurei Kalkulator cen Google Cloud , aby uzyskać dokładną cenę dla potrzebnej konfiguracji i porównać ceny. Korzystanie z kalkulatora to najlepszy sposób na oszacowanie miesięcznych wydatków na wymagane usługi w chmurze.
Usługi analizy danych i uczenia maszynowego
Wszyscy trzej dostawcy oferują usługi analizy danych, uczenia maszynowego (ML) oraz sztucznej inteligencji (AI). Tego typu usługi chmury obliczeniowej są obecnie szeroko stosowane do analizy danych, nauki, prac badawczych, automatyzacji itp. ML zazwyczaj obejmuje wstępne przetwarzanie danych, szkolenie modeli, ocenę modeli, przewidywanie zdarzeń, rozpoznawanie obrazów itp. Do wykonywania tego typu zadań nadają się wysoce skalowalne chmury obliczeniowe. Platforma w chmurze Amazon, platforma w chmurze Azure oraz Google Cloud Platform oferują usługi uczenia maszynowego jako usługę (MLaaS).
Starsza usługa uczenia maszynowego w AWS nosi nazwę Amazon Machine Learning, a nowsza to SageMaker. Amazon Machine Learning służy przede wszystkim do analizy predykcyjnej, natomiast SageMaker jest preferowany przez analityków danych. Zarówno Amazon, jak i Azure oferują integrację z Jupiterem, co pozwala na pisanie kodu w ML Studio. Jedną z najlepszych usług ML oferowanych przez Google jest Vision AI (oparta na Auto ML).
AWS Usługi AI/ML (12):
- SageMaker
- Uczenie maszynowe
- Comprehend
- Lex
- Polly
- Rekognition
- Translate
- Transcribe
- DeepLens
- AMI do głębokiego uczenia
- Apache MXNet na AWS
- TensorFlow na AWS
Microsoft Azure Platforma AI (3 usługi):
- Uczenie maszynowe
- Azure Bot Service
- Cognitive Services
Google Platforma AI (9 usług):
- Cloud Machine Learning Engine
- Dialogflow Enterprise Edition
- Cloud Natural Language
- Cloud Speech API
- Cloud Translation API
- Cloud Video Intelligence
- Cloud Job Discovery (prywatna wersja beta)
Zobacz listę dostępnych funkcji ML/AI w porównaniu AWS, Azure i Google Cloud w tabeli poniżej.
| Amazon ML i SageMaker | Platforma Microsoft Azure AI | Platforma Google AI | |
| Klasyfikacja | + | + | + |
| Regresja | + | + | + |
| Klasteryzacja | + | + | + |
| Wykrywanie anomalii | + | + | – |
| Rekomendacje | + | + | + |
| Ranking | + | + | – |
| Oznaczanie danych | + | + | + |
| Obsługa potoku MLOps | + | + | + |
| Wbudowane algorytmy | + | + | + |
| Obsługiwane frameworki | TensorFlow, MXNet, Keras, Gluon, PyTorch, Caffe2, Chainer, Torch | TensorFlow, scikit-learn, PyTorch, Microsoft Cognitive Toolkit, Spark ML | TensorFlow, scikit-learn, XGBoost, Keras |
Interfejsy API uczenia maszynowego
Oprócz doskonałych i wydajnych platform chmurowych z gotowymi do użycia usługami, możesz korzystać z zaawansowanych interfejsów API do pracy z własnymi aplikacjami. Można korzystać z tych usług z gotowymi, wytrenowanymi modelami, wprowadzać dane (dane wejściowe) i uzyskiwać wyniki (dane wyjściowe).
W niniejszym porównaniu AWS, Azure i Google interfejsy API podzielono na trzy grupy:
- Tłumaczenie, rozpoznawanie i analiza tekstu
- Rozpoznawanie i analiza wideo oraz obrazów
- Inne usługi niesklasyfikowane
Porównanie interfejsów API do przetwarzania mowy i tekstu znajduje się w tabeli poniżej.
| AWS | Azure | Google Cloud | |
| Rozpoznawanie mowy (mowa na tekst) | + | + | + |
| Konwersja tekstu na mowę | + | + | + |
| Ekstrakcja encji | + | + | + |
| Ekstrakcja fraz kluczowych | + | + | + |
| Rozpoznawanie języka | Ponad 100 języków | 120 języków | Ponad 120 języków |
| Ekstrakcja tematów | + | + | + |
| Sprawdzanie pisowni | – | + | – |
| Autouzupełnianie | – | + | – |
| Weryfikacja głosowa | + | + | – |
| Analiza intencji | + | + | + |
| Ekstrakcja metadanych | – | – | – |
| Analiza relacji | – | + | – |
| Analiza nastrojów | + | + | + |
| Analiza osobowości | – | – | – |
| Analiza składniowa | – | + | + |
| Oznaczanie części mowy | – | + | + |
| Filtrowanie nieodpowiednich treści | – | + | + |
| Obsługa dźwięku niskiej jakości | + | + | + |
| Tłumaczenie | 6 języków | Ponad 60 języków | Ponad 100 języków |
| Zestaw narzędzi dla chatbotów | + | + | + |
Porównanie wszechstronnych interfejsów API do analizy obrazów przedstawiono w poniższej tabeli.
| AWS | Azure | Google Cloud | |
| Wykrywanie obiektów | + | + | + |
| Wykrywanie scen | + | + | + |
| Wykrywanie twarzy | + | + | + |
| Rozpoznawanie twarzy | + | + | – |
| Identyfikacja twarzy osoby | + | + | + |
| Analiza twarzy | + | + | + |
| Wykrywanie nieodpowiednich treści | + | + | + |
| Rozpoznawanie celebrytów | + | + | + |
| Rozpoznawanie tekstu | + | + | + |
| Rozpoznawanie tekstu pisanego | + | + | + |
| Wyszukiwanie podobnych obrazów w sieci | – | – | + |
| Wykrywanie logo | – | – | + |
| Wykrywanie punktów orientacyjnych | – | + | + |
| Rozpoznawanie potraw | + | + | – |
| Wykrywanie dominujących kolorów | – | + | + |
Porównanie interfejsów API do analizy wideo
Proces analizy wideo wykazuje podobieństwa do procesu analizy obrazu, jednak w porównaniu interfejsów API do analizy wideo między AWS, Azure i Google Cloud ranking dostawców usług w chmurze wygląda inaczej. W przeciwieństwie do obsługi przetwarzania obrazów, Google nie zapewnia bogatego zestawu interfejsów API do analizy wideo, a wiele funkcji jest nadal w fazie rozwoju lub wersji beta. Amazon i Microsoft zapewniają szerszy zestaw interfejsów API do analizy wideo i powiązanych funkcji.
| AWS | Azure | Google Cloud | |
| Wykrywanie obiektów | + | + | + |
| Wykrywanie scen | + | + | + |
| Wykrywanie aktywności | + | – | – |
| Rozpoznawanie twarzy | + | + | – |
| Analiza twarzy i nastrojów | + | + | – |
| Wykrywanie nieodpowiednich treści | + | + | + |
| Rozpoznawanie celebrytów | + | + | – |
| Rozpoznawanie tekstu | + | + | – |
| Śledzenie osób na filmach | + | + | – |
| Transkrypcja audio | – | + | + |
| Indeksowanie mówców | – | + | – |
| Wyodrębnianie klatek kluczowych | – | + | – |
| Tłumaczenie filmów | – | 9 języków | – |
| Wydobywanie słów kluczowych | – | + | – |
| Rozpoznawanie marki | – | + | – |
| Adnotacja | – | + | – |
| Wykrywanie dominujących kolorów | – | – | – |
| Analiza w czasie rzeczywistym | + | – | – |
Wniosek
Platforma Google Cloud to właściwy wybór do prowadzenia operacji uczenia maszynowego i zadań opartych na sztucznej inteligencji, a AWS i Azure plasują się tuż za nią. AWS zapewnia różnorodne instancje oparte na różnym, wydajnym sprzęcie zoptymalizowanym pod kątem zadań AI/ML.
Microsoft oferuje najszerszy zestaw funkcji w porównaniu dostawców usług w chmurze w zakresie interfejsów API uczenia maszynowego, podczas gdy Google Cloud Platform oferuje najbardziej wszechstronny zestaw narzędzi do analizy obrazu.
Jeśli chodzi o porównanie interfejsów API wideo AWS, Azure i Google Cloud Platform, Microsoft uzyskuje najwyższy wynik i jest liderem. Jednak AWS oferuje najbardziej wydajne interfejsy API do analizy strumieniowego przesyłania wideo.
Wnioski
Porównanie AWS, Azure i Google Cloud jest złożone, ponieważ każda platforma chmurowa oferuje szeroki zestaw funkcji. Porównując platformę chmurową Amazon, platformę chmurową Azure i usługi chmurowe Google, należy przede wszystkim skupić się na usługach, których potrzebujesz.
AWS jest dostawcą najbardziej uzależnionym od jednego dostawcy, którego celem jest skłonienie użytkowników do korzystania wyłącznie z platformy chmurowej Amazon. Natomiast Google zapewnia klientom elastyczną i liberalną politykę. Microsoft chce połączyć zalety AWS i Google Cloud Platform oraz zintegrować Azure z innymi rozwiązaniami i dostawcami.
Microsoft oferuje najlepsze opcje chmury hybrydowej, które pozwalają na korzystanie z chmury Azure wraz z innymi chmurami oraz serwerami na miejscu w Twoim centrum danych. Zarówno Microsoft, jak i Google zapewniają aplikacje biurowe online, takie jak Microsoft 365 i G-Suite, oprócz platform Azure i Google Cloud.
Warto pamiętać, że obciążenia w chmurze są tak samo narażone na ryzyko utraty danych jak inne rodzaje obciążeń, zwłaszcza na zakłócenia spowodowane przez oprogramowanie wymuszające okup. Pobierz bezpłatną edycję solidnego rozwiązania do ochrony danych od NAKIVO, aby zabezpieczyć swoje obciążenia w chmurze. NAKIVO Backup & Replication zapewnia wsparcie dla wykonania kopii zapasowej instancji Amazon EC2 na nośnikach lokalnych oraz w magazynach-chmurach. Można również wykonać kopię zapasową danych z fizycznych serwerów na miejscu, maszyn wirtualnych VMware i Hyper-V oraz innych danych w usłudze Amazon S3 lub Wasabi.