Создание микросервисов с учетом безопасности
08.05.2022Содержание
Как банковский сектор может использовать микросервисы без ущерба для кибербезопасности? Сектор Fintech предлагает ключевые решения в этой области: узнайте о них в этой статье с идеями Credemtel, компании-разработчика программного обеспечения, входящей в банковскую группу Credem.
Как изменится банковский сектор благодаря FinTech
Банковский сектор значительно развился благодаря FinTech . В этом секторе все еще ожидаются значительные изменения благодаря открытой архитектуре, микросервисам и другим инновациям. Вот некоторые из изменений, которые ожидает банковский сектор:
- Благодаря открытой архитектуре банки могут продавать собственные и сторонние продукты и услуги . Это будет выгодно клиентам, так как они получат все необходимое в одном месте.
- Банки смогут обнаруживать любые угрозы безопасности задолго до того, как они смогут представлять угрозу.
- Безопасность будет повышена за счет использования таких сервисов, как OpenID. Эта децентрализованная платформа позволяет пользователям хранить свои пароли и личные данные, а это означает, что они могут удобно использовать множество паролей для своих онлайн-аккаунтов.
Банки и другие финтех-компании могут быстро вносить изменения и добавлять функции с помощью микросервисов.
Credemtel является примером этого: компания работает над открытой архитектурой для клиентов малого и среднего бизнеса , чтобы создать федерацию предприятий внутри и за пределами группы Credem и разработать инновационные услуги, которые используют данные о выставлении счетов для сверки и финансового анализа с помощью данных банковских транзакций. .
От микросервисов к dotNet 6
Микросервисы имеют множество преимуществ при разработке приложений с открытой архитектурой . Корпорация Майкрософт вложила значительные средства в улучшение требований архитектур, основанных на микросервисах. Основное преимущество использования микросервисов заключается в том, что они упрощают разработку, тестирование и развертывание определенных частей приложения Fintech.
Вы также можете масштабировать отдельные части приложения Fintech по отдельности. Таким образом, функции могут быть реализованы быстро, и компании могут легко использовать возможности по мере их появления.
dotNet 6 — это самый быстрый веб-фреймворк с полным стеком , и компании, работающие в облаке, особенно сэкономят деньги с этим фреймворком.
Путь внедрения микросервисов
При внедрении микросервисов вам в первую очередь необходимо определить базовые технологические уровни. Обладая этой информацией, вы сможете придумать необходимую архитектуру и дизайн. Что касается кибербезопасности, идея состоит в том, чтобы делегировать все проверки безопасности шлюзу API, реализующему аутентификацию и авторизацию на этом уровне.
Намечая необходимые уровни, помните о том, что вам потребуется высокий уровень эффективности и возможность масштабирования по мере роста бизнеса. Эти подходы обеспечивают готовность архитектуры к облаку.
Предлагаемые решения с использованием архитектуры dotNet
Архитектура dotNet 6 помогает решать различные проблемы при создании приложений с помощью микросервисов. Благодаря своей новой минимальной функции API dotNet 6 упрощает множество процессов и даже делает другие ненужными. Некоторые решения, предлагаемые с архитектурой ASP.NET Core, включают:
- Быстрое развитие
- Облачные конфигурации
- Кроссплатформенная поддержка
Эти преимущества особенно полезны для предприятий, которым требуется высокий уровень гибкости и масштабируемости. Также его стоит использовать, если ваш главный приоритет — быстрая разработка приложений . dotNET 6, как правило, значительно упрощает разработку микросервисов и открытой архитектуры. Хотя классическая версия этой платформы была ограничена, теперь она разработана для работы на Mac, Linux и Windows.
Реализация DevSecOps
DevSecOps — это естественное расширение DevOps. Он ускоряет доставку приложений, внедряя такие функции, как автоматизация, тесные циклы обратной связи, гибкость и кросс-функциональное сотрудничество в разработке приложений.
Успешно внедрив DevSecOps, вы добавите тестирование безопасности в конвейер CI/CD и на протяжении всего жизненного цикла разработки программного обеспечения. Это означает , что вы не просто будете запускать тесты ближе к концу жизненного цикла разработки.
Успешная реализация DevSecOps также возлагает ответственность за безопасность на каждого разработчика, участвующего в проекте . Это потому, что они смогут увидеть проблемы безопасности в своих собственных рабочих процессах.
Автоматизация TDD с помощью NUnit
Разработка через тестирование или TDD — отличный способ найти и устранить проблемы на ранних этапах цикла разработки вашего приложения. Если вы часто с опаской относитесь к изменению существующего кода, вам будет особенно полезен TDD. Поскольку у вас будет возможность обнаружить проблемы с кодом на ранней стадии, весь процесс разработки будет чрезвычайно гибким.
Вы можете автоматизировать TDD с помощью NUnit. После установки последней версии NUnit вы получите DLL, которую можно использовать для доступа к инфраструктуре NUnit. Вы также можете установить TestDriven.net для лучшей интеграции Visual Studios. Для запуска тестов вы можете добавить в класс атрибут [TestFixture]. Если вы хотите протестировать методы, вы можете добавить атрибут [Test]. Если вы получите неожиданное исключение или ошибочное утверждение, вы будете знать, что тест не пройден.
Анализ кода с помощью Sonarqube
Еще одним аспектом реализации DevSecOps является анализ кода . Это можно сделать с помощью Sonarqube. Этот инструмент собирает и анализирует исходные коды, после чего формирует отчеты о качестве кода. Сочетая инструменты статического и динамического анализа, Sonarqube может постоянно анализировать качество кодов.
Как разработчик, этот инструмент облегчит поиск ошибок в коде , и вы также сможете определить, что это за проблема. Например, в отчете может быть указано, что код работает некорректно из-за проблем со стилем или дублирования кода. Sonarqube также помогает разработчикам определять «запахи кода» и предлагать некоторые решения для их исправления. Этот инструмент также может выявлять наиболее распространенные уязвимости безопасности.
Sonarqube имеет несколько уровней, и вы можете выбрать один из них в зависимости от необходимого вам уровня развития. Чтобы установить Sonarqube, вы можете использовать ZIP-файл или образ докера. После установки вы можете войти на http://localhost:9000 и выполнить следующие шаги для анализа проекта:
Нажмите «Выбрать новый проект».
- Укажите, что вы хотите создать проект вручную
- Добавьте ключ проекта и отображаемое имя, затем нажмите «Настроить».
- Затем вы можете сгенерировать токен и выбрать основной язык вашего проекта.
- Затем вы можете следовать указанным инструкциям, чтобы выполнить анализ вашего проекта.
Вы также должны загрузить и запустить сканер вашего кода.
Dataops: как использовать RedGate
Вы можете перейти к настоящим операциям с данными с помощью инструмента SQL Source Control RedGate. Основная причина включения вашей базы данных в стратегию DevOps — ускорить доставку изменений базы данных . Это также помогает повысить надежность этих изменений и сводит к минимуму сбои развертывания. При использовании Redgate Deploy вам сначала придется начать с известной версии базы данных в системе управления версиями. Вы сможете создать любую версию базы данных в системе управления версиями по мере подготовки к выпуску
Конвейер Azure DevOps автоматически создает и тестирует проекты кода. Он сочетает в себе непрерывную интеграцию (CI) и непрерывную доставку (CD) для тестирования, сборки и доставки кода.
Уровень пользовательского интерфейса с Angular
Angular — лучший интерфейсный фреймворк для приложений с открытой архитектурой. При разработке вашего приложения Fintech вам будет полезно создать слой пользовательского интерфейса с помощью Angular . По мере роста сообщества Angular в этот фреймворк было включено множество библиотек пользовательского интерфейса. Таким образом, использование Angular значительно упростит процесс веб-разработки.
Как реализовать RabbitMq с MassTransit
RabbitMQ — это брокер сообщений, то есть он принимает, сохраняет и передает сообщения из одного приложения в другое. С помощью этого инструмента вы сможете создавать развязывающие и производительные приложения. С другой стороны, MassTransit — это бесплатная платформа распределенных приложений с открытым исходным кодом для приложений dotNet 6. Это позволяет ретранслировать сообщения с помощью RabbitMQ.
Чтобы реализовать Rabbit MQ с помощью MassTransit , вам сначала нужно развернуть сервер RabbitMQ с помощью Docker. Затем вы можете определить класс или интерфейс dotNet и создать проект.
После этого вы можете создать производителя с помощью MassTransit, и это должно быть реализовано как веб-API ASP.NET Core. Затем вы должны настроить MassTransit для использования RabbitMQ в файле program.cs. На последнем шаге вы должны вызвать AddMassTransitHostedService, и это автоматически обработает движение автобуса.
Затем вам нужно создать класс OrderDTo, который должен работать как параметр для метода конечной точки. После определения DTO следует приступить к созданию контроллера API, который будет создавать событие или сообщение . Для этого ему придется использовать интерфейс OrderCreated. Вам также необходимо внедрить IPublishEndpoint в контроллер, чтобы опубликовать событие.
Как только все будет сделано, вы можете вернуть OkResult.
Следующим шагом является создание потребителя с помощью консольного приложения dotNet. Когда он настроен на получение сообщений, вам нужно будет запустить шину. Вы можете сделать это, вызвав StartAsync в buscontrol. Чтобы остановить buscontrol, вы можете вызвать StopAsync.
Зачем использовать OpenID для протокола аутентификации
OpenID — это децентрализованный протокол аутентификации, который может помочь ускорить процесс регистрации на веб-сайтах и в приложениях Fintech. С этим протоколом пользователям не нужно будет выполнять множество шагов, чтобы получить доступ к своим учетным записям. Процесс может быть завершен одним щелчком мыши. Также стоит отметить, что у людей есть несколько учетных записей в Интернете, и этот инструмент может помочь им отслеживать пароли, которые они используют для разных платформ. Такие данные, как дата вашего рождения, также хранятся на платформе и могут автоматически заполняться при входе на сайт.
Распределенная наблюдаемость и мониторинг
Мониторинг относится к практике наблюдения за состоянием приложения с использованием заранее определенных показателей. Хотя это важно, реализовать это в распределенной системе, такой как микросервисы, может быть сложно. В таких системах наблюдаемость может быть очень полезной для понимания внутреннего состояния системы . Наблюдаемость позволяет разработчикам задавать произвольные вопросы о поведении системы, и это может дать им представление о поведении системы.
Распространение CorrelationId для распределенной трассировки
CorrelationID — это идентификатор, который прикрепляется к сообщениям и запросам. Как только данные будут собраны в централизованной системе, идентификатор корреляции поможет вам увидеть поток сообщения.
Мониторинг через Prometheus и Grafana
Prometheus — это система мониторинга, которая хранит данные временных рядов и использует современный подход к оповещению. С другой стороны, Grafana позволяет разработчикам визуализировать хранимую информацию.
Реклама. Информация о рекламодателе по ссылкам в статье.