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

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

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

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

.Net Community Райффайзенбанка приглашает на митап UPD Трансляция

Время на прочтение2 мин
Количество просмотров3.3K
.NET Community Райффайзенбанка приглашает на Meetup, который состоится в московском офисе в Нагатино 23 мая.

Сообщество разработчиков Райффайзенбанка активно проводит митапы, готовит вокркшопы, и делает еще много всего, для того, чтобы сотрудники могли делиться опытом и знаниями друг с другом. В программе события два доклада. Поговорим про DDD в микросервисах и узнаем как коллеги из Ozon реализовали сбор метрик в приложениях ASP.NET Core


Consumer Driven Contracts или Gitlab CI глазами QA test automation

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

Цели данной публикации:


  • Краткое введение в 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

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


Данная статья будет интересна как тестировщикам, так и разработчикам, но рассчитана в большей степени на автоматизаторов, которые столкнулись с проблемой настройки GitLab CI/CD для проведения интеграционного тестирования в условиях недостаточности инфраструктурных ресурсов и/или отсутствия платформы оркестрации контейнеров. Я расскажу, как настроить развертывание тестируемых окружений при помощи docker compose на одном единственном GitLab shell раннере и так, чтобы при развертывании нескольких окружений запускаемые сервисы друг другу не мешали.

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

Переезд веб-портала: от монолита к микросервисной архитектуре

Время на прочтение5 мин
Количество просмотров5.9K
Делимся опытом модернизации архитектуры веб-портала, позволившей сделать продукт удобным, стабильным и отказоустойчивым: посещаемость выросла с 350 тысяч до 7 миллионов пользователей! История будет полезна тем, кто планирует расширение своего продукта. Для начала разберемся, какие факторы могут помешать работе и развитию веб-портала:
Читать дальше →

Пользователь в Docker

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

Андрей Копылов, наш технический директор, любит, активно использует и пропагандирует Docker. В новой статье он рассказывает, как создать пользователей в Docker. Правильная работа с ними, почему пользователей нельзя оставлять с root правами и, как решить задачу несовпадения идентификаторов в Dockerfile.

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

Семинары IBM: весна-лето 2019 — искусственный интеллект, разработка в облаке, чат-боты, блокчейн и прочие технологии

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


Привет, Хабр! В апреле-июне этого года в нашем клиентском центре (Москва, Пресненская набережная, 10) мы проводим очередную серию семинаров по облачным сервисам IBM. Приглашаем всех заинтересованных разработчиков! Участие в семинарах абсолютно бесплатное, а кофе-чай-пирожные — за наш счет. ) По окончании семинара каждый его участник получит сертификат от IBM. Количество мест ограничено.

Для тех, кто посетил наши семинары в прошлом году, мы подготовили обновленную программу, скорректированную в соответствии с вашими пожеланиями. Темы семинаров: разработка в облаке, чат-боты, блокчейн, частные облака, машинное обучение и анализ данных в облаке. Посетив наши семинары, вы сможете быстро реализовать свои инновационные идеи в виде сервисов и/или приложений из облака IBM, используя современные технологии, сократить time-to-market, создавать PoC для ваших заказчиков, или вывести вашу идею на международный рынок!

Тем, кто заинтересовался — смотрим далее.
Читать дальше →

Ignite Service Grid — перезагрузка

Время на прочтение6 мин
Количество просмотров4.7K
26 февраля мы проводили митап Apache Ignite GreenSource, где выступали контрибьютеры open source проекта Apache Ignite. Важным событием в жизни этого сообщества стала перестройка компонента Ignite Service Grid, который позволяет развернуть пользовательские микросервисы прямо в кластере Ignite. Об этом непростом процессе на митапе рассказал Вячеслав Дарадур, старший разработчик Яндекса и уже более двух лет контрибьютер Apache Ignite.


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

Учимся общаться между микросервисами на Node.js через RabbitMQ

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

Это продолжение статьи «Пишем первый микросервис на Node.js с общением через RabbitMQ», которая была неплохо принята пользователями хабра.


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

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

Пишем первый микросервис на Node.js с общением через RabbitMQ

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

Со временем, каждый проект растет и реализовывать новый функционал в существующий монолит становится все сложнее, дольше и дороже для бизнеса.


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

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

Четыре реальные истории работы с микросервисной архитектурой — отчёт с митапа Backend United 3: Холодец

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

На третьей встрече из серии Backend United мы с коллегами из Booking, Dodo Pizza и Авито обменялись опытом работы с микросервисной архитектурой. Говорили о распилах, монолитах и всём, что за этим стоит. Этот пост — отчёт о том, как прошёл митап. Внутри — видеозаписи, презентации спикеров, ссылки на фотоотчёт и отзывы участников встречи.


Архитектурный шаблон “Macro Shared Transactions for Microservices”

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


Автор: Денис Цыплаков, Solution Architect, DataArt

Постановка задачи


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

Назад к микросервисам вместе с Istio. Часть 3

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


Прим. перев.: Первая часть этого цикла была посвящена знакомству с возможностями Istio и их демонстрации в действии, вторая — тонко настраиваемой маршрутизации и управлению сетевым трафиком. Теперь же речь пойдёт про безопасность: для демонстрации связанных с ней базовых функций автор использует identity-сервис Auth0, однако по аналогии с ним могут настраиваться и другие провайдеры.

Мы настроили Kubernetes-кластер, в котором развернули Istio и пример микросервисного приложения Sentiment Analysis, — так были продемонстрированы возможности Istio.

С помощью Istio нам удалось сохранить небольшой размер сервисов, поскольку они не нуждаются в реализации таких «слоёв», как повторные попытки подключения (Retries), таймауты (Timeouts), автоматический выключатели (Circuit Breakers), трассировка (Tracing), мониторинг (Monitoring). Кроме того, мы задействовали техники продвинутого тестирования и деплоя: A/B-тестирование, зеркалирование и канареечные выкаты.
Читать дальше →

29 марта, Москва — Backend Stories 3.0

Время на прочтение1 мин
Количество просмотров2.4K
На следующей неделе кроме митапа для любителей JavaScript мы проведем и митап для backend-разработчиков.

Место — то же, Corporate Innovations Hub, от нас снова будут 3 спикера, бургеры и призы за самые интересные вопросы. Как обычно, митап бесплатный + в день события мы выложим трансляцию.

Поговорим о Selenium WebDriver и его пользе, затронем тему ElasticSearch, и, конечно же, обсудим микросервисную архитектуру.

Главное — зарегистрируйтесь заранее.
Читать дальше →

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

Верните мне мой монолит

Время на прочтение3 мин
Количество просмотров41K
Кажется, пик хайпа по микросервисам остался позади. Мы уже не читаем по нескольку раз в неделю посты «Как я перенес свой монолит на 150 сервисов». Теперь я чаще слышу разумные мысли: «Я не ненавижу монолит, я просто забочусь об эффективности». Мы даже наблюдали несколько миграций от микросервисов обратно к монолиту. При переходе от одного большого приложения к нескольким службам меньшего размера вам придётся решать несколько новых проблем. Перечислим их максимально кратко.
Читать дальше →

Микросервисная архитектура = распределенные вычисления

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

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


Параллельные вычисления или при чем тут основатель Intel


Сначала немного истории. В 1965 году Гордон Мур, один из основателей Intel, обнаружил закономерность: появление новых моделей микросхем наблюдалось спустя примерно год после предшественников, при этом количество транзисторов в них возрастало каждый раз приблизительно вдвое. Получается, что количество транзисторов, размещаемых на кристалле интегральной схемы, удваивалось каждые 24 месяца. Такое наблюдение стало называться законом Мура. Основатель Intel предсказал, что количество элементов в чипе вырастет с 2^6 (порядка 60) в 1965 году до 2^16 (65 тыс.) уже к 1975 году.

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

Назад к микросервисам вместе с Istio. Часть 2

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


Прим. перев.: Первая часть этого цикла была посвящена знакомству с возможностями Istio и их демонстрации в действии. Теперь же речь пойдёт про более сложные аспекты конфигурации и использования этого service mesh, а в частности — про тонко настраиваемую маршрутизацию и управление сетевым трафиком.

Напоминаем также, что в статье используются конфигурации (манифесты для Kubernetes и Istio) из репозитория istio-mastery.
Читать дальше →

Quarkus — сверхзвуковая субатомная Java. Краткий обзор фреймворка

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


Введение


Седьмого марта компания RedHat (вскоре — IBM) представила новый фреймворк — Quarkus. По словам разработчиков, этот фреймворк базируется на GraalVM и OpenJDK HotSpot и предназначен для Kubernetes. Стек Quarkus включает в себя: JPA/Hibernate, JAX-RS/RESTEasy, Eclipse Vert.x, Netty, Apache Camel, Kafka, Prometheus и другие.


Цель создания — сделать Java лидирующей платформой для развертывания в Kubernetes и разработки serverless приложений, предоставляя разработчикам унифицированный подход к разработке как в реактивном, так и в императивном стиле.


Если смотреть на эту классификацию фреймворков, то Quarkus где-то между "Aggregators/Code Generators" и "High-level fullstack frameworks". Это уже больше, чем агрегатор, но и до full-stack не дотягивает, т.к. заточен на разработку backend.

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

Назад к микросервисам вместе с Istio. Часть 1

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


Прим. перев.: Service mesh'и определённо стали актуальным решением в современной инфраструктуре для приложений, следующих микросервисной архитектуре. Хотя Istio может быть на слуху у многих DevOps-инженеров, это довольно новый продукт, который, будучи комплексным в смысле предоставляемых возможностей, может потребовать значительного времени для знакомства. Немецкий инженер Rinor Maloku, отвечающий за облачные вычисления для крупных клиентов в телекоммуникационной компании Orange Networks, написал замечательный цикл материалов, что позволяют достаточно быстро и глубоко погрузиться в Istio. Начинает же он свой рассказ с того, что вообще умеет Istio и как на это можно быстро посмотреть собственными глазами.

Istio — Open Source-проект, разработанный при сотрудничестве команд из Google, IBM и Lyft. Он решает сложности, возникающие в приложениях, основанных на микросервисах, например, такие как:
Читать дальше →

Backend United 3: Холодец

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

Привет! Мы продолжаем Backend United, серию митапов для разработчиков серверной части. Третья встреча называется «Холодец», и посвящена она будет микросервисной архитектуре. Вместе с коллегами из Booking.com, Dodo Pizza и Авито поговорим о монолитах, распилах и обратной стороне сервис-ориентированной архитектуры.


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


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

Разработка новой ветки продукта: как избавиться от непрактичного и сохранить полезное

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


Привет, Хабр! Меня зовут Дмитрий, я разработчик в ISPsystem. Недавно мы выпустили в бета-тестирование новую версию панели управления виртуальными машинами. Сегодня я расскажу, как мы решали, что взять из старого продукта, а от чего лучше отказаться. Пройдусь по самым важным для нас вопросам: библиотека для работы с libvirt, поддержка различных ОС при установке продукта, переход от монолита к микросервисам, развёртывание виртуальных машин.

В статье речь идёт о VMmanager. Это система управления, развёртывания и мониторинга виртуальных машин на основе виртуализации KVM и OVZ. Пятое поколение вышло в 2012 году. С тех пор интерфейс сильно устарел, а централизованная архитектура мешала развивать продукт. Пришло время делать новую версию.
Читать дальше →