Как стать автором
Поиск
Написать публикацию
Обновить
110.35

Микросервисы *

Микросервисная архитектура и все что с ней связано

Сначала показывать
Порог рейтинга
Уровень сложности

Контейнерная разработка в 2023 году, вебинар по Kubernetes и личные размышления

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1.9K

Всем привет! Меня зовут Максим Еремин, я занимаюсь развитием платформенных продуктов в beeline cloud. В этой статье поговорим про контейнерную разработку в облаках, рассмотрим, в каких реалиях живут облачные провайдеры, включая российских игроков и гигантов зарубежного рынка. 

Отдельно расскажу про особенности serverless-подхода. А если вы хотите узнать о serverless больше, погрузиться в DevOps-практику и посмотреть демо по управлению контейнерами — жду вас на вебинаре «Easy to use: управление контейнерами в облаке», который пройдет 30 мая в 11:00 мск. Приходите — пообщаемся в онлайне ?

Читать далее

Mela: асинхронный фреймворк на Python для сервисов, работающих с RabbitMQ

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров6.6K

WARNING: длинная вступительная часть. Если хотите перейти сразу к делу - листайте до Getting Started.

Читать далее

DevOps спит, Gitlab CI работает…

Время на прочтение12 мин
Количество просмотров9.9K

Можно ли построить удобный для всех pipeline, приложив усилия один раз, а не 100? Об этом расскажет Виктория Вольферц. Она работает в БКС DevOps-инженером в управлении микросервисной архитектуры. БКС предоставляет брокерские и банковские услуги для клиентов. Их основные продукты — это мобильное приложение БКС Мир Инвестиций и веб-кабинет для клиентов.

Виктория поделится опытом своей компании, как им удалось решить проблему больших временных затрат на релиз-менеджмент и Time to Market с помощью подключения проектов к CI/CD. Она расскажет о том, как они автоматизировали процессы и закрыли слабые места.

Читать далее

Как мы распиливаем монолит без даунтайма

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров3.1K
image

Всем привет!

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

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

Наши причины перехода были следующими:

  1. В монолите концентрировалось большое количество бизнес-процессов, которые охватывали сразу несколько потребителей: пользователей облачной платформы, сейлз-менеджеров (через CRM-систему), администраторов, обработчиков метрик. Получилась такая одна большая точка отказа сразу для 4 групп бизнес-процессов.
  2. Каждый бизнес-процесс потребляет свой объем ресурсов. Например, для обработки метрик нужно 5 подов (чтобы запараллелить и ускорить обработку), для администрирования хватит и одного. Так как у нас все в одном сервисе, при масштабировании монолита мы будем ориентироваться на самый «прожорливый» бизнес-процесс. Часть ресурсов будет просто простаивать.
  3. Хотелось добиться гранулярности, чтобы независимо писать и деплоить код для каждого бизнес-процесса. И не переживать, что какие-то изменения в одном бизнес-процессе неожиданно отрикошетят в соседний.

Читать дальше →

Микрофронтенды на Module Federation — наш опыт. Часть 2

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров5.3K

Всем привет! Меня зовут Женя, я разработчик из QIWI, занимаюсь созданием внутренних сервисов. Совсем недавно мы провели эксперимент по использованию микрофронтендов, и я хочу поделиться с вами опытом использования. Это вторая часть серии статей про наш опыт микрофронтов.

Читать далее

Микрофронтенды на Module Federation — наш опыт. Часть 1

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров7.5K

Всем привет! Меня зовут Женя, я разработчик из QIWI, занимаюсь созданием внутренних сервисов. Совсем недавно мы провели эксперимент по использованию микрофронтендов, и я хочу поделиться с вами опытом использования. В качестве основы для построения системы мы выбрали фичу Webpack - Module Federation.

Читать далее

А вам точно нужен Kubernetes?

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров17K

В последнее время я вижу много хайпа вокруг Kubernetes. Кажется, что он везде и всюду, а если кто-то его еще не использует, то он безнадежно отстал. Но странно принимать решение о внедрении технологии только на основе ее популярности в СМИ. Давайте разберемся: а вот лично вам правда нужен K8S?

Для чего используют Kubernetes? 

Как правило, внедрение Kubernetes означает использование микросервисной архитектуры. Конечно, чтобы реализовать микросервисы, не обязательно внедрять Кубернетес. Но очень часто обращаются именно к нему.

Тогда сформулируем вопрос иначе: а вам правда нужны микросервисы? И потом вернемся к предыдущему вопросу.

Достоинств у микросервисной архитектуры много. Например: 

Читать далее

[По полочкам] Кэширование

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров82K

Всем привет! Меня зовут Илья Денисов, я занимаюсь backend разработкой уже более пяти лет и сейчас пишу на языке go. Сегодня я предлагаю вам поговорить о кэшировании. Постараюсь рассказать о базовых концепциях, а также затронуть ряд особенностей, неочевидных на первый взгляд.

Читать далее

Книга «Создание микросервисов. 2-е издание»

Время на прочтение31 мин
Количество просмотров19K
image Привет, Хаброжители!
А мы издали второе издание книги Сэма Ньюмена

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

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

Шаблон Котлин-приложения

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров8K

Где-то раз в год возникает желание посмотреть: если сейчас начинать приложение с нуля, то что бы обязательно в него включил? Кроме очевидной практической ценности (обычно начинается новый проект) это так же позволяет осознать какой архитектурный опыт получен за последнее время.

Необходимость шаблона сверх https://start.spring.io вызвана следующими типами доработок:

Читать далее

Готовим из ванильного Kubernetes PaaS-платформу для создания кластера. Опыт dBrain

Время на прочтение8 мин
Количество просмотров4.5K

Сегодня Kubernetes — одно из наиболее оптимальных решений для работы с микросервисной архитектурой. Но это не традиционная комплексная система PaaS. В ванильный K8s входит несколько стандартных компонентов, которые отвечают только за минимальный набор необходимых функций. Но для эффективной работы приложений и деплоя продуктовой среды необходимо множество дополнений — CNI, СSI, DNS, Ingress контроллер, внешние LB и т. д. Цель нашей команды — готовая для комфортной работы с кластером PaaS‑платформа. В этой статье мы расскажем, как готовим Kubernetes в dBrain.cloud, чтобы ее достичь.

Читать далее

Вам нужен медиатор

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров22K

Этой весной в чатах и сообществах dotnet (не забываем #DropTheDot) обострились анти-медиаторные настроения. Поначалу меня это забавляло, потом удивляло: люди подхватывают лозунги, не пытаясь разобраться в вопросе. Квинтэссенцией обострения стал доклад Андрея Парамонова "MediatR не нужен”, шокирующий своей категоричностью аргументов. В докладе были зерна истины, но они к концу так и не проросли.

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

Зачем мне медиатор?

Рациональный подход к декомпозиции систем на модули или микросервисы. Практика

Уровень сложностиСложный
Время на прочтение12 мин
Количество просмотров6.1K

В своём прошлом посте я рассказал теорию своего подхода к декомпозиции систем на модули. Теперь пришло время проверить её на практике.

Кэмп - реальный проект, который стоил семизначную сумму для заказчика, выполнялся командой из 12 человек (включая двух бакэндеров) и сейчас запущен в промышленную эксплуатацию. Суммарно на выполнение проекта было затрачено 5500 человеко/часов, из которых 950 - на бакенд.

Что из этого получилось?

Ближайшие события

Ускоряем приложение: никаких фреймворков — только математика

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров17K

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

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

Читать далее

Рациональный подход к декомпозиции систем на модули или микросервисы

Уровень сложностиСложный
Время на прочтение13 мин
Количество просмотров8.1K

Чего от разработки ПО хотят разработчики, продакты и владельцы бизнеса?

Одного и того же - побольше дофаминчика (гормон счастья), поменьше кортизольчика (гормон стресса). Притом источники и дофамина, и кортизола у них одни и те же. Дофамин вырабатывается, когда фичи выпускаются в срок и без багов, а кортизол - когда сроки срываются и вылазят баги и регрессии. Бизнесу будет ближе финансовая версия — срыв сроков и баги очевидным образом приводят к увлечению стоимости разработки. Что приводит к выбросу кортизола уже у владельцев.

Как обеспечить высокий уровень дофамина?

Внедрение баз данных с бэкапированием и репликацией при помощи консоли dBrain. Как это работает

Время на прочтение7 мин
Количество просмотров2.2K

Вы слышали о Red Hat OpenShift и VMWare Tanzu? Мы сделали российскую альтернативу этих продуктов. Сегодня я хочу поделиться, как мы с командой собираем комплект баз данных, которые можно использовать для запуска микросервисных приложений.

Читать далее

Создаем скелеты микросервисов быстро и без боли

Время на прочтение4 мин
Количество просмотров8.6K

При создании новых сервисов повсеместно используют шаблонизацию, в крайнем случае — в формате ручного копирования кода. Но ручное копирование не исключает ошибок, а еще это муторно и долго. Быстрее и приятнее ответить CLI-утилите на несколько вопросов о будущем проекте и получить на выходе готовый «скелет» сервиса. Остается только начать писать бизнес-логику.

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

Читать далее

Трудности перевода. Как научить микросервисы общаться и не ссориться

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров6.6K

Привет! Меня зовут Саша Сусиков. Я проверяю клавиатуры на прочность около 10 лет из  них последние 2 года с помощью Go. Сейчас я участвую в разработке платформы СберМаркета, где создаю инструменты, которые упрощают жизнь разработчикам. Эта статья для тех, кому предстоит настроить процесс взаимодействия сервисов в компании и вы ищете, как не наломать дров.

Читать далее

Как мы создаем Squadus: путешествие от монолита к микросервисам

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров5.7K

На этой неделе мы выпустили Squadus — единое цифровое рабочее пространство, которое позволяет компаниям удобно и гибко структурировать коммуникации. На создание этого on-premise решения ушло порядка трех лет; для ускорения разработки Squadus мы скомбинировали наши технологии и компоненты СПО.

Мы рассмотрели несколько вариантов мессенджеров с открытым кодом в качестве основы, но все они не в полной мере отвечали нашим требованиям и не обеспечивали обслуживание более чем 1000 пользователей. Мы же хотели добиться значительно более высоких показателей — несколько десятков тысяч одновременно работающих пользователей. Поэтому переработали серверные компоненты и внедрили современную микросервисную архитектуру.

В новом цикле статей рассказываем, как Squadus развивался с технической точки зрения. Начнем с бэкенда: поговорим сегодня о переходе от монолитной архитектуры к микросервисной, о том, какие проблемы и как мы решали, и что нам это дало.

Читать далее

Страшно ли делать плохо? Прожарка твоего кода онлайн, без купюр

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров5.1K

Именно так я решил назвать эту статью, чтобы описать свои эмоции на прожаривании кода спонтанном публичном код-ревью моего open-source Portal от участников Go-чата, в котором я активно участвую. Главным ревьюером был Глеб Яльчик, что делало ситуацию ещё более волнительной для меня. Расскажу, как я на это решился, что мы обсудили, к чему пришли и какой эффект это дало. А внедрять Portal мы будем на примере мини-приложения по мотивам (всеми любимой) мобы Dota.

Примечание: это приложение будет что-то делать только в учебных целях, чтобы понять, как Portal сможет нам помочь передавать данные. Логика в нём будет достаточно простой, без ряда проверок и, возможно, с багами. Если станет достаточно интересно, то можем обсудить и его в комментариях!

Читать далее