DevOps
22.8K subscribers
887 photos
92 videos
15 files
818 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
Вебинар «Реалити-разработка: как создается PT NGFW. Эпизод 1»
27 апреля в 14:00

Positive Technologies запускает реалити-проект о разработке сложного технологичного продукта. Мы подготовили серию вебинаров, на которых шаг за шагом пройдем путь создания межсетевого экрана нового поколения. Участники трансляций смогут не только наблюдать за рождением нового продукта, но и влиять на его развитие.

В первом эпизоде директор по продуктам Positive Technologies Денис Кораблев расскажет об основах разработки и нюансах, влияющих на будущее продукта. Вы узнаете:
• что важно учесть при создании ядра решения, чтобы добиться высокой производительности и стабильности работы;
• почему мы отказались от использования компонентов open source в разработке.

Регистрируйтесь и присоединяйтесь!

Реклама ИНН 7718668887 АО "ПОЗИТИВ ТЕКНОЛОДЖИЗ"
1
DevDocs — все API-документации в одном месте

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

Особенно полезным инструмент будет для студентов IT-направлений, но свою пользу смогут найти в нём и работающие специалисты

Из дополнительных плюсов: интуитивно понятный интерфейс, настраиваемые закладки и автодополнение поиска

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

#API #документация #code

@DevOPSitsec
🔥51👍1🥰1
Как, а главное - зачем, дублировать облачную инфраструктуру?

В новой статье Романа, 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