Обновить
256K+

DevOps *

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

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

Смерть микросервисного безумия в 2018 году

Время на прочтение12 мин
Охват и читатели102K
Прим. перев.: Этот материал, написанный опытным разработчиком, не задаётся целью похоронить идею микросервисов, как можно подумать, глядя на заголовок. Статья — разумное предупреждение для тех, кто решил, что микросервисы — это «серебряная пуля», которая сама по себе решает все архитектурные и эксплуатационные проблемы. Для демонстрации этого автор собрал и систематизировал популярные проблемы, зачастую встречающиеся в сегодняшних проектах, уже использующих микросервисы или мигрирующих на них.



В последние годы микросервисы стали очень популярной темой. «Микросервисное безумие» выглядит примерно так:

«Netflix хороши в DevOps. Netflix делают микросервисы. Таким образом, если я делаю микросервисы, я хорош в DevOps».
Читать дальше →

Расширение NLog для мониторинга ошибок

Время на прочтение3 мин
Охват и читатели21K
Не было ли у вас мысли, что исправлять ошибки пользуясь лог-файлом не очень эффективно?

Хотите исправлять ошибки быстрее и проще?

Тогда читайте мою статью, в которой я расскажу как можно выполнять мониторинг ошибок приложения с помощью расширения NLog.


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

5 тенденций развития микросервисов в 2018 году

Время на прочтение7 мин
Охват и читатели12K
image

2017 год стал важным годом для DevOps, поскольку число игроков в экосистеме существенно выросло, а количество проектов с CNCF утроилось. Глядя на год вперед, мы ожидаем, что инновации и рыночные изменения ускорятся еще больше. Ниже мы рассмотрели тенденции в области микросервисов в 2018 году: сервисные связки(так называемые “меши”), event-driven архитектуры, нативная безопасность контейнеров, GraphQL и Chaos инженерия.

1. Сервисные связки популярны!


Сервисные связки или “меши”, выделенный уровень инфраструктуры для улучшения связи между сервисами, в настоящее время наиболее обсуждаема в контексте облачности. По мере того, как контейнеры становятся более распространенными, топологии сервисов становится все более динамичными, требуя улучшеной функциональности сети. Сервисные связки могут помочь управлять трафиком через обнаружение сервисов, маршрутизацию, балансировку нагрузки, проверку работоспособности и наблюдаемость(observability). Сервисные связки пытаются укротить непоколебимую сложность контейнера.

Очевидно, что сервисные сетки становятся все более популярными, поскольку балансировщики нагрузки, такие как HAProxy, traefik и NGINX, начали перестраиваться и представлять себя как плоскости данных(data planes). Мы пока не видели широкомасштабного развертывания, но мы знаем о компаниях, которые уже используют связки на живых серверах, в “продакшене”, так сказать. Кроме того, сервисные связки не являются эксклюзивными для микросервисов или сред Kubernetes, и также могут применяться в среде VM и без сервера. Например, в Национальном Центре Биотехнологической Информации(NCBI) нет контейнеров, но используется Linkerd.
Читать дальше →

Истории успеха Kubernetes в production. Часть 7: BlackRock

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


BlackRock — одна из крупнейших инвестиционных компаний мира и крупнейшая по размеру активов под управлением (5,7 трлн USD по состоянию на июль'17). Её также называют крупнейшим в мире «теневым банком». Имея 30-летнюю историю и такие впечатляющие показатели, компания не отстаёт от современных тенденций в ИТ-инфраструктуре. В минувшую пятницу в блоге организации CNCF появилась информация о том, что BlackRock удалось за 100 дней выкатить своё production-окружение на Kubernetes. Как они к этому пришли?
Читать дальше →

Процесс управления инцидентами в Туту.ру

Время на прочтение10 мин
Охват и читатели11K
Для каждой компании рано или поздно актуальной становится тема менеджмента инцидентов. Некоторые уже имеют настроенные и отлаженные процессы, кто-то только начинает свой путь в этом направлении. Сегодня я хочу рассказать о том, как мы в Туту.ру строили процесс обработки «сбоев на бою», и что у нас получилось.


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

Учимся надежно управлять Kubernetes

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

Недавно мы создали распределенную систему планирования cron-заданий на основе Kubernetes – захватывающей новой платформы для управления кластером контейнеров. Сейчас Kubernetes занимает лидирующие позиции и предлагает множество интересных решений. Одно из основных его достоинств – то, что инженерам не нужно знать, на каких машинах работают их приложения.
Распределенные системы по-настоящему сложны, и управление их службами – одна из самых больших проблем, с которыми сталкиваются операционные группы. Внедрить новое программное обеспечение в производство и научиться надежно управлять им – задача, к которой стоит относиться серьезно. Чтобы понять, почему обучение работе с Kubernetes важно (и почему это сложно!), мы предлагаем ознакомиться с фантастическим одночасовым переключением, вызванным ошибкой в Kubernetes.


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

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

Лабораторная работа: введение в Docker с нуля. Ваш первый микросервис

Время на прочтение26 мин
Охват и читатели370K
Привет, хабрапользователь! Сегодня я попробую представить тебе очередную статью о докере. Зачем я это делаю, если таких статей уже множество? Ответов здесь несколько. Во-первых не все они описывают то, что мне самому бы очень пригодилось в самом начале моего пути изучения докера. Во-вторых хотелось бы дать людям к теории немного практики прямо по этой теории. Одна из немаловажных причин — уложить весь накопленный за этот недолгий период изучения докера опыт (я работаю с ним чуть более полугода) в какой-то сформированный формат, до конца разложив для себя все по-полочкам. Ну и в конце-концов излить душу, описывая некоторые грабли на которые я уже наступил (дать советы о них) и вилы, решение которых в докере просто не предусмотрено из коробки и о проблемах которых стоило бы задуматься на этапе когда вас распирает от острого желания перевести весь мир вокруг себя в контейнеры до осознавания что не для всех вещей эта технология годна.

Что мы будем рассматривать в данной статье?

В Части 0 (теоретической) я расскажу вам о контейнерах, что это и с чем едят
В Частях 1-5 будет теория и практическое задание, где мы напишем микросервис на python, работающий с очередью rabbitmq.
В Части 6 — послесловие
Читать дальше →

Шпоры по сертификатам X.509

Время на прочтение8 мин
Охват и читатели128K
Чудище обло, озорно, огромно, стозевно и лаяй.

Набор технологий, который мы по привычке именуем сертификатами SSL, представляет из себя здоровенный айсберг, на вершине которого зеленый замочек слева от доменного имени в адресной строке вашего браузера. Правильное название X.509 сертификат, который восходит к X.500 стандарту ITU-T DAP (Directory Access Protocol). DAP не взлетел, в IETF его посчитали неудобным для использования со всеми этими OSI нагромождениями и вместо него придумали LDAP, Lightweight DAP где первая буква обозначает «легковесный». Те, кому пришлось настраивать, или что хуже производить его отладку могут оценить иронию в полной мере. Никогда еще первая буква аббревиатуры так не лгала, не считая SNMP.


Шпоры


Кстати что общего между LDAP, SNMP и X.509 ну кроме того, что им еще не скоро предстоит собрать стадионы фанатов? Их объединяет ASN.1 — мета-язык описания объектов древности. Если бы эти технологии создавали сейчас, в ход бы пошли XML, DTD или какой-нибудь другой ML. Но в то время стандарты создавались титанами, для которых даже SNMP был простым делом.

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

VMware Dispatch: новый фреймворк для работы с serverless-приложениями

Время на прочтение3 мин
Охват и читатели4.5K
2017-й стал годом расцвета Kubernetes. Как отметили в RightScale, процент компаний, работающих с Kubernetes, за прошлый год увеличился с 7 до 14%. Kubernetes вошел в пятерку самых популярных DevOps-инструментов, которые «приняли на вооружение» в 2017 году, и стал вторым среди планируемых к внедрению.

Kubernetes стали чаще использовать средние и малые компании. Кроме того, фреймворк уже внедрили и крупные организации — Google, Red Hat, IBM, Microsoft и другие.

Одна из причин популярности платформы — богатый набор инструментов, разрабатываемых на её основе. Одним из таких релизов стал проект VMware Dispatch — фреймворк для создания и работы с serverless-приложениями. В этой статье рассмотрим новый продукт, а также расскажем о его особенностях и возможностях.

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

Введение в современную сетевую балансировку и проксирование

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

Недавно я осознал нехватку вводных обучающих материалов о современной сетевой балансировке и проксировании. Я подумал: «Почему так? Балансировка нагрузки — одна из ключевых концепций для построения надёжных распределённых систем. Ведь должна быть доступна качественная информация об этом?» Я поискал и обнаружил, что информации мало. Статьи в Википедии о балансировке и прокси-серверах содержат обзоры некоторых концепций, но не могут похвастаться последовательным описанием предмета, особенно в том, что касается современных микросервисных архитектур. Поиск в Google информации о балансировке в основном возвращает сайты вендоров, заполненные модными терминами и скупые на подробности.


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

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

Написание кода в docker окружении

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

В компании, где я работаю — большинство сервисов запускаются и работают в docker-контейнерах.


В связи с этим, у моих коллег-новичков-в-докере часто возникает вопрос — а как писать код и запускать его в этом чёртовом контейнере???



Для человека, написавшего около сотни docker-образов и запускающего их несколько раз в день — такой вопрос уже не стоит, но когда я разбирался с докером в давние времена — мысль "Как же писать код в докере? Это же сверхнеудобно!" долго была актуальной.


В статье я опишу свои практики работы с образами docker, которые позволяют писать код "как у себя в home", и даже лучше.

docker run --rm -it -v

Использование Docker CE (Community Edition) с Kubernetes

Время на прочтение3 мин
Охват и читатели14K
Прим. перев.: Автор статьи — Melvin Dave Vivas, возглавляющий команду разработчиков и SRE-инженеров в сингапурском банке, — делится своим опытом знакомства с поддержкой Kubernetes в платформе Docker.

Когда в октябре прошлого года на DockerCon 2017 технический директор Docker Inc Соломон Хайкс (Solomon Hykes) анонсировал родную поддержку Kubernetes, мне стало очень любопытно, как это будет работать.



Поэтому после анонса я решил проверить наличие этой поддержки в Edge-версии, о чём писал Michael Frills в блоге Docker. Но на тот момент её не оказалось. И вот, после нескольких месяцев ожиданий, она наконец-то появилась.
Читать дальше →

Как подружить команду админов с командами разработки?

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

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

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

В статье речь пойдет о том, как мы в 2ГИС выстраивали процессы работы в команде Infrastructure & Operations (9 человек) и взаимодействие с командами разработки (5 команд). На первый взгляд, всё просто и логично.
Но всё непросто и нелогично

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

Еще раз о SWAP в Linux «на горячую» на AWS EC2 Instance

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

Все мы знаем, как важен SWAP. И как без него бывает плохо. Особенно когда ОЗУ не так много, а на сервере появился "прожорливый" процесс. Да и дискового пространства впритык на сервере. А работоспособность нужно восстановить прямо сейчас...


В данной статье хочу рассмотреть способы добавления SWAP на AWS EC2 серверах "на горячую", без перезагрузки сервера.

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

Java конференция с английскими корнями. Обзор размера XXXL

Время на прочтение8 мин
Охват и читатели5.8K
Друзья, мы с kent2171, моим коллегой из CleverDATA, побывали на одной из крупнейших конференций Европы – Jax London 2017, посвященной экосистеме Java и всему, что ее окружает в современном мире, – микросервисной архитектуре, Continuous Delivery, а также культуре и практикам DevOps.

Объем полученной за четыре дня информации оказался настолько огромным, что обзор пришлось разбить на две части. Сегодня мы предлагаем вашему вниманию первую часть, в которой расскажем о Chaos Engineering подходе к построению устойчивых распределенных систем, а также о том, как контейнеризация java-приложений сказывается на процессе разработки и какие преимущества кроме синтаксиса дают lambda выражения. Это основные моменты. Остальное — под катом.


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

Децентрализованное хранилище данных Ethereum Swarm

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


Блокчейн Ethereum интересен своими смарт-контрактами, а также возможностью создания децентрализованных приложений DApp (Decentralized Application). Однако такому приложению необходимо децентрализованное хранилище данных.

Хранение данных большого объема в блокчейне может стоить немалых денег. На помощь приходят такие децентрализованные хранилища, как Ethereum Swarm («swarm» переводится как «рой», «куча»). Если кратко, то Ethereum Swarm представляет собой программный код, работающий на пиринговой сети Ethereum. Он обеспечивает децентрализованное хранение данных на дисках узлов, владельцы которых отдают свои ресурсы в общее пользование.

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

Docker в продакшене: обновление

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

Уточнение от переводчика: пост, перевод которого вы видите перед собой, был написан 23 февраля 2017 года, по мотивам исходного поста Moby/Docker в продакшене. История провала, перевод которого (за авторством olegchir) здесь, на Хабре, вызвал живые обсуждения. Просьба читать, делая поправку на дату написания — оригинальный текст написан почти год назад!


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


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


Мы рассмотрим уроки, извлеченные из всех последних общений и статей, но, для начала — уточнение, напоминание и немного контекста.


Отказ от ответственности: предполагаемая аудитория


Большое количество комментарием показло, что мир делится на людей всего 10 типов:


1) Любители


Обычно поддерживают тестовые или хобби-проекты, где нет реальных пользоваталей. Могут полагать, что использование бета-версии Ubuntu — нормально, и называют все “стабильное” устаревшим.


Я не всегда делаю рабочий код, но когда я это делаю, он работает на моей машине
Нельзя его винить: на его-то машине код работает.

какой второй тип?

Сколько разработчиков думают, что Continuous Integration не нужна?

Время на прочтение2 мин
Охват и читатели11K
В конце декабря облачный провайдер DigitalOcean опубликовал результаты своего второго опроса Currents, собравшего данные от 2500+ разработчиков (и не только — подробнее см. ниже), преимущественно (на 89 %) использующих GNU/Linux в качестве серверной операционной системы. Интересная статистика была получена в вопросах, посвящённых непрерывной интеграции и доставки приложений (CI/CD):

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

Понимание сети Kubernetes: сервисы

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

В первом посте этой серии я рассмотрел, как Kubernetes использует комбинацию виртуальных сетевых устройств и правил маршрутизации. Если отправитель знает IP-адрес пода, комбинация разрешает обмен информацией между подами, запускающимися на разных кластерах. Если вы не знаете, как поды обмениваются информацией, стоит прочитать об этом, перед тем как продолжить чтение статьи.


Сеть подов в кластере – аккуратный материал, но сам по себе он недостаточен для создания долгосрочных систем, поскольку поды в Kubernetes эфемерны. В качестве конечной точки можно использовать IP-адрес пода, но нет гарантии, что при следующем воссоздании пода адрес останется прежним. Его смена может произойти по любой причине.

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

Как наломать велосипедов поверх костылей при тестировании своего дистрибутива

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

Диспозиция


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



Далее по тексту будет история, как начать стабильно релизиться и как к этому пришли. Чтобы не растягивать статью, не буду говорить про модульное, ручное тестирование и все стадии выкатывания на продуктив.

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