UMGUM.COM (лучше) 

Стартовая  →   ( Развёртывание и поддержание сетевой инфраструктуры, конфигурирование коммуникационного оборудования и приложений, инсталляция и сервисное сопровождение серверов, а также консультирование по существу в области сетевого и серверного администрирования. )


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

Предлагаю услуги удалённого администрирования сетей передачи данных и серверов.

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

Чиню то, с чем уже смирились и сочли особенностью реализации.

В динамичном производстве нередко оказываешься перед вышедшим из строя программным или аппаратным обеспечением, которое недокументированно и никем уже не поддерживается. Если в попытках решения вашей беды затупили копья несколько специалистов, вынесших в итоге вердикт "миссия невыполнима", то это повод обратиться ко мне. Я буду разбираться в сути дела до упора и починю неисправность, не затронув при этом существующей схемы взаимодействий, или предложу реалистичный план работ по устранению причин проблемы, если они глобальны.

Делаю так, чтобы всё работало по возможности хорошо и незаметно.

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

Примеры успешно реализованных проектов.

Оформить заявку на проведение работ!

   [ просмотреть в полном объеме ]




Продам, поменяю или отдам  →   ( Лёгкая и надёжная одноместная палатка из разряда экстремальных. )

12 сентября 2021

С некоторым сожалением продаю отличную палатку для экстремального туризма "Bask Clif" (ориентировочно 2008-го года выпуска). Путешествовал с этой палаткой пять лет подряд, ночуя в одиночку, но теперь формат сменился и для семейных вылазок используется более ёмкая - соответственно, от лишнего снаряжения приходится избавляться.

Навскидку приведу некоторые параметры, которые важны лично мне:

Вес (в полной комплектации): 2.6 кг.
Внешние размеры (ДхШхВ): 220х190х110 cм.
Внутренние размеры (ДхШхВ): 210х120х105 cм.
Количество входов: 1
Количество мест: 2 (в реальности комфортно одному)
Вентиляционные окна: 2
Количество штормовых оттяжек: 4
Проклейка швов: Да
Противо-москитная сетка: Да
Внутренние карманы и петельки для мелочей: Да
Подвесная полка: Да

размер: 320 400 640 800 1024 1280
Палатка "Bask Clif" в естественной среде обитания - в горном ущелье (2013).
1280x960 • Палатка "Bask Clif" в естественной среде обитания - в горном ущелье (2013).

   [ уже посетило: 158 ]   [ изображения: 3 ]   [ просмотреть в полном объеме ]


Bacula  →   ( Резервное копирование БД "(Yandex) Clickhouse" посредством "Bacula". )

28 апреля 2021

OS: "Linux Debian 8/9/10", "Linux Ubuntu 18/20 LTS".
Application: "Bacula 5.2/7.4/9.0", "clickhouse-client".

Задача: наладить выгрузку резервной копии "баз данных" колоночной (column-oriented) СУБД "(Yandex) Clickhouse" посредством "Bacula".

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

Для резервного копирования БД "Clickhouse" большого объёма, от сотен гигабайт до петабайт, лучше воспользоваться специализированными инструментами "clickhouse-copier" или "clickhouse-backup". В случае скромных размеров до сотни гигабайт вполне достаточно выгрузки конфигурации и данных в текстовых форматах SQL и TSV.

   [ уже посетило: 689 ]   [ просмотреть в полном объеме ]


Web  →   ( Разворачиваем минимально функциональный сервер репозиториев docker-образов из эталонной реализации "Docker Registry", с простой HTTP-аутентификацией и web-интерфейсом "Docker Registry UI" для просмотра мета-данных и удаления ненужного )

1 марта 2021

OS: "Linux Debian 9/10", "Linux Ubuntu Server 16/18/20 LTS".
Apps: "Nginx", "Let`s Encrypt", "Docker Registry", "Docker Registry UI", "Docker", "Docker Compose".

Задача: развернуть минимально функциональный сервер репозиториев docker-образов из эталонной реализации "Docker Registry", с простой HTTP-аутентификацией и web-интерфейсом "Docker Registry UI" для просмотра мета-данных и удаления ненужного.


Всё просто - последовательно делаем следующее:

1. Подготовка системного окружения (отдельная инструкция);
2. Установка системы контейнеризации "Docker" (отдельная инструкция);
3. Установка сопутствующего ПО и подготовка конфигурации;
4. Подготовка среды и запрос "Let`s Encrypt" SSL-сертификатов;
5. Подготовка конфигурации для фронтального web-сервера "Nginx";
6. Наладка запуска посредством "Docker Compose";
7. Настройка автозапуска "Docker Compose" посредством "Systemd";
8. Проверка функциональности docker-репозитория;
9. Удаление контейнеров из регистра посредством "docker API";
10. Автоматизация очистки от ненужных данных в "Docker Registry".

   [ уже посетило: 899 ]   [ просмотреть в полном объеме ]


Web  →   ( Развёртываем сервер репозиториев артефактов "Nexus Repository Manager" для хранения docker-образов и nuget-библиотек. )

25 февраля 2021

OS: "Linux Debian 9/10", "Linux Ubuntu Server 16/18/20 LTS".
Apps: "Nginx", "Nexus RM", "Docker", "Docker Compose", LDAP.

Задача: развернуть сервер репозиториев артефактов "Sonatype Nexus Repository Manager v3 (OSS)", настроив его для хранения docker-образов и nuget-библиотек.


Последовательность дальнейших действий такова:

1. Подготовка системного окружения (отдельная инструкция);
2. Установка системы контейнеризации "Docker" (отдельная инструкция);
3. Установка сопутствующего ПО и подготовка конфигурации;
4. Подготовка конфигурации для фронтального web-сервера "Nginx";
5. Наладка запуска посредством "Docker Compose" и "Systemd";
6. Конфигурирование web-приложения "Nexus Repository Manager v3 (OSS)";
7. Проверка функциональности docker-репозитория;
8. Интеграция с внешним LDAP/AD для аутентификации.

   [ уже посетило: 891 ]   [ просмотреть в полном объеме ]


Jenkins  →   ( Подключение агентов исполнения "Jenkins Slaves" в операционных системах "MS Windows" в среде "Java 11+", через SSH-подключение. )

18 февраля 2021

OS: "Linux Debian/Ubuntu", "MS Windows 7/8/10/2008/2012/2016/2019".
Apps: "Cygwin", "OpenSSH", "Cmd/PowerShell", "Java 11", "Jenkins".

Задача: подключение агентов исполнения "Jenkins Slaves" в операционных системах "MS Windows" в среде "Java 11+", через SSH-соединение.

Немного о том, отчего возникла надобность в написании этой инструкции. Ранее, когда "Jenkins" запускался в среде "Java 8", на операционных системах "Microsoft Windows" посредством технологии "WebStart (JNLP)" можно было быстро и непринуждённо запускать агенты исполнения "Jenkins Slaves" прямо из браузера, в пару щелчков мыши. Но из "Java 11" поддержка устаревшей "WebStart" была вырезана и теперь запуск агентов на windows-системах приходится осуществлять также, как и для linux-систем - через сеансы SSH-подключений. Это влечёт за собой необходимость устанавливать на windows-системах службы "OpenSSH", помимо "Java", в любом случае необходимой.

Последовательность дальнейших действий такова:

1. Установка "OpenSSH Server" и "Syslog-NG";
2. Настройка подсистемы журналирования "(cygwin) Syslog-NG";
3. Настройка сервера "(cygwin) OpenSSH Server";
4. Об интеграции и пользователях "(cygwin) OpenSSH Server";
5. Наладка аутентификации пользователей "(cygwin) OpenSSH Server" по ssh-ключу;
6. Установка среды исполнения "Java/OpenJDK" в ОС "MS Windows";
7. Подключение "Jenkins Slave" через "(cygwin) OpenSSH Server" на ОС "MS Windows";
8. Проверка работоспособности "Jenkins Slave" через простейшую задачу типа "Pipeline".

   [ уже посетило: 584 ]   [ просмотреть в полном объеме ]


Jenkins  →   ( Развёртывание несколько инстансов "Jenkins" в среде контейнеризации "Docker" с целью изоляции процедур CI/CD раздельно работающих команд разработки. )

4 февраля 2021

OS: "Linux Debian 9/10", "Linux Ubuntu Server 16/18/20 LTS".
Apps: "Jenkins", "Java 8/11", "Nginx", "Let`s Encrypt", "Docker", "Docker Compose".

Задача: развернуть несколько инстансов "Jenkins" в среде контейнеризации "Docker" с целью изоляции процедур CI/CD раздельно работающих команд разработки.

Прежде всего надо бы рассказать, отчего такая задача - изоляция команд разработки путём запуска для них отдельных CI/CD-серверов - возникла. Дело в том, что у "Jenkins", который вырос из маленького подручного инструмента, вообще нет механизмов ограничения доступа к его же внутренностям - практически любой полноценный пользователь web-интерфейса может получить доступ к другим проектам на этом сервере, даже несмотря на то, явно ему туда ходить не разрешено или даже запрещено плагинами. Об этом я ранее уже рассказывал в предыдущей инструкции по запуску одного экземпляра "Jenkins". Ввиду невозможности изолировать проектные группы в рамках одного инстанса "Jenkins" приходится запускать по экземпляру "Jenkins" для каждой проектной группы по отдельности. Это несложно, как станет понятно далее.

Перед тем, как перейти к дальнейшим инсталляционным работам важно учесть следующий нюанс. Работа "Jenkins" поддерживается только в среде исполнения "Java 8" и "Java 11 (LTS)" (причём не основной ветви "Sun/Oracle Java", а не бесплатном "OpenJDK JVM"). "Jenkins" запустится и будет работать внешне одинаково, с точки зрения конечного пользователя, на любой из этих двух версий "Java". Но из "Java 11" вырезана поддержка устаревшей технологии "WebStart (JNLP)" посредством которой быстро и непринуждённо подключаются к серверу "Jenkins" агенты исполнения "Slaves" в среде операционных систем "Microsoft Windows" - прямо из браузера, в пару щелчков мыши. Если "Jenkins" запустить в среде "Java 11", то подключение агентов на windows-системах придётся осуществлять так же, как и для linux-систем - через сеансы SSH-подключений. Это влечёт за собой необходимость устанавливать на windows-системах службы "OpenSSH". Таким образом, мы стоим перед выбором: работать на старье, но проще подключать агентов исполнения, или идти в ногу с прогрессом, усложняя себе задачу предварительной подготовки к CI/CD-процедурам на операционных системах "Microsoft Windows". Здесь рассматривается инсталляция "Jenkins" в среде "Java 11".

Добавлю ещё немного рассуждений об инсталяции. "Jenkins" представляет собой монолитное приложение, запускаемое как java-сервлет в любом современном сервере приложений, вроде "Jetty", "Apache Tomcat", "GlassFish" или "WildFly". Ещё три года назад я бы собрал из распространяемого командой разработчиков "Jenkins" WAR-файла и "Tomcat" свой docker-образ. Однако сейчас вся эа работу уже проделана людьми гораздо опытнее меня и на "Docker Hub" нас ждёт всегда актуальные сборки "Jenkins in Docker", за качество сборки которых волноваться не приходится, судя по простоте и аккуратности "Dockerfile". Процесс развёртывания и конфигурирования разработчиками "Jenkins" хорошо расписан (здесь и здесь, с вариациями), так что просто сделаем это.

Последовательность дальнейших действий такова:

1. Подготовка системного окружения (отдельная инструкция);
2. Установка системы контейнеризации "Docker" (отдельная инструкция);
3. Подготовка несущей файловой структуры для приложений "Jenkins";
4. Модификация официального docker-образа "Jenkins";
5. Подготовка среды и запрос "Let`s Encrypt" SSL-сертификатов;
6. Подготовка конфигурации для фронтального web-сервера "Nginx";
7. Наладка запуска посредством "Docker Compose" и "Systemd";
8. Конфигурирование инстансов web-приложения "Jenkins".

   [ уже посетило: 810 ]   [ просмотреть в полном объеме ]


Jenkins  →   ( Рассуждения о причинах выбора "Jenkins" в качестве CI/CD-сервиса в корпоративной среде. )

14 января 2021

Некоторое время у меня не было определённости, каким инструментарием управлять процессами CI/CD сборок сразу для "Linux", "MacOS", "Microsoft Windows", а также, потенциально, для мобильных платформ. Была мысль воспользоваться для управления сборками сервером "GitLab", но позже стало понятно, что эта идея хороша лишь для небольшой команды с одним-двумя продуктами.

Прежде всего, в случае использования "GitLab", для управления удалёнными стендами сборки (CI) и серверами развёртывания (CD) понадобится постоянное прямое соединение с центром управления, что делает схему небезопасной в том смысле, что к хранилищу исходного кода придётся организовать доступ отовсюду - надо оно на самом деле, или нет. Таким образом, в корпоративной среде сервис CI/CD должен быть реализован в виде отдельного сервера, чтобы минимизировать прямые бесконтрольные соединения с хранилищем репозиториев кода.

В процессе тестирования разных вариантов использования выявлено, что "GitLab" откровенно заточен под программные продукты на "Linux" и "MacOS", настолько, что для агента исполнения "GitLab Runner" в "Microsoft Windows" даже отображение символов национальных кодировок (русской, например) журнала событий простыми методами невозможно настроить - для "Linux" и "MacOS" без проблем, а вот транскодированием комбинаций "cp866", "cp1251" и "utf8" разработчики "GitLab" фактически попросту отказались заниматься.

   [ уже посетило: 523 ]   [ просмотреть в полном объеме ]


Web  →   ( Развёртывание в среде исполнения "Docker" web-приложения "Passwork", предназначенного для хранения и управления паролями в корпоративной среде. )

25 сентября 2020

OS: "Linux Debian 9/10", "Linux Ubuntu Server 18/20 LTS".
Apps: "Passwork v4.0.10/4.1.7", "Nginx", PHP, "Phalcon 3.4", "MongoDB", "mSMTP", "Docker", "Docker Compose", LDAP, "IPtables".

Задача: развернуть в среде исполнения "Docker" написанное на "PHP + Phalcon" web-приложение "Passwork", предназначенное для хранения и управления паролями в корпоративной среде (данных много и они должны быть структурированы).

Почему "Passwork"? В 2020-м году мною было проведено исследование интернет-рынка, показавшее, что это оптимальный для наших относительно скромных задач выбор. Понравилась внешняя простота интерфейса пользователя и отсутствие избыточного функционала, нарастающего со временем в других менеджерах паролей. Также на чашу весов повлияло место происхождения - разработчики в российском городе Архангельск. Позже я сильно разочаровался в "Passwork" (вернее в его команде разработки и поддержки), о чём отдельно будет рассказано - в результате чего не рекомендую "Passwork" к использованию.

Последовательность дальнейших действий такова:

1. Подготовка системного окружения (отдельная инструкция);
2. Установка системы контейнеризации "Docker" (отдельная инструкция);
3. Установка сопутствующего ПО и подготовка конфигурации;
4. Загрузка и развёртывание из репозитория приложения "Passwork";
5. Подготовка специализированного docker-образа PHP-интерпретатора для "Passwork";
6. Подготовка конфигурации СУБД "MongoDB";
7. Подготовка конфигурации почтовой подсистемы;
8. Установка и настройка фронтального web-сервера "Nginx";
9. Наладка запуска посредством "Docker Compose" и "Systemd";
10. Подготовка СУБД "MongoDB" и создание БД для "Passwork";
11. Первоначальная настройка web-приложения "Passwork";
12. Ограничение межсетевых взаимодействий посредством "IPtables".

   [ уже посетило: 815 ]   [ просмотреть в полном объеме ]


Passwork  →   ( Перечень "парольных менеджеров", кандидатов на использование в корпоративной среде. )

25 сентября 2020

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

Воспользовавшись опубликованным в "Wikipedia" списком популярного программного обеспечения в классе "password manager" и просто поискав свежее в интернете, возымел мнение о ниже следующем.

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

   [ уже посетило: 1008 ]   [ просмотреть в полном объеме ]   [ есть комментарии: 2 ]


← Ctrl → Старее →
71  70  69  68  67  66  65  64  63  62  ...  Первая →