paint-brush
Меньше времени на обучение, больше времени на создание: поиск безопасных микросервисов к@johnjvester
1,341 чтения
1,341 чтения

Меньше времени на обучение, больше времени на создание: поиск безопасных микросервисов

к John Vester6m2024/05/28
Read on Terminal Reader

Слишком долго; Читать

Безопасное внедрение облака больше не требует инвестиций в собственные знания облачной инфраструктуры, что позволяет командам внедрять решения, соответствующие бизнесу. Углубитесь в сравнение AWS и Heroku для безопасного развертывания микросервисов. Узнайте о преимуществах Heroku Private Spaces и Heroku Shield для обеспечения соответствия требованиям, предлагающих стратегическую альтернативу при внедрении облака и управлении инфраструктурой.
featured image - Меньше времени на обучение, больше времени на создание: поиск безопасных микросервисов
John Vester HackerNoon profile picture
0-item
1-item


Еще в 2018 году я решил использовать свое свободное время, чтобы помочь модернизировать бизнес члена семьи. Попутно я хотел получить некоторый опыт и понимание AWS.


В конце концов я обнаружил, что почти все свое свободное время я тратил на изучение концепций облачной инфраструктуры AWS. У меня оставалась лишь небольшая часть времени, чтобы сосредоточиться на создании современного облачного решения, которое я изначально задумал. Планируя дополнительные функции для приложения, я понял, что мне нужен лучший подход.


В начале 2020 года я открыл для себя Heroku. Поскольку мне не нужно было беспокоиться об основных конфигурациях облака, я мог сосредоточиться на добавлении новых функций.


Экосистема Heroku отлично подошла для моего простого варианта использования, но я начал задумываться о более сложных вариантах использования. А как насчет сценария, в котором набору безопасных и частных сервисов необходимо взаимодействовать друг с другом для решения по обработке платежей?

Заставит ли этот вариант использования меня жить в экосистеме одного из трех крупнейших поставщиков облачных услуг? Я собираюсь это выяснить.


Текущее состояние безопасных микросервисов

В течение нескольких лет мне посчастливилось работать в среде, где ценился жизненный цикл DevOps . Команда DevOps взяла на себя все вопросы, связанные с облаком, поэтому я мог сосредоточиться на разработке и создании микросервисов, отвечающих потребностям моих клиентов.


В тот период моей жизни эта среда была исключением, а не нормой. Я только что выполнил поиск по запросу «компании, не обладающие знаниями в области облачной инфраструктуры» в своем браузере, и результаты привели к довольно неожиданным выводам:


  • Существует серьезная нехватка специалистов по облачным технологиям.
  • Отсутствие навыков работы с облачными технологиями приводит к значительному снижению производительности облачных сервисов.
  • Облачная безопасность является проблемой для каждой четвертой компании.


В самых популярных результатах поиска говорилось об отсутствии понимания основных концепций облака и необходимости важнейшего обучения команд для эффективной работы. Обучение, необходимое большинству команд, обычно отходит на второй план, поскольку требования клиентов и результаты деятельности имеют более высокий приоритет.

При таком нынешнем подходе большинство облачных реализаций вынуждены двигаться медленнее и часто подвергаются неизвестным уязвимостям.


Текущее состояние защиты ваших микросервисов в облаке не является удовлетворительным.


Идеальное состояние для безопасных микросервисов

Идеальное состояние для облачных решений должно соответствовать личной формулировке миссии, которую я установил несколько лет назад:


«Сосредоточьте свое время на предоставлении функций/функций, которые увеличивают ценность вашей интеллектуальной собственности. Используйте платформы, продукты и услуги для всего остального».

– Дж. Вестер


В этом контексте те, у кого есть директива двигаться к облачным решениям, должны иметь возможность двигаться в темпе, соответствующем корпоративным целям. Их не должна замедлять кривая обучения, связанная с базовой облачной инфраструктурой.


Итак, как это выглядит, когда мы сталкиваемся с облачным решением, включающим множество микросервисов , каждый из которых должен быть изолирован от общественности и соответствовать нормативным требованиям (таким как SOC, ISO, PCI или HIPAA)?


О частных пространствах

Мой опыт Heroku в 2020 году был положительным. Поэтому я хотел посмотреть, как это будет работать в этом сложном случае. Именно тогда я обнаружил Private Spaces .


Частные пространства доступны как часть Heroku Enterprise. Это выделенные среды для запуска микросервисов в изолированной сети. Этот подход позволяет командам развертывать свои сервисы в сети, не доступной общедоступному Интернету. Внутри эти сервисы функционируют точно так же, как и в моем базовом варианте использования. Я могу настроить их через интерфейс командной строки Heroku, а простые команды на основе Git могут запускать развертывание.


Для обеспечения соответствия нормативным требованиям я могу положиться на Heroku Shield , который поможет мне обеспечить соответствие стандартам PCI DSS, HIPAA, ISO (27001, 27017 и 27018) и SOC (1, 2 и 3).


На высоком уровне Heroku позволяет мне реализовать безопасный облачный дизайн, который можно проиллюстрировать следующим образом:


Здесь у нас есть реализация, которая использует Heroku Shield внутри частного пространства. Это позволяет набору микросервисов, использующих несколько разных языков программирования, взаимодействовать со всеми основными первичными и вторичными карточными сетями, соблюдая при этом различные нормативные требования. Кроме того, я получаю защищенную связь с платформой Salesforce и GitLab.

Хероку в действии

Используя интерфейс командной строки Heroku, я могу настроить и запустить свое личное пространство и Heroku Shield. В Heroku это называется Shield Private Space . Вот несколько примеров высокого уровня для работы в этом процессе.


Чтобы создать новое частное пространство Shield, мы используем spaces:create и добавляем параметр --shield .


 $ heroku spaces:create payment-network --shield --team payments-team --region oregon Creating space payment-network in team payments-team... done === payment-network Team: payments-team Region: oregon State: allocating


Если вариант использования требует диапазонов бесклассовой междоменной маршрутизации (CIDR), я могу использовать флаги --cidr и --data-cidr .


Вы заметите, что я создал свое личное пространство в штате Орегон. Вы можете создать частное пространство в одном из 10 доступных регионов (в США, Европе, Азии и Австралии). Чтобы просмотреть список доступных регионов, выполните следующие действия:


 $ heroku regions ID Location Runtime ───────── ─────────────────────── ────────────── eu Europe Common Runtime us United States Common Runtime dublin Dublin, Ireland Private Spaces frankfurt Frankfurt, Germany Private Spaces london London, United Kingdom Private Spaces montreal Montreal, Canada Private Spaces mumbai Mumbai, India Private Spaces oregon Oregon, United States Private Spaces singapore Singapore Private Spaces sydney Sydney, Australia Private Spaces tokyo Tokyo, Japan Private Spaces virginia Virginia, United States Private Spaces


Для каждого микросервиса, который должен работать в частном пространстве payment-network , я просто добавляю параметр --space при запуске команды apps:create :


 $ heroku apps:create clearing-service --space payment-network Creating app... done, clearing-service


Чтобы предоставить потребителям доступ к пространству payment-network , я могу поддерживать список разрешенных доверенных IP-адресов:


 $ heroku trusted-ips:add 192.0.2.128/26 --space payment-network Added 192.0.2.128/26 to trusted IP ranges on payment-network ▸ WARNING: It may take a few moments for the changes to take effect.


Заключение

Команды часто получают указание сверху принять облачный подход. Но у многих команд есть серьезные пробелы в понимании того, что касается развертывания безопасных облачных архитектур. Если вы пользуетесь услугами одного из трех крупнейших поставщиков облачных услуг, то за преодоление этого разрыва придется заплатить определенную цену — вероятно, вы пропустите сроки, ожидаемые владельцем продукта.


Есть ли лучший вариант для безопасного развертывания облака? Я думаю, что Private Spaces в сочетании с Heroku Shield представляют собой лучший вариант. Лично для меня также важно, что Heroku является частью платформы решений от Salesforce, которая уже давно стремится предоставить альтернативу внедрению облака, ориентированную на успех своих клиентов. Поэтому я почувствовал, что это долгосрочная стратегия, которую стоит рассмотреть.


Хорошего дня!