Компактная книга "Node.js: разработка приложений в микросервисной архитектуре с нуля" Юлии Поповой — выпущена в апреле 2024 г. как практическое руководство для разработчиков уровня джун и выше. Описан процесс создания микросервисов на Node.js с использованием фреймворка NestJS и других популярных технологий. Хотя в заголовке есть фраза «с нуля», книга рассчитана на читателей, уже имеющих опыт работы с JavaScript, TypeScript и NestJS. Автор не углубляется в теоретические основы, а дает практические аспекты построения масштабируемых приложений на базе микросервисной архитектуры. Заглянем внутрь :-)
Микросервисы *
Микросервисная архитектура и все что с ней связано
Новости
ClickHouse в несколько кликов
Привет, Хабр! Сегодня расскажем о кейсе по внедрению NoSQL базы данных Clickhouse в платформу контейнеризации.
История успеха. Внедрение платформы «Вебмониторэкс» для защиты приложений «СберАвто»
В свете постоянно меняющегося ландшафта киберугроз, компания «СберАвто» столкнулась с необходимостью эффективно и быстро реагировать на появление новых уязвимостей и способов их эксплуатации. Особенно в части защиты web-приложений, так как основой бизнеса компании является её сайт.
Инфраструктура компании построена на основе микросервисов взаимодействующих друг с другом по API, в связи с этим, сильно возросла важность обеспечения наблюдаемости всех API и мониторинга их изменений.
Для обслуживания каждого инстанса web-приложения компания «СберАвто» использует кластерную пару веб-серверов Nginx, которые выполняют функции балансировки нагрузки, маршрутизации запросов и обработки HTTP-запросов от клиентов. Поэтому, при выборе межсетевого экрана уровня приложения (WAF) было важно обеспечить непрерывную интеграцию с существующей инфраструктурой на базе Nginx.
Для защиты инфраструктуры, модули платформы от компании Вебмониторэкс были интегрированы во внутренние процессы связанные не только, с защитой приложений и сервисов, но с безопасной разработкой, сопровождением и динамическим тестированием.
Гибкость в выборе вариантов установки ноды WAF как на балансировщики нагрузки, так и в контейнер рядом с конкретным приложением, обеспечила возможность защитить в том числе и сервисы, расположенные внутри инфраструктуры. Развертывание доступно с использованием playbook Ansible или Terraform, что существенно упрощает процесс установки и обслуживания.
Платформа «Вебмониторэкс» имеет большие возможности обеспечения наблюдаемости и защиты API. В частности, для наблюдения за API, построения OAS и мониторинга изменений API был использован модуль «Структура API» (рис.1), более подробно про данный модуль можно прочитать в нашей документации.
VES — микросервис Cosmos для кодирования видео на Netflix
Cosmos представляет собой новейшее поколение медиа-обработчика на Netflix, интегрирующее архитектуру на основе микросервисов, асинхронные рабочие процессы и функционал без привязки к серверам. Эта платформа нацелена на оптимизацию медиа-процессов внутри Netflix, повышая их гибкость и производительность, а также способствуя более продуктивной работе разработчиков. За последние годы команда Encoding Technologies (ET) усердно трудилась над модернизацией видео-конвейера с использованием платформы Cosmos.
Обновлённый конвейер состоит из множества микросервисов, каждый из которых выполняет строго определённые функции. Один из таких сервисов – Video Encoding Service (VES), который играет ключевую роль в процессе кодирования видео, преобразуя исходные медиа-файлы в форматы, подходящие для стриминга на Netflix или других студийных задач. VES сталкивается с рядом требований, связанных с обработкой контента:
• Необходимость поддержки множества форматов, разрешений и качества изображения для разнообразных устройств пользователей, от мобильных телефонов до смарт-телевизоров;
• Обязательность чанковой кодировки для соответствия требованиям задержек, с учётом различной чувствительности к ним;
• Важность непрерывного выпуска обновлений для ускорения инноваций в стриминговых и студийных направлениях;
• Ежедневное обращение с множеством кодировочных задач, требующих эффективного и экономичного использования ресурсов.
В этой статье мы расскажем о процессе создания VES, о достижении целей, а также об уроках, извлечённых в ходе разработки микросервисов. Мы опустим некоторые детали, характерные только для Netflix, чтобы сфокусироваться на главной теме нашего обсуждения.
Приятного прочтения!
Истории
Кратко про микросервисы на Scala и Erlang
Привет, Хабр!
Микросервисы давно являются некой "попсой" для создания гибких, масштабируемых и отказоустойчивых систем. И естественное имеет свою реализацию в функциональном программирование.
В статье рассмотрим два языка программирования, которые выделяются своим функциональным подходом и широким применением в микросервисной архитектуре: Scala и Erlang.
DDD простыми словами
Часто в больших компания всё поделено на большие системы. А если система «Legacy», т.е. устаревшая, то часто внутри неё собрано очень много разнородного функционала. По сути такие системы представляют из себя монолитных монстров.
Бывает, что компании решают использовать микросервисный подход, но в результате получают таких же монолитных монстров, но только работающих в Кубере.
Границы систем размыты, нет чёткого понимания, что должно входить в систему, а что нет.
Команды сильно специализированы на конкретную систему и не могут участвовать в доработке никакой другой системы.
По сути, речь идёт о том, что системы становится слишком большими и для их доработки требуется длительный процесс погружения.
Можно ли исправить ситуацию коренным образом?
Как мы реализовали аутентификацию трафика для MSA на базе монолита
Привет, Хабр! Меня зовут Салахутдинов Дмитрий, я принципал инженер в СберМаркете. Занимаюсь развитием Ruby-платформы и масштабированием системы через декомпозицию монолита на сервисы.
В статье хочу поделится опытом внедрения аутентификации на базе монолита. Это первая проблема, с котором мы столкнулись в попытке реализации новой бизнес-логики автономно (за пределами монолитной системы). Будет полезно, если перед вами стоит задача сделать первые шаги от монолитной к микросервисной архтитектуре.
Автоматизируем контроль качества микрофронтов
Привет, Хабр! Меня зовут Миша Трифонов, я head of frontend в компании Cloud.ru и основатель сообщества TeamSnack. Поделюсь опытом, кейсами, решениями за 3,5 года работы в направлении микрофронтов.
Статья будет полезна как для тех, кто мало пользовался микрофронтами, так и для гуру микрофронтов. Расскажу, что это такое, покажу преимущества их внедрения и научу продавать ценность этого процесса бизнесу. Еще расскажу про трудности: технология требует ресурсов и усилий.
ИНЬ-ЯН в UI/UX дизайне
Привет, Хабр! Меня зовут Иван Вербов, я UI/UX дизайнер команды разработки платформы контейнеризации dBrain.cloud. Эта статья адресована моим коллегам-юиксерам, а также всем, кого затрагивают задачи анализа, обсуждения и согласования предложений и результатов работы над дизайном.
Как мы ускорили Golang-тесты на CI
Привет, Хабр 👋! Меня зовут Александр, я занимаюсь разработкой ПО. В этом посте я расскажу про свой опыт, как желание улучшить свой рабочий процесс CI, помогло ускорить все golang пайплайны в PaaS в СберМаркета.
Создание реактивных сервисов Micronaut и Kotlin
В данной статье обсудим создание REST-сервиса в “реактивном” исполнении. Приведу примеры кода на Kotlin в двух вариантах: Reactor и coroutines
Новые угрозы в OWASP API Security Top 10
Всем привет! Сегодня мы будем говорить о новых рисках в OWASP API Security Top 10, что плохого они нам обещают и что со всем этим можно сделать.
В 2023 году некоммерческая организация OWSAP обновила свой отчёт и выпустила новую версию 2023. По сравнению с 2023 годом, перечень рисков претерпел довольно сильные изменения, которые мы постарались представить в виде таблицы. Дополнительно, в таблице отмечено, какие из пунктов уже сейчас покрываются продуктами от «Выбмониторэкс», а какие будут закрыты в ближайшем будущем.
Пет-проект: путь от «простого получения опыта» до «продукта, способного приносить пользу IT сообществу»
В мире современных технологий и инноваций роль аналитика становится все более важной и востребованной. Однако, каким образом можно развивать свои аналитические навыки и экспертизу, чтобы выделиться среди конкурентов и создать что-то уникальное?
Один из способов – ведение пет-проектов. В этой статье я затронул тему, как пет-проект может стать не только практичным инструментом для развития аналитических навыков, но и возможностью создания полезного продукта, способного удовлетворить потребности рынка.
А также расскажу о своем пет-проекте, который может стать таковым.
Ближайшие события
Python streaming (spark+kafka)
В этой статье, посвященной Python streaming с использованием Spark и Kafka мы рассмотрим основные шаги по настройке окружения и запуску первых простых программ
Best Practices по подключению к сторонним API в проекте
При разработке больших web-проектов нам часто приходится взаимодействовать с API сторонних или внутренних микросервисов. Когда количество таких взаимодействий растёт, настройки вызовов к другому API и подробности самих вызовов кратно множатся и могут растекаться по проекту.
В Домклике у нас микросервисная архитектура, и каждому сервису приходится взаимодействовать с десятком других. Чтобы межсервисное взаимодействие было предсказуемым, надёжным, удобным и отслеживаемым, мы следуем ряду практик при разработке, и в этой статье я расскажу вам о них.
Проектируем микросервисы с Reactive Manifesto: 4 принципа распределенных систем
Работаете с распределенными системами или только пытаетесь к ним подобраться? Проектировать такие системы с нуля бывает сложно и страшно: чтобы учесть все нюансы, нужен определенный багаж знаний.
На помощь приходит Reactive Manifesto — документ, который обобщил опыт целого ряда компаний по созданию распределенных систем. Манифест формулирует главные принципы, на которые стоит опираться на этапе проектирования и эксплуатации таких систем.
Меня зовут Андрей Василевский, я системный архитектор в Lamoda Tech. В этой статье я на примерах из своей работы покажу, как применять Reactive Manifesto на практике. Статья будет полезна тем, кто только начал изучать распределенные системы, хочет закрепить теорию или тем, кто хочет структурировать проектирование микросервисов в своей компании.
Без денег, репликации и кеша: ограничиваем нагрузку на сервисы, используя подходы из TCP
При росте нагрузки одна из частей системы может подтормаживать. Часто уязвимым местом оказывается база данных. Так произошло и в нашем случае.
Я работаю в Mindbox в команде, которая отвечает за выдачу товарных рекомендаций. Наша база периодически деградировала, заливать ее деньгами (скейлить) не хотелось, а кешировать запросы не позволяла специфика данных.
В этой статье расскажу про комплексное решение, к которому мы пришли — динамически ограничивать конкурентные запросы и менять лимит в зависимости от времени ответа базы.
Анализ Приказа ФСТЭК России №118 «Об утверждении требований по безопасности информации к средствам контейнеризации»
Рассмотрим требования к безопасности информации в средствах контейнеризации, указанные в Выписке из Приказа ФСТЭК России № 118 «Требования по безопасности информации к средствам контейнеризации», приведем разъяснения к каждому требованию. Также в статье проанализируем техническую реализацию требований Приказа ФСТЭК России № 118 на примере ОС Astra Linux Special Edition и программные механизмы реализации в среде ОС.
Сложная архитектура простых приложений
По мотивам Adidas Running (ex. Runtastic)
Как я бы проектировал это интересное, но малоизвестное у нас приложение в роли архитектора.
Предыстория
Рынка систем электронных соревнований (в 2012 г) нет, но есть огромный интерес к спортивному образу жизни и к соревнованиям. В США не менее 50 миллионов (!) человек (это примерно 15% всего населения) хотя бы раз в неделю выходят на пробежку.
Адидас имеет объем продаж 20–30 млрд долл. в год.
Основной рынок – США, остальные страны – второстепенные рынки.
Как хакеры ломают банки за 48 часов и что нужно для защиты
На последней кибербитве Standoff 12, которая проходила в ноябре 2023 года, впервые был представлен вымышленный финтех — Global Digital Bank, максимально автоматизированный, с облачными приложениями на основе микросервисов «под капотом». Задачей команд атаки (red team) было реализовать недопустимые события, в случае с финтехом — остановить работу банка, выкрасть базу данных клиентов, взломать новостной портал. Назначение PT Container Security — защитить контейнерные среды и помочь синим командам отследить действия атакующих. Что из этого получилось? Рассказываем!
Вклад авторов
ednersky 155.0jirfag 152.0KIVagant 150.0ph_piter 146.6MaxRokatansky 102.0badcasedaily1 96.0Wimbo 90.0Polina_Averina 86.9soines 84.0jehy 84.0