Облачные Сервисы Для Бизнеса Google Cloud Platform
Total Page:16
File Type:pdf, Size:1020Kb
Облачные сервисы для бизнеса Google Cloud Platform Дмитрий Новаковский, Олег Ивонин Февраль 2017 Кто мы? Дмитрий Новаковский / [email protected] ● Customer Engineer @ Google Netherlands B.V. ● Поддержка продаж и разработка решений на основе GCE, GKE, GAE ● В прошлом: ○ IaaS/PaaS (OpenStack @ Mirantis) ○ SaaS (ETAdirect @ TOA Technologies/Oracle) Олег Ивонин / [email protected] ● Cloud Web Solutions Engineer @ Google Netherlands B.V. ● Разработка инструментов для анализа стоимости конфигураций и планирования архитектуры облачных решений на основе GCP ○ Google Cloud Platform Pricing Calculator и другие О чем мы расскажем? ● Часть 1: Google Cloud Platform 101 ● Часть 2: Инфраструктурные сервисы Google Cloud ● Часть 3: Обработка данных в Google Cloud ● Часть 4: Итоги и вопросы/ответы Зачем? Google Cloud Platform 4 Часть 1: Google Cloud Platform 101 Google Cloud Platform 5 Что такое “облако”? Облачные сервисы (облачные вычисления, англ. cloud computing) - это: ● модель предоставления повсеместного удобного сетевого доступа по требованию ● ...к общему пулу конфигурируемых вычислительных ресурсов (серверы, сервисы, сети, хранилища данных, приложения) ● ...с возможностью оперативного предоставления и освобождения при минимальных эксплуатационных затратах (включая взаимодействие с провайдером) Полный документ Google Cloud Platform 6 Характеристики и типы “облаков” Ключевые характеристики Типы облаков 1. Самообслуживание SaaS - Salesforce.com, G Suite, Office 365 2. Универсальный доступ по сети 3. Объединение ресурсов PaaS - Heroku, CloudFoundry, OpenShift 4. Эластичность 5. Учет потребления IaaS - AWS, Microsoft Azure, GCP Полный документ Google Cloud Platform 7 Путь IT-инфраструктуры в “облако” Storage Processing Memory Network Storage Processing Memory Network Physical / Self-Service / Serverless / Colo / VPS Elastic / IaaS NoOps / PaaS Google Cloud Platform 8 Что такое Google Cloud Platform? Google Cloud Platform (GCP) - это набор коммерческих облачных сервисов, основанных на разработках и опыте Google в эксплуатации собственных продуктов Google Cloud Platform 9 MapReduce Dremel Flume Millwheel TensorFlow GFS Bigtable Colossus Megastore PubSub Spanner F1 2002 2004 2006 2008 2010 2012 2014 2016 QUIC Google Watchtower BwE Jupiter Andromeda Global Cache Onix B4 gRPC Kubernetes Limited Released Released isolation CGroups LMCTFY Google Cloud Platform сегодня Вычисления Compute App Container Container Cloud Engine Engine Engine Registry Functions Сетевые сервисы Хранение данных Cloud Virtual Cloud Load Cloud Cloud Cloud Cloud Cloud Persistent Cloud DNS Cloud SQL Network Balancing CDN Interconnect Storage Bigtable Datastore Disk Machine Learning Big Data Cloud Machine Speech Natural Translation Cloud Vision API Cloud Cloud Cloud Learning API Language API API BigQuery Dataflow Dataproc Pub/Sub Datalab Google Cloud Platform 11 Преимущества Google Cloud Platform ● Безопасность в облаке: 600 экспертов, “purpose-built” аппаратная и Безопасность программная инфраструктура (датацентры, сервера, ПО) ● Шифрование данных клиента at rest и in transit, управление ключами ● Самая большая в мире сеть облачного провайдера, построена и Глобальная управляется Google, собственный fiber optic сеть ● 70 точек присутствия, глобальный load balancing, low latency, CDN ● Обширный набор сервисов для хранения и обработки больших данных Big Data и ML ● Google разбрабатывает предлагает лучшие open-source инструменты (Tensorflow, MapReduсe и др), GCP делает их легко доступными ● Google App Engine, BigQuery, Dataproc и другие managed сервисы ускоряют и упрощают разработку проектов и обработку данных. Время и NoOps затраты на поддержку инфраструктуры становятся не нужны Снижение ● GCE дешевле других публичных облаков в среднем на 21% (до 60%) в затрат зависимости от конфигурации ВМ Google Cloud Platform 12 Belgium 2 Finland London 3 3 Frankfurt Oregon 2 3 Iowa 4 3 N Virginia 3 Tokyo 34 S Carolina Taiwan 3 3 Mumbai 2 Singapore 3 São Paulo Sydney 3 Google Cloud Platform снижает затраты Google Cloud Platform 14 Google Cloud Platform снижает затраты Google Cloud Platform 15 Пример архитектуры для сравнения стоимости GCP и AWS ● Пример: система потокового мультимедиа ● Мы сравним стоимость* основных ресурсов у GCP и AWS: ○ 20 виртуальных машин - 4 vCPU / 20 Gb RAM; ○ 40000 Gb (~40Tb) объектного хранилища данных; ○ 100 миллионов запросов к данным 16 Расчетные данные GCP* AWS** 20 x custom-4-16384 (4 vCPUs, $2192.80 20 x m4.xlarge (4 vCPUs, 16GB $3147.60 16GB memory) memory) 40000 GB of regional storage $840 40000 GB of S3 Standard storage $960 100000000 GET requests 100000000 GET requests Снижение затрат: $1074.80 в месяц * Подсчитано при помощи Google Cloud Pricing Calculator ** Подсчитано при помощи AWS Simple Monthly Calculator 17 No lock-in! 18 Часть 2: Инфраструктурные сервисы Google Cloud Google Cloud Platform 19 IaaS / PaaS сервисы в Google Cloud Вычисления Compute App Container Container Cloud Engine Engine Engine Registry Functions Сетевые сервисы Хранение данных Cloud Virtual Cloud Load Cloud Cloud Cloud Cloud Cloud Persistent Cloud DNS Cloud SQL Network Balancing CDN Interconnect Storage Bigtable Datastore Disk Machine Learning Big Data Cloud Machine Speech Natural Translation Cloud Vision API Cloud Cloud Cloud Learning API Language API API BigQuery Dataflow Dataproc Pub/Sub Datalab Google Cloud Platform 20 Cloud Functions Serverless платформа для event-based микросервисов App Engine (GAE) PaaS решение от Google - готовые к использованию runtimes для Python, Java, PHP, Go и других языков. Google Container Engine (GKE) Kubernetes-as-a-service - оркестрация задач в Docker контейнерах Compute Engine (GCE) Полный контроль: “Классические” виртуальные машины 21 Когда используется Google Compute Engine? ● Виртуальные машины с лучшей в классе производительностью и ценой ○ Linux, Windows Server ○ Автоматическое управление нагрузкой и масштабирование групп инстансов ○ Live migration виртуальных машин вместо принудительного выключения ○ HDD и SSD диски, до 25к IOPS на SSD Compute ● Полный контроль над инфраструктурой (серверы, сети, Engine хранилища), пространством ОС, ядром и пакетами Linux ● Возможность запуска любого ПО Google Cloud Platform 22 23 24 Google Compute Engine vs. VPS ● Схожий набор инструментов управления ● Снижение затрат благодаря гибкой системе цен GCE ● Повышение эффективности работы решения: ○ Вспомогательные сервисы (Storage, Database, CDN) ○ Глобальное присутствие Google (сеть и ЦОД) ○ Распределение нагрузки и масштабирование ○ Автоматизация Compute Engine ○ Эластичность ○ NoOps Пример архитектуры: Live Streaming Cloud Functions Serverless платформа для event-based микросервисов App Engine (GAE) PaaS решение от Google - готовые к использованию runtimes для Python, Java, PHP, Go и других языков. Google Container Engine (GKE) Kubernetes-as-a-service - оркестрация задач в Docker контейнерах Compute Engine (GCE) Полный контроль: “Классические” виртуальные машины 27 Что дает контейнеризация? Virtual machine Container Application Code Application Code Dependencies Dependencies OS OS Hardware Hardware 28 Что такое Kubernetes? ● Инструмент оркестрации и управления кластерами контейнеров (Docker, rkt) ○ Масштабирование, управление версиями (upgrade/rollback), A/B testing, и др. ● Устраняет необходимость ручного управления группами Docker хостов ● Декларативный механизм работы ○ Масштабирование и self-healing по заданным параметрам Kubernetes “целевого состояния” (K8s) ● Open-source: github.com/kubernetes ● Основан на опыте и внутренних разработках Google (blog post, research paper) 29 Когда используется Google Container Engine? ● Continuous integration & delivery приложения с использованием контейнеров+конфигурации как конечного артефакта ● Архитектура приложения следует microservices практикам, обширное покрытие автотестами ● Высокая частота релизов новой функциональности в Production Container Engine ● Переносимость и масштабирование среды на другие окружения (Azure, on-premise и др.) Cloud Functions Serverless платформа для event-based микросервисов App Engine (GAE) PaaS решение от Google - готовые к использованию окружения для Python, Java, PHP, Go и других языков. Google Container Engine (GKE) Kubernetes-as-a-service - оркестрация задач в Docker контейнерах Compute Engine (GCE) Полный контроль: “Классические” виртуальные машины 31 Когда используется Google App Engine? ● Сборка и поставка масштабируемых приложений в типовых окружениях ● NoOps cервисы платформы ○ Authentication, Memcache, Load Balancing, Message queues, Task queues, API Endpoints и др ○ SQL & NoSQL DB ○ Debugging, tracing, logging App Engine ● Мониторинг и масштабирование приложения согласно нагрузке и бизнес правилам ● Автоматизация сборки и управления версиями Окружения: GAE Standard vs. Flex Google Cloud Platform 33 Cloud Functions Serverless платформа для event-based микросервисов App Engine (GAE) PaaS решение от Google - готовые к использованию runtimes для Python, Java, PHP, Go и других языков. Google Container Engine (GKE) Kubernetes-as-a-service - оркестрация задач в Docker контейнерах Compute Engine (GCE) Полный контроль: “Классические” виртуальные машины 34 Когда используется Google Cloud Functions? ● Изолированные узкоспециализированные функции ○ Javascript (Node.JS) функции ● Запуск по событию: ○ загрузка объекта в Cloud Storage ○ Прием определенного сообщения в Pub/Sub ○ POST сообщение на внешний API Functions Что выбрать? Google Cloud Platform 36 Что выбрать? ● Choosing a Computing option ● Сhoosing a Storage option Google Cloud Platform 37 Сетевые сервисы в Google