Сравниваем особенности микросервисной и монолитной архитектуры, их преимущества и недостатки. Статья подготовлена для Хабра по материалам нашего митапа Hot Backend, который прошел в Самаре 9 февраля 2019 года. Мы рассматриваем факторы выбора архитектуры в зависимости от конкретной задачи.Читать полностью »
Рубрика «микросервисы» - 20
Пара слов в защиту монолита
2019-05-29 в 12:53, admin, рубрики: Анализ и проектирование систем, архитектура, Блог компании SimbirSoft, микросервисы, монолит, Проектирование и рефакторингВаши распределенные монолиты плетут козни у вас за спиной
2019-05-25 в 20:50, admin, рубрики: event sourcing, Анализ и проектирование систем, Блог компании Издательский дом «Питер», микросервисы, Программирование, Проектирование и рефакторинг, распределенные системыПривет!
Сегодняшний перевод затрагивает не только и не столько микросервисы — тему, которая сегодня у всех на устах — но и напоминает, как важно называть вещи своими именами. Переход на микросервисную архитектуру бывает необходим, но, как лишний раз подчеркивает автор, требует тщательно просчитывать последствия. Приятного и плодотворного чтения!

Контейнеры, микросервисы и сервис-меши
2019-05-23 в 19:21, admin, рубрики: Consul Connect, devops, dotcloud, Istio, kubernetes, linkerd, service mesh, SuperGloo, балансировка нагрузки, микросервисы, Серверная оптимизация, сервис-мешВ интернете куча статей о сервис-мешах (service mesh), и вот ещё одна. Ура! Но зачем? Затем, что я хочу изложить своё мнение, что лучше бы сервис-меши появились 10 лет назад, до появления контейнерных платформ, таких как Docker и Kubernetes. Я не утверждаю, что моя точка зрения лучше или хуже других, но поскольку сервис-меши — довольно сложные животные, множественность точек зрения поможет лучше их понять.
Я расскажу о платформе dotCloud, которая была построена на более чем сотне микросервисах и поддерживала тысячи приложений в контейнерах. Я объясню проблемы, с которыми мы столкнулись при её разработке и запуске, и как сервис-меши могли бы помочь (или не могли).
Читать полностью »
За всё ответишь! Consumer Driven Contracts глазами разработчика
2019-05-22 в 14:33, admin, рубрики: bdd, Consumer Driven Contracts, qualityconf, Блог компании Конференции Олега Бунина (Онтико), микросервисы, Тестирование IT-систем, Тестирование веб-сервисов, управление разработкойВ этой статье мы расскажем про проблемы, которые решает Consumer Driven Contracts, покажем как это применять на примере Pact с Node.js и Spring Boot. И расскажем про ограничения этого подхода.

Проблематика
При тестировании продуктов часто используют сценарные тесты, в которых проверяется интеграция различных компонент системы на специально выделенном окружении. Такие тесты на живых сервисах дают самый достоверный результат (не считая тестов на бою). Но в то же время они — одни из самых дорогих.
Читать полностью »
.Net Community Райффайзенбанка приглашает на митап
2019-05-14 в 13:03, admin, рубрики: .net, ASP, ASP.NET, C#, DDD, omsdotnet, raiffeisenIT, Блог компании Райффайзенбанк, микросервисы.NET Community Райффайзенбанка приглашает на Meetup, который состоится в московском офисе в Нагатино 23 мая.
Сообщество разработчиков Райффайзенбанка активно проводит митапы, готовит вокркшопы, и делает еще много всего, для того, чтобы сотрудники могли делиться опытом и знаниями друг с другом. В программе события два доклада. Поговорим про DDD в микросервисах и узнаем как коллеги из Ozon реализовали сбор метрик в приложениях ASP.NET Core
Consumer Driven Contracts или Gitlab CI глазами QA test automation
2019-05-09 в 13:16, admin, рубрики: Consumer Driven Contracts, gitlab ci, pact, python, микросервисы, Тестирование веб-сервисов, Тестирование мобильных приложенийЦели данной публикации:
- Краткое введение в Consumer Driven Contracts (CDC)
- Настройка CI pipeline на основе CDC
Consumer Driven Contracts
В этой части мы пройдемся по основным моментам CDC. Данная статья не является исчерпывающей на тему контрактного тестирования. Существует достаточное количество материалов на эту тему на том же Хабре.
Для продолжения нам необходимо познакомиться с основными положениями CDC:
- Контактное тестирование находится на уровне Service/Integration Tests над Unit Tests согласно пирамиде автотестирования (Mike Cohn)
- Контрактное тестирование может применяться, когда есть 2 (или более) сервиса, которые взаимодействуют друг с другом
- Сonsumer driven подход означает, что первым шагом в реализации является написание теста на стороне потребителя. Результатом теста является пакт (контракт) в формате json, который описывает взаимодействие между потребителем (например, веб-интерфейс / мобильный интерфейс: сервис, который хочет получить некоторые данные) и поставщиком (например, серверный API: сервис, который предоставляет данные)
- Следующим шагом является проверка договора с провайдером. Это полностью осуществлено фреймворком Pact.Читать полностью »
GitLab Shell Runner. Конкурентный запуск тестируемых сервисов при помощи Docker Compose
2019-05-02 в 3:23, admin, рубрики: automation, automation testing, Concurrent, devops, docker-compose, gitlab ci, gitlab runner, tdd, микросервисы, Тестирование IT-систем, Тестирование веб-сервисовДанная статья будет интересна как тестировщикам, так и разработчикам, но рассчитана в большей степени на автоматизаторов, которые столкнулись с проблемой настройки GitLab CI/CD для проведения интеграционного тестирования в условиях недостаточности инфраструктурных ресурсов и/или отсутствия платформы оркестрации контейнеров. Я расскажу, как настроить развертывание тестируемых окружений при помощи docker compose на одном единственном GitLab shell раннере и так, чтобы при развертывании нескольких окружений запускаемые сервисы друг другу не мешали.
Переезд веб-портала: от монолита к микросервисной архитектуре
2019-04-25 в 14:40, admin, рубрики: Блог компании SimbirSoft, микросервисы, Разработка веб-сайтовДелимся опытом модернизации архитектуры веб-портала, позволившей сделать продукт удобным, стабильным и отказоустойчивым: посещаемость выросла с 350 тысяч до 7 миллионов пользователей! История будет полезна тем, кто планирует расширение своего продукта. Для начала разберемся, какие факторы могут помешать работе и развитию веб-портала:Читать полностью »
Пользователь в Docker
2019-04-19 в 7:20, admin, рубрики: docker, linux, информационная безопасность, микросервисы, Настройка LinuxАндрей Копылов, наш технический директор, любит, активно использует и пропагандирует Docker. В новой статье он рассказывает, как создать пользователей в Docker. Правильная работа с ними, почему пользователей нельзя оставлять с root правами и, как решить задачу несовпадения индикаторов в Dockerfile.
Как разделить фронтенд и бэкенд, сохранив взаимопонимание
2019-04-11 в 7:04, admin, рубрики: api, billmanager, ISPsystem, Анализ и проектирование систем, Блог компании ISPsystem, микросервисы, монолит, Проектирование и рефакторинг
Как изменить архитектуру монолитного продукта, чтобы ускорить его развитие, и как поделить одну команду на несколько, сохранив согласованность работы? Для нас ответом на эти вопросы стало создание нового API. Под катом вас ждёт обстоятельная история о пути к такому решению и обзор выбранных технологий, но для начала — небольшое лирическое отступление.
Несколько лет назад я прочёл в научной статье, что для полноценного обучения нужно всё больше и больше времени, а в недалёком будущем на получение знаний будет уходить восемьдесят лет жизни. Видимо, в IT это будущее уже наступило.
Мне посчастливилось начать программировать в те годы, когда не было разделения на бэкенд и фронтенд-программистов, когда не звучали слова «прототип», «продуктолог», «UX» и «QA». Мир был проще, деревья выше и зеленее, воздух чище и во дворах играли дети, а не парковались автомобили. Как бы мне ни хотелось вернуться в то время, нужно признать, что всё это не замысел суперзлодея, а эволюционное развитие общества. Да, общество могло развиваться иначе, но, как известно, история не терпит сослагательного наклонения.


