Вам нужен Kubernetes, а у вашего облачного провайдера такой услуги нет? Мы используем несколько провайдеров и ни у одного из них нет Kubernetes-as-a-Service. Wigin это очень простой в использовании веб-сервис с UI, который может быстро и просто развернуть кластер Kubernetes на любые серверы. И даже немного больше. Читать полностью »
Рубрика «микросервисы» - 19
Kubespray-as-a-Service — добавляем Kubernetes к любому облаку
2019-02-27 в 7:28, admin, рубрики: Ansible, devops, docker, kubernetes, kubespray, микросервисы, облачные сервисыWG Contract API: zoo of services
2019-02-26 в 9:19, admin, рубрики: api, distributed systems, Gamedev, systems design, wargaming, Анализ и проектирование систем, Блог компании Wargaming, микросервисы, проектирование систем, разработка игр, распределенные системы
С ростом количества компонентов в программной системе, обычно растёт и количество людей принимающих участие в её разработке. Как следствие, для сохранения темпов разработки и простоты сопровождения, подходы к организации API должны стать предметом особого внимания.
Если хотите познакомиться поближе с тем как команда Wargaming Platform справляется со сложностью системы из более чем сотни взаимодействующих друг с другом web-сервисов, то добро пожаловать под кат.
Читать полностью »
Опыт построения инфраструктуры на микросервисной архитектуре
2019-02-22 в 11:30, admin, рубрики: devops, python, Анализ и проектирование систем, Кафка, микросервисы
За последний год публикаций о микросервисах стало так много, что рассказывать что это и зачем нужно было бы пустой тратой времени, так что дальнейшее изложение будет сконцентрировано на вопросе — каким способом бы реализовали эту архитектуру и почему именно так и с какими проблемами столкнулись.
У нас в небольшом банке были большие проблемы: 3 python монолита связанных чудовищным количеством синхронных RPC взаимодействий с большим объемом legacy. Что бы хотя бы отчасти решить все возникающие при этом проблемы было принято решение перейти на микросервисную архитектуру. Но прежде чем решиться на такой шаг нужно ответить на 3 основных вопроса:
- Как разбить монолит на микросервисы и какими критериями следует при этом руководствоваться.
- Каким образом микросервисы будут взаимодействовать?
- Как осуществлять мониторинг?
Собственно кратким ответам на эти вопросы и будет посвящена данная статья.
Scala + MXNet = Микросервис с нейронкой в проде
2019-02-13 в 13:36, admin, рубрики: docker, mxnet, scala, Блог компании Mail.Ru Group, машинное обучение, микросервисы, нейросетьВ интернете есть огромное количество руководств и примеров, на основе которых вы, дорогие читатели, сможете «без особого труда» и с «минимальными» временными затратами написать код, способный на фото отличать кошечек от собачек. И зачем тогда тратить время на эту статью?
Основной, на мой взгляд, недостаток всех этих примеров — ограниченность возможностей. Вы взяли пример, — пусть даже с базовой нейронной сетью, которую предлагает автор, — запустили его, возможно, он даже заработал, а что дальше? Как сделать так, чтобы этот незамысловатый код начал работать на production-сервере? Как его обновлять и поддерживать? Вот тут и начинается самое интересное. Мне не удалось найти полного описания процесса от момента «ну вот, ML-инженер обучил нейронную сеть» до «наконец-то мы выкатили это в production». И я решил закрыть этот пробел.
Читать полностью »
Автоматический деплой serverless функций из Git
2019-02-12 в 11:14, admin, рубрики: bot, devops, Git, gitlab, golang, kubernetes, serverless, swifty, Блог компании Rusonyx, микросервисы, Облачные вычисления
На примере gitlab бота я покажу, каким образом можно автоматизировать процесс релиза для serverless функций через автоматическое их обновление из git репозитория. Переходим от игр к практической разработке на serverless. Читать полностью »
Знакомимся с микросервисным фреймворком Moleculer
2019-02-11 в 8:33, admin, рубрики: moleculer, node.js, микросервисы, фреймворкиПривет, читатель!
Сегодня я хочу рассказать тебе об одном отличном, на мой взгляд, микросервисном фреймворке Moleculer.
Изначально этот фреймворк был написан на Node.js, но в последствии у него появились порты и на других языках таких как Java, Go, Python и .NET и, скорее всего, в ближайшем будущем, появятся и другие имплементации. Мы используем его в продакшене в нескольких продуктах уже около года и словами сложно описать, каким благословением он нам показался после использования Seneca и своих_велосипедов. Мы получили всё что нам нужно из коробки: сбор метрик, кэширование, балансировка, fault-tolerance, транспорты на выбор, валидация параметров, логирование, лаконичное объявление методов, несколько способов межсервисного взаимодействия, миксины и многое другое. А теперь по порядку.
Читать полностью »
xenvman: Гибкие окружения для тестирования микросервисов (и не только)
2019-02-06 в 16:17, admin, рубрики: docker, Go, golang, Microservices, микросервисыВсем привет!
Я бы хотел немного рассказать о проекте, над которым я работал последние полгода. Проект я делаю в свободное время, но мотивация к его созданию пришла из наблюдений, сделанных на основной работе.
На рабочем проекте мы используем архитектуру микросервисов, и одна из главных проблем, которая проявилась со временем и выросшим количеством этих самых сервисов — это тестирование. Когда некий сервис зависит от пяти-семи других сервисов, плюс ещё какая-нибудь база данных (а то и несколько) в придачу, то тестировать это в "живом", так сказать виде, весьма неудобно. Приходится обкладываться моками со всех сторон так плотно, что самого теста и не разглядеть. Ну или каким-то образом организовывать тестовое окружение, где все зависимости могли бы реально быть запущены.
История блужданий по документации Haproxy, или на что стоит обратить внимание при его конфигурации
2019-02-06 в 7:37, admin, рубрики: devops, haproxy, http, keep-alive, network, tuning, микросервисы, Сетевые технологии, системное администрированиеИ снова здравствуйте!
В прошлый раз мы рассказывали о выборе инструмента в Ostrovok.ru для решения задачи проксирования большого количества запросов к внешним сервисам, никого при этом не положив. Статья закончилась выбором Haproxy. Сегодня я поделюсь нюансами, с которыми мне пришлось столкнуться при использовании этого решения.
Чек-лист: что нужно было делать до того, как запускать микросервисы в prod
2019-01-30 в 1:48, admin, рубрики: devops, docker, kubernetes, Microservices, quality control, quality of service, микросервисы
Эта статья содержит краткую выжимку из моего собственного опыта и опыта моих коллег, с которыми мне днями и ночами доводилось разгребать инциденты. И многих инцидентов не возникло бы никогда, если бы всеми любимые микросервисы были написаны хотя бы немного аккуратнее.
К сожалению, некоторые невысокие программисты всерьёз полагают, что Dockerfile с какой-нибудь вообще любой командой внутри — это уже сам по себе микросервис и его можно деплоить хоть сейчас. Докеры крутятся, лавешка мутится. Такой подход оборачивается проблемами начиная с падения производительности, невозможностью отладки и отказами обслуживания и заканчивая кошмарным сном под названием Data Inconsistency.
Если вы ощущаете, что пришло время запустить ещё одну аппку в Kubernetes/ECS/whatever, то мне есть чем вам возразить.
Tornado vs Aiohttp: путешествие в дебри асинхронных фреймворков
2019-01-17 в 12:49, admin, рубрики: aiohttp, asyncio, python, tornado, высокая производительность, микросервисы, Разработка веб-сайтовПривет! Я Дима, и я довольно давно и плотно сижу на Python. Сегодня хочу показать вам отличия двух асинхронных фреймворков — Tornado и Aiohttp. Расскажу историю выбора между фреймворками в нашем проекте, чем отличаются корутины в Tornado и в AsyncIO, покажу бенчмарки и дам немного полезных советов, как забраться в дебри фреймворков и успешно оттуда выбраться.