Обновить
256K+

DevOps *

Методология разработки программного обеспечения

377,89
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Интервью портала A Cloud Guru с Келси Хайтауэром: о DevOps, Kubernetes и serverless

Время на прочтение9 мин
Охват и читатели6.4K

image


Наверняка не все знают, что по нагрузке и числу пользователей iFunny является настоящим highload-сервисом. API обслуживает в пиках порядка 15000 запросов в секунду, система аналитики обрабатывает около 5 миллиардов событий в сутки, а для поддержки полного функционала работает до 400 инстансов EC2. Поэтому для приложения очень важно иметь сильную команду инженеров. Чтобы решать типичные проблемы высоконагруженных систем и улучшать свою работу каждый день, команда iFunny постоянно ищет новые инструменты и решения. И в этот раз невозможно было пройти мимо интервью одного из основных контрибьюторов мирового IT-сообщества — Келси Хайтауэра. Достойно перевода и вашего внимания.

Разворачиваем связку Nginx+Php-Fpm+MySQL с magento2 на борту и раскладываем по контейнерам в Docker

Время на прочтение6 мин
Охват и читатели88K
Добрый день!

Все чаще стучась в различные компании разработчиков в качестве DevOps инженера, я получаю приблизительно одни и те же тестовые задания. Они отличаются друг от друга версиями PHP или проектами которые надо запустить.

Но в целом они упираются в одну связку это Nginx\Appache, SQL (тут вариаций много, все зависит от предпочтений заказчика), PHP и желательно чтобы это было разложено по контейнерам.
Поэтому я решил рассказать на примере, как все это поднять без особых усилий.

Возможно кому-то это поможет понять, на простом примере, что к чему. Описывать что такое Docker я не буду, т.к. статей на эту тему вагон и маленькая тележка.

В данной статье, мы подготовим небольшую структуру:

  • В качестве вэб сервера будет использоваться Nginx с минимальной настройкой для запуска проекта.
  • В качестве SQL будет использовать MySQL.
  • PHP7.0-fpm версия c небольшими надстройками для запуска нашего проекта.
  • В качестве проекта который мы будем разворачивать — берем magento2.
Читать дальше →

Как мы настроили Continuous Delivery в Kubernetes с помощью TFS

Время на прочтение6 мин
Охват и читатели9.4K

Мы продолжаем наш путь к Continuous Delivery (CD) и High Availability (HA), основанной на избыточности. В предыдущей серии мы перевели API для мобильного приложения на .NET Core. Следующий логичный шаг для достижения CD — настроить сборку в Docker-контейнер.


Сегодня поделимся нашим getting-started гайдом по настройке сборки docker-образов и деплоя в Kubernetes в TFS для разработчиков .NET.


(Предполагается, что к этому моменту вы уже мигрировали ваше ASP.NET приложение на ASP.NET Core, а если нет, читайте нашу прошлую статью).


Читать дальше →

Conduit — легковесный service mesh для Kubernetes

Время на прочтение5 мин
Охват и читатели11K
В конце прошлого года компания Buoyant, уже прославившаяся выпуском одного из популярнейших решений категории service mesh (т.е. «сетки», обеспечивающей взаимодействие между сервисами) — Linkerd, — анонсировала своё второе детище под названием Conduit. Можно было бы удивиться, что новый продукт — это ещё один service mesh с открытым кодом, но есть тому причины.

Читать дальше →

Архивирование и восстановление индексов в Elasticsearch

Время на прочтение5 мин
Охват и читатели22K
Однажды в одно прекрасное утро перед нами встал вопрос архивирования индексов Elasticsearch. Захотелось увидеть в хранилище стройные ряды сжатых файлов, по одному на каждый индекс.

«Из коробки» Elastic такого решения не предлагает, по крайней мере, в версии 5.х. Немного поспрашивав у Гугла Всемогущего, мы решили создать собственный велосипед. Пусть немного неуклюжий, зато родной.



Читать дальше →

Сравнение: Docker swarm, Kubernetes, Rancher и D2C

Время на прочтение4 мин
Охват и читатели34K

С того момента как мы начали вести корп. блог на Хабре, на демо и при обращениях в поддержку нас стали чаще сравнивать с оркестраторами. И если раньше были вопросы о том, в чем отличия D2C от Heroku, Clou66 и тому подобных сервисов, то теперь, видимо, нас стали рассматривать как альтернативное решение для оркестрации.


Чтож, попробую поправить ситуацию и провести сравнение с несколькими популярными решениями, о которых слышно чаще: Docker swarm, Kubernetes и Rancher. А чтобы зайти не «с конца», кратко дам по маленькому обзору на каждую из них.

Читать дальше →

Сборка проектов с dapp. Часть 1: Java

Время на прочтение8 мин
Охват и читатели6.7K


Эта статья — начало цикла о сборке dapp'ом приложений на различных языках, платформах, технологических стеках. Предыдущие статьи про dapp (см. ссылки в конце материала) были больше обзорными, описывали возможности dapp. Теперь же пора поговорить более предметно и поделиться конкретным опытом работы с проектами. В связи с недавним релизом dapp 0.26.2 я заодно покажу, как описывать сборку в YAML-файле.
Читать дальше →

Atlassian User Group Moscow в гостях у Райффайзенбанка

Время на прочтение1 мин
Охват и читатели2.5K
15 февраля приглашаем гостей на встречу Atlassian User Group Moscow в Райффайзенбанк.
Мы поговорим о тонкостях учета рабочего времени сотрудников, об опыте использования CI/CD конвейера в Райффайзенбанке и об эволюции процессов в SkuVault.


Читать дальше →

Быстрый и безопасный мониторинг JVM-приложений с помощью магии BPF

Время на прочтение26 мин
Охват и читатели14K

Все мы встречались со сложными ошибками на продакшне, которые сложно поймать обычными средствами мониторинга. BPF — это технология ядра Linux, которая позволяет делать быструю и безопасную динамическую отладку прямо на запущенной работающей системе, без необходимости готовиться к этому заранее. JVM сама по себе имеет множество точек мониторинга для отслеживания сборки мусора, выделения объектов, вызовов JNI, даже вызовов методов — и всё это без необходимости в дополнительном инструментировании. Когда этих точек мониторинга недостаточно, ядро Linux и всевозможные бибилиотеки позволяют отслеживать системные вызовы, сетевые пакеты, события планировщика, время потраченное на доступ к диску, и даже запросы к базам данных.


В этом хабрапосте мы сделали текстовую расшифровку доклада Sasha Goldshtein, посвященного тому, как инструменты BPF можно использовать для мониторинга JVM-приложений на GNU/Linux, и чеклисту проверки производительности с использованием классических инструментов, таких как fileslower, opensnoop, strace — но всё это с использованием неинвазивной, быстрой и безопасной технологии BPF.


После ката будет множество картинок со слайдами. Осторожно, трафик! Картинки ужаты насколько можно, но не более того. Все они действительно нужны.


Читать дальше →

Знакомство с ConcourseCI

Время на прочтение18 мин
Охват и читатели21K

ConcourseCI logo


Всем привет! Я заметил, что на Хабре очень мало информации про такой сервер сборки, как ConcourseCI. Я решил восполнить этот пробел и написать небольшое введение. Под катом описание этого инструмента и небольшой туториал.

Читать дальше →

Cradle: Rave. Два хакатона + конференция, с упором на Big Data & ML, Blockchain, Quantum Computing, DevOps и Mobile

Время на прочтение4 мин
Охват и читатели5K

На прошлой неделе друзья позвали отдохнуть на неком Cradle:Rave. Судя по названию, это могло быть всё что угодно, включая кислотную вечеринку, поэтому я решил провести некие исследования в интернетах.


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


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


Бесплатно, иначе говоря — на халяву, на шару, совершенно свободно. Но нужно успеть зарегистрироваться до 15-ого числа на сайте, регистрация обязательна.



Читать дальше →

Как будет развиваться виртуальная инфраструктура: 4 основных тренда

Время на прочтение5 мин
Охват и читатели7.2K
Специалисты из RightScale в прошлом году провели исследование, во время которого опросили тысячу ИТ-специалистов компаний разных профилей и размеров о том, как в их организации обстоят дела с внедрением облачных технологий.

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

Читать дальше →

Самая большая it-тусовка на Урале — конференция DUMP-2018 — пройдёт 13 апреля в Екатеринбурге

Время на прочтение7 мин
Охват и читатели3.5K
Программисты, дизайнеры, мобильные разработчики, тестировщики, менеджеры, новость для вас — конференция DUMP-2018 пройдёт 13 апреля в Екатеринбурге. В этом году мы готовим 8 секций: FrontTalks, Serverside, Mobile, Дизайн, DevOps, Тестирование, Менеджмент, Science.

Если вы не знаете, что такое DUMP (Development. Usability. Management. Practice), посмотрите маленький ролик ниже — в нём коротко о том, как прошёл DUMP-2017.


В прошлом году у нас выступили Григорий Бакунов (Яндекс), Леонид Васильев (Dropbox), Никита Прокопов (Cognician), Андрей Акиньшин (JetBrains), Юрий Ветров (Mail.Ru Group), Сергей Рассказов (Школа шрифтового дизайна), Александр Орлов (Стратоплан) и ещё 54 крутейших спикера. Все видео прошлогодних докладов можно посмотреть на нашем канале.

До 20 февраля мы принимаем заявки на доклады, а до 15 февраля можно купить билеты по минимальной цене. Под катом все подробности.
Читать дальше →

Ближайшие события

Cluster of Puppets: опыт использования Amazon ECS в iFunny

Время на прочтение14 мин
Охват и читатели5.7K

image


Несмотря на название, эта статья не имеет ничего общего с системой управления конфигурацией Puppet.


Вместе с трендом «распила» больших монолитов на небольшие микросервисы в эксплуатацию веб-приложений пришёл тренд на оркестрацию контейнеров. Сразу после хайпа на Docker поднимается хайп на инструменты запуска сервисов поверх Docker. Чаще всего говорят о Kubernetes, однако его многочисленные альтернативы в настоящем также живут и развиваются.


Вот и в iFunny задумались о пользе и ценности оркестраторов и в итоге выбрали Amazon Elastic Container Service. Вкратце: ECS является платформой управления контейнерами на EC2 instances. О подробностях и опыте в бою читайте ниже.

Читать дальше →

Запускаем полноценный кластер на Kubernetes с нуля на Ubuntu 16.04

Время на прочтение8 мин
Охват и читатели65K
Уже довольно много написано статей, по установке и запуску Kubernetes, однако, не всё так гладко (я потратил несколько суток на запуск своего кластера).

Данная статья призвана дать исчерпывающую информацию не только по установке k8s, но и объяснить каждый шаг: зачем и почему мы делаем именно так, как написано (это очень важно для успешного запуска).

Что нужно знать


Серверы:
Кластер подразумевает, что у Вас более одного физического сервера, между которыми и будут распределятся ресурсы. Серверы называются нодами (nodes).

Диски:
Обычные харды в k8s не поддерживаются. Работа с дисками происходит по средствам распределенных файловых хранилищ. Это необходимо для того, чтобы k8s мог «перемещать» контейнеры docker на другие ноды в случае необходимости, без потери данных (файлов).

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

Минимальное разумное количество серверов для Ceph — 3 (можно построить и на одном, но в этом мало смысла из-за высокой вероятности потерять данные).

Сеть:
Нам понадобится Flannel — он позволяет организовать программно определяемую сеть (Software Defined Network, SDN). Именно SDN позволяет всем нашим контейнерам общаться с друг другом внутри кластера (установка Flannel производится вместе с k8s и описана ниже).

Подготовка серверов


В нашем примере мы используем 3 физических сервера. Установите Ubuntu 16.04 на все сервера. Не создавайте swap партиции (требование k8s).

Предусмотрите в каждом сервере как минимум один диск (или партицию) для Ceph.

Не включайте поддержку SELinux (в Ubuntu 16.04 он выключен по-умолчанию).

Мы назвали сервера так: kub01 kub02 kub03. Партиция sda2 на каждом сервере создана для Ceph (форматировать не обязательно).
Читать дальше →

Масштабируем Kubernetes до 2500 нод

Время на прочтение7 мин
Охват и читатели8.6K
Всем добра!

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

Поехали!

Мы используем Kubernetes для исследования в области deep learning уже более двух лет. В то время, как наши самые масштабные нагрузки управляют облачными ВМ напрямую, Kubernetes обеспечивает быстрый итерационный цикл и масштабируемость, что делает его идеальным для наших экспериментов. Сейчас мы управляем несколькими Kubernetes кластерами (как облачными, так и на физическом оборудовании), самый крупный из них состоит из более 2500 нод — это кластер в Azure на комбинации виртуальных машин D15v2 и NC24.

Многие системные компоненты отказывали в процессе масштабирования, включая etcd, Kube мастеров, загрузки образов Docker, сети, KubeDNS и даже ARP кэши наших машин. Поэтому мы решили, что будет полезным поделиться, с какими проблемами мы столкнулись и как с ними справились.

Читать дальше →

Приглашаем на Cradle: Rave. И нет, это не дискотека

Время на прочтение2 мин
Охват и читатели3.9K
С 16 по 18 февраля в Сколково мы будем проводить Cradle: Rave. Это самое большое мероприятие Сбербанк Технологий, которое объединит все, чем мы занимаемся — Artificial Intelligence, Machine learning, чат-боты, квантовые технологии, DevOps, IoT, блокчейн, big data, мобильную разработку. По последним двум темам организуем хакатоны с денежными призами, по блокчейну — джем-сессию в экзотическом формате «печа-куча», а приправим все россыпью интересных докладов и митапов. Подробности под катом.


Читать дальше →

Анонс Moscow Kubernetes Online: мы собрали подводные камни k8s

Время на прочтение3 мин
Охват и читатели3.8K

Всем привет! Хотим анонсировать панельную дискуссию, посвященную Kubernetes, которая пройдет 13 февраля в режиме онлайн на нашем youtube-канале. Эксперты из компаний Флант, Рокетбанк, Axept Global и, конечно, Avito соберутся вместе и обсудят те подводные камни Kubernetes, которые им удалось собрать, поделятся опытом использования инструмента, расскажут о решении нетривиальных прикладных задач.


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


Читать дальше →

Автоматизируй, когда можешь, программируй, когда необходимо

Время на прочтение5 мин
Охват и читатели11K
Здравствуйте, уважаемые читатели

Вот-вот в издательстве O'Reilly выйдет очередная занятная книжка с крокодилом


Этот увесистый компендиум всесторонне освещает вопросы о том, в какой степени сисадмин должен быть «network engineer», как оптимально соотносится автоматизация и программирование в работе такого специалиста. В книге даются основы Linux и Python, а также ожидается еще масса всего интересного.

Чтобы вам было интереснее участвовать в голосовании, предлагаем почитать небольшую статью одного из авторов (Джейсона Эдельмана), в которой он рассказывает, какие мысли подтолкнули его к сотрудничеству с Мэттом Освальтом и созданию этой книги
Читать дальше →

Расширяем функционал Ansible с помощью модулей

Время на прочтение8 мин
Охват и читатели19K

Под капотом сервиса d2c.io мы активно используем Ansible – от создания виртуальных машин в облаках провайдеров и установки необходимого программного обеспечения, до управления Docker-контейнерами с приложениями клиентов.


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


Основная задача плагинов – влиять на ход выполнения плейбука, добавлять новые возможности загрузки и обработки данных. Задача же модулей – расширять перечень систем и сервисов, которыми Ansible может управлять. Например, создать сервер на площадке Vultr – модуль vultr, создать пользователя в самодельной системе авторизации для офисной WiFi сети – модуль mywifiauth_user.

Читать дальше →