Чтобы понять, что такое Cloud Landing Zone, сперва необходимо разобраться, как обычно строится взаимодействие с облачной средой.
Как правило, начало работы с облаком, будь то крупная компания или небольшая команда разработчиков, имеет несколько вероятных сценариев. Каждый исходит из совершенно разных предпосылок, однако все они заканчиваются в одной точке — в облаке.
Крупная компания уже имеет некую инфраструктуру для своего продукта. Текущая архитектура ее не устраивает, так как она устарела — недостаточно гибкая, плохо масштабируется, медленно работает, дорого обходится. Причин может быть множество.
Поэтому компания решает мигрировать в облако. То есть безопасно перенести существующую инфраструктуру в настроенную облачную среду с низкой вероятностью «поломок» работающего продукта.
Маленькому стартапу (либо небольшой состоявшейся компании) с ограниченным количеством ресурсов нужно быстро и дешево запустить MVP нового продукта.
Для этого необходима облачная среда с уже выстроенной архитектурой и настроенным функционалом, которая сможет подстраиваться под итеративный стиль разработки с регулярными правками и обновлениями.
В противном случае запуск нового продукта, как и получение обратной связи от пользователей займет намного больше времени, а также потребует специфических компетенция для настройки облака с нуля.
У компании уже есть «обкатанная» и проверенная временем облачная инфраструктура. Команда разработки придумала новую фичу и хочет ее быстро протестировать перед развертыванием в рабочее облако.
Важно убедиться в работоспособности новой функции с полной уверенностью, что на продакшене она ничего не сломает. Для этого необходимо отдельное изолированное облако специально, предназначенное для предварительного тестирования обновлений.
В каждом из перечисленных сценариев необходимо такое облачное решение, которое будет удовлетворять следующим требованиям:
Безопасность. Самый основной пункт. Необходима возможность осуществлять контроль доступа, выстраивать грамотную политику безопасности данных (например, с помощью установки отличающихся прав доступа и разграничения ролей пользователей облака), мониторить, обнаруживать и оперативно устранять угрозы.
Регламенты. Облачная среда должна иметь некоторую структуру, которая задает рамки использования тех или иных функций. Однако это нельзя назвать полноценными ограничениями. Скорее это набор регламентов и проверенных временем рабочих практик, обеспечивающих понятность, эффективность и масштабируемость.
Гибкость. В рамках имеющейся структуры, облако должно предоставлять широкие возможности конфигурации среды, но с набором уже готовых низкоуровневых решений — в противном случае излишняя гибкость будет «оплачиваться» низкой скоростью развертывания и сложностью поддержки.
Скорость. Облачная среда должна развертываться с минимальными затратами ресурсов. Это касается как облака, так и его составных частей — приложений, сервисов, услуг.
Проще говоря, в независимости от сценария, необходима отдельная изолированная облачная среда в компактном виде, но с потенциалом к масштабированию.
Понять, что такое Cloud Landing Zone и зачем он нужен, можно на примере реальных кейсов — историй, о которых рассказывают крупные клиенты Timeweb Cloud.
Например, компания Glagol (разработчик систем голосовых роботов на базе искусственного интеллекта) развернула систему, которая автоматически консультирует пациентов по медицинским анализам с помощью телефонного звонка.
Голосовой бот распознает речь клиента и определяет названия анализов, многие из которых могут быть довольно сложными. Каждое полученное название сверяется с теми, что уже хранятся в базе данных.
Инфраструктура Glagol — это набор микросервисов, развернутых в виде отдельных серверов в облачной среде.
Микросервисы обмениваются информацией друг с другом, но каждый решает только одну задачу:
Совершает звонки
Обслуживает АТС
Управляет базами данных
Поддерживает работу API
Принимает решения
Отказоустойчивость инфраструктуры Glagol заключается в том, что таких микросервисов (серверов) всегда несколько — они существуют в виде отельных продублированных нод, каждая из которых выполняет свою специализированную функцию.
Например, есть:
10 одинаковых серверов, которые обрабатывают звонки
3 сервера, которые взаимодействуют с базами данных
4 сервера, которые идентифицируют голосовые запросы и принимают решения
и так далее
Чтобы использовать такой подход эффективно, необходим инструмент, позволяющий очень быстро и просто разворачивать некоторый базовый облачный сервер с готовым набором практик, регламентов и приложений (зависимостей), которые, в случае чего, можно доработать или дополнить.
Cloud Landing Zone — это именно такое облачное решение. Безопасное, защищенное, изолированное, модульное, гибкое. А самое главное — масштабируемое.
То есть Cloud Landing Zone является своего рода минимальным «каркасом» (фреймворком), который предлагает набор базовых компонентов и служб, предназначенных для упрощения и ускорения процесса миграции и развертывания облачной инфраструктуры.
При этом Cloud Landing Zone можно настроить один раз, а использовать несколько. После создания шаблона конфигурации Cloud Landing Zone можно использовать для новых облачных сервисов, что обеспечивает единообразие архитектурных подходов и политик безопасности.
cloud
Есть некоторые функции, которые являются стандартными для правильно спроектированной облачной среды. Без таких функций облако будет неполноценным, а главное — небезопасным. Именно на них и фокусируется Cloud Landing Zone.
Основная вещь, которой уделяется внимание при работе с Cloud Landing Zone — безопасность. Для контроля и защиты облака существуют специальные практики:
Управление доступом и идентификацией (IAM). Централизованное управление правами доступа как отдельных пользователей, так и целых групп. Таким образом выстраиваются целые политики доступа к данным и сервисам облака с разграничением ролей и зон ответственности. Например, создание иерархии аккаунтов (для разработки, для тестирования, для продакшена) для изоляции облачных ресурсов, что упрощает управление и улучшает контроль.
Многофакторная аутентификация (MFA). Дополнительные факторы авторизация повышают безопасность облачной среды.
Мониторинг и логирование. Специальные службы и сервисы помогают журналировать все активности внутри облака. В первую очередь это касается входов и выходов в систему и изменения ключевых данных. Крупные облачные провайдеры предоставляют уже готовые сервисы для мониторинга. Например, CloudTrail от AWS, Azure Monitor от Microsoft.
Управление инцидентами безопасности. Обнаруженные угрозы необходимо оперативно ликвидировать с помощью соответствующих инструментов реагирования и устранения инцидентов. Например, GuardDuty от AWS, Azure Security Center от Microsoft.
Для поддержки инфраструктуры Cloud Landing Zone имеет готовые сетевые решения. Разумеется, сетевая архитектура облака имеет отличия в зависимости от целей и задач компании и ее продукта. В качестве примера, вот некоторые из возможных опций:
Виртуальные частные облака (VPC). Возможность создавать закрытые облака, таким образом изолируя различные компоненты инфраструктуры.
Публичные и приватные подсети. Сегментация сети позволяет разделить взаимодействия друг от друга. Например, публичные подсети содержат ресурсы, доступные из интернета (например, веб-серверы). Приватные подсети содержат ресурсы, которые не имеют прямого доступа из интернета (например, базы данных). Такой подход повышает отказоустойчивость и масштабируемость среды.
Маршрутизация и таблицы маршрутов. Управление маршрутизацией трафика между подсетями, интернет-шлюзами или любыми другими сетевыми компонентами.
Благодаря готовым регламентам и шаблонам Cloud Landing Zone упрощает развертывание и поддержку облачной инфраструктуры, обеспечивая стандартизированные и автоматизированные процессы.
Это экономит время и уменьшает вероятность ошибок — разработчики могут сосредоточиться на создании приложений, а не на настройке облачной инфраструктуры.
Проще говоря, Cloud Landing Zone ликвидирует хаос — понятные рамки облачной среды очерчены уже заранее.
Миграция в облако с нуля или развертывание дополнительного облака под определенные задачи занимает очень мало времени, поскольку Cloud Landing Zone уже имеет все необходимые функции.
В некоторых случаях создание новой облачной среды с нужными функциями занимает не более 5 минут. Не нужно ничего продумывать заранее. Компания сразу получает рабочее решение, которое (если требуется) можно также быстро масштабировать.
Если у компании уже есть необлачная инфраструктура, начало работы с Cloud Landing Zone помогает лучше понять, насколько далеко ее продукт находится от облака и облачности в целом.
Понять то, как существующие реализации оптимизировать под новую облачную среду и эффективно перенести в нее.
Можно сказать, будет вырисовываться своего рода дорожная карта перехода в облако, но не такая сложная и «тернистая», как если бы облако реализовывалось полностью с нуля — без уже готовой архитектуры и проверенных практик.
Если же продукт компании уже находится в облаке, тогда разработчики смогут лучше понять его состояние относительно облачной среды.
В этом случае Cloud Landing Zone выступит своего рода «справочником», помогающим оптимизировать и улучшить уже существующую архитектуру, сделать ее более безопасной, эффективной и предсказуемой.
Понятие Cloud Landing Zone появилось совершенно недавно, поэтому нет какого-то конкретного набора правил по созданию такой среды. Как правило многие облачные поставщики предоставляет свое собственное решение на основе накопленного опыта. Однако можно выделить 3 базовых этапа реализации Cloud Landing Zone.
Сперва необходимо сформулировать требования к облачной среде и заранее обозначить, какие задачи она будет решать. Это напрямую повлияет на архитектуру облака и его характеристики. Это также позволит избежать технических проблем при развертывании и использовании облака в будущем.
Грубо говоря, прежде чем «садиться в лодку», лучше сперва «договориться на берегу».
На этапе проектирования нужно продумать несколько основных моментов:
Требования безопасности. Как будет устроена идентификация и доступ к облаку, а также как распределять права доступа и пользовательские роли. Зачастую централизованные практики оказываются наиболее стойкими, эффективными и в то же время простыми. Важно также добавить отслеживание (мониторинг) происходящих событий — входы и выходы из системы, изменения прав доступа, внесения изменений в ключевые компоненты и т.д.
Отношения компонентов. Из каких составных частей будет реализовано облако и как будет осуществляться взаимодействие между ними. Возможно стоит опросить команду разработки и собрать несколько экспертных мнений и рекомендаций из разных областей, чтобы спроектировать наиболее оптимальную реализацию.
Облачная модель. Необходимо определиться с облачным провайдером и моделью, по которой он работает. Если нужен больший контроль, то подойдет модель IaaS. В этом случае операционная система и все ее компоненты разворачивается и настраиваются самостоятельно. Если нужна готовая реализация, тогда лучше смотреть в сторону PaaS или SaaS. В этом случае работа с облаком будет построена через множество платформенных и сервисных абстракций, предоставляемых провайдером, что сэкономит время, ускорит развертывание и упростит обслуживание.
Иерархия IaaS, PaaS, SaaS (источник: eG Innovations)
Помните, что чем лучше вы проработаете архитектуру Cloud Landing Zone и чем больше предвидите нюансов его дальнейшей работы, тем меньше проблем (особенно по части безопасности) возникнет на следующих этапах.
Если вы грамотно продумали архитектуру Cloud Landing Zone на этапе проектирования, то на этапе развертывание не должно возникнуть никаких серьезных проблем. Мелкие детали все равно всплывут, так как предвидеть все на 100% невозможно, но они не будут столь критичными.
В момент развертывания могут пригодиться инструменты автоматического развертывания облака. Например, Terraform для создания серверов или Ansible для управление конфигурацией в стиле Infrastructure as code (IaC).
Зачастую при работе с зарубежными облачными провайдерами из России возникают проблемы, связанные с доступом или оплатой.
Поэтому имеет смысл ориентироваться на отечественных поставщиков облачных услуг. Например, Timeweb Cloud предоставляет облачные серверы с гибкой настройкой мощностей и тарификации, а также облачные базы данных, которые могут стать удобным дополнением к уже существующей облачной инфраструктуре.
После развертывания облачная среда не остается статичной. Разрабатываемый продукт постоянно итерируется, улучшается, дорабатывается. Поэтому облачная среда, на которой он базируется, должна меняться вслед за ним.
Поэтому Cloud Landing Zone требует регулярного обновления используемых решений, а также развертывания дополнительных приложений, добавляющих новый функционал.
Выгодные тарифы на облачные серверы
Cloud Landing Zone — это преднастроенное облачное окружение, которое предоставляет безопасную и масштабируемую основу для размещения рабочих нагрузок и приложений в облаке.
Основная цель Cloud Landing Zone заключается в ускорении и упрощении процесса миграции и развертывания ресурсов в облаке, обеспечивая при этом соответствие стандартам безопасности, управляемости и лучшим практикам.
Ключевые компоненты Cloud Landing Zone включают:
Сетевую инфраструктуру. Настройки виртуальных сетей, подсети, шлюзы, межсетевые экраны и так далее.
Контроль безопасности. Управление идентификацией и доступом (IAM), управление ресурсами и учетными записями, контроль доступа на основе ролей, шифрование данных, журналирование, мониторинг и логирование.
Автоматизацию и оркестрацию. Использование инфраструктуры как кода (IaC) для автоматизированного развертывания и управления ресурсами.
Таким образом, использование Cloud Landing Zone позволяет организациям сосредоточиться на развитии и эксплуатации своих приложений и сервисов, вместо того чтобы тратить время на настройку базовой инфраструктуры.