DevOps
22.8K subscribers
890 photos
93 videos
15 files
822 links
По всем вопросам- @workakkk

@itchannels_telegram - 🔥полезные ит-каналы

https://t.iss.one/Golang_google - Golang программирование

@golangl - golang chat

@GolangJobsit - golang channel jobs

@golang_jobsgo - go chat jobs

РКН: clck.ru/3FmvZA
Download Telegram
Как, а главное - зачем, дублировать облачную инфраструктуру?

В новой статье Романа, DevOps-инженера компании Nixys, есть ответы на эти вопросы.

В общем-то, не просто ответы, а целая инструкция - как подготовиться к дублированию облачной инфраструктуры и сделать всё максимально безболезненно.
👍4🔥21
5 приемов оптимизации сборки Docker-образов

Прием 1 — уменьшаем количество слоев в образе
Уменьшить количество слоев в образе можно сворачиванием нескольких однородных инструкций в одну. Например, несколько логически связанных инструкций RUN можно объединить в одну инструкцию с помощью конвейера Linux:

RUN apt-get update && apt-get install -y nginx



Прием 2 — удаляем ненужный кэш apt-get
Пакетный менеджер apt-get, обновляя репозиторий, сохраняет кэш, который в большинстве случаев не нужен, и его можно удалить, уменьшив тем самым собираемый образ на 100+ Мбайт. Сделать это совсем несложно, достаточно в инструкции RUN последней командой указать: && rm -f /var/lib/apt/lists/*.

Соединим оба приёма в одну инструкцию:

RUN apt-get update && apt-get install -y nginx && rm -f /var/lib/apt/lists/*
Такая конструкция работает именно в одной инструкции RUN, если вы вынесете rm -f /var/lib/apt/lists/* в отдельный RUN — ничего не сработает, так как кеш будет очищаться в другом слое, а его обновление будет оставаться в предыдущем слое.



Прием 3 — копируем только нужные файлы проекта в образ с помощью .dockerignore-файла
Обычно для копирования проекта в образ используется инструкция COPY с указанием места расположения проекта, как «.», что указывает на текущею директорию. Такой подход имеет один недостаток — будут скопированы все вложенные подкаталоги и файлы, что может значительно увеличить размер образа.

Исправить ситуацию призван .dockerignore-файл, который работает так же как и .gitignore-файл. В этих файлах указываются те папки и файлы, которые «не надо трогать». Gitignore-файл располагается в корневом каталоге копируемого в образ проекта. Обратите внимание на точку в начале названия файла — «.gitignore», так и должно быть.

Рассмотрим пример работы .gitignore-файла. Например, мы работаем с GIT, и в нашем проекте есть GIT-репозиторий. В образе он нам не нужен, поэтому его можно не копировать, а ещё в образе нам не нужен Dockerfile. Укажем эти файлы в .gitignore-файле:

.GIT
Dockerfile
При сборке образа Docker прочтет .dockerignore-файл и не включит в образ указанные в нем папки и файлы.


Приём 4 — используем минималистические Linux-образа Alpine
Как правило, для сборки образов применяются дистрибутивы Debian, Ubuntu, CentOS. Но это оправдано в том случае, если ваш проект будет использовать всё обилие возможностей ядра и пакетов, которые предоставляет выбранный дистрибутив. Если же вам нужно просто создать контейнер с Nginx или иной другой программой — используйте Alpine-сборки.

Alpine-образ весит считанные мегабайты, а не сотни Мбайт как Debian или Ubuntu, при этом в нём есть всё необходимое для запуска большинства приложений. Например, так выглядит dockerfile Nginx-образа на Alpine-сборке, который занимает 7 Мбайт:

FROM alpine
RUN apk add --no-cache nginx && mkdir -p /run/nginx
EXPOSE 80
COPY custom.conf /etc/nginx/conf.d
dockerCOPY . /opt/
CMD ["nginx”,”-g”,”daemon off;”]
Еще один бесспорный плюс Alpine — скорость сборки образа. Она разительно отличается в лучшую сторону по сравнению со скоростью сборки на любом другом дистрибутиве Linux.


Прием 5 — часто изменяемые слои ставим в конец dockerfile
Слоистая структура Docker-образов имеет одно неприятное свойство — при внесении изменения в один из слоев, это слой и все последующие слои будут пересобраны. Поэтому, чтобы сэкономить время на сборке образа — старайтесь ставить инструкции копирования кода проекта и конфигов в конец dockerfile до команды CMD или ENTRYPOINT.


#devops #девопс

@DevOPSitsec
👍15🔥51
Подборка учебных материалов по GraphQL

В веб-разработке API играет решающую роль во взаимодействии клиент–сервер. Два популярных подхода к созданию API-интерфейсов являются GraphQL и REST.

REST был доминирующим подходом в течение многих лет, но GraphQL приобрел популярность в последние годы благодаря своей гибкости и преимуществам в производительности. Оба подхода имеют свои сильные и слабые стороны, и выбор между ними зависит от конкретных потребностей приложения.

Делимся подборкой материалов для изучения GraphQL:

Введение в GraphQL
Руководство по языку запросов GraphQL для начинающих
Официальная Документация
Что же такое этот GraphQL?
Видеокурс с примерами создания запросов

@DevOPSitsec
👍8🔥21
🔔 Nginx Ingress в Kubernetes: настраиваем мониторинг и оповещения

Решили разобраться, как самостоятельно установить и сконфигурировать Ingress-контроллер Nginx, а также настроить оповещения для ключевых метрик Ingress в Kubernetes. Для этого нашли и перевели пошаговую инструкцию.

В статье объясняется, зачем для этого понадобятся Prometheus и Grafana, а также приводятся примеры кода с пояснениями.

* Для работы вам понадобится кластер Kubernetes и менеджер пакетов Helm v3.
👍64🔥1
Гайд: как упростить функциональное API-тестирование в облаке

В новой статье Павла Балахонова, старшего инженера по автоматизированному тестированию в VK Tech, рассказывается, как упростить и автоматизировать функциональное тестирование в Private Cloud от VK — платформе для построения частного облака в крупных компаниях и госорганизациях, какие решения использовались и что из того, что было в активе у автора, открыто для общего использования.
👍51🔥1
🖥 Бесплатный курс программирование на языке Python 2023

1.Введение
Лекция
Практическое занятие

2.Простые скрипты
Лекция
Практическое занятие

3.Организация программ
Лекция
Практическое занятие

4.Объектно-ориентированное программирование
Лекция
Практическое занятие

5.Автоматизация тестирования
Лекция
Практическое занятие

6.Функциональное программирование
Лекция
Практическое занятие

🖥 Github

@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍52
Gitpod — облачная разработка на стероидах!

Gitpod бесплатная среда разработки, которая предоставляет быстрый и гибкий облачный IDE для разработчиков. Работайте над проектами с любого устройства, без забот о настройке среды. Он идеален для команд, удалённых сотрудников и фрилансеров

Есть в утилите и автоматическая настройка рабочей среды, основанная на вашем коде. Это позволяет сэкономить время и упростить процесс разработки

🖥 Github

@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🔥1
🔥 Лучшие бесплатные курсы для изучения DevOps в 2023 году

Если вы опытный разработчик и хотите стать инженером DevOps в 2023 году или просто хотите изучить процесс, методы и инструменты DevOps, чтобы улучшить процесс разработки и поставки, и ищете бесплатные онлайн-курсы DevOps, чтобы начать свое путешествие, то вы пришли в нужное место.

https://dev.to/javinpaul/my-favorite-free-courses-to-learn-devops-in-2023-4h6m

@DevOPSitsec
5👍3🔥3
OpenRewrite

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

🖥 Github

@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍1🔥1
Мы собрали для вас подборку свежих и актуальных книг, по всем языкам программирования.

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

🍍 Папка с книгами:
https://t.iss.one/addlist/BkskQciUW_FhNjEy
(папки работают в последней версии телеграмма или мобильной версии)

Я подписан на многие каналы из подборки, но не на все, так что будет из чего выбрать – от глубоко технических авторов, до понятных всем и тп.

Настоящий кладезь книг и знаний здесь
🔥71
Benthos — мощный сервер обработки потоков данных

Он отлично подойдёт для интеграции, трансформации и маршрутизации данных в различных форматах и системах. Решение идеально для разработчиков, инженеров данных и DevOps.

Из «фишек» инструмента можно отметить его модульную архитектуру, позволяющую легко настраивать и масштабировать систему

Помимо этого, Benthos предлагает широкий выбор встроенных компонентов и поддержку плагинов для покрытия различных потребностей пользователей

Стоимость: #бесплатно

#DevOps
5🔥3👍2
in-toto and SLSA

Полезный учебник для начинающих о том, как in-toto относится к SLSA. Если вы заинтересованы в безопасности цепочки поставок программного обеспечения, это стоит прочитать.

https://slsa.dev/blog/2023/05/in-toto-and-slsa

@DevOPSitsec
👍4🔥21
Media is too big
VIEW IN TELEGRAM
🖥 Курс: Школа DevOps v.1.0

Начало курса по основам DevOps. В рамках курса мы рассмотрим философию девопс и её концепции, и набор базовых инструментов: Ansible, Docker, Gitlab CI

1-1 Школа DevOps: Жизненный цикл разработки ПО и методологии работы
1-2 Школа DevOps: Что такое DevOps
1-3 Школа DevOps: Знакомство с Git, GitLab и BitBucket
1-4 Школа DevOps: Continuous Integration и CICD Workflow
1-5 Школа DevOps: Автоматическая сборка и тестирование
1-6 Школа DevOps: Continuous Delivery и Continuous Deployment

🎞 Плейлист

@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👎4👍21
Шаблоны архитектуры приложений

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

Статья рассказывает об основных шаблонах архитектуры приложений:

https://www.redhat.com/architect/14-software-architecture-patterns

#шаблоны
👍82🔥1
15 Лучших курсов по Go для начинающих

Мы собрали ссылки на полезные курсы Golang для начинающих.

Читать

#golang

@DevOPSitsec
👍111🔥1
Terraform — фреймворк для управления инфраструктурой кода


Пи помощи данного инструмента вы сможете управлять инфраструктурой, используя для этого язык программирования

Terraform также поддерживает большинство облачных провайдеров, позволяя создавать и управлять сложными и распределёнными системами

Стоимость: #бесплатно (но есть платные тарифы)

#DevOps #облако

@DevOPSitsec
👍83🔥1🕊1
Полезная памятка по командам управления Docker

Docker команды служат для управления различными элементами Docker, включая контейнеры, образы, сети, тома и другие функции. Они дают возможность взаимодействия с Docker-демоном, включая запуск контейнеров, отправку и создание образов, настройку сетей, томов и других подобных задач. Команды помогают разработчикам и администраторам управлять ресурсами и автоматизировать процессы связанные с контейнерами Docker.

https://www.linuxteck.com/docker-management-command-cheat-sheet/

@DevOPSitsec
6🥰2👎1🔥1
Работаете с Docker?

Тогда обратите внимание на новую статью Романа, DevOps-инженера компании Nixys.

Вы узнаете какие уязвимости бывают в образах контейнеров, как их устранять и какой сканер уязвимостей лучше выбрать. Бонус: поучительный кейс о том, как делать не надо. Если вы дорожите своей инфраструктурой, разумеется.

➡️ Приятного чтения!

Больше новостей из мира DevOps — в канале DevOps FM, welcome 👋
7🔥1
Docker Unleashed: разбор команд, основы, учебные ресурсы и карьерный roadmap

Docker Unleashed: подробное руководство по командам Docker, основам, ресурсам, кривой обучения, карьерным перспективам и рекомендуемым учебным ресурсам. Узнайте о командах Docker, разберитесь с основами Docker, изучите учебные ресурсы и узнайте о перспективах карьерного роста в технологической отрасли.

https://dev.to/rishitashaw/docker-unleashed-commands-basics-learning-careers-2gnk

@DevOPSitsec
👍91🔥1
Media is too big
VIEW IN TELEGRAM
DevSecOps

DevSecOps. Общее погружение
DevOps на пальцах
SecOps. Защита кластера
DevSec. Встраивание ИБ в конвейер разработки
DevSecOps. Process edition
Что такое Audit Policy? Вебинар из цикла DevSecOps
Зачем GitOps в Enterprise? Вебинар из цикла DevSecOps 2-й сезон
Управление секретами: основы
Persistent данные и резервное копирование в кластере
8 Bad Pods: атаки на Kubernetes
Kubernetes в Enterprise: VMware Tanzu
Kubernetes в Enterprise. Обзор, проблематика, решения
DevOps – начало работы в кластере Kubernetes
DevOps в Enterprise. Tech Talks Юрий Семенюков на High Load ++
Как пережить сертификацию по Kubernetes. Личный опыт

источник

#devops #девопс

@DevOPSitsec
👍7🔥21