☁️ Миграция в облако: преимущества и основные возможности облачных технологий
Облачные сервисы уже давно завоевали мир: все больше компаний перестают поддерживать собственные сервера и заводят аккаунты в облаках, а Apple, к примеру, по слухам, тратит около 30 миллионов долларов в месяц на Amazon Web Services – одну из крупнейших облачных платформ. В этой статье рассмотрим преимущества облачных сервисов и примеры их автоматизации.
Зачем нужны облачные технологии?
Если кратко, облака позволяют пользователям в несколько кликов (или вызовов API!) получать вычислительные ресурсы и использовать их без необходимости иметь собственные физические сервера.
В этом есть огромное преимущество: обслуживать собственное железо довольно трудное и затратное дело, тем более, когда речь идет о большом парке вычислительных машин. Современные облачные решения предлагают очень удобные сервисы за разумные деньги, доступные даже малому бизнесу. Все это делает облачные технологии важнейшим игроком в мире современного хостинга.
С чего начать
Рынок мировых брендов, представляющих облачный хостинг, довольно богат, но, пожалуй, самые крупные провайдеры – это AWS, GCP, Microsoft Azure и Alibaba Cloud, с лидирующими позициям у AWS.
Для первого знакомства стоит выбрать какой-то из этих ресурсов: во-первых, они очень популярны, и их названия можно встретить в описаниях множества вакансий; во-вторых, большинство из них предоставляют бесплатный лимит. Это нужно либо в ознакомительных, либо в обучающих целях, чтобы в дальнейшем вы стали полноценным пользователем. Но существуют также и полностью бесплатные опенсорсные решения, такие как OpenStack.
Основной функционал облачных сервисов
Ключевой, классический функционал, который предоставляют облачные технологии, – это возможность создавать виртуальные машины и всю сопряженную с ними инфраструктуру – сеть, диски и так далее. Например, с помощью вызовов API в зависимости от нагрузки на сайт можно создавать и уничтожать тысячи серверов, которые его обслуживают, что позволяет экспериментировать с автоматизацией.
Приведу пример автоматизации. Обычно график нагрузки на ресурс зависит от времени суток в регионе, где он используется: часто днем много пользователей, а ночью – мало. Соответственно, днем можно создавать дополнительные машины, а ночью – уничтожать ненужные, чтобы сэкономить деньги. Ниже – иллюстрация к этому примеру.
К более сложным сервисам относятся базы данных (например, Amazon Aurora), файловые хранилища (Amazon s3) и CDN (Content Delivery Network) – сервис, который выдает пользователю контент с серверов ближайшего к нему региона.
Одно из преимуществ, которые предоставляют сервисы БД в облаках, – это обеспечение репликации, чтобы, если мастер-сервер упал, пользователи автоматически переключались на реплику. Также поддерживается другой метод масштабирования – шардирование, – если все данные не помещаются на один сервер или если он не может выдержать нагрузку. В обоих случаях данные можно распределить на несколько серверов. Облачные провайдеры берут на себя все эти задачи, позволяя клиенту пользоваться базой данных как сервисом.
Ещё один необычный пример – Serverless. Идея заключается в том, что вместо создания виртуальной машины пользователь просто загружает свой код в облако, и указывает, какие запросы этот код должен обработать, а сервис сам заботится обо всем остальном.
На самом деле современные облачные сервисы предоставляют очень разнообразный функционал, который покрывает множество специализированных задач: они могут помочь даже в разработке мультиплеерных игр!
Можно также сочетать облачную инфраструктуру с собственным железом. Такую возможность предоставляет, например, уже упомянутый OpenStack. Компании часто пользуются этим, когда постепенно переходят от своего хостинга к обычному или когда выбранный облачный провайдер не имеет серверов в каком-то из важных для компании регионов.
Заключение
В этой статье я постарался рассказать о лидирующих провайдерах облачных технологий и неоспоримых преимуществах их использования. Я также привел примеры основных сервисов, которые такие платформы предоставляют, не все из которых очевидны на первый взгляд.
Современный мир технологий все больше уходит в облако, поэтому знания о них полезны любому человеку – как профессионалу, так и обычному пользователю, и я надеюсь, что информация, собранная мной в этой статье, оказалась полезной для вас.
Материалы по теме
- 📜 25 лет спустя: манифест распределенных вычислений Amazon 1998 года
- ☕ Пример проекта Java Backend: DDD, микросервисы, Spring Cloud и AWS (Часть 1)