This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Лекции по основам Docker
▪️введение Docker?
▪️термины Docker
▪️клиент-серверная архитектура
▪️ введение в образы
▪️ виртуальные контейнеры
▪️ образ (image)
▪️ контейнер (container)
▪️ слой (layer)
▪️ установка Docker Desktop
▪️ проверка работы Docker
источник
@DevOPSitsec
▪️введение Docker?
▪️термины Docker
▪️клиент-серверная архитектура
▪️ введение в образы
▪️ виртуальные контейнеры
▪️ образ (image)
▪️ контейнер (container)
▪️ слой (layer)
▪️ установка Docker Desktop
▪️ проверка работы Docker
источник
@DevOPSitsec
👍12🔥5❤3🤝1
Вебинар «Реалити-разработка: как создается PT NGFW. Эпизод 1»
27 апреля в 14:00
Positive Technologies запускает реалити-проект о разработке сложного технологичного продукта. Мы подготовили серию вебинаров, на которых шаг за шагом пройдем путь создания межсетевого экрана нового поколения. Участники трансляций смогут не только наблюдать за рождением нового продукта, но и влиять на его развитие.
В первом эпизоде директор по продуктам Positive Technologies Денис Кораблев расскажет об основах разработки и нюансах, влияющих на будущее продукта. Вы узнаете:
• что важно учесть при создании ядра решения, чтобы добиться высокой производительности и стабильности работы;
• почему мы отказались от использования компонентов open source в разработке.
Регистрируйтесь и присоединяйтесь!
Реклама ИНН 7718668887 АО "ПОЗИТИВ ТЕКНОЛОДЖИЗ"
27 апреля в 14:00
Positive Technologies запускает реалити-проект о разработке сложного технологичного продукта. Мы подготовили серию вебинаров, на которых шаг за шагом пройдем путь создания межсетевого экрана нового поколения. Участники трансляций смогут не только наблюдать за рождением нового продукта, но и влиять на его развитие.
В первом эпизоде директор по продуктам Positive Technologies Денис Кораблев расскажет об основах разработки и нюансах, влияющих на будущее продукта. Вы узнаете:
• что важно учесть при создании ядра решения, чтобы добиться высокой производительности и стабильности работы;
• почему мы отказались от использования компонентов open source в разработке.
Регистрируйтесь и присоединяйтесь!
Реклама ИНН 7718668887 АО "ПОЗИТИВ ТЕКНОЛОДЖИЗ"
❤1
DevDocs — все API-документации в одном месте
Главные преимущества DevDocs включают объединение множества официальных документаций по разработке, удобный поиск и быстрый доступ к информации.
Особенно полезным инструмент будет для студентов IT-направлений, но свою пользу смогут найти в нём и работающие специалисты
Из дополнительных плюсов: интуитивно понятный интерфейс, настраиваемые закладки и автодополнение поиска
Стоимость: #бесплатно
#API #документация #code
@DevOPSitsec
Главные преимущества DevDocs включают объединение множества официальных документаций по разработке, удобный поиск и быстрый доступ к информации.
Особенно полезным инструмент будет для студентов IT-направлений, но свою пользу смогут найти в нём и работающие специалисты
Из дополнительных плюсов: интуитивно понятный интерфейс, настраиваемые закладки и автодополнение поиска
Стоимость: #бесплатно
#API #документация #code
@DevOPSitsec
🔥5❤1👍1🥰1
Как, а главное - зачем, дублировать облачную инфраструктуру?
В новой статье Романа, DevOps-инженера компании Nixys, есть ответы на эти вопросы.
В общем-то, не просто ответы, а целая инструкция - как подготовиться к дублированию облачной инфраструктуры и сделать всё максимально безболезненно.
В новой статье Романа, DevOps-инженера компании Nixys, есть ответы на эти вопросы.
В общем-то, не просто ответы, а целая инструкция - как подготовиться к дублированию облачной инфраструктуры и сделать всё максимально безболезненно.
👍4🔥2❤1
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
Прием 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🔥5❤1
✔ Подборка учебных материалов по GraphQL
В веб-разработке API играет решающую роль во взаимодействии клиент–сервер. Два популярных подхода к созданию API-интерфейсов являются GraphQL и REST.
REST был доминирующим подходом в течение многих лет, но GraphQL приобрел популярность в последние годы благодаря своей гибкости и преимуществам в производительности. Оба подхода имеют свои сильные и слабые стороны, и выбор между ними зависит от конкретных потребностей приложения.
Делимся подборкой материалов для изучения GraphQL:
— Введение в GraphQL
— Руководство по языку запросов GraphQL для начинающих
— Официальная Документация
— Что же такое этот GraphQL?
— Видеокурс с примерами создания запросов
@DevOPSitsec
В веб-разработке API играет решающую роль во взаимодействии клиент–сервер. Два популярных подхода к созданию API-интерфейсов являются GraphQL и REST.
REST был доминирующим подходом в течение многих лет, но GraphQL приобрел популярность в последние годы благодаря своей гибкости и преимуществам в производительности. Оба подхода имеют свои сильные и слабые стороны, и выбор между ними зависит от конкретных потребностей приложения.
Делимся подборкой материалов для изучения GraphQL:
— Введение в GraphQL
— Руководство по языку запросов GraphQL для начинающих
— Официальная Документация
— Что же такое этот GraphQL?
— Видеокурс с примерами создания запросов
@DevOPSitsec
👍8🔥2❤1
Forwarded from Вокруг Kubernetes в VK
🔔 Nginx Ingress в Kubernetes: настраиваем мониторинг и оповещения
Решили разобраться, как самостоятельно установить и сконфигурировать Ingress-контроллер Nginx, а также настроить оповещения для ключевых метрик Ingress в Kubernetes. Для этого нашли и перевели пошаговую инструкцию.
В статье объясняется, зачем для этого понадобятся Prometheus и Grafana, а также приводятся примеры кода с пояснениями.
* Для работы вам понадобится кластер Kubernetes и менеджер пакетов Helm v3.
Решили разобраться, как самостоятельно установить и сконфигурировать Ingress-контроллер Nginx, а также настроить оповещения для ключевых метрик Ingress в Kubernetes. Для этого нашли и перевели пошаговую инструкцию.
В статье объясняется, зачем для этого понадобятся Prometheus и Grafana, а также приводятся примеры кода с пояснениями.
* Для работы вам понадобится кластер Kubernetes и менеджер пакетов Helm v3.
Хабр
Как настроить мониторинг и оповещения на Nginx ingress в Kubernetes
Команда VK Cloud перевела пошаговую инструкцию о том, как установить и сконфигурировать ingress-nginx, Prometheus и Grafana, а также настроить оповещения для ключевых метрик Ingress. Для работы...
👍6❤4🔥1
Гайд: как упростить функциональное API-тестирование в облаке
В новой статье Павла Балахонова, старшего инженера по автоматизированному тестированию в VK Tech, рассказывается, как упростить и автоматизировать функциональное тестирование в Private Cloud от VK — платформе для построения частного облака в крупных компаниях и госорганизациях, какие решения использовались и что из того, что было в активе у автора, открыто для общего использования.
В новой статье Павла Балахонова, старшего инженера по автоматизированному тестированию в VK Tech, рассказывается, как упростить и автоматизировать функциональное тестирование в Private Cloud от VK — платформе для построения частного облака в крупных компаниях и госорганизациях, какие решения использовались и что из того, что было в активе у автора, открыто для общего использования.
👍5❤1🔥1
1.Введение
▪Лекция
▪Практическое занятие
2.Простые скрипты
▪Лекция
▪Практическое занятие
3.Организация программ
▪Лекция
▪Практическое занятие
4.Объектно-ориентированное программирование
▪Лекция
▪Практическое занятие
5.Автоматизация тестирования
▪Лекция
▪Практическое занятие
6.Функциональное программирование
▪Лекция
▪Практическое занятие
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍5❤2
Gitpod — облачная разработка на стероидах!
Gitpod бесплатная среда разработки, которая предоставляет быстрый и гибкий облачный IDE для разработчиков. Работайте над проектами с любого устройства, без забот о настройке среды. Он идеален для команд, удалённых сотрудников и фрилансеров
Есть в утилите и автоматическая настройка рабочей среды, основанная на вашем коде. Это позволяет сэкономить время и упростить процесс разработки
🖥 Github
@DevOPSitsec
Gitpod бесплатная среда разработки, которая предоставляет быстрый и гибкий облачный IDE для разработчиков. Работайте над проектами с любого устройства, без забот о настройке среды. Он идеален для команд, удалённых сотрудников и фрилансеров
Есть в утилите и автоматическая настройка рабочей среды, основанная на вашем коде. Это позволяет сэкономить время и упростить процесс разработки
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🔥1
🔥 Лучшие бесплатные курсы для изучения DevOps в 2023 году
Если вы опытный разработчик и хотите стать инженером DevOps в 2023 году или просто хотите изучить процесс, методы и инструменты DevOps, чтобы улучшить процесс разработки и поставки, и ищете бесплатные онлайн-курсы DevOps, чтобы начать свое путешествие, то вы пришли в нужное место.
https://dev.to/javinpaul/my-favorite-free-courses-to-learn-devops-in-2023-4h6m
@DevOPSitsec
Если вы опытный разработчик и хотите стать инженером 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
OpenRewrite — это набор инструментов для рефакторинга и сопровождения программного обеспечения, создания рецептов для общих операций рефакторинга (таких как обновление Java или ключевая зависимость между основными версиями).
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍1🔥1
Мы собрали для вас подборку свежих и актуальных книг, по всем языкам программирования.
В подборке не просто новые книги для программистов, но и те книги, которые дают практическую основу с задачами и решениями для получения реального полезных навыков.
🍍 Папка с книгами:
https://t.iss.one/addlist/BkskQciUW_FhNjEy
(папки работают в последней версии телеграмма или мобильной версии)
Я подписан на многие каналы из подборки, но не на все, так что будет из чего выбрать – от глубоко технических авторов, до понятных всем и тп.
Настоящий кладезь книг и знаний здесь
В подборке не просто новые книги для программистов, но и те книги, которые дают практическую основу с задачами и решениями для получения реального полезных навыков.
🍍 Папка с книгами:
https://t.iss.one/addlist/BkskQciUW_FhNjEy
(папки работают в последней версии телеграмма или мобильной версии)
Я подписан на многие каналы из подборки, но не на все, так что будет из чего выбрать – от глубоко технических авторов, до понятных всем и тп.
Настоящий кладезь книг и знаний здесь
Telegram
Книги ИТ
You’ve been invited to add the folder “Книги ИТ”, which includes 22 chats.
🔥7❤1
Benthos — мощный сервер обработки потоков данных
Он отлично подойдёт для интеграции, трансформации и маршрутизации данных в различных форматах и системах. Решение идеально для разработчиков, инженеров данных и DevOps.
Из «фишек» инструмента можно отметить его модульную архитектуру, позволяющую легко настраивать и масштабировать систему
Помимо этого, Benthos предлагает широкий выбор встроенных компонентов и поддержку плагинов для покрытия различных потребностей пользователей
Стоимость: #бесплатно
#DevOps
Он отлично подойдёт для интеграции, трансформации и маршрутизации данных в различных форматах и системах. Решение идеально для разработчиков, инженеров данных и DevOps.
Из «фишек» инструмента можно отметить его модульную архитектуру, позволяющую легко настраивать и масштабировать систему
Помимо этого, Benthos предлагает широкий выбор встроенных компонентов и поддержку плагинов для покрытия различных потребностей пользователей
Стоимость: #бесплатно
#DevOps
❤5🔥3👍2
in-toto and SLSA
Полезный учебник для начинающих о том, как in-toto относится к SLSA. Если вы заинтересованы в безопасности цепочки поставок программного обеспечения, это стоит прочитать.
https://slsa.dev/blog/2023/05/in-toto-and-slsa
@DevOPSitsec
Полезный учебник для начинающих о том, как in-toto относится к SLSA. Если вы заинтересованы в безопасности цепочки поставок программного обеспечения, это стоит прочитать.
https://slsa.dev/blog/2023/05/in-toto-and-slsa
@DevOPSitsec
SLSA
in-toto and SLSA
As an adopter of SLSA, you have likely encountered the in-toto project. in-toto attestations are part of SLSA’s recommended suite for expressing software supply chain claims. As in-toto maintainers, we’ve interacted with a number of people who know of in…
👍4🔥2❤1
Media is too big
VIEW IN TELEGRAM
Начало курса по основам 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👍2❤1
Шаблоны архитектуры приложений
Прежде чем приступить к разработке программного обеспечения, мы должны выбрать подходящую архитектуру, которая обеспечит нам желаемую функциональность и качественные характеристики.
Статья рассказывает об основных шаблонах архитектуры приложений:
https://www.redhat.com/architect/14-software-architecture-patterns
#шаблоны
Прежде чем приступить к разработке программного обеспечения, мы должны выбрать подходящую архитектуру, которая обеспечит нам желаемую функциональность и качественные характеристики.
Статья рассказывает об основных шаблонах архитектуры приложений:
https://www.redhat.com/architect/14-software-architecture-patterns
#шаблоны
👍8❤2🔥1
15 Лучших курсов по Go для начинающих
Мы собрали ссылки на полезные курсы Golang для начинающих.
▪Читать
#golang
@DevOPSitsec
Мы собрали ссылки на полезные курсы Golang для начинающих.
▪Читать
#golang
@DevOPSitsec
👍11❤1🔥1
Terraform — фреймворк для управления инфраструктурой кода
Пи помощи данного инструмента вы сможете управлять инфраструктурой, используя для этого язык программирования
Terraform также поддерживает большинство облачных провайдеров, позволяя создавать и управлять сложными и распределёнными системами
Стоимость: #бесплатно (но есть платные тарифы)
#DevOps #облако
@DevOPSitsec
Пи помощи данного инструмента вы сможете управлять инфраструктурой, используя для этого язык программирования
Terraform также поддерживает большинство облачных провайдеров, позволяя создавать и управлять сложными и распределёнными системами
Стоимость: #бесплатно (но есть платные тарифы)
#DevOps #облако
@DevOPSitsec
👍8❤3🔥1🕊1
Полезная памятка по командам управления Docker
Docker команды служат для управления различными элементами Docker, включая контейнеры, образы, сети, тома и другие функции. Они дают возможность взаимодействия с Docker-демоном, включая запуск контейнеров, отправку и создание образов, настройку сетей, томов и других подобных задач. Команды помогают разработчикам и администраторам управлять ресурсами и автоматизировать процессы связанные с контейнерами Docker.
https://www.linuxteck.com/docker-management-command-cheat-sheet/
@DevOPSitsec
Docker команды служат для управления различными элементами Docker, включая контейнеры, образы, сети, тома и другие функции. Они дают возможность взаимодействия с Docker-демоном, включая запуск контейнеров, отправку и создание образов, настройку сетей, томов и других подобных задач. Команды помогают разработчикам и администраторам управлять ресурсами и автоматизировать процессы связанные с контейнерами Docker.
https://www.linuxteck.com/docker-management-command-cheat-sheet/
@DevOPSitsec
❤6🥰2👎1🔥1