DevOps Portal | Linux
13.4K subscribers
867 photos
112 videos
10 files
881 links
Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps

Связь: @devmangx

РКН: https://clck.ru/3P8kFH
Download Telegram
Поворачиваем календарь, включаем режим продуктивности и начинаем этот день с энтузиазма! Доброго утра, Линукс-сообщество! 🐧💻🌞 #Linux #3сентября
👍3
Микросервис или монолит: выбираем архитектуру при разработке приложения 💻

Мы редко задумываемся о том, как работают окружающие нас сервисы. Например, в магазине мы просто прикасаемся пластиком к терминалу и спустя секунду проходит оплата. Для нас это пара мгновений в течение которых, на самом деле, происходит огромное число взаимодействий между различного рода сервисами/программами/приложениями, обеспечивающих списание денег и зачисление их в так называемый банк-эквайринг. В разработке и дальнейшей поддержке этих сервисов/программ/приложений существуют два базовых подхода: микросервисная и монолитная архитектуры. Давайте на уровне обычного пользователя попробуем разобраться в том, что это за подходы и есть ли между ними разница.

🧱 Монолитная архитектура 🧱

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

Примерами таких сервисов/приложений являются, например, StackOverflow, Slack, Booking, GitHub.

⚙️ Микросервисная (распределенная) архитектура ⚙️

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

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

Может ли быть что-то посередине?

Многие разработчики начинают с монолитной архитектуры, но со временем решают перейти к микросервисам. Например, разработчики национальной платежной системы "МИР" начинали с монолита, но сейчас, из-за активного роста спроса на услуги и числа клиентов, часть функционала переводят в микросервисы. Поэтому, большие и сложные сервисы/приложения используют оба подхода, тщательно балансируя между ними не в ущерб стабильности работы.

🏁 Последний и очень близкий пример 🏁

Завершить этот небольшой рассказ про монолитную и микросервисную архитектуры хотелось бы простым примером, связанным с сайтом проекта. Сейчас он представляет собой монолит - имеется одно приложение, один пользовательский интерфейс, одна база данных. В этом приложений обрабатываются такие операции, как добавление постов, комментариев, лайков, регистрация и авторизация пользователей. Если я захочу перейти на микросервисную архитектуру, то нужно будет сделать приложение на Django для работы с постами, для управления пользовательскими аккаунтами, для сбора различного рода аналитики и пр. Управлять и разворачивать эти все сервисы проще будет с помощью того же Docker, которые позиционируется, как один из важных инструментов для создания и управления микросервисами.

Естественно, у каждой архитектуры есть свои преимущества и недостатки, но описывать их в рамках этой ознакомительной заметки, думаю, не стоит. Главная ее цель - объяснить ключевую разницу между этими подходами к разработке.
👍2
🇷🇺 Перекличка регионов нашей необъятной Родины 🇷🇺

Напишите в комментариях из какого вы региона, посмотрим каково распределение на более чем сотню подписчиков 💬
👍1
Доброе утро, любители Linux и ценители IT! 🌄💻

Сегодня - день для того, чтобы взглянуть на мир IT с новой стороны. 🌐🔍

Предлагаю задуматься: что бы вы изменили в мире Linux, если бы у вас была магическая клавиатура? 🪄🔑

Давайте делиться своими идеями и фантазиями в комментариях! Возможно, кто-то из нас сможет сделать это реальностью. 😉💡 #Linux #IT #МагияКода
👍1
🚀 Статусы выхода в BASH: понимание и практическое применение 🧐

Сегодня мы поговорим о статусах выхода в BASH - мощном инструменте для обработки ошибок и контроля выполнения команд и скриптов.

Что такое статус выхода?

Каждая программа в мире Linux возвращает целое число от 0 до 255 как результат своей работы. Это число называется статусом выхода, и оно говорит о том, завершилась ли программа успешно (когда статус 0) или произошла ошибка (все остальные значения).

Примеры статусов выхода:

- 0: Успешное завершение команды/программы.
- 126: Команда/программа найдена, но не является исполняемой (например, "Permission denied").
- 127: Программа не найдена ни в одном из путей $PATH или отсутствует в системе.

Как отследить статус выхода?

В bash есть специальная переменная "$?", которая хранит статус выхода последней выполненной команды. Например:

# date
# echo $?
0

Здесь статус выхода 0, что означает успешное завершение команды "date". Теперь давайте попробуем что-то несуществующее:

# non_existent_command
# echo $?
127

Как видите, код выхода 127 говорит о том, что команда не была найдена.

Применение статусов выхода:

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

#!/bin/bash

date
code=$?

if test $code -eq 0
then
echo "Успешно"
else
echo "Ошибка"
fi

Этот скрипт выводит "Успешно", если команда "date" завершилась успешно, и "Ошибка" в противном случае.

Пользовательские статусы выхода:

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

#!/bin/bash

date
exit 1
echo "Этот текст не будет выведен"

Здесь "exit 1" прерывает выполнение скрипта с кодом выхода 1.

Статусы выхода - мощный инструмент для управления логикой скриптов и обработки ошибок. Зная их, вы сможете увереннее работать с bash и создавать более надежные скрипты.

Надеюсь, этот пост поможет вам лучше понять статусы выхода в bash и использовать их в своей работе! 🔍💡 #Linux #Bash #СтатусыВыхода
👍3
🖥 Необходимость в единой среде для работы 🔨

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

🤷‍♂️ Все вроде бы одинаковое, но такое разное 🤷‍♂️

Вот есть у меня работа: на ней большая часть клиентских устройств это либо Debian, либо CentOS. Вот есть у меня пет-проекты, которые запускаться будут на серверах, где либо Debian, либо CentOS, либо Ubuntu. Вот есть сайт проекта, который размещен на сервере с Debian 11. Но при этом у меня на домашней машине установлен Archlinux (либо Manjaro), который, во-первых, мало где используется как дистрибутив для серверов, во-вторых, ВООБЩЕ нигде не используется в плане работы и хобби. И вот когда тесно-тесно так соприкасаешься с той же разработкой сайта на Django, работаешь с базами данных, сервером Redis и пр., то понимаешь то, насколько неудобно иметь различные дистрибутивы на домашнем и условно "рабочем" устройстве. Поэтому...

👨‍🦳Здравствуй, дедушка 👨‍🦳

Несмотря на свою невообразимую любовь к Archlinux и дистрибутивам на его основе (в частности Manjaro), решил что переберусь на Debian 12 Bookworm, чтобы быть в одном, так сказать, русле с тем, что меня окружает в плане работы и хобби. Ну, и в принципе, пишу этот пост как-раз таки с настроенной версии этого дистрибутива. Испытываю ли я на данный момент какие-то неудобства в плане взаимодействия с Debian? Совсем нет! Настроил дистр также быстро, как это делаю всегда, накатил нужный софт, подтянул нужные конфиги.

🤔 Может быть это не навсегда? 🧐

Опять-таки говорить о том, что со вчерашнего дня Debian является основным дистрибутивом нельзя. Может быть к концу недели я снесу его и вернусь на любимый Manjaro. Ну а может полюблю Linux-дедушку всем сердцем еще больше, чем Archlinux и останусь на нем до конца дней своих. Неизменным осталась только среда рабочего окружения - KDE Plasma, благо, что на 12-ой версии Debian она 5.27, то есть привычная и самая лучшая.

Получаемый опыт использования различных дистрибутивов наводит на мысли о том, что сам дистрибутив мало влияет на ощущения пользователя, большее значение играет именно окружение рабочего стола. Но эту мысль надо обдумать и развернуть как-нибудь в другом посте 🧑‍💻
👍5
Доброе утро, Линукс-гуру! 🌄

Пусть этот день будет столь надежным, как systemd, и настолько продуктивным, как скрипт с бесконечным циклом! Отправляем вам терминальный привет и дозу Linux-вдохновения! 💻🚀 #Linux #ДоброеУтро
3👍1
📢 Генерация видео при помощи нейронной сети 🤖

Пользователи приложения Шедеврум могут создавать короткие видеоролики с помощью нейросети. Чтобы сделать это нужно просто ввести текстовый запрос, и нейронка сгенерирует 4-секундное видео с частотой 24 кадра в секунду. 🎥

Эти видеоролики могут быть использованы для музыкальных клипов, анимаций, динамических аватарок в социальных сетях и других креативных проектов. Результаты можно поделиться с друзьями или сохранить в формате MP4. Эта функция доступна только активным пользователям Шедеврума в его обновленной версии. Ваш покорный слуга к таким пользователям не относится, поэтому доступ к генерации видео мне никто не предоставил. Стоит также отметить, что Яндекс является первой отечественной компанией, которая внедрила в нейронную сеть возможность генерации видео.

Также, не забудьте ознакомиться со статьей про три российские нейронные сети, в которой в том числе рассказано про Шедеврум.

Поднимаем бокал за инновации и технологии! 🚀 #Нейросети #ВидеоСоздание #Технологии
👍1
Media is too big
VIEW IN TELEGRAM
🎮 Хочу показать вам свою первую мобильную игру 🎮

До того, как стать пользователем Linux и перейти в системное администрирование и DevOps, я решил попробовать войти в IT со стороны разработки игр. Про десктопную версию своего проекта под названием Gedel Escape неоднократно упоминал в различных заметках на канале, а вот про то, что начинал с мобильной игры обычно не говорил.

Знакомьтесь, это Color Chips Remake. Первая (но по сути вторая) моя игра для мобильных устройств на Android. Решил выложить немного геймплея, а в последующих постах расскажу про то, как её делал и почему она имеет приставку Remake.
👍1
💻 МГУ запускает новейший суперкомпьютер для искусственного интеллекта! 🚀

МГУ им. Ломоносова внедряет передовые технологии в мире вычислений! Они только что представили суперкомпьютер "МГУ-270" с мощностью 400 петафлопс в задачах ИИ. Это устройство, оснащенное 100 современными графическими ускорителями, обещает перевернуть представление о вычислениях и анализе данных. 🌐💡

"МГУ-270" будет активно применяться для работы с нейросетями и исследованиями в области искусственного интеллекта. Он также займет свое место среди самых мощных суперкомпьютеров в мире, участвуя в единой сети суперкомпьютерных центров России. 🇷🇺🌐

Важно помнить, что МГУ уже имеет в своем арсенале суперкомпьютер "Ломоносов-2" с мощностью 5.5 петафлопс, который остается востребованным среди более чем 3000 пользователей. 📚👩‍🔬

Этот новаторский проект представлен на факультете вычислительной информатики и кибернетики МГУ, и он обещает улучшить возможности в области исследований и вычислений. 📈🌟

А еще у нас есть интересная статья о российских суперкомпьютерах, входящих в мировой топ-500. Чтобы узнать больше, прочитайте ее здесь

💻🌄 #Суперкомпьютеры #ИскусственныйИнтеллект #МГУ
👍2
Доброе утро, чемпионы Linux! 🌄 Сегодня - ваш день! Пусть он будет наполнен кодом, возможностями и бесконечным исследованием. 💻🚀

Следуйте за своими целями и вперед к новым победам! 🐧 #Linux #ДоброеУтро
👍2🔥2
🧠 База знаний по DevOps и системному администрированию 🖥

📚 Информации с каждым разом все и больше

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

🔧 Идеальный инструмент для создания базы знаний

Ранее на канале в Дзене я делился размышлениями (здесь и здесь) по поводу того, как и на основании чего такую базу можно построить, в конце концов набрел даже на решение под названием Obsidian, про которое тоже выпустил обзорный материал. Но перевести накопленные инструкции туда по разным причинам не получалось до момента, пока не увидел, что PLAFON (большей части подписчиков, наверняка, известный) использует для размещения инструкции по Fedora и ALT сервис Gitbook. Штука оказалась очень удачная и подошла мне по всем параметрам! К тому же, раз в разработке имеется сайт и домен к нему, то появилась отличная возможность сделать поддомен и связать его с аккаунтом в Gitbook. В итоге, хочу поделиться с вами ссылкой на базу знаний по DevOps и системному администрированию: devops.linuxzone.ru

📄 Польза не только для начинающих девопсеров и сисадминов

Там пока что материалов не много, но за ближайшее время переведу все, что накопилось туда, отсортирую по категориям и потом уже буду наполнять эту базу новыми инструкциями. Больше информации о том, как формируется база и каковы особенности ее использования вы прочитаете на первой страничке, которая появится сразу после перехода по ссылке. Да, это материалы исключительно по DevOps и системному админству, но они так или иначе, связаны с Linux, кроме того, судя по поисковым запросам, которые ведут на канал в Дзене, туда забредают в том числе и по девопским вопросам, значит кому-то эти материалы нужны и полезны.

🏁 Позже ссылка на базу знаний появится на сайте вместе со ссылкой на страницу, где будут находиться линки на все опубликованные в Дзене материалы (за них спасибо огромное подписчику по имени Александр, который спарсил названия статей и ссылки на них, отправив полученный файл мне)
👍4
🤨 Что-то стухло в царстве Датском

Для записи видео на канал установил Linux Mint 21.2, а на него OBS Studio (причем не Flatpak-пакет!). И что-то товарищ линуксоиды, после запуска интерфейс у софтинки поплыл и изменился далеко не в лучшую сторону...

Основные изменения в 21.2 были связаны как-раз таки с визуалом и видимо что-то разработчики сотворили такое, из-за чего из коробки программулины запускаются в вырвиглазном формате.

Недавно в комментариях один из подписчиков сообщал о схожей проблеме в LibreOffice, который из коробки выглядел чужеродно. Решилось все изменением темы (не помню только, глобально или только темы значков). Посему, хочу спросить у пользователей, которые накатили Linux Mint 21.2 о том, не встречали ли они артефактов при использовании софта?
🤔3
Утречко, Линукс-ниндзи! 🌄

Поднимаемся, смешиваем кофе и код, и вперед за удивительным днем в мире Linux! 🐧💻 Пусть день будет настолько ярким, что даже терминал позавидует! Удачи, друзья! 🚀 #Linux #ДоброеУтро
🔥2👏2
Причиной остановки всех 14 заводов Toyota в Японии стал недостаток места на диске базы данных, сообщил автоконцерн на своем сайте.

Сегодня в мире стало на одного японского седого сисадмина больше 👨🏼‍🦳
🔥2🤔1
Поговорим о демоне cupsd в Linux 🖨

cupsd, это незаменимая часть CUPS (Common Unix Printing System) - демон, ответственный за управление печатью. Его задачи включают управление принтерами, управление печатными заданиями и создание общего интерфейса для всех печатных задач. Важно отметить, что cupsd позволяет Linux-системам выступать в роли серверов для печати. Он управляет очередями печати, осуществляет планирование печатных заданий и устанавливает связь с принтерами, обеспечивая бесперебойную работу пользователей и приложений.

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

Напишите нам о своем опыте в попытках "подружить" принтеры с Linux. Ваши истории и советы могут быть настоящей помощью для других пользователей! 🐧📄 #Linux #Печать #Опыт
👍3
📄 Статьи из Дзена будут перенесены на сайт 📄

На данный момент на канале в Дзене опубликовано более полутысячи материалов по теме Linux, IT и Opensource. Когда только зашла речь о появлении сайта, то некоторые подписчики спрашивали о том, будут ли перенесены эти статьи на сайт. Тогда я не планировал подобных трансферов, так как считал, что алгоритмы Дзена негативно воспримут появление материалов с площадки где-либо еще и влепят каналу пожизенный бан, решив, что я ворую статьи. Это не какая-то пустая страшилка, так произошло с первым каналом по Linux, куда я выкладывал материалы, которые ранее публиковал на странице в ВК. Дзен навсегда заблокировал канал и не помогли даже попытки доказать, что страницей в ВК владеет тот же человек, который владеет каналом.

Позавчера я добавил на сайт страницу с перечнем всех опубликованных статей в Дзене: название материала и ссылка на него. Эту страницу вы можете посмотреть на linuxzone.ru, сервер запущен и работает в режиме 24/7. Повторюсь, что список материалов спарсил подписчик по имени Александр, за что еще раз говорю ему огромное спасибо. Мне оставалось только переспарсить присланную HTML-страницу еще раз и загнать названия статей и ссылки на них в базу данных. Работая над добавлением списка материалов с Дзена вновь подумал о том, а не разместить ли ранее опубикованные статьи на сайте, но перед этим поинтересоваться у технической поддержки Дзена не попадет ли канал в бан. За спрос ведь в морду не дадут, верно? Написал, отправил, стал ждать ответа. И вчера утром в ответном письме мне написали следующее:

Здравствуйте! Вы можете использовать ваши публикации как угодно :) Если публикации изначально загружены в Дзен, а потом на другие площадки, то проблем возникать не должно. Если с других ресурсов в Дзен, то нужно проставить перекрёстные ссылки. Это важно для подтверждения авторства.

Получается, что можно ничего не опасаясь брать материалы с Дзена и заливать их на сайт! Честно говоря, техподдержке 100%-тного доверия нет, так как в случае, если канал все же словит бан, то аппелировать к письму из нее не получится, но мне почему-то кажется, что все действительно будет нормально, так как некоторые материалы на Дзене хранятся практически год, поэтому алгоритмы смогут понять первоисточник текста.

🏁 Перенос займет не маленькое количество времени, но меня радует, что тексты уже написаны, нужно только заниматься копированием/вставкой. Естественно, что процесс добавления старых материалов будет идти параллельно появлению новых, чтобы сайт наполнялся и стал привлекательным для поисковиков. Страница с материалами на Дзен останется, так как с точки зрения поисковиков это дополнительная ссылочная масса, которая пойдет на пользу и каналу, и сайту 🏁
👍5
Привет, Линукс-энтузиасты! 🌄

Пятница наступила, и это отличная возможность закончить неделю в режиме "sudo shutdown -h now" и готовиться к выходным! 🚀💻

Пусть этот день будет бодрым и продуктивным, как оптимизированный код. Удачи и ярких идей вам, друзья! 🐧 #Linux #ДоброеУтро #Пятница
👍4
Как отсортировать файлы и папки по размеру через терминал Linux? 🧐

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

1. Использование du и sort:

du -h * | sort -rh

Этот способ позволяет вывести размеры файлов и папок, а затем отсортировать их в обратном порядке (сначала самые большие).

2. Использование ncdu (если у вас нет этой утилиты, установите ее с помощью sudo apt install ncdu):

ncdu

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

3. Использование find и du:

find . -type f -exec du -h {} + | sort -rh

Этот метод ищет файлы (-type f), затем применяет du к каждому файлу и, наконец, сортирует результаты по размеру.

Выберите тот, который вам больше нравится, и начните исследовать свою файловую систему в поисках крупных файлов и папок! 🚀🐧 #Linux #Терминал #Сортировка
👍3