Облачные вычисления: история, возможности, перспективы
Благодаря постоянному развитию технологий, все более популярными становятся облачные вычисления. В этой статье рассматриваются основные понятия облачных вычислений, их эволюция, существующие модели, преимущества и недостатки использования облачных сервисов.
Автор статьи — Senior Systems Engineer EPAM Константин Костин.
Практически у каждой коммерческой и некоммерческой организации есть собственный публичный сайт, веб-сервис, интранет или внутренняя IT-инфраструктура. Невозможно представить компанию без IT-ресурсов, поскольку они обеспечивают более быстрый обмен информацией и более выгодное и надежное ее хранение, чем когда-либо ранее. Еще никогда не было так просто приобрести IT-инфраструктуру, как сейчас. Облачные вычисления позволяют пользоваться виртуальными машинами онлайн менее чем за 10 долларов в месяц, а также получать доступ к бесплатным сервисам и ресурсам.
Что такое облачные вычисления?
Облачные вычисления — это относительное новое направление развития информационных технологий, которое предлагает клиентам виртуальное аппаратное обеспечение, платформы, сервисы и программное обеспечение через интернет. Слово «облако» используется, потому что мы не знаем точного физического расположения инфраструктуры, которая поддерживает эти виртуальные сервисы.
Основа облачных вычислений — центры обработки данных с сотнями или даже тысячами серверов. Эти серверы оснащены программным обеспечением, которое позволяет пользователям получить доступ к вычислительным мощностям.
Как же начать использовать эти мощности? Каждый провайдер облачных услуг предлагает веб-интерфейс, где вы можете зарегистрироваться, а затем создавать, редактировать, удалять виртуальные ресурсы и управлять ими, не задумываясь о физических проблемах аппаратного обеспечения, таких как охлаждение, аварийные отключения электроэнергии, пожарная безопасность, резервирование интернет-каналов и т. д. Вам не нужно нанимать людей, которые знают, какую часть сервера необходимо проверить, если он издает два коротких сигнала и один длинный, и при этом ничего не отображается на экране. С помощью провайдера облачных услуг всего в несколько кликов вы можете создавать виртуальные машины, кластеры Kubernetes и балансировщики нагрузки.
Сегодня облачные вычисления стали нормой для всех типов компаний, от огромных корпораций до гаражных стартапов. Популярность методологии Agile подтолкнула бизнесы к использованию облачных вычислений, так как они позволяют очень быстро проверить любую идею с помощью бесплатных или практически бесплатных виртуальных ресурсов. Затем вы можете быстро масштабировать тестовую среду до продакшена или удалить все ресурсы.
История облачных вычислений
Облачные вычисления стали неотъемлемой частью современной технологической среды и позволяют организациям удаленно хранить, получать доступ к данным и управлять ими, не поддерживая собственное аппаратное обеспечение и инфраструктуру. Эволюция облачных вычислений определяется несколькими значимыми этапами.
1960-е годы: Начало
- Идею облачных вычислений можно проследить до 1960-х годов, когда ученый-информатик Дж. С. Р. Ликлайдер предложил концепцию «Межгалактической компьютерной сети». Эта идея и заложила основу для будущего интернета. Многие авторы определяют принцип разделения времени (англ. time-sharing) в использовании компьютеров в 1960-х и 1970-х годах как ранние облачные вычисления, однако он отличается от современного понятия. Облачные вычисления стали возможными и приобрели популярность, когда интернет стал быстрым и надежным.
1970-е годы: Виртуализация и зарождение интернета
- В 1970-х годах IBM представила концепцию виртуализации как способ логического разделения ресурсов мейнфрейма. Это стало основой для будущего развития облачных сервисов.
- В 1974 году Винтон Серф и Боб Кан создали протокол TCP. Позже он был объединен с протоколом IP, чтобы сформировать сеть, известную сегодня как интернет.
1990-е годы: Появление современных облаков
- Неизвестно, кто впервые ввел термин «облачные вычисления». Различные источники приписывают первое использование термина разными людьми во внутренних документах компаний, презентациях или книгах.
- В 1999 году была основана компания Salesforce и стала первым поставщиком программного обеспечения как услуги (SaaS). Этот момент можно считать поворотным, так как она одной из первых предоставила доступ к приложениям через интернет.
2000-е годы: Важные достижения в облачных вычислениях
- В 2002 году Amazon запустила Amazon Web Services (AWS) — платформу с различными облачными сервисами. В 2006 году была представлена служба AWS Elastic Compute Cloud (EC2), позволяющая пользователям арендовать виртуальные машины. Это положило начало современной инфраструктуре облачных вычислений.
- В 2008 году Google представила Google App Engine — платформу для разработки, хостинга и масштабирования приложений в облаке.
- В 2010 году Microsoft запустила Azure — собственную облачную платформу с широким спектром сервисов, включая хранилище, базы данных и вычислительные ресурсы.
2010-е годы: Бум облачных вычислений
- 2010-е годы были временем массового внедрения облачных вычислений, обусловленного растущим количеством поставщиков SaaS, IaaS и PaaS.
- В 2013 году IBM приобрела SoftLayer — ведущего поставщика облачной инфраструктуры, чтобы расширить свои облачные предложения и лучше конкурировать с лидерами отрасли, такими как AWS и Azure.
- В 2016 году Google переименовала все свои облачные сервисы в Google Cloud Platform (GCP), что еще больше укрепило ее присутствие на рынке.
Как видите, современные облачные вычисления зародились в начале 2000-х годов с запуском Amazon Web Services. Затем Google и Microsoft создали свои облачные сервисы. Со временем немногочисленные облачные сервисы расширились до крупных маркетплейсов с сотнями различных вариантов сервисов. С ростом интереса к искусственному интеллекту и интернету вещей провайдеры облачных сервисов начали предлагать специальные услуги, оптимизированные под эти новые технологии.
Модели облачных вычислений
Есть три модели облачных вычислений. Каждая из них предлагает определенный уровень абстракции виртуальной инфраструктуры и предоставления вычислительных ресурсов, чтобы удовлетворить разнообразные потребности клиентов.
Инфраструктура как услуга (IaaS)
Эта модель предоставляет доступ к сервисам, очень похожим на реальное аппаратное обеспечение. Наиболее распространенный пример ресурсов, предлагаемых моделью IaaS, — виртуальные машины. Эта модель может использоваться для переноса устаревших приложений без их модернизации с локальной инфраструктуры в облако (рехостинг), когда есть особые требования к приложению или если нужен высокий уровень контроля над виртуальным оборудованием.
Платформа как услуга (PaaS)
Модель PaaS значительно упрощает разворачивание инфраструктуры. После создания облачного сервиса PaaS у вас есть преднастроенный, готовый к использованию ресурс, такой как, например, SQL-сервер, веб-сервер, зона DNS и др. Эти ресурсы по-прежнему являются инфраструктурой, но для их работы не нужна дополнительная настройка. По сути, PaaS — предварительно настроенная инфраструктура, на которой можно развернуть и запустить свое приложение.
Программное обеспечение как услуга (SaaS)
Провайдеры облачных услуг могут предоставлять доступ не только к инфраструктуре, но и к программному обеспечению. Примеры SaaS — различные онлайн-реализации офисных приложений. Любой сайт можно рассматривать как SaaS, потому что каждый из них служит как программное обеспечение, доступное для каждого пользователя. Модель SaaS может считаться одним из предшественников современных облачных сервисов.
Преимущества и недостатки облачных вычислений
Рассмотрим преимущества и недостатки облачных вычислений в сравнении с использованием собственной (серверной) инфраструктуры.
Преимущества
- Экономическая выгода. Облачные вычисления гораздо дешевле для проверки концепции (англ. Proof of Concept, PoC) и создания минимально жизнеспособного продукта (англ. Minimum Viable Product, MVP), особенно если проект не переходит в продакшен. В облаке мы можем оптимизировать затраты на любой фазе проекта, в отличие от инфраструктуры, которая развернута локально.
- Быстрое развертывание инфраструктуры. Для создания собственной облачной IT-инфраструктуры нужен только доступ в интернет. Нет необходимости ехать в магазин, заказывать оборудование и неделями ждать его доставки.
- Гибкость и возможность быстрого исправления архитектурных ошибок. Удаление и повторное создание облачных ресурсов возможно без дополнительных затрат, тогда как продажа лишнего физического оборудования намного сложнее.
- Высокий уровень автоматизации. Инфраструктура как код (англ. Infrastructure-as-Code, IaС) — подход, благодаря которому вы можете управлять виртуальным оборудованием на том же уровне автоматизации, что и любым другим программным обеспечением. Описание виртуального оборудования хранится в Git-репозитории в виде шаблонов развертывания. Они могут служить документацией, а Git позволяет хранить историю изменений.
Недостатки
- Некоторые риски безопасности. Поскольку у вас нет прямого контроля над физической инфраструктурой, существуют определенные проблемы безопасности. Ограничение физического доступа — одна из наиболее важных мер безопасности для собственной инфраструктуры. Поэтому телекоммуникационные операторы, банки и государственные организации должны хорошо подумать, прежде чем внедрять облачные вычисления.
- Возможное увеличение затрат. Простоту создания новых ресурсов можно отнести к преимуществам облачных решений, однако она может привести к увеличению затрат по мере развития проектов и инфраструктуры.
Вывод
Быстрый и дешевый интернет, а также прогресс в области компьютерной техники привели IT-индустрию к развитию облачных вычислений. Как неизбежный итог, появилась концепция виртуального оборудования, доступного через интернет. В будущем облачные провайдеры, скорее всего, предложат еще более разнообразные типы сервисов, призванные упростить разработку нейронных сетей, решений для обработки больших данных и приложений искусственного интеллекта.