Обновить
72.6

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

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

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

Давайте (не) разрушим монолит. Часть 2

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

В предыдущей статье мы начали обсуждать, что компании (всё еще) хотят разделить монолиты на микросервисы. Если спросить их, что они этим изменят — услышите, что с микросервисами рассчитывают решить проблему «большого комка грязи» или сократить time-to-market.

Далее мы обсудили, что изменения в монолитном приложении не решат вопрос «большого комка грязи», потому что реальные проблемы кроются в организации, процессах и людях, но не в технологии.  Во второй статье мы рассмотрим вопрос  time-to-market, а затем подведем итоги.

Читать далее

Service Mesh в дикой природе или как не стать жертвой атак

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

Когда погружаешься в Service Mesh, кажется, что это волшебная штука, которая решает все проблемы. Но потом вспоминаешь, что безопасность сама себя не настроит, а уязвимости появляются там, где их меньше всего ждёшь.

В статье разобрал всё это подробнее:
- Какие ошибки в безопасности Service Mesh встречаются чаще всего;
- Как атакуют Istio и Linkerd, и почему mTLS — не панацея;
- Какие практики реально работают, а какие просто звучат красиво.

С примерами, кейсами и полезными ссылками, чтобы не наступать на чужие грабли.

Вникнуть

System Design для начинающих: всё, что вам нужно. Часть 4

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

Продолжаем наращивать базу знаний по System Design. В этот раз освятим использование BLOB Storage, CDN, Message Broker. Посмотрим на основные концепции и области применения этих важных компонентов при проектирование высокодоступных отказоустойчивых систем.

Читать далее

Всё пропало! Google удалил хронологию пользователей с карт

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

Сервис Google - Maps Timeline позволял пользователям легко посмотреть историю своих перемещений на Гугл картах, с привязкой к посещённым местам, сделанным фотографиям.

Сегодня Гугл убил его, а вместе с ним и историю моих путешествий за последние несколько лет...

Поплакать вместе с автором...

Давайте (не) разрушим монолит. Часть 1

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

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

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

Я нахожу этот подход озадачивающим — по моему опыту, микросервисы редко решают проблемы, которые, по мнению большинства, они должны разрешить. Особенно, если внедрять их без других изменений. Я написал серию постов, в которых обсуждаю распространенные заблуждения о микросервисах. В этой серии разберем, какие проблемы не решают микросервисы, а какие — могут решить (если всё сделать правильно). А также, что мы можем сделать, если микросервисы — это не то, что нам нужно.

Читать далее

App.Farm CI. Часть IV. Реализуем flow — шагаем к автоматизации разработки

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

Привет, Хабр! На связи команда разработки App.Farm в РСХБ-Интех. Хотели бы представить вам следующую часть цикла статей об App.Farm CI, одной из подсистем нашего продукта — PaaS App.Farm.

App.Farm  — платформа по типу PaaS для стандартизации процесса разработки бизнес-приложений: от хранения исходного кода до запуска сервисов. App.Farm CI - подсистема обеспечивающая хранение кода, артефактов, автоматизацию сборки.

Какие темы затронем в этой статье:

- Разновидности flow

- Базовый набор job

- Генерация Dockerfile

- Проверка качества кода

- Сборка и публикация артефактов

- Развертывание

- Демонстрационные примеры

Читать далее

Какие же они тупые❢

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

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

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

Я принципиально сейчас не пользуюсь никакими помощниками. Я понимаю, что на текущей стадии это всё больше хайп, рабоает оно всё через пень‑колоду, раз через десять получаются более‑менее приемлемые результаты. т. е. если вы фанат ИИ (а я на самом деле фанат, но не такого паттерно‑натасканного ИИ, а традиционного, реально интеллектуального) — то можете тестировать и обчать этих ботов на себе. Но зачем вы портите жизнь другим людям, зачем вы втюхиваете тухлые продукты тем, кто предпочитает здоровое питание?

Читать далее

Боремся с токсичными комментариями с помощью ИИ, FastAPI и React

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

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

Мы воспользуемся FastAPI для бэкенда, React для фронтенда, заставим их между собой общаться через RESTful API, а бизнес-логику реализуем путём обращения к ИИ через gRPC.

Читать далее

Три необсуждаемых вопроса о микросервисах и параллельной распределённой обработке данных — чтобы жить стало легче

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

Воркшоп для тех, кто впервые сталкивается с распределёнными системами.

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

Читать далее

Введение в микросервисы C# + шаблон

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

Думаешь, микросервисы — это сложно? В этой статье я коротко и простыми словами объясняю как написать микросервис на .NET, какие технологии использовать и как избежать типичных ошибок.

📌 Что разберем:

Как правильно разделять логику: CQRS, слои приложения

Какие инструменты использовать: MediatR, MassTransit, MinimalApi и др.

Настройка инфраструктуры: базы данных, документирование API

Практические примеры: разберем код, покажу, как все работает

Начать изучение

Пишем отложенные сообщения для ВК на питоне

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

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

Читать далее

Как сделать livenessProbe для Kafka-консьюмеров и перестать перезапускать их вручную

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

Kafka-консьюмеры не всегда работают так стабильно, как хотелось бы. Иногда они просто зависают — без ошибок, без падений, но и без обработки сообщений. LivenessProbe в Kubernetes помогает автоматически перезапускать зависшие сервисы, но с Kafka-консьюмерами всё не так просто: стандартного решения для них нет. В этой статье разберём, как правильно реализовать livenessProbe для консьюмеров с помощью паттерна Heartbeat, чтобы не перезапускать их вручную.

Читать далее

Разворачиваем микрофронты на Next.js

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

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

Читать далее

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

Почему Redis работает так быстро, несмотря на то, что он однопоточный?

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

Redis — это высокопроизводительное хранилище «ключ-значение» в оперативной памяти, известное своей невероятной скоростью. Фактически, один сервер Redis может обрабатывать до 100 000 запросов в секунду (QPS). Такая скорость часто удивляет, особенно если учесть, что Redis в основном работает по однопоточной модели обработки запросов. Так почему же Redis работает так быстро, несмотря на однопоточный подход? Давайте рассмотрим ключевые факторы, влияющие на производительность Redis.

Читать далее

Проблема запуска реплик в Docker Swarm: диагностика и решения

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

При работе с Docker Swarm вы можете столкнуться с ситуацией, когда кластер не может разместить новую реплику сервиса на одной из нод, либо вообще запустить сервис. Это проявляется в логах на одной из менеджер-нод следующим предупреждением:

Читать далее

Заводить ли личный блог или сайт? Часть II. Конифгурация сервера с помощью Ansible

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

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

На очереди конфигурация сервера с помощью Ansible. Данная статья будет разделена на три блока: несколько слов о результатах первой статьи, блок о самом инструменте Ansible и блок о конфигурации сервера с помощью него. 

Читать далее

App.Farm CI. Часть III. Подготовка к реализации flow — быть вахтером или не быть?

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

Привет, Хабр! На связи команда разработки App.Farm в РСХБ-Интех. Хотели бы представить вам следующую часть цикла статей об App.Farm CI, одной из подсистем нашего продукта — PaaS App.Farm.

App.Farm - платформа по типу PaaS для стандартизации процесса разработки бизнес-приложений: от хранения исходного кода до запуска сервисов. App.Farm CI — подсистема обеспечивающая хранение кода, артефактов, автоматизацию сборки.

Какие темы затронем в этой части:

Архитектура подключаемых flow

Архитектура сборки

Базовый набор flow

Требования к flow

Статическая верификация

Читать далее

Конспект по архитектуре ПО и System Design

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

Это компиляция основных знаний по проектированию архитектуры ПО, которые мне удалось собрать. Конспект доступен по ссылке на Miro-доску.

Можно сказать, что это взгляд на System Design с точки зрения фронтенд-разработчика, который пытается разобраться в теме.

Читать статью целиком

Микросервисы в МТС: когда масштаб имеет значение

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

Привет, Хабр! Меня зовут Михаил Федяев, я работаю архитектором в департаменте управления технологиями МТС Диджитал. В нашей экосистеме порядка 500 разных продуктов — для их развития у всех команд должны быть общие правила принятия решений. Они сформулированы в виде 15 технологических принципов. Сегодня я хочу рассказать про один из них — «Микросервисы». Он определяет, как в нашей компании подходят к внедрению микросервисной архитектуры.

Читать далее

Страх и Ненависть в Ви.Tech: от монолита к не микросервисам

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

Представьте: у вас есть монолит на PHP. Большой, сложный, местами запутанный – но такой родной. Он верой и правдой служит бизнесу много лет. А потом случается неизбежное – компания растет, нагрузки увеличиваются, и ваш надежный монолит начинает... задыхаться.

Я – Кирилл Кузин, go-разработчик платформенной команды Ви.Tech (IT-дочка ВсеИнструменты.ру). Последние три года мы переводим высоконагруженные части нашего кода с монолита на Go-сервисы. За это время успели перенести критически важные компоненты, увеличить производительность в десятки раз и найти свой путь между монолитом и микросервисами. О нем я сегодня и расскажу.

Сесть в машину без верха