Рубрика «devops» - 78

image

Вам нужен Kubernetes, а у вашего облачного провайдера такой услуги нет? Мы используем несколько провайдеров и ни у одного из них нет Kubernetes-as-a-Service. Wigin это очень простой в использовании веб-сервис с UI, который может быстро и просто развернуть кластер Kubernetes на любые серверы. И даже немного больше. Читать полностью »

На прошлой неделе было объявлено о том, что отныне все новые сервисы Reddit запускаются в production на инфраструктуре, основанной на Kubernetes-кластерах. Эта значимая веха на пути миграции на K8s одного из популярнейших онлайн-ресурсов, и вот как к ней пришли…

Истории успеха Kubernetes в production. Часть 10: Reddit - 1Читать полностью »

К Load Balancers в системах оркестрации (Kubernetes, Nomad и других) предъявляется больше требований, чем просто балансировка загрузки. Во-первых, Load Balancer должен уметь читать каталог, со списком сервисов, на которые необходимо перенаправлять трафик (или, как вариант, давать возможность сервисам регистрироваться на включение их в трафик). Во-вторых, делать это динамически, т.к. системы оркестрации в любой момент могут увеличить или уменьшить количество реплик сервисов, или переместить их на другие адреса в сети. И, в-третьих, делать это без остановки трафика.

В сегодняшнем сообщении я опишу работу с двумя Load Balancers — Traefik и HAProxy. Эти Load Balancers имеют возможность работать с внушительным списком средств оркестрации. В примерах будет описана работа с системой оркестрации Nomad.
Читать полностью »

Всех с пятницей, друзья. Сегодня делимся с вами переводом второй части статьи «Паттерны и анти-паттерны CI/CD», первую часть которой можно прочитать здесь. Напомним, даная серия публикаций приурочена к запуску нового потока по курсу «DevOps практики и инструменты».

1.3 Паттерны и антипаттерны в тестировании

1.3.1 Автоматизация Тестирования

  • Паттерн: Автоматизируйте проверку и валидацию программного обеспечения, включив тестирование юнитов, компонентов, емкости, функционала и развертывания.
  • Анти-паттерны: Ручное тестирование юнитов, компонентов, развертывания и тд.
  • Юнит- Автоматизация тестов без зависимостей.
  • Компонент- Автоматизация тестов с зависимостями от других компонентов, баз данных и файловых систем.
  • Развертывание- Автоматизация тестов для проверки успешности развертывания и настройки. Иногда это называют “smoke”-тестированием.
  • Функционал- Автоматизация тестов для проверки поведения ПО с точки зрения пользователя.
  • Емкость- Автоматизация тестирования нагрузки и производительности в условиях, близких к эксплуатационным.

Паттерны и анти-паттерны CI-CD. Часть 2 - 1Читать полностью »

Опыт построения инфраструктуры на микросервисной архитектуре - 1

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

У нас в небольшом банке были большие проблемы: 3 python монолита связанных чудовищным количеством синхронных RPC взаимодействий с большим объемом legacy. Что бы хотя бы отчасти решить все возникающие при этом проблемы было принято решение перейти на микросервисную архитектуру. Но прежде чем решиться на такой шаг нужно ответить на 3 основных вопроса:

  • Как разбить монолит на микросервисы и какими критериями следует при этом руководствоваться.
  • Каким образом микросервисы будут взаимодействовать?
  • Как осуществлять мониторинг?

Собственно кратким ответам на эти вопросы и будет посвящена данная статья.

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

Пользуетесь ли вы Jenkins? Скорей всего да, потому что это самый популярный на сегодняшний день проект этого класса. Мне всегда интересно было пообщаться с кем-нибудь из разработчиков и задать пару жестких вопросов. Здесь же у нас не просто разработчик, а сам создатель Jenkins — Коске Кавагучи (Kohsuke Kawaguchi).

Как известно, Jenkins — это открытый проект с лицензией MIT. Совсем недавно прошла конференция FOSDEM — самая большая в мире конференция, посвященная свободному программному обеспечению. Бесплатная, открытая, с десятками спикеров со всех уголков мира. Это значит, что там можно встретить кого угодно — даже создателя Jenkins. Небольшим составом друзей и коллег по JUG.ru Group мы устроили туда внезапный десант и смогли записать с создателем Дженкинса хорошее интервью.

Итак, в нашей виртуальной студии Коске Кавагучи (который представится и всё подробно расскажет чуть ниже), Руслан Ахметзянов ARG89 из JUG.ru Group и Кирилл Толкачёв tolkkv из ЦИАН, наш неизменный докладчик, гуру Groovy, Gradle, Spring и стека технологий Netflix, которого вы можете знать по подкасту «Разбор Полётов».

Большое интервью с создателем Jenkins, Kohsuke Kawaguchi - 1

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

Почему в Kubernetes так сложно с хранилищами? - 1

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

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

Управляя образами Docker, Kubernetes и приложения делает переносимыми. Разработав контейнерные приложения с Kubernetes, их можно деплоить хоть куда: в открытое облако, локально или в гибридную среду, — и при этом не менять код.

Мы любим Kubernetes за масштабируемость, переносимость и управляемость, но вот состояния он не хранит. А ведь у нас почти все приложения stateful, то есть им нужно внешнее хранилище.

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

KubeSail и его бесплатный Kubernetes-кластер для разработчиков - 1

В начале года появился новый веб-сервис KubeSail, созданный двумя американскими Kubernetes-энтузиастами, задавшимися целью «сделать преимущества Kubernetes более доступными для всех разработчиков». Для её достижения они предложили K8s-кластер в виде управляемой услуги (managed service), в рамках которой имеется бесплатный тарифный план.Читать полностью »

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

Приветствую, друзья!

В предыдущих двух статьях (раз, два) мы погружались в сложность выбора между технологиями и искали оптимальные настройки для нашего решения в Ostrovok.ru. Какую тему поднимем сегодня?

Каждый сервис должен работать на каком-то сервере, общаясь с железом посредством инструментов операционной системы. Этих инструментов великое множество, как и настроек для них. В большинстве случаев для их работы настроек по умолчанию будет более чем достаточно. В этой статье я хотел бы рассказать о тех случаях, когда стандартных настроек все-таки было недостаточно, и приходилось знакомиться с операционной системой чуть ближе – в нашем случае с Linux.

I’m going deeper underground, или о чем стоит знать, оптимизируя работу сетевого приложения - 1
Читать полностью »


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