Рубрика «devops»

Всем привет!

Сегодня расскажем об опыте одного из наших DevOps проектов. Мы решили реализовать новое приложение под Linux с использованием .Net Core на микросервисной архитектуре.

Мы рассчитываем, что проект будет активно развиваться, а пользователей будет всё больше и больше. Поэтому он должен легко масштабироваться как по функционалу, так и по производительности.

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

Поэтому использовали такие технологии:

  • .Net Core для реализации микросервисов. В нашем проекте использовалась версия 2.0,
  • Kubernetes для оркестрации микросервисов,
  • Docker для создания образов микросервисов,
  • шина интеграции Rabbit MQ,
  • EK для логирования,
  • TFS для реализации конвейера CI/CD.

В этой статье поделимся подробностями нашего решения.

Создание приложения на .NET Core и Kubernetes: наш опыт - 1

Это расшифровка нашего выступления на .NET-митапе, вот ссылка на видео выступления.
Читать полностью »

Пишем GeoIP exporter для Prometheus с визуализаций в Grafana за 15 минут - 1

Привет всем!

Я хочу поделиться с вами тем, как легко можно написать свой экспортер для Prometheus на Golang и покажу как это можно сделать на примере небольшой программы, которая следит за тем, откуда географически установлены текущие TCP соединения.

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

Фестиваль РИТ 2018 в Сколково был большим и весьма разноплановым. Мобильная разработка, бэкенд, фронтенд, DevOps, управление проектами и даже психология – темы на любой вкус и в плотном расписании с утра до вечера. Темы разбиты по отдельным трэкам, трэки привязаны к залам. Если интересуют только специализированные доклады, можно обосноваться в нужном зале. Зал для кейноутов, правда, использовался по потребности докладчиками разных тем.

image

Я, по большому счёту, просвещался DevOps’кими знаниями, и после, делясь с коллегами впечатлениями от конференции, я сформировал шорт-лист запомнившихся мне докладов. Прошло несколько месяцев, и я все еще хорошо помню, о чем там говорили.

Итак, 3 технических доклада, которые я запомнил на РИТ 2018.

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

Предисловие

​Все началось более 2-х лет тому назад, и я перешел на 4-й курс специальности "Бизнес-информатика" Томского Государственного Университета Систем Управления и Радиоэлектроники (ТУСУР). До окончания ВУЗА оставалась не много времени, и перспектива написания диплома уже маячила перед глазами. Мысль о покупке готовой работы не рассматривалась. Хотелось реально что-то сделать самому. Вариантов тем дипломных проектов рассматривалось много: и проекты конфигураций для автоматизации производственных нужд компании и проект внедрения Документооборота своими силами на 3 территориальные единицы и более 500 активных пользователей и внедрение ЭДО. Короче много всего что было в голове, но ничего из этого не вдохновляло. А это было главное.

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

31 июля организация CNCF объявила о принятии в свою «песочницу» (т.е. на самый ранний этап поддержки) нового Open Source-проекта, охарактеризованного как «облачный (cloud native) реестр», — Harbor. На его сайте нам объясняют, что продукт создан для управления образами Docker-контейнеров в безопасном окружении.

Harbor — реестр для Docker-контейнеров с безопасностью «из коробки» - 1

Казалось бы, уже есть Docker Registry  (или, скажем, Quay от CoreOS), но очевидно, что новые решения не появляются и не дозревают до применения в production просто так — тем более, Open Source-решения… и уж тем более, попадающие в CNCF. Эта обзорная статья призвана пролить свет на причины появления Harbor, его ключевые возможности и особенности.Читать полностью »

Перед тем, как ответить на вопрос «Как измерить успех?», надо понять, что значит «успех» именно для вас. Для Dev и Ops определение успеха отличается. Для Dev успешный проект полностью проходит тестирование. Для эксплуатации — мониторинг. Тестирование и мониторинг нужны, но тесты никогда не дают 100% покрытия проблемы, а ответа 200 от HTTP недостаточно, чтобы быть уверенным в том, что система хорошо работает. Leon Fayer на РИТ++ отстаивал точку зрения, что DevOps платят не за то, чтобы все метрики в мониторинге были в зеленой зоне. Платят за то, чтобы пользователи были довольны. Если недовольны — бизнес теряет деньги, и никого не волнует, что все зеленое.

Под катом много примеров из практики, которые доказывают эту точку зрения. Разберем, зачем понимать бизнес, как следить за успехом с точки зрения бизнеса, и зачем это нужно простым разработчикам.

Как измерить успех. Стратегии мониторинга и их связь с бизнес-проблемами - 1

О спикере: Leon Fayer родился в когда-то дружественной республике, но вырос в США. Начал заниматься программированием очень много лет назад, и за это время работал программистом, менеджером — кем только не работал. Участвовал в стартапах — некоторые были более удачные, а некоторые не очень.

Много лет Леон работает в OmniTI. Эта компания специализируется на разработке масштабируемых систем, поэтому Леон имеет уникальную возможность проектировать и строить системы для самых посещаемых сайтов в мире — Wikipedia, National Geographic, White House, MTV и т.д.

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

Так повелось, что в нашей компании основным языком для backend разработки был выбран C#. Мы, кстати, этим выбором всегда были довольны, а когда MS начали развивать платформу .net Core, стало еще интереснее, так как C# — это хорошо, но C# под Linux — еще лучше.

Путь перехода на кросс-платформенную разработку я описывать не стану, так как уже очень многие прошли путь перехода с Framework на Core.

Сделаю акцент на одном моменте. Помимо всего прочего, в сторону хостинга наших приложений под Linux нас подтолкнул Docker, так как очень хотелось приобщиться к молодежному течению контейнеризации всего что только возможно.

Поскольку мы разрабатываем enterprise, то вместе с нами должна была убежать под linux и сквозная windows аутентификация. Собственно это и стало побудителем к написанию статьи. Так как информация находилась весьма трудно, отдельными кусками, и общением со многими людьми, идея собрать все необходимое в одном месте и описать работающий вариант показалась неплохой.

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

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

В наших решениях мы используем интеграцию и с помощью Kafka, и с помощью gRPC, и с помощью RabbitMQ.

В этой статье мы поделимся нашим опытом кластеризации RabbitMQ, ноды которого размещены в Kubernetes.

image

До RabbitMQ версии 3.7 его кластеризация в K8S была не очень тривиальной задачей, со множеством хаков и не очень красивых решений. В версии 3.6 использовался autocluster плагин из RabbitMQ Community. А в 3.7 появился Kubernetes Peer Discovery Backend. Он встроен плагином в базовую поставку RabbitMQ и не требует отдельной сборки и установки.

Мы опишем итоговую конфигурацию целиком, попутно комментируя происходящее.
Читать полностью »

Мы хотим заменить девопсов скриптом (на самом деле нет): разработчики, нужно ваше мнение - 1
Мы делаем проект облака для разработки — платформу, способную максимально упросить жизнь девопсам, разработчикам, тестировщикам, тимлидам и другим вовлеченным в процесс разработки специалистам. Это продукт не для сейчас и не для завтра, и потребность в нём только-только формируется.

Основанная идея — вы можете разворачивать конвейер с уже преднастроенными инструментами, но при этом с возможностью внесения целого ряда настроек, и вам останется только деплоить код.
Читать полностью »

Прим. перев.: Этой статьёй мы открываем цикл публикаций про пакетный менеджер для Kubernetes, который активно используем в повседневной работе, — Helm. Оригинальным автором материала является Matt Butcher — один из основателей проекта Helm, работающий над Open Source-проектами в Microsoft и написавший 8 технических книг (в частности, «Go in Practice»). Однако статья дополнена нашими (местами — обширными) комментариями, а в скором времени будет ещё больше расширена новыми заметками по Helm более практической направленности.

Пакетный менеджер для Kubernetes — Helm: прошлое, настоящее, будущее - 1

В июне Helm перешёл из статуса ведущего проекта Kubernetes в фонд Cloud Native Computing Foundation (CNCF). CNCF становится родительской организацией для лучших в своём роде cloud native-инструментов с открытым исходным кодом. Поэтому большая честь для Helm стать частью такого фонда. И наш первый значимый проект под покровительством CNCF по-настоящему масштабный: мы создаём Helm 3.Читать полностью »