Как стать автором
Обновить
-31
Карма
0
Рейтинг

Пользователь

  • Подписчики 1
  • Подписки
  • Публикации
  • Комментарии

DevOps vs DevSecOps: как это выглядело в одном банке

Блог компании Техносерв Информационная безопасность *IT-инфраструктура *Управление разработкой *DevOps *


Банк аутсорсит свои проекты многим подрядчикам. «Внешники» пишут код, потом передают результаты в не совсем удобном виде. Конкретно процесс выглядел так: они передавали проект, который прошёл функциональные тесты у них, а затем тестировался уже внутри банковского периметра на интеграцию, нагрузку и так далее. Часто обнаруживалось, что тесты фейлятся. Тогда всё уходило обратно внешнему разработчику. Как вы можете догадаться, это означало большие сроки исправления ошибок.

Банк решил, что можно и нужно перетащить весь пайплайн к себе «под крылышко» от коммитов до выпуска. Чтобы всё было единообразно и под контролем команд, отвечающих за продукт в банке. То есть как если бы внешний подрядчик просто работал где-то в соседней комнате офиса. На корпоративном стеке. Это обычный девопс.

Откуда появилось Sec? Безопасность банка выставила высокие требования к тому, как внешний подрядчик может работать в сетевом сегменте, какой у кого доступ, как и кто работает с кодом. Просто ИБ ещё не знала, что когда подрядчики работают снаружи, мало какие банковские стандарты соблюдаются. А тут за пару дней надо их начать соблюдать всем.

Одно простое откровение, что подрядчик имеет полный доступ к коду продукта, уже перевернуло их мир.

В этот момент и началась история DevSecOps, про которую я хочу рассказать.
Читать дальше →
Всего голосов 35: ↑32 и ↓3 +29
Просмотры 9.8K
Комментарии 4

Анатомия моего домашнего кластера Kubernetes

Блог компании RUVDS.com Разработка веб-сайтов *Kubernetes *
Перевод
Год назад я понял, что хочу создать собственный кластер Kubernetes. Я — разработчик программного обеспечения. Обычно я либо использую локальный кластер, состоящий из одного узла, либо применяю удалённый многоузловой кластер для тестирования своих проектов. В случае работы с кластером, состоящим из одного узла, я обычно полагаюсь на Minikube, хотя тут есть и другие решения, вроде проекта Kind, который может эмулировать наличие в кластере нескольких узлов. Поддержка нескольких узлов может появиться и в Minikube.

Итак, мне хотелось, чтобы в моём распоряжении оказались бы возможности обеих вышеупомянутых сред. То есть — чтобы у меня был бы и кластер, состоящий из нескольких узлов, и чтобы при этом работа с этим кластерам не подразумевала бы сетевых задержек, характерных для взаимодействия с удалёнными окружениями.



Уже написано множество замечательных руководств, посвящённых созданию многоузловых кластеров Kubernetes с использованием одноплатных компьютеров. Во многих из таких руководств в роли SBC применяется Raspberry Pi. Я, видя это, решил пойти по пути наименьшего сопротивления и тоже остановил свой выбор на этом компьютере. Платформа Raspberry Pi зарекомендовала себя как недорогое и доступное решение.

Надо отметить, что выбор этой платформы предусматривает некоторые компромиссы. Например, Broadcom и Raspberry Pi Foundation не лицензировали криптографические расширения ARMv8 (это нужно для аппаратного ускорения поддержки AES). Ещё одним неоднозначным решением является использование microSD-карт в виде стандартного носителя информации, с которого загружается операционная система.

Анализируя существующие руководства по созданию кластеров на одноплатных компьютерах, я не нашёл ни одного, в котором описывалось бы решение, удовлетворяющее моим требованиям. Рассказ о созданном мной кластере я начну именно с них.
Читать дальше →
Всего голосов 38: ↑37 и ↓1 +36
Просмотры 14K
Комментарии 18

Python 3.5 Асинхронное программирование с использованием asyncio

Python *Параллельное программирование *
Перевод
Перевод главы 13 Параллелизм
из книги ‘Expert Python Programming’,
Second Edition
Michał Jaworski & Tarek Ziadé, 2016

Асинхронное программирование


В последние годы асинхронное программирование приобрело большую популярность. Python 3.5 наконец-то получил некоторые синтаксические функции, закрепляющие концепции асинхронных решений. Но это не значит, что асинхронное программирование стало возможным только начиная с Python 3.5. Многие библиотеки и фреймворки были предоставлены намного раньше, и большинство из них имеют происхождение в старых версиях Python 2. Существует даже целая альтернативная реализация Python, называемая Stackless (см. Главу 1 «Текущее состояние Python»), которая сосредоточена на этом едином подходе программирования. Для некоторых решений, таких как Twisted, Tornado или Eventlet, до сих пор существуют активные сообщества, и их действительно стоит знать. В любом случае, начиная с Python 3.5, асинхронное программирование стало проще, чем когда-либо прежде. Таким образом, ожидается, что его встроенные асинхронные функции заменят большую часть старых инструментов, или внешние проекты постепенно превратятся в своего рода высокоуровневые фреймворки, основанные на встроенных в Python.
Читать дальше →
Всего голосов 10: ↑7 и ↓3 +4
Просмотры 17K
Комментарии 13

Разработка чрезвычайно быстрых программ на Python

Блог компании RUVDS.com Python *Программирование *
Перевод
Ненавистники Python всегда говорят, что одной из причин того, что они не хотят использовать этот язык, является то, что Python — это медленно. Но то, что некая программа, независимо от используемого языка программирования, может считаться быстрой или медленной, очень сильно зависит от разработчика, который её написал, от его знаний и от умения создавать оптимизированный и высокопроизводительный код.



Автор статьи, перевод которой мы сегодня публикуем, предлагает доказать то, что те, кто называет Python медленным, неправы. Он хочет рассказать о том, как улучшить производительность Python-программ и сделать их по-настоящему быстрыми.
Читать дальше →
Всего голосов 90: ↑83 и ↓7 +76
Просмотры 63K
Комментарии 47

Опыт написания игры на TypeScript и WebGL или сказ о том, как backend-щик в современный frontend окунулся

Разработка игр *WebGL *TypeScript *

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


  1. Краткая диспозиция всех фактов в начале пути. Как картинка «ДО» в дешёвой интернет-рекламе «ДО» и «ПОСЛЕ».
  2. Добровольный нырок в современный frontend в стиле «Где деньги, Лебовски?!»
  3. Легкий зуд в интимной точке, переходящий в жгучее желание изучить что-то новое, сделав что-нибудь старое.
  4. Осознание собственной беспомощности
  5. Преодоление
  6. Приятное окончание, ну совсем как в этих ваших фильмах.
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 5.1K
Комментарии 5

Двигаемые мышкой виджеты. Drag and drop в пределах окна

C++ *GTK+ *C *

Обычное понимание Drag and Drop(D&D) предполагает, что берётся, например, ссылка на файл из одного виджета и перемещается мышкой в другое окно или виджет. Далее пойдёт речь не о библиотечных функциях D&D, а о собственной реализации перемещения виджета в пределах окна и сопутствующего функционала. Код больше для примера, чем конкретного практического применения, написан в стиле Си с классами. Редактор — CodeBlocks 17.12, который перестал вылетать на Ubuntu x64 по сравнению с 16-ой версией.

image
Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 3K
Комментарии 2

Приглашаем на GDG DevFest Moscow 2019 — неформальную ИТ-конференцию

Блог компании Нетология Карьера в IT-индустрии Конференции
Привет! 9 ноября 2019 года в Москве при поддержке Нетологии пройдет конференция GDG DevFest Moscow 2019. Выступят спикеры из Google, Яндекса, Нетологии, Microsoft, SoundCloud и других ИТ-компаний. 

Будет неформальная обстановка, — пообщаемся о свежих технологических трендах, обсудим способы решения нетривиальных ИТ-задач, поделимся свежими профессиональными находками. 

Встречаемся в кампусе Нетологии 9 ноября: настраиваемся на 14+ докладов в двух потоках выступлений.
Читать дальше →
Всего голосов 6: ↑5 и ↓1 +4
Просмотры 444
Комментарии 0

Рецепты для ELFов

Блог компании ИНФОРИОН Информационная безопасность *Python *Assembler *Реверс-инжиниринг *

image


На русском языке довольно мало информации про то, как работать с ELF-файлами (Executable and Linkable Format — основной формат исполняемых файлов Linux и многих Unix-систем). Не претендуем на полное покрытие всех возможных сценариев работы с эльфами, но надеемся, что информация будет полезна в виде справочника и сборника рецептов для программистов и реверс-инженеров.


Подразумевается, что читатель на базовом уровне знаком с форматом ELF (в противном случае рекомендуем цикл статей Executable and Linkable Format 101).


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

Поработаем с эльфами
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 14K
Комментарии 19

Buildbot: сказ с примерами еще об одной системе непрерывной интеграции

Open source *Python *Twisted *Системы сборки *DevOps *
Tutorial

(картинка с официального сайта)

Buildbot, как несложно догадаться из названия, является инструментом для непрерывной интеграции (continuous integration system, ci). Про него уже было несколько статей на хабре, но, с моей точки зрения, из них не очень понятны преимущества сего инструмента. Кроме того, в них почти нет примеров, из-за чего трудно увидеть всю мощь программы. В своей статье я постараюсь восполнить эти недостатки, расскажу про внутренне устройство Buildbot'a и приведу примеры нескольких нестандартных сценариев.
Читать дальше →
Всего голосов 22: ↑21 и ↓1 +20
Просмотры 8.3K
Комментарии 22

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность