Рубрика «Microservices» - 3

Привет! 7 декабря в офисе Авито пройдёт пятый митап в серии Backend United, получивший название «Шаурма». Эта встреча ориентирована на архитекторов и на разработчиков.

О чём хотим поговорить? Многие компании рано или поздно переезжают с монолита на микросервисы. Помимо очевидных плюсов такое решение обычно приводит к усложнению взаимодействия между разными частями системы и другим проблемам. На митапе мы поделимся реальным опытом переезда на микросервисы, расскажем о способах синхронного и асинхронного общения в распределенных системах и обсудим роль Кафки в микросервисной архитектуре.

С докладами выступят инженеры из Авито, OZON.travel и Severstal Digital. Встреча начнётся в 12:00. Регистрируйтесь сами и приглашайте коллег. Под катом — тезисы выступлений, ссылки на регистрацию и видеотрансляцию митапа.

Backend United #5: Шаурма — микросервисы, распределенные системы и Кафка - 1

Читать полностью »

Приглашаем на .Net Community Meetup 28 ноября. На митапе поговорим о проектировании desktop-приложений и рассмотрим вызовы, с которыми сталкивается любая компания на пути к микросервисам.

Ждём вас в офисе Райффайзенбанка в Нагатино!

.Net Meetup в Райффайзенбанке 28-11 - 1
Читать полностью »

28 сентября на конференции RubyRussia DevRel компании Evrone Григорий Петров расскажет о том, как общаются микросервисы. В сегодняшнем интервью Иван Соловьев поговорил с Григорием о теме его предстоящего выступления и не только об этом.

image

Расскажи о себе, чем ты занимаешься в Evrone?
Читать полностью »

Привет! представляю вашему вниманию перевод статьи «Go, gRPC and Docker» автора Mat Evans.

Существует множество статей о совместном использовании Go и Docker. Создавать контейнеры, способные взаимодействовать с клиентами и между собой, очень легко. Далее следует небольшой пример того, как это делается на базовом уровне.
Читать полностью »

Все эти годы вы, frontend-разработчик, писали монолиты, хотя и понимали, что это дурная привычка. Вы делили свой код на компоненты, использовали require или import и определяли npm-пакеты в package.json или плодили гит-репозитории в вашем проекте, но все равно писали монолит.
Пришло время изменить положение.
Читать полностью »

У вас когда-нибудь было такое состояние?

image

Хочу показать вам, как TDD может улучшить качество кода на конкретном примере.
Потому что всё то, что я встречал при изучении вопроса, было довольно-таки теоретическим.
Так получилось, что мне довелось написать два практически идентичных приложения: одно писалось в классическом стиле, так как я ещё не знал тогда TDD, в второе — как раз с использованием TDD.

Ниже я покажу, где были самые большие различия.

Лично мне это было важно, потому что каждый раз, когда кто-то находил баг в моём коде, я ловил увесистый минус на самооценку. Да, я понимал, что баги — это нормально, их пишут все, но ощущение неполноценности никуда не уходило. Также, в процессе эволюции сервиса, я иногда понимал, что сам понаписал такого, что чешутся руки всё выкинуть и переписать заново. И как это получилось — непонятно. Как-то всё было хорошо в начале, но вот пару фич и через некоторое время уже на архитектуру без слёз не взглянешь. Хотя вроде каждый шаг изменения был логичный. Ощущение того, что мне не нравится продукт собственного труда, плавно перетекало в ощущение, что программист из меня, простите, как из говна пуля.

Оказалось, я не один такой и схожие ощущения возникают у многих моих коллег. И тогда я решил, что либо научусь писать нормально, либо пора менять профессию. Я попробовал test-driven development в попытке что-то изменить в своём подходе к программированию.

Забегая вперёд, по результату нескольких проектов, могу сказать, что TDD даёт более чистую архитектуру, но при этом замедляет разработку. И подходит не всегда и не всем.
Читать полностью »

Не Spring Boot’ом единым: обзор альтернатив - 1

В настоящее время нет недостатка во фреймворках для создания микросервисов на Java и Kotlin.

В статье рассматриваются следующие:

Название Версия Год первого релиза Разработчик
Helidon SE 1.1.1 2019 Oracle
Ktor 1.2.1 2018 JetBrains
Micronaut 1.1.3 2018 Object Computing
Spring Boot 2.1.5 2014 Pivotal

Читать полностью »

6 способов угодить в ад готовых решений и спустить миллион-другой - 1

Привет, сейчас я расскажу тебе, что будет с перспективным проектом, если с самого начала обратиться к готовым решениям а-ля WordPress, Open Cart и любым CMS, думая, что это и есть MVP. Основываться буду на трёх-месячном опыте работы на одном из проектов, в GitHub которого за предыдущие 8 месяцев так и не упало ни одного коммита в production ветку.
Читать полностью »

Автоматические canary деплои с Flagger и Istio - 1

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

Flagger — это оператор Kubernetes с открытым исходным кодом, цель которого — исключить запутанные взаимосвязи. Он автоматизирует продвижение canary деплоев с использованием смещения трафика Istio и метрик Prometheus для анализа поведения приложения во время управляемого выкатывания.

Ниже приведено пошаговое руководство по настройке и использованию Flagger в Google Kubernetes Engine (GKE).

Читать полностью »

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

Введение

Седьмого марта компания 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.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js