Реальность такова, что столкновение любого айтишника с облаком неизбежно. За последние пять лет Docker произвёл тихую революцию в том, как код пишется и разворачивается. Теперь отговорки в стиле «а на моей машине работает» не прокатят — программист должен сам создать для своего сервиса уютный контейнер. Пользуясь преимуществами дешёвой контейнеризации, можно создавать в облаках настоящие стада микросервисов.
Вместе с ИТ-преподавателем и фулстек-разработчиком Александром Шадуро разбираемся, почему сегодня облачные технологии нужны не только DevOps’ам.
1. Облачные технологии — это идеальная среда для комфортной разработки. Можно делать, что угодно (от небольшой утилиты до симулятора виртуальной реальности), где угодно территориально (главное, с интернетом), на любой операционной системе, для определенного или непредсказуемого программного окружения, и даже несколько проектов параллельно — в облаке хватит для этого ресурсов и мощностей. При этом разработчик cloud-based отчасти сам себе DevOps, способный всё это красиво развернуть, протестировать и задеплоить.
2. Облачные технологии увеличивают скорость разработки от «в разы» до «на порядок». Разработчик, понимающий типы сервисов, которые предоставляют «облака», может принять правильные архитектурные решения на этапе разработки и проектирования системы и не «изобретать велосипед». Например, чтобы подключить систему авторизации к своему проекту, чтобы она заработала из коробки — дело пары часов. А вот написание с нуля займёт, в зависимости от экспертизы команды, от нескольких дней, а может и недель. К тому же сейчас набирает обороты serverless-архитектура, что сокращает объём кода и собственно работы. Ну и включите сюда время на развертывание, тестирование, масштабирование — и профит станет очевидным.
3. Облачные сервисы обходятся компании дешевле, чем поддержка собственной инфраструктуры и хостинг. Плюс отсутствие жёстких требований к лицензированию используемого ПО. У Google, допустим, есть бесплатный тариф на место в облаке — с некоторыми ограничениями, конечно, но даже с ними возможностей достаточно. Amazon на похожих условиях предлагает первый год использования своего сервиса хранения за 1$. Ещё пример: 50$ в месяц стоит «белый» SMTP-сервер у Amazon, который гарантированно не попадёт в спам-листы интернет-сервисов, а это крайне важно для проектов, использующих рассылки. Что выберете: постоянно решать проблемы с чёрным списком (срочное удаление записи из черного списка спам-фильтра может стоить 150-200$) или не иметь таких проблем вовсе? И совсем уж копейки стоит AWS Fargate, который позволяет запускать готовые контейнеры в облаке и совсем не париться по поводу их размещения.
4. Облачные сервисы надёжны. Ну уж точно их надёжность выше (особенно с учётом того, что большинство сервисов предоставляют поддержку в режиме 24/7, а также резервирование данных), чем та, которую может гарантировать использование собственных локальных ресурсов. Как думаете, Apple, Google, Microsoft и Amazon закроются и разорятся в обозримом будущем? Скорее всего, они нас всех переживут. А страховкой от критических ситуаций может стать, например, kubernetes — опишите свой кластер и запускайте его на любом провайдере. Что касается безопасности данных, то о ней думаете не только вы, выбирая облако, но и корпорации, их предоставляющие, ведь это серьёзные репутационные риски. К тому же облака — это распределённая система с регионами: сайт можно хостить в US, а почтовые сервера в Ирландии, и ничего страшного не произойдёт.
5. Облачные сервисы помогают поддерживать приложения в актуальном состоянии. То есть о внедрении новых возможностей в стандартный софт (например, почтовый сервер) думаете не вы, а сам сервис. Вам остается самое приятное — работать с всегда актуальной версией ПО. К тому же, так как большинство сервисов управляются через web-админку, это гарантирует доступ к ней из любой точки планеты при наличии интернета и, что немаловажно, с любого устройства. Многие операции требуют пару кликов мышкой, а компании-владельцы гарантируют круглосуточную доступность .
6. Облачные сервисы дают возможность писать меньше кода. Многие стандартные кейсы уже реализованы и протестированы, инфраструктура готова, ресурсы всегда есть или их можно запросить, инструментарий богатый. Разработчику остаётся просто воспользоваться всем этим — сервисом авторизации для веб-сайта, почтовым сервером, сервисом контейнеризации, базами данных, серверными функциями, очередями сообщений и многим другим. И главное — сервисы прекрасно интегрированы друг с другом.
7. Облачные технологии дают выбор. Большинство сервисов сходны по своей природе и функционалу, поэтому, если освоить любой cloud из наиболее крупных, то нет никаких проблем использовать и другие по необходимости. К примеру, и Google Cloud, и AWS, и Azure имеют в своём составе Blob-storage или сервисы виртуализации. При этом вполне возможна и комбинация различных cloud: допустим хостинг в Амазон, а базы в Azure.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.