AWS Cloud Map – это сервис обнаружения облачных ресурсов. Cloud Map обеспечивает определение пользовательских имен для ресурсов приложения и сохранение сведений об обновленных расположениях этих динамически меняющихся ресурсов. Это повышает доступность приложения, так как веб-сервис всегда обнаруживает последние расположения его ресурсов.
Современные приложения, как правило, состоят из нескольких сервисов, выполняющих определенную функцию и доступных с помощью API. Каждый сервис взаимодействует с множеством других ресурсов, таких как базы данных, очереди, хранилища объектов и пользовательские микросервисы, и должен находить все ресурсы инфраструктуры, от которых зависит успешная работа. В большинстве случаев названия и расположение ресурсов контролируются вручную в коде приложения. Однако, по мере увеличения количества зависимых ресурсов инфраструктуры или динамического изменения числа микросервисов из-за объема трафика, ручное управление ресурсами отнимает все больше времени и чаще подвергается ошибкам. Кроме того, могут использоваться сторонние продукты обнаружения сервисов, но для этого требуется устанавливать дополнительное программное обеспечение и инфраструктуру и управлять ими.
Cloud Map позволяет регистрировать любые ресурсы приложения, такие как базы данных, очереди, микросервисы и другие облачные ресурсы, под пользовательскими именами. Далее Cloud Map постоянно проверяет работоспособность ресурсов, отслеживая актуальность расположения. Приложение может также отправить в реестр запрос о местоположении ресурсов, необходимых в зависимости от версии приложения и среды развертывания.
Преимущества
Повышение доступности приложений
Cloud Map постоянно отслеживает работоспособность каждого компонента приложения на основе IP-адреса и динамически обновляет местоположение микросервиса при его добавлении или удалении. Приложение всегда обнаруживает наиболее актуальное местоположение ресурсов, что гарантирует его высокую доступность.
Увеличение производительности разработчика
Cloud Map предоставляет единый реестр для всех сервисов приложения, которым можно присвоить пользовательские имена. Командам разработчиков не придется постоянно хранить, отслеживать и обновлять информацию об имени ресурса и его местоположении или вносить изменения непосредственно в коде приложения.
Как это работает
Примеры использования
Обнаружение сервисов
Микросервисы способны быстро запускаться и завершать работу, а внедряются, как правило, с использованием динамических ресурсов, таких как контейнеры. Ресурсы взаимодействуют посредством API и должны задавать местоположение своих зависимых ресурсов в рамках кода приложения. Однако каждый из таких ресурсов динамичен, и его местоположение постоянно меняется, из-за чего становится сложнее отслеживать и находить расположение всех зависимостей отдельных ресурсов. Cloud Map предоставляет единый обновляемый реестр имен и местоположений сервисов, с помощью которого микросервисам легко находить друг друга.
Непрерывная интеграция и доставка
Для развертывания кода приложения в нескольких средах, регионах и версиях требуется обновление нескольких файлов конфигурации с местоположениями каждого сервиса. Cloud Map поддерживает единый обновляемый реестр имен и местоположений сервисов. Вы обновляете расположение ресурса в зависимости от среды, региона или версии приложения, используемых при развертывании, а приложение автоматически находит правильный ресурс.
Автоматический мониторинг работоспособности
Приложения обычно представляют собой комбинацию сервисов AWS и пользовательских ресурсов. Однако получить достоверную информацию о работоспособности всех ресурсов приложения довольно сложно. Cloud Map помогает в выполнении этой задачи, сохраняя в актуальном реестре только исправные ресурсы с помощью автоматизированных проверок работоспособности. Благодаря этому трафик всегда отправляется только к исправным адресам.
Статьи и публикации в блоге
Знакомство с Cloud Map
AWS Cloud Map следит за всеми компонентами приложения, их местоположениями, атрибутами и состоянием работоспособности. Теперь, чтобы обнаружить расположение зависимостей, вашим приложениям достаточно отправить запрос в AWS Cloud Map с помощью AWS SDK, API или даже DNS.
Обнаружение сервисов в AWS Cloud Map для бессерверных приложений
AWS Cloud Map поддерживает доступ к микросервисам, выступая в качестве связующего звена всей бизнес-логики. В Peak.ai мы активно используем бессерверную платформу, поэтому хотели изучить способы интеграции AWS Cloud Map в наш рабочий процесс.
Получите мгновенный доступ к уровню бесплатного пользования AWS