В прошлом посте мы рассказывали о том, как и почему мы в Acronis делаем аннотации к микросервисам, и обещали поделиться своей практикой применения единого формата API для всей платформы Acronis Cyber Platform. Сегодня мы расскажем про свой опыт статических проверок аннотаций – aka первый шаг на пути внедрения аннотаций в компании.
Рубрика «микросервисы» - 14
Что можно делать с аннотациями контрактов микросервисов?
2019-10-10 в 6:19, admin, рубрики: OAS, RAML, rest, RESTful, Swagger. микросервисы, аннотации, Блог компании Acronis, микросервисыСборка и деплой однотипных микросервисов с werf и GitLab CI
2019-10-07 в 10:57, admin, рубрики: continuous delivery, devops, gitlab, gitlab ci, helm, kubernetes, werf, Блог компании Флант, микросервисы, системы сборки
Два года назад мы публиковали статью «Сборка проектов с GitLab CI: один .gitlab-ci.yml для сотни приложений», а теперь расскажем о решении схожей задачи сегодня. Новый материал — о том, как можно построить CI/CD-процессы для большого количества однотипных приложений с появлением include
в .gitlab-ci.yml
и приходом werf на замену dapp.Читать полностью »
Рождение платформы
2019-09-19 в 6:23, admin, рубрики: ISPsystem, vepp, администрирование, Анализ и проектирование систем, Блог компании ISPsystem, микросервисы, панель управления хостингом, Проектирование и рефакторинг, сайт, сервер, хостинг
Мир изменился. Я чувствую это в воде, вижу в земле, ощущаю в воздухе. Всё, что когда-то существовало, ушло, и не осталось больше тех, кто помнит об этом.
Из фильма «Властелин колец: Братство кольца»
В интернете существует 100500 статей и докладов на тему «как мы пилили монолит», и у меня нет желания написать еще одну. Я попробовал пойти немного дальше и рассказать, как изменения технологий привели к появлению абсолютно нового продукта (спойлер: мы писали коробку, а написали платформу). Статья во многом получилась обзорной, без технических подробностей. Подробности будут позже.
Читать полностью »
Так все-таки RAML или OAS (Swagger)?
2019-09-11 в 5:15, admin, рубрики: OAS, RAML, swagger, Блог компании Acronis, контракты, микросервисы, Облачные вычисления, облачные сервисы, Совершенный кодВ динамичном мире микросервисов измениться может все что угодно — любой компонент можно переписать на другом языке, используя иные фреймворки и архитектуру. Неизменными должны оставаться лишь контракты, для того, чтобы с микросервисом можно было взаимодействовать извне на некой постоянной основе, вне зависимости от внутренних метаморфоз. И сегодня мы расскажем о нашей проблеме выбора формата описания контрактов и поделимся найденными артефактами.
Kafka и микросервисы: обзор
2019-09-05 в 11:06, admin, рубрики: Kafka as a Service, Администрирование баз данных, микросервисы, хранение данных, хранилища данных
Всем привет. В этой статье я расскажу, почему мы в Авито девять месяцев назад выбрали Kafka, и что она из себя представляет. Поделюсь одним из кейсов использования — брокер сообщений. И напоследок поговорим о том, какие плюсы мы получили от применения подхода Kafka as a Service.
Поддержка monorepo и multirepo в werf и при чём здесь Docker Registry
2019-08-30 в 11:14, admin, рубрики: continuous delivery, continuous integration, devops, monorepo, open source, werf, Блог компании Флант, микросервисы, системы сборки, Флант
Тема монорепозитория обсуждалась уже не раз и, как правило, вызывает весьма активные споры. Создавая werf как Open Source-инструмент, призванный улучшить процессы сборки кода приложений из Git в Docker-образы (и их последующей доставки в Kubernetes), мы мало размышляем на тему того, какой выбор лучше. Для нас первично обеспечить всё необходимое для сторонников разных мнений (если это не противоречит здравому смыслу, конечно).
Появившаяся недавно поддержка mono-repo в werf — хороший тому пример. Но для начала давайте разберёмся, как эта поддержка вообще связана с использованием werf и при чём здесь Docker Registry…Читать полностью »
Kubernetes для автомобиля: как открыть разработчику доступ к бортовому компьютеру и сделать это безопасно
2019-08-23 в 10:47, admin, рубрики: automotive, kubernetes, xen cloud platform, Блог компании EPAM, микросервисыЭто история в двух частях — о новом витке развития automotive. Эта «серия» посвящена собственной разработке EPAM – Aos Connected Vehicle Platform. Алекс Агизим, CTO, Automotive & Embedded Systems, объясняет, чем она отличается от традиционного облачного решения и как дает software-разработчикам доступ в автомобиль. Ознакомиться с первой частью можно здесь.
В первой части я рассказывал, как наши разработки XEN Hypervisor позволяют изолировать сервисную часть автомобильного ПО от safety required software. Это один из барьеров перед широким применением в индустрии. Впервые опенсорсный гипервизор станет полноценным конкурентом закрытым коммерческим решениям.
Но это только первая ступенька. Чтобы вывести автомобильные сервисы на новый уровень, нужно «пустить» в него сервис-компании и разработчиков, далеким от embedded и automotive. Для этого требуется следующий уровень абстракции. Чтобы разработчик пользующийся современными фреймворками в разработке софтваре мог, не переучиваясь, дизайнить свои сервисы для автоиобилей.
Возможно, после прочтения вы захотите сказать: «Зачем такие сложности? Я, к примеру, купил Android-планшет для автомобиля, настроил нужные сервисы и вполне счастлив». Это классический инженерный подход, очень поддерживаю. Но давайте посмотрим шире. Автомобильная индустрия с точки зрения software как раз таки давно застряла в классических подходах. Я расскажу, каким ее будущее видим мы и что для этого делаем. А в конце пройдемся по основным сложностям.
Итак.
Читать полностью »
Инструменты для разработчиков приложений, запускаемых в Kubernetes
2019-08-23 в 6:47, admin, рубрики: devops, DevSpace, garden, kubernetes, Skaffold, telepresence, Блог компании Флант, микросервисы, Программирование
Современный подход к эксплуатации решает множество насущных проблем бизнеса. Контейнеры и оркестраторы позволяют легко масштабировать проекты любой сложности, упрощают релизы новых версий, делают их более надежными, но вместе с тем создают и дополнительные проблемы для разработчиков. Программиста, в первую очередь, заботит его код: архитектура, качество, производительность, элегантность, — а не то, как он поедет в Kubernetes и как его тестировать и отлаживать после внесения даже минимальных правок. Посему весьма закономерно и то, что активно развиваются инструменты для Kubernetes, помогающие решать проблемы даже самых «архаичных» разработчиков и позволяя им сосредоточиться на главном.
В этом обзоре представлена краткая информация о некоторых инструментах, которые упрощают жизнь программисту, чей код крутится в pod’ax Kubernetes-кластера.Читать полностью »
Gonkey — инструмент тестирования микросервисов
2019-08-21 в 14:11, admin, рубрики: Go, golang, open source, автотестирование, Блог компании Lamoda, веб-сервисы, микросервисы, Тестирование веб-сервисовGonkey тестирует наши микросервисы в Lamoda, и мы подумали, что он может протестировать и ваши, поэтому выложили его в open source. Если функциональность ваших сервисов реализована преимущественно через API, и используется JSON для обмена данными, то почти наверняка Gonkey подойдет и вам.
Ниже я расскажу о нем подробнее и покажу на конкретных примерах, как его использовать.
Распределённая трассировка: мы всё делали не так
2019-08-20 в 9:44, admin, рубрики: devops, distributed tracing, opentracing, Анализ и проектирование систем, Блог компании Флант, микросервисы, отладка, распределенная трассировка, трассировкаПрим. перев.: Автор этого материала — Cindy Sridharan, инженер из компании imgix, занимающаяся вопросами разработки API и, в частности, тестирования микросервисов. В этом материале она делится своим развёрнутым видением актуальных проблем в области распределённой трассировки, где, по её мнению, наблюдается недостаток по-настоящему эффективных инструментов для решения насущных задач.
[Иллюстрация заимствована из другого материала про распределенную трассировку.]
Считается, что распределенную трассировку сложно внедрять, да и отдача от нее в лучшем случае сомнительная. «Проблемность» трассировки объясняют множеством причин, при этом часто ссылаются на трудоемкость настройки каждого компонента системы для передачи соответствующих заголовков вместе с каждым запросом. Хотя эта проблема действительно имеет место, ее вовсе нельзя назвать непреодолимой. Она, кстати, не объясняет, почему разработчики не очень любят трассировку (даже уже функционирующую).Читать полностью »