Ловили ли вы себя когда-нибудь на мысли, что можно задействовать конкретный инструмент по-другому и решить сложную задачу, максимально задействуя существующие возможности? С меньшим количеством внешних зависимостей, будь то кеши, очереди или БД.
В данном случае таким инструментов является golang. Попробуем с его помощью решить одну не самую тривиальную задачу. Основная задача статьи — показать какие задачи можно достаточно легко решать на go, по максимуму используя горутины/каналы/блокировки.
Обсудили высокую доступность в k8s: эксперт Слёрма Кирилл Борисов — SRE, инцидент-менеджер и спикер конференций Highload++, Devops, DevOops, ProITFest — рассказал про использование Affinity и Anti-Affinity, Tolerations, PodDiscruption Budget и Horizontal Pod Autoscaler.
Делимся переводом статьи об интеграции Kubernetes и Ansible. Из статьи вы узнаете, как подготовить среду для работы, как развернуть кластер Kubernetes с помощью Ansible, как управлять ресурсами Kubernetes и автоматизировать обновления. Кроме того, вы узнаете, как развернуть плейбук Ansible в Kubernetes на облачном провайдере и использовать Ansible для CI/CD в Kubernetes.
Chaos engineering — это подход к проверке устойчивости приложений. Грубо говоря, мы умышленно ломаем что-либо в системе, чтобы посмотреть, как она будет себя вести, и делаем из этого эксперимента полезные выводы о надёжности и уязвимостях.
Перевели статью, о том, как применить этот подход к HashiCorp Vault — системе по управлению секретами.
Если вы когда-либо взаимодействовали с кластером Kubernetes, скорее всего, он был основан на etcd. etcd лежит в основе работы Kubernetes, но несмотря на это, напрямую взаимодействовать с ним приходится не каждый день.
Этот перевод статьи от learnk8s познакомит вас с принципами работы etcd, чтобы вы могли глубже понять внутреннюю работу Kubernetes и получить дополнительные инструменты для устранения неполадок в вашем кластере. Мы установим и сломаем кластер etcd с тремя нодами и узнаем, почему Kubernetes использует etcd в качестве базы данных.
Автомасштабирование обеспечивает эффективность и надёжность приложения. Оно автоматически адаптирует ресурсы в соответствии с потребностями. В периоды пиковой нагрузки — увеличивает, в более спокойные периоды — уменьшает для снижения затрат. Эта гибкость особенно полезна для обработки непредсказуемого трафика: приложения остаются отзывчивыми и не используют ресурсов больше, чем необходимо. Перевели статью о том, как настроить Kafka Scaler на основе задержки подписчика (consumer lag).
Очень непростая задача — управлять экосистемой развлечений, чтобы впечатлять людей разного возраста: от маленьких детей до взрослых поклонников Disney. Тем более что практически все развлечения Disney основаны на сложной технологической базе. Поэтому в Disney есть собственные команды SRE. Они ответственны за то, чтобы «волшебство» работало как часы.
Более 10 лет разработчики на Go жаловались на отсутствие структурированного логирования в ядре Golang. Участники сообщества Golang даже создали несколько собственных пакетов, таких как Logrus, Zap и Zerolog. В 2023 году, команда разработчиков Google Go наконец-то представила Slog — высокопроизводительный пакет для структурированного ведения логов в стандартной библиотеке Go. Мы перевели гайд о возможностях slog.
Kubernetes — это платформа для оркестровки контейнеров, которая позволяет запускать и управлять контейнеризированными приложениями. Иногда необходимо провести отладку или протестировать приложение локально, но при этом не безопасно открывать его внешнему миру. В этом случае на помощь приходит команда kubectl port-forward. Она позволяет перенаправлять трафик с вашего локального компьютера на под, в котором находится контейнеризированное приложение.
Перевели гайд о том, как использовать kubectl port-forward для перенаправления сетевого трафика с нашего локального компьютера на под с веб-сервером nginx.
Классификация инцидентов по степени серьёзности – ключевой момент в управлении инцидентами. Она нужна, чтобы SRE команда могла быстро и эффективно устранять неполадки в сложных системах и минимизировать их влияние на клиентов. В этой статье описана система SEV (Security Evaluation Version), которая помогает стандартизировать процесс устранения проблем, быстрее восстановить работу системы и уведомить о происшествии всех, кого это касается, в зависимости от серьёзности инцидента.
Платформа 1C:Enterprise — самый простой способ перейти в сферу мобильной разработки. Научиться писать приложения на 1С проще, чем освоить Swift, Java или Kotlin. Обучение займёт всего пару месяцев. При этом специалист с такими знаниями всегда будет востребован на рынке благодаря популярности программ 1С. Освоить разработку мобильных приложений на базе 1C:Enterprise можно с начальными навыками программирования на 1С, Python, SQL, Java, C++, C#. В статье мы рассказали, какие задачи решает 1С-программист и насколько перспективна мобильная разработка на встроенном языке.
Команда Power BI рассказала, как она обеспечивает надёжную, производительную и масштабируемую работу своего сервиса. В этой статье вы узнаете, как в Power BI устроен мониторинг состояния сервиса, как SRE команды устраняют инциденты и принимают меры по улучшению сервисов.
Перевели туториал, о том как установить и настроить связку Prometheus, Node Exporter и Grafana для Jenkins. Статья будет полезна тем, кто учится выставить системы мониторинга с помощью этих инструментов.
Перевели статью об основах Ansible inventory. В ней рассматривается базовая функциональность, управление переменными и комбинирование нескольких источников Inventory и варианты работы с динамическими Inventory.
С момента публикации концепции Twelve-Factor App значительно изменилось то, как мы создаём, упаковываем и развёртываем приложения. Контейнеры, Kubernetes и облачные технологии стали основными технологиями, которые позволяют нам создавать переносимые, масштабируемые и надёжные приложения. Тем не менее 12 факторов, сформулированных в концепции, всё ещё актуальны в современном технологическом стеке.
Перевели статью, в которой описывается методология Twelve-Factor App и применение её концепций в контексте контейнеров и Kubernetes.
Создание Pod в Kubernetes — простая задача. Но под капотом скрывается сложный рабочий процесс, который затрагивает несколько компонентов кластера. Делимся переводом статьи, где автор рассказывает, что в этот момент происходит в кластере. Статья будет полезна тем, кто изучает Kubernetes, знакомится с его компонентами и абстракциями.
Разработчики приложений с микросервисной архитектурой обращаются к Golang не только как к основному языку, но и как к вспомогательному — в дополнение к другим, более сложным. А мы решили обратиться к спикеру курса «Golang-разработчик» Виталию Лихачеву, Senior Software Engineer в Avito, чтобы он нам рассказал, почему лично он выбрал бы Go.
Kubernetes — это мощный инструмент, который помогает нам эффективно и надежно управлять и развертывать наше программное обеспечение. Однако по мере того как наши системы становятся все более сложными, может возникнуть проблема с обеспечением их безопасности и соответствия правилам и нормам. Именно здесь на помощь приходит Open Policy Agent (OPA). Перевели туториал, где рассматривается, как OPA можно использовать в Kubernetes для обеспечения безопасности наших систем и соблюдения политик.
«PostgreSQL может заменить Kafka, RabbitMQ, MongoDB, Redis, Elasticsearch, Geospatial Database и даже Сron. Но есть нюансы».
В среду, 13 декабря, в прямом эфире встретились Senior Software Engineer в Avito Tech Виталий Лихачёв и DBA в Altinity Евгений Климов и обсудили PostgreSQL. В компании Виталия любят PostgreSQL, умеют его готовить и используют для множества задач. А вот в компании Евгения предпочитают Clickhouse и считают, что один инструмент для всего — не всегда хорошо. У экспертов получилась интересная и местами остренькая беседа.
Перенос приложения на Kubernetes может быть связан с определенными сложностями, знать о которых лучше заранее. Собрали для вас дайджест лучших статей Хабра по k8s.