Size: a a a

Пятничный деплой

2021 February 23
Пятничный деплой
Интересная и подробная статья о том, как python работает с памятью при использовании multiprocessing. Будет полезна, если вы используете какие-то большие readonly-объекты в вашем API. ну и в целом интересно, как все устроено под капотом https://luis-sena.medium.com/understanding-and-optimizing-python-multi-process-memory-management-24e1e5e79047
источник
2021 February 24
Пятничный деплой
The Missing Guide to AWS API Gateway Access Logs

https://www.alexdebrie.com/posts/api-gateway-access-logs
источник
Пятничный деплой
Introduction to GitOps on Kubernetes with Flux v2

https://blog.sldk.de/2021/02/introduction-to-gitops-on-kubernetes-with-flux-v2/

#k8s #kubernetes #gitops #git #flux #devops
источник
Пятничный деплой
Вы знали, что в ИТ-индустрии есть специалисты, которые вживаются в роль хакеров и атакуют свои же системы? Так они проверяют надежность защиты ПО и оборудования от вирусов и утечки данных. Это называется пентест — тестирование на проникновение. Айтишники, которые этим занимаются, — пентестеры. Или охотники за уязвимостями.

Интересно? Тогда приходите на курс «Специалист по анализу защищенности» от GeekBrains. Изучите основы Python, работу с Linux, методологию тестирования и механизмы защиты. В учебной программе — Map, Massdns, HTTP, WAF, Content Security Policy, Same Origin Policy, SSRF, XXE, OAuth 2.0, RCE, Bug Bounty, Penetration Testing и Burp suite. В общем, все, что нужно пентестеру для хорошей охоты.

Курс подходит для новичков! Записывайтесь по ссылке https://geekbrains.ru/link/CUEAhA
источник
Пятничный деплой
Небезызвестный @kvaps запилил что-то страшное, но очень интересное:
Kubefarm - Automated Kubernetes deployment and the PXE-bootable servers farm
https://github.com/kvaps/kubefarm вот тут можно почитать подробнее https://kvaps.medium.com/few-notes-about-kubefarm-project-ab1674dbe9c9
А ещё у него канал появился: @ittales

#k8s #kubernetes #pxe #docker
источник
Пятничный деплой
Пользуясь служебным положением хочу позвать всех интересующихся базами данных на вебинар коллеги "Practical Concurrency in Databases". Или, если по-русски, то рассказ пойдёт про конкурентный код, транзакции, локи и уровни изоляций. Тема не для слабых духом, но Сашу (докладчика) знаю как исключительного профессионала своего дела и всячески рекомендую к просмотру.
Вебинар будет на английском!
Когда: 25 февраля. 19-00 Мск.
Регаться здесь.
источник
Пятничный деплой
​​Амазон анонсировала появление нового сервиса для chaos инжиниринга (напомню, это "проведение экспериментов в распределенных системах с целью укрепления уверенности в способности системы противостоять турбулентным условиям в эксплуатационной среде". см основные принципы хаос инженерии). По сути это AWS Chaos Runner, который реализует разного рода сбои, интегрированный в экосистему AWS (см. иллюстрацию). Амазон не первыми делают такой сервис, уже давно существует Gremlin, который предоставляет сбои как сервис. Тут, как мне кажется, интересно другое - Амазон с этим продуктом выходит на рынок продуктов для тестирования ПО. С таким же успехом они могут сделать сервис для тестирования Web UI.

https://aws.amazon.com/fis/
источник
Пятничный деплой
За последнее время в Hypothesis (библиотека на Python для property-based тестирования) появились новые фишки, о которых я расскажу в нескольких следующих постах.

Гугл недавно опубликовал под свободной лицензией исходный код Аtheris. Это фаззер для кода на Python, он использует LibFuzzer и, как следствие, генерирует такие входные данные, которые максимимизируют покрытие кода, то есть это фаззер с обратной связью. Как пишут в анонсе, в 2013 году гуглеры организовались и начали писать фаззеры для внутренних проектов кода. В рамках этой активности и был создан Аtheris. Hypothesis позволяет использовать внешние фаззеры для генерирования тесткейсов (например на базе AFL - python-afl), и теперь есть интеграция с Atheris. В инфраструктуре oss-fuzz, в которой Гугл фаззит код открытых проектов, теперь появилась поддержка проектов на Python и туда уже добавили два модуля (ujson и urllib3), которые теперь регулярно тестируются с помощью связки Hypothesis и atheris. Все это говорит о том, что Hypothesis умеет генерировать тесты не только с использованием свойств, но и абсолютно случайными данными. Кстати нативная поддержка coverage-guided генератора была в самом Hypothesis, но её удалили в основном из-за проблем с производительностью в 2018 году (см. тикет).

Пример кода для тестирования с использованием Atheris и Hypothesis:

@given(obj=JSON_OBJECTS, kwargs=st.fixed_dictionaries(UJSON_ENCODE_KWARGS))
def test_ujson_roundtrip(obj, kwargs):
   """Check that all JSON objects round-trip regardless of other options."""
   assert obj == ujson.decode(ujson.encode(obj, **kwargs))

if __name__ == "__main__":
   atheris.Setup(sys.argv, test_ujson_roundtrip.hypothesis.fuzz_one_input)
   atheris.Fuzz()

#непишитетесты, а лучше генерируйте их
источник
2021 February 25
Пятничный деплой
Import or from import, that is the question
https://habr.com/ru/post/543832/?utm_campaign=543832&utm_source=habrahabr&utm_medium=rss

Есть три стадии знаний: ты используешь инструмент, ты понимаешь как он работает, ты можешь учить других работать этим инструментом. Потихонечку начал перетекать в третью и стал задавать себе вопросы, которые раньше не задавал. Например, что лучше: import module или from module import function? Я решил разобраться в этом чуть поглубже, ответы на StackOverflow меня не удовлетворили. Для тех, кому лень читать: все варианты хороши.
источник
Пятничный деплой
😎Сегодня мы публикуем третью статью Максима Цепкова о хороших интеграциях. В этот раз вместе с Максимом рассмотрим синхронный, асинхронный и реактивный способы взаимодействия между сервисами и более крупными модулями. А также способы обеспечить консистентность данных и организовать транзакции.

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

✅А тем временем 30-31 мая всё ближе. В эти дни мы соберёмся в Москве на DevOpsConf 2021. 1 марта цены на билеты вырастут. Вы можете забронировать билет здесь, и у вас будет ещё несколько дней на оплату. Присоединяйтесь!
источник
Пятничный деплой
Ускоренный курс по изучению gRPC и его интеграции с вашими приложениями на Go.

https://proglib.io/w/7624b298
источник
Пятничный деплой
[Перевод] Избегайте рекурсии в Python: вспомните о замыкании
https://habr.com/ru/post/542880/?utm_source=habrahabr&utm_medium=rss&utm_campaign=542880
Tags: Блог компании SkillFactory, Python, Программирование, Совершенный код, skillfactory, программирование, совершенный код, замыкания, рекурсия
Author Doublesharp #habr
источник
2021 February 26
Пятничный деплой
Классная статья от Марка Бейтса о использовании io/fs 🥸

https://www.gopherguides.com/articles/golang-1.16-io-fs-improve-test-performance?utm_source=reddit&utm_medium=social&utm_campaign=iofs-testing
источник
Пятничный деплой
источник
Пятничный деплой
http://amp.gs/QpaP

Хей-хей. Вы ждали, и мы вернулись. Вышел 54 эпизод DevOps Дефлопе с Артемом Каличкиным, председателем ПК DevOpsConf. Обсудили текущее состояние индустрии, зачем нужен DevOpsConf и что будет интересного на конференции.


Вы еще успеете подать доклад на http://amp.gs/Qpah
А читатели Дефлопе могут воспользоваться промокодом DevOpsDeflope2021 на 7% скидку.
источник
2021 February 28
Пятничный деплой
50 оттенков Go

Разбираем распространённые ловушки, подводные камни и ошибки для разработчиков на Go.

https://proglib.io/w/f374b429
источник
Пятничный деплой
🔍 И ещё один #линк - простой сервис для DNS запросов от Julia Evans: https://dns-lookup.jvns.ca/

Для тех, кто не смог в dig (ну или для тех, кому dig использовать не всегда удобно), а dnsdumpster.com кажется слишком сложным. :)
источник
2021 March 01
Пятничный деплой
На прошлой неделе Google зарелизили GKE Autopilot. Это новый вид кластера в GKE, который подразумевает, что data plane тоже управляется облаком. По сути, под собой это обвязка над Node Pools + Cluster Autoscaler + Admission Webhook, но теперь предоставляется SLA на поды 99.9%. У самого control plane SLA такой-же, как и у регионального кластера, что говорит о готовности решения для прода.

А теперь к интересной нам части - что сделали с точки зрения безопасности

Nodes:
- Container optimized OS с заhardenin'ым ядром
- нет доступа к нодам - не видны в консоли, нет SSH
- Shielded GKE nodes
- Secure Boot

Runtime:
- priviledged mode убран
- ограниченные capabilities ("SETPCAP", "MKNOD", "AUDIT_WRITE", "CHOWN", "DAC_OVERRIDE", "FOWNER",
"FSETID", "KILL", "SETGID", "SETUID", "NET_BIND_SERVICE", "SYS_CHROOT", "SETFCAP"), отсутствует CAP_NET_RAW!
- Seccomp профиль runtime/default
- запрещен hostPath, кроме /var/log
- запрещены host namespaces

Resources:
- изменения в kube-system не доступны
- cluster-admin не существует, только локальный админ внутри namespace
- Workload Identity - SA внутри k8s работают, как облачный SA. Отсюда, нет завязки на SA из metadata API

Add-ons которые планируют добавить:
- Istio
- Confidential GKE Nodes
- Application-layer secrets encryption
- Binary authorisation
- RBAC Google Groups
- Network Policies

Из-за жестких runtime ограничений, большинство тулинга (логгинг, мониторинг, etc) не запустится на Autopilot. Но это обещают исправить. Предоставленная конфигурация позволяет избежать ряда атак на ваш кластер, но из-за этого он менее гибок (что так же верно и для on-prem решения с теми же включенными опциями).

В целом, выглядит как то, что именно таким Kubernetes должен выглядеть by default. Если вас устраивает тулинг от Google Cloud в части логгинга и мониторинга, то Autopilot может стать хорошей заменой Classic cluster. В будущем с введением add-ons будет покрыт полный scope атак, начиная шифрованием памяти и заканчивая supply-chain атаками на образы.
источник
Пятничный деплой
Андрей никак не успокоится и все ломает #kubernetes

https://habr.com/ru/post/544390/

#k8s
источник
2021 March 02
Пятничный деплой
источник