Привет! Я консультант по информационной безопасности в Swordfish Security по части выстраивания безопасного DevOps для наших заказчиков. Я слежу за тем, как развивается тенденция развития компаний в сторону DevSecOps в мире, пытаюсь транслироватьЧитать полностью »
Рубрика «docker» - 9
От Threat Modeling до безопасности AWS: 50+ open-source инструментов для выстраивания безопасности DevOps
2020-09-14 в 7:06, admin, рубрики: AWS, container security, DAST, devops, DevSecOps, docker, kubernetes, SAST, sca, secdevops, security, Блог компании Swordfish Security, информационная безопасность, системное администрированиеИспользование HAProxy и Docker на машине разработчика при разработке сайтов
2020-09-13 в 15:33, admin, рубрики: docker, docker-compose, haproxy, php, разарботка сайтов, Разработка веб-сайтовНаписанию этого небольшого руководства предшествовало нескольких недель мучений с попытками работы над проектами, когда было необходимо чтобы был запущен контейнер с сайтом для работы, контейнеры с тестовыми сборками, чтобы тестировщики могли безопасно для основных данных проверить новые возможности системы, а так же сборки техподдержке для изучения работы с системой в условиях приближенных к "боевым".
Разбор особенностей официального Docker-образа Python
2020-08-25 в 13:16, admin, рубрики: docker, python, Блог компании RUVDS.com, разработка, Разработка веб-сайтовОфициальный Docker-образ Python весьма популярен. Кстати, я и сам рекомендовал одну из его вариаций в качестве базового образа. Но многие программисты не вполне понимают того, как именно он работает. А это может привести к путанице и к возникновению различных проблем.
В этом материале я собираюсь поговорить о том, как создан этот образ, о том, какую он может принести пользу, о его правильном использовании и о его ограничениях. В частности, я разберу тут его вариант python:3.8-slim-buster
(в состоянии, представленном файлом Dockerfile от 19 августа 2020 года) и по ходу дела остановлюсь на самых важных деталях.
Читать полностью »
Как мы в 2020 году изобретали процесс разработки, отладки и доставки в прод изменений базы данных
2020-08-24 в 10:01, admin, рубрики: ci/cd, dao, docker, java, kotlin, kubernetes, liquibase, postgresql, spring, teamcity, testing, Блог компании QIWI, микросервисыНа дворе 2020 год и фоновым шумом вы уже привыкли слышать: «Кубернетес — это ответ!», «Микросервисы!», «Сервис меш!», «Сесурити полиси!». Все вокруг бегут в светлое будущее.
Подходы в том, что касается баз данных, в нашей компании более консервативны, чем в прикладных приложениях. Крутится база данных у нас не в кубернетесе, а на железе или в виртуалке. Для изменений базы данных процессинга платежных сервисов у нас есть устоявшийся процесс, который включает в себя множество автоматических проверок, большое ревью и релиз с участием DBA. Количество проверок и привлекаемых людей в этом случае негативно влияет на time-to-market. С другой стороны, он отлажен и позволяет надежно вносить изменения в продакшен, минимизируя вероятность что-то сломать. А если что-то сломалось, то нужные люди уже включены в процесс починки. Этот подход делает работу основного сервиса компании стабильнее.
Большинство новых реляционных баз данных для микросервисов мы заводим на PostgreSQL. Отлаженный процесс для Oracle хоть и надёжный, но несет с собой избыточную сложность для маленьких БД. Тащить тяжёлые процессы из прошлого в светлое будущее никто не хочет. Проработкой процесса для светлого будущего заранее никто не занялся. В итоге получили отсутствие стандарта и разножопицу.
Если хотите узнать, к каким проблемам это привело и как мы их порешали, — добро пожаловать под кат.
Читать полностью »
Как мы выбирали VPN-протокол и сервер настраивали
2020-08-23 в 13:52, admin, рубрики: docker, docker-compose, freeradius, IKEv2, strongswan, UNIX, vpn, информационная безопасность, облачные сервисы, Серверное администрирование, Сетевые технологииЗачем всё это и для чего?
У нас было: 10 самых простых конфигураций серверов на DigitalOcean, мобильные устройства на базе iOS, сервер для сбора статистики, никакого опыта в настройке VPN-серверов, а также неукротимое желание сделать быстрый, надёжный и простой в использовании VPN-сервис, которым будет приятно пользоваться. Не то, чтобы всё это было категорически необходимо, но если уж начали, то к делу надо подходить серьёзно.
Тесты на pytest с генерацией отчетов в Allure с использованием Docker и Gitlab Pages и частично selenium
2020-08-01 в 19:51, admin, рубрики: allure, docker, gitlab ci, gitlab pages, python, qa automation, системы сборки, Тестирование веб-сервисовЭтот текст предназначен для начинающих тестировщиков, желающих понять как делать отчеты на allure с историей тестов, также разъяснить где их хранить, чтобы в отчет мог заглянуть любой участник вашей команды.
Когда я хотел добавить в gitlab автотесты в стеке python, allure, docker, то я выяснил, что толковых статей на эту тему нет. Пришлось разбираться самостоятельно и как результат проб и ошибок появилась эта статья, которая скорее является гайдом, частично затрагивающим написание тестов, но наибольший фокус именно на выстраивании инфраструктуры. Если у вас уже написаны тесты на allure, то вы сразу можете переходить к разделу настройки инфраструктуры. Отмечу, что текст НЕ затрагивает написание UI тестов, но я затрону инфраструктуру для них в отдельном блоке.
Сервис на языке Dart: введение, инфраструктура бэкэнд
2020-07-21 в 13:09, admin, рубрики: dart, docker, flutter, fullstack development, nginx, SURF, Блог компании Surf, разработка мобильных приложений2. Backend
2.1. Инфраструктура.
2.2. Доменное имя. SSL.
2.3. Серверное приложение на Dart.
…
3. Web
3.1. Заглушка «Under construction»
…
4. Mobile
…
Введение
Меня, Flutter-разработчика, знакомые часто спрашивают: «Что же такое язык Dart?». Качают головой со словами: «А вот Петя серьёзные транспорты на Java пишет, а в Яндексе вообще плюсы в проде...». Ну что ж, пожалуй, действительно, Dart далёк от практик «фабрик для создания фабрик» из Java. Однако если стоит задача реализовать клиентские приложения сразу для нескольких платформ, не утонув в потоке задач по синхронизации разработчиков разных целевых ОС; создать целостный UI, узнаваемый, но специфичный для Android, iOS и веб и в целом уложиться в адекватные бюджет и сроки, — здесь Flutter не имеет конкурентов. И эти вопросы стоят вдвойне если у вас… стартап.
Итак, легенда: некий стартап решил создать новый сервис… ну, например, для
между пользователями сервиса. Цель стартапа — выпустить MVP за три месяца на трех платформах (плюс четвертая — сервер, конечно).
10 лет назад я бы сказал, что этот кейс не имеет решения и постарался бы держаться от него подальше, 3 года назад решением мог стать стек ReactNative/React/NodeJs, в 2020 году для этого есть Dart. Добро пожаловать в атмосферу разработки альфа версии сервиса, я постараюсь наглядно пройти и объяснить весь процесс разработки. Код всех приложений будет выложен в паблик. Комментарии, включая набросы и холивары, приветствуются. Спросить автора «по существу» или просто посоветоваться можно в Telegram канале нашего отдела.
Практические истории из наших SRE-будней. Часть 2
2020-07-21 в 7:38, admin, рубрики: clickhouse, docker, kubernetes, postgresql, Блог компании Флант, Серверное администрирование, системное администрирование, ФлантУтекло уже немало воды с момента публикации нашего последнего очерка об интересных случаях из практики обслуживания Kubernetes-кластеров и запускаемых в нём сервисов/приложений. Хотим представить очередную серию приключений инженеров «Фланта» в неспокойных водах большой (и не очень) веб-разработки.Читать полностью »
Почему в Docker не работает Strace
2020-07-02 в 7:12, admin, рубрики: docker, ITSumma, ptrace, strace, Блог компании ITSumma, виртуализация, Настройка Linux, под капотом, пользователи, процессы, системное администрированиеКогда я редактировала страницу о возможностях контейнеров для журнала «How Containers Work», мне потребовалось объяснить, почему в Docker не работает strace
. Вот что случалось при запуске strace
в Docker-контейнере на моем ноутбуке:
$ docker run -it ubuntu:18.04 /bin/bash
$ # ... install strace ...
root@e27f594da870:/# strace ls
strace: ptrace(PTRACE_TRACEME, ...): Operation not permitted
strace
работает через системный вызов ptrace
, поэтому без разрешения для ptrace
ничего не заработает! Но это легко исправить, и на моем ноутбуке я все сделала вот так:
docker run --cap-add=SYS_PTRACE -it ubuntu:18.04 /bin/bash
Но мне было интересно не решить проблему, а разобраться, почему эта ситуация вообще возникает. Так почему же strace
не работает, а --cap-add=SYS_PTRACE
все исправляет?
Читать полностью »