AWS срещу Google Cloud Platform. Какво е по-добре за DevOps в облака?

Първоначално споделих този материал в блога Syndicode.

Преди няколко месеца публикувах статия за плюсовете и минусите на DevOps като услуга. Там споменах AWS и Google Cloud Platform като основни платформи, които често се използват от DevOps. Защо не можем да направим малко сравнение за тях? Разбира се, сред гигантите има и Microsoft Azure. Но ще се опитам да се върна към него по-късно. И така, днес ще направя основно сравнение за AWS срещу Google Cloud Platform по отношение на използването на тези доставчици на облачни изчисления за DevOps.

Вече знаете, че DevOps като услуга (DaaS) е модел за доставяне на набор от инструменти, който улеснява сътрудничеството между екипа за разработка на софтуер и оперативния екип. В този модел доставчикът на DaaS събира различни инструменти, които обхващат различни аспекти от цялостния процес и ги свързва, за да работят заедно като едно цяло.

В наши дни много организации адаптират DevOps и мигрират своите приложения към облака. По същество това е миграцията на вашите инструменти и процеси за непрекъсната доставка към хоствана виртуална платформа. Как да изберем по-добър доставчик на облачни изчисления?

AWS срещу Google Cloud Platform

Да започнем с уеб услугите на Amazon (AWS). AWS вече изгради мощна глобална мрежа, за да осигури виртуален хост за някои от най-сложните ИТ среди в света. Нейните центрове за данни са свързани с влакна и подредени по целия свят. В AWS плащанията са планирани според услугите, които използвате до милисекундата на изчислителното време. С две думи, AWS е бърз и сравнително лесен начин да мигрирате вашите DevOps към облака.

Опцията DevOps на Google Cloud Platform (GCP), която си струва сериозно да се обмисли също. Все по-нарастващият списък на възможностите на тази глобална мрежа вече включва поддръжката на такива платформи като Visual Studio, Android Studio, Eclipse, Powershell и много други.

AWS

Не е необходимо да назовавате всички очевидни основни предимства на AWS като „автоматизация“, „защитено“, „програмируемо“, „плащане като отивате“ и т.н.

В AWS има три конкретни услуги, които са ядрото на непрекъснатото предоставяне на облак:

  1. AWS CodeBuild Това е разширяема, напълно управлявана услуга за изграждане, която осигурява непрекъснато мащабиране заедно с CI и CD. CodeBuild предлага автоматично мащабиране и нараства при поискване с вашите нужди, например, едновременното внедряване на две различни версии за сглобяване, което позволява сравнително тестване в производствената среда. Особено важно за много организации е разходната ефективност на CodeBuild, тъй като се таксувате от минута за изчислените ресурси, които използвате.
  2. AWS CodePipeline Той изгражда, тества и разгръща вашия код всеки път, когато има промяна на кода, въз основа на моделите на процеса на освобождаване, които сте определили. Това ви позволява бързо и надеждно да доставяте функции и актуализации. Можете лесно да създадете цялостно решение, като използвате предварително изградените приставки за популярни услуги на трети страни като GitHub или интегрирайте собствените си персонализирани приставки във всеки етап от процеса на пускането ви. С този CodePipeline плащате за това, което използвате - без предварителни такси или дългосрочни ангажименти.
  3. AWS CodeDeploy CodeDeploy доставя работния пакет на всеки инстанс, очертал вашите предварително конфигурирани параметри. AWS CodeDeploy автоматизира разгръщането на кода във всеки случай, включително Amazon EC2in вещества и локални сървъри. AWS CodeDeploy улеснява бързото пускане на нови функции, помага за избягване на престой по време на разгръщане на приложението и се справя със сложността на актуализирането на приложенията. Той е кодово-агностичен и лесно включва общ наследствен код.

В допълнение към родните инструменти на AWS DevOps, има някои опции за трети страни като Chef, Puppet, Jenkins и т.н.

Намерете подробности за AWS за DevOps. Някои полезни съвети могат да бъдат намерени в блога на AWS DevOps.

Google Cloud Platform

Google Cloud Platform е съставена от много различни услуги и решения за използване на същата софтуерна и хардуерна инфраструктура, която Google използва за собствените си продукти (като YouTube и Gmail).

Някои от основните предимства на GCP са, че това е една от най-големите и най-модерни компютърни мрежи и ви дава достъп до многобройните инструменти, които да ви помогнат да се съсредоточите върху изграждането на приложението си. Мониторинг на Stackdriver, отстраняване на грешки в Stackdriver, Stackdriver Logging, услуга за сканиране на сигурност (App Engine) и много други. Можете да ги използвате незабавно като част от проекта за жизнения цикъл на приложението.

Инструментите за собствено управление за облачната среда на Google включват следните модули:

  • Google Compute Engine Google Compute Engine позволява на потребителите да стартират виртуални машини при поискване. Това е една от основните услуги за пълна изолация и автоматично мащабиране от единични инстанции до глобални. Виртуалните виртуални машини на Compute Engine се зареждат бързо, идват с устойчиво съхранение на дискове и осигуряват постоянна производителност. Виртуалните му сървъри се предлагат в много конфигурации, включително предварително зададени размери или опция за създаване на персонализирани типове машини, оптимизирани за специфични нужди. Забележете, ако сравните, Amazon EC2 е по същество същото като Google Compute Engine.
  • GCP Deployment Manager Google Cloud Deployment Manager ви позволява да укажете всички ресурси, необходими за вашето приложение в декларативен формат, използвайки yaml (или Python, или Jinja2). Това означава, че вместо старателно да изброява всяка стъпка, която ще е необходима за внедряване, екипите на DevOps могат да кажат на Deployment Manager как трябва да изглежда окончателното внедряване и GCP ще използва необходимите инструменти и процеси за вас. Когато е разработена перфектна процедура за внедряване, тя се записва, за да бъде повторяема и мащабируема при поискване. С Google Cloud Deployment Manager можете да разгърнете много ресурси едновременно, паралелно да предавате променливи във вашите шаблони и да получавате изходни стойности обратно, да преглеждате разполаганията си в облачната конзола на Google в йерархичен изглед и още ...
  • Облачната конзола на GCP Cloud ви дава подробен преглед на всеки детайл от вашите DevOps в облака. Уеб приложения, анализ на данни, виртуални машини, съхраняване на данни, бази данни, мрежи, услуги за разработчици ... Google Cloud Console ви помага да разгърнете, мащабирате и диагностицирате производствените проблеми в прост уеб-базиран интерфейс. От виртуални машини за освобождаване на управление и връщане, мастерирайте, следете и управлявайте всички GCP неща от работния плот или в движение. С облачната конзола на GCP за DevOps можете лесно да поемете отговорността за непрекъснатия цикъл на доставка в облака.

Научете повече за платформата Google за DevOps тук. Освен това там можете да прочетете някои полезни съвети, споменати в ръководствата за DevOps, които са свързани към същата страница, която току-що споменах. Документация можете да намерите тук.

Таблица за сравнение на Google Cloud и AWS

пресмятам

Можете да оборудвате екземплярите AWS EC2 с до 128 vCPU и 3 904 GB RAM.

срещу

Можете да оборудвате екземплярите на Google Compute Engine с до 96 vCPU и 624 GB RAM

Склад / Disk

AWS

Общи с размери на силата на звука от 1GB до 16TB и предлагани IOPS SSD от 4GB до 16 TB

срещу

GCP

SSD, размери на обема от 1 GB до 64 TB

мрежа

AWS

Екземплярите на Amazon EC2 имат максимална честотна лента от 25 Gbps, но това е само при най-големите размери на екземплярите. Стандартни екземпляри максимум при 10 Gbps / секунда.

срещу

GCP

Всяко ядро ​​е подчинено на 2 Gbits / секунда (Gbps) капачка за максимална производителност. Всяко допълнително ядро ​​увеличава капачката на мрежата, до теоретичен максимум от 16 Gbps за всяка виртуална машина.

Таксуване и цени

AWS прост месечен калкулатор

срещу

Калкулатор за ценообразуване на Google Cloud Platform

(Нарочно не споменах цените - трябва да въведете необходимите параметри, за да видите ценообразуването).

поддържа

AWS Документация

AWS ForumsGoogle

срещу

Облачни форуми

Google Cloud Documentation

Сигурност

Моделът за сигурност на платформата AWS включва:

  • Всички данни, съхранявани в EC2 инстанции, са криптирани под 256-битов AES и всеки ключ за криптиране също се криптира с набор от редовно променени главни ключове.
  • Мрежовите защитни стени, вградени в Amazon VPC, и възможностите на защитната стена на уеб приложенията в AWS WAF ви позволяват да създавате частни мрежи и да контролирате достъпа до вашите инстанции и приложения.
  • AWS управление на идентичността и достъпа (IAM), многофакторната автентификация на AWS и услугите на AWS Directory позволяват дефиниране, налагане и управление на политики за достъп на потребителите.
  • AWS има удобни за одита сервизни функции за PCI, ISO, HIPAA, SOC и други стандарти за съответствие.

Моделът за сигурност на Google Cloud включва:

  • Всички данни, съхранявани на устойчиви дискове и са криптирани под 256-битов AES и всеки ключ за криптиране също се криптира с набор от редовно сменяни главни ключове. По подразбиране.
  • Ангажимент за сертификати за сигурност на предприятието (SSAE16, ISO 27017, ISO 27018, PCI и HIPAA съответствие).
  • Изискват се само удостоверени и оторизирани заявки от други компоненти, които идват в стека за съхранение на Google.
  • Google Cloud Identity and Access Access (Cloud IAM) стартира през септември 2017 г., за да осигури предварително определени роли, които дават подробен достъп до конкретни ресурси на Cloud Cloud Platform и предотвратяват нежелан достъп до други ресурси.

Най-важните данни за телеметрията за DevOps

Когато сте избрали вашия доставчик, жизненоважно е да следите статистиката си, която трябва да включва следващите параметри:

  • Здраве и статистика на сървъра и VM
  • Здраве на приложението
  • Автоматизирани резултати от тестване
  • Обем на мрежата
  • Дейност на списъка за сигурност и контрол на достъпа
  • Транзакции с база данни

заключение

В наши дни облачните изчисления са станали по-ефективни по отношение на разходите, надеждни и сигурни. Всички основни доставчици вече инвестират в своя хардуер, софтуер и глобална мрежова инфраструктура, за да получат повече пазарен дял. Поради конкуренцията между тях, екипите на DevOps получиха много сложни, лесни за интегриране решения, бързи и хай-енд приложения. Тъй като качеството остава почти равно, разликата между основните доставчици на облачни изчисления се състои най-вече в цената и броя на опциите, които получавате.

Това, което също може да промени това, са зоните на работа. AWS оперира 49 зони за наличност в рамките на 18 географски региона, с обявени планове за още 12 зони за наличност и още четири региона в Бахрейн, Хонконгска SAR, Швеция и втори AWS регион GovCloud в САЩ. Докато Google Cloud Platform има 13 региона, 39 зони, над 100 точки присъствие и глобална мрежа със 100 000s мили оптичен кабел.

Отчитайки пазарния дял, AWS е водеща. Google отбелязва добър напредък, но има много повече работа, за да се докаже, че е жизнеспособна корпоративна опция.

AWS е водеща по отношение на броя на клиентите и продуктите. От друга страна, GCP вече осигурява цялата необходима функционалност и предлага добри цени заедно с конфигурационни модели, подкрепени от сериозни мерки за поверителност на трафика и сигурност.

И така, какво е по-добре за DevOps в облака? Нямам отговор, но ви показах алтернативите, от които да избирате. Сега, когато разполагате с всички данни, имате право да вземете собствено решение за вашия екип на DevOps!

послепис Не забравяйте за Microsoft Azure! Ще разгледам и това скоро!

Допълнително четене:

  1. Ресурси за влизане в DevOps
  2. Управляваният DevOps Services и Cloud Services Landscape
  3. Google Cloud vs AWS (подробно сравнение на параметрите), там ще намерите дори тест за латентност и за двете!

Сравнението AWS срещу Heroku също може да бъде полезно!

Благодаря ви за четенето!