Понятия GitHub Actions
▶️У GitHub есть отдельный сервис Actions для автоматизации любых процессов, связанных с деплоем кода на продакшн сервер. Чтобы лучше ориентироваться в сервисе, раскроем его главные понятия.
✔️Workflow — последовательность выполнения задач или поток выполнения действий. Обычно выполняет какую-то большую задачу.
✔️Jobs - логический уровень задачи внутри workflow.
✔️Steps - шаги, из которых состоят джобы. Они содержат основные инструкции для выполнения workflow.
✔️Actions - готовые модули или решения, написанные другими пользователями для выполнения типовых задач. Распространяются бесплатно в GitHub Marketplace.
Github Actions значительно сэкономит вам время и поможет справиться с растущей сложностью разработки и кода.
▶️У GitHub есть отдельный сервис Actions для автоматизации любых процессов, связанных с деплоем кода на продакшн сервер. Чтобы лучше ориентироваться в сервисе, раскроем его главные понятия.
✔️Workflow — последовательность выполнения задач или поток выполнения действий. Обычно выполняет какую-то большую задачу.
✔️Jobs - логический уровень задачи внутри workflow.
✔️Steps - шаги, из которых состоят джобы. Они содержат основные инструкции для выполнения workflow.
✔️Actions - готовые модули или решения, написанные другими пользователями для выполнения типовых задач. Распространяются бесплатно в GitHub Marketplace.
Github Actions значительно сэкономит вам время и поможет справиться с растущей сложностью разработки и кода.
🔥4⚡2👍2❤1
Надежный VPN в несколько команд
⚙️Многие платные VPN-приложения требовательны к ресурсам, а бесплатные не обеспечивают достойную пропускную способность канала.
🛡Если вы ищете бесплатный, легковесный и простой VPN-сервер, обратите внимание на WireGuard VPN. Для его работы нужен лишь виртуальный сервер в минимальной конфигурации с Linux.
Создать WireGuard VPN-сервер просто:
🔵Приобретается виртуальный сервер.
🔵Устанавливается WireGuard сервер и создаются конфигурационные файлы.
🔵Тестируется VPN-соединение с помощью бесплатного сервиса ifconfig.me
🌐К такому надежному и функциональному VPN можно подключать любое количество устройств, при этом единственная статья расходов — это аренда VPS. Так что пользуйтесь!
⚙️Многие платные VPN-приложения требовательны к ресурсам, а бесплатные не обеспечивают достойную пропускную способность канала.
🛡Если вы ищете бесплатный, легковесный и простой VPN-сервер, обратите внимание на WireGuard VPN. Для его работы нужен лишь виртуальный сервер в минимальной конфигурации с Linux.
Создать WireGuard VPN-сервер просто:
🔵Приобретается виртуальный сервер.
🔵Устанавливается WireGuard сервер и создаются конфигурационные файлы.
🔵Тестируется VPN-соединение с помощью бесплатного сервиса ifconfig.me
🌐К такому надежному и функциональному VPN можно подключать любое количество устройств, при этом единственная статья расходов — это аренда VPS. Так что пользуйтесь!
🔥3👍2❤1
Ищем и редактируем Hosts
📃Иногда может потребоваться изменить файл hosts. Например, из-за вирусов, вносящих изменения в hosts.
Месторасположение hosts зависит от ОС:
🔵Windows 7-11 — c:\windows\system32\drivers\etc\hosts;
🔵Linux, Unix, BSD — /etc/hosts;
🔵MacOS — /private/etc/hosts.
Как редактировать hosts?
🖼Windows 7,10,11
1. Запустите блокнот от имени администратора
2. Нажмите «Файл» - «Открыть» и вставьте путь: c:\windows\system32\drivers\etc\hosts
3. Внесите запись в конец файла и сохраните. Формат записи: IP-адрес ресурса, пробел, название ресурса. В начале записи не должно быть знака #.
🐧 Linux
1. Откройте hosts в любом текстовом редакторе от имени суперпользователя. Например, VIM: sudo vim /etc/hosts.
2. Внесите в файл новую запись и сохраните. Синтаксис записи везде одинаковый: IP-адрес ресурса, пробел, название ресурса.
🍏 MAC
1. Запустите терминал, введите команду sudo nano /etc/hosts и нажмите enter.
2. Добавьте в конце файла необходимую запись (IP-адрес сервера или домена + имя домена) и сохраните изменения.
📃Иногда может потребоваться изменить файл hosts. Например, из-за вирусов, вносящих изменения в hosts.
Месторасположение hosts зависит от ОС:
🔵Windows 7-11 — c:\windows\system32\drivers\etc\hosts;
🔵Linux, Unix, BSD — /etc/hosts;
🔵MacOS — /private/etc/hosts.
Как редактировать hosts?
🖼Windows 7,10,11
1. Запустите блокнот от имени администратора
2. Нажмите «Файл» - «Открыть» и вставьте путь: c:\windows\system32\drivers\etc\hosts
3. Внесите запись в конец файла и сохраните. Формат записи: IP-адрес ресурса, пробел, название ресурса. В начале записи не должно быть знака #.
🐧 Linux
1. Откройте hosts в любом текстовом редакторе от имени суперпользователя. Например, VIM: sudo vim /etc/hosts.
2. Внесите в файл новую запись и сохраните. Синтаксис записи везде одинаковый: IP-адрес ресурса, пробел, название ресурса.
🍏 MAC
1. Запустите терминал, введите команду sudo nano /etc/hosts и нажмите enter.
2. Добавьте в конце файла необходимую запись (IP-адрес сервера или домена + имя домена) и сохраните изменения.
⚡3👍3🔥2❤1
Forwarded from МWS Cloud
Как не ошибиться при выборе провайдера VPS?
В нашу облачную экосистему входит 1cloud — онлайн-сервис аренды виртуальной инфраструктуры для стартапов, малого и среднего бизнеса.
В новой статье коллеги из 1cloud рассказали, на какие параметры необходимо обратить внимание при выборе VPS и облачного провайдера.
➡️ Читать статью
В нашу облачную экосистему входит 1cloud — онлайн-сервис аренды виртуальной инфраструктуры для стартапов, малого и среднего бизнеса.
В новой статье коллеги из 1cloud рассказали, на какие параметры необходимо обратить внимание при выборе VPS и облачного провайдера.
➡️ Читать статью
⚡3🔥2👏2❤1👍1
О DNS простыми словами
DNS — технология, которая позволяет писать понятным языком названия сайтов в поисковую строку браузера, а браузеру находить нужный сайт и отображать его.
↔️DNS преобразует названия сайтов (доменные имена) в IP-адреса конкретных серверов. Если бы не было DNS, нам бы пришлось запоминать IP-адреса нужных ресурсов и вводить их вручную.
Откуда DNS берёт информацию? Сведения о доменах и их связи с IP-адресами находятся в распределенной базе данных, которая хранится на DNS-серверах, образующих иерархию. Для работы DNS использует TCP/IP стек, TCP- или UDP-порт 53.
🔎Когда вы вводите запрос в поисковую строку, браузер сначала проверит наличие DNS-записи на вашем локальном компьютере в файле hosts. Если там нет нужного адреса, запрос направляется на локальный DNS-сервер интернет-провайдера. Если и там записи нет, запрос уходит на серверы географических зон.
🌐Как только нужная DNS-запись найдена, браузер получает IP-адрес, на который посылает запрос. В ответ же приходит web-страница.
DNS — технология, которая позволяет писать понятным языком названия сайтов в поисковую строку браузера, а браузеру находить нужный сайт и отображать его.
↔️DNS преобразует названия сайтов (доменные имена) в IP-адреса конкретных серверов. Если бы не было DNS, нам бы пришлось запоминать IP-адреса нужных ресурсов и вводить их вручную.
Откуда DNS берёт информацию? Сведения о доменах и их связи с IP-адресами находятся в распределенной базе данных, которая хранится на DNS-серверах, образующих иерархию. Для работы DNS использует TCP/IP стек, TCP- или UDP-порт 53.
🔎Когда вы вводите запрос в поисковую строку, браузер сначала проверит наличие DNS-записи на вашем локальном компьютере в файле hosts. Если там нет нужного адреса, запрос направляется на локальный DNS-сервер интернет-провайдера. Если и там записи нет, запрос уходит на серверы географических зон.
🌐Как только нужная DNS-запись найдена, браузер получает IP-адрес, на который посылает запрос. В ответ же приходит web-страница.
👍3🔥3💯3❤1
Коротко про Ansible
☁️Ansible — мощный и расширяемый Open Source инструмент, который позволяет управлять конфигурациями удаленных серверов и сохранять их состояние. Ansible использует безагентную push-модель - для работы на хостах ему нужен только Python на Linux и открытый SSH-порт.
Принцип работы Ansible. DevOps-инженер или администратор указывает задачи для Ansible в специальном файле сценариев — playbook, а сведения о хостах, на которых эти задачи должны быть исполнены, указываются в инвентаризационном файле hosts. Задачи в плейбуке записываются исходя из логики установки и внесения изменений в систему.
⚙ Главные свойства Ansible: идемпотентность, расширяемость и следование философии единого источника.
☁️Ansible — мощный и расширяемый Open Source инструмент, который позволяет управлять конфигурациями удаленных серверов и сохранять их состояние. Ansible использует безагентную push-модель - для работы на хостах ему нужен только Python на Linux и открытый SSH-порт.
Принцип работы Ansible. DevOps-инженер или администратор указывает задачи для Ansible в специальном файле сценариев — playbook, а сведения о хостах, на которых эти задачи должны быть исполнены, указываются в инвентаризационном файле hosts. Задачи в плейбуке записываются исходя из логики установки и внесения изменений в систему.
⚙ Главные свойства Ansible: идемпотентность, расширяемость и следование философии единого источника.
👍3🔥2⚡1❤1👏1🤯1
Несколько инструментов GitOps
⚙️Обычно GitOps применяют в разработке облачных приложений на базе оркестраторов вроде Kubernetes. Поэтому GitOps-инструменты содержат методы, объединяющие развертывание, мониторинг, управление кластерами и приложениями.
🔄С их помощью можно автоматически обновлять контейнеры — в соответствии с последней версией главной ветки.
Рассмотрим три популярных GitOps-инструмента.
ArgoCD. Мощный декларативный GitOps-инструмент для непрерывной доставки и развертывания приложений K8s. Оператор ArgoCD может работать сразу с несколькими кластерами, а интерфейс у инструмента максимально понятный.
Flux. Также предназначен для CD приложений Kubernetes, но может управлять только одним кластером и репозиторием. В остальном — функционал идентичен.
Helm operator. Оператор Kubernetes с открытым исходным кодом для декларативного управления диаграммами Хелма. Его можно использовать в качестве расширения для Flux, чтобы автоматизировать релизы Helm-чартов.
⚙️Обычно GitOps применяют в разработке облачных приложений на базе оркестраторов вроде Kubernetes. Поэтому GitOps-инструменты содержат методы, объединяющие развертывание, мониторинг, управление кластерами и приложениями.
🔄С их помощью можно автоматически обновлять контейнеры — в соответствии с последней версией главной ветки.
Рассмотрим три популярных GitOps-инструмента.
ArgoCD. Мощный декларативный GitOps-инструмент для непрерывной доставки и развертывания приложений K8s. Оператор ArgoCD может работать сразу с несколькими кластерами, а интерфейс у инструмента максимально понятный.
Flux. Также предназначен для CD приложений Kubernetes, но может управлять только одним кластером и репозиторием. В остальном — функционал идентичен.
Helm operator. Оператор Kubernetes с открытым исходным кодом для декларативного управления диаграммами Хелма. Его можно использовать в качестве расширения для Flux, чтобы автоматизировать релизы Helm-чартов.
🔥3❤2⚡2👍1👏1
Типы тестирования
В тестировании обычно выделяют два основных типа: функциональное и нефункциональное. Разберем, в чем цель каждого.
⚙При функциональном тестировании тестировщики проверяют, что делает программа. Тестируются основные функции приложения, ради которых оно и создавалось.
📱Во время нефункционального тестирования проверяется то, как работает программа. Например, производительность, масштабируемость, нагрузка, UX и т.д.
В свою очередь, функциональные и нефункциональные тестирования подразделяются на разные подтипы, о которых мы поговорим в другой раз😉
В тестировании обычно выделяют два основных типа: функциональное и нефункциональное. Разберем, в чем цель каждого.
⚙При функциональном тестировании тестировщики проверяют, что делает программа. Тестируются основные функции приложения, ради которых оно и создавалось.
📱Во время нефункционального тестирования проверяется то, как работает программа. Например, производительность, масштабируемость, нагрузка, UX и т.д.
В свою очередь, функциональные и нефункциональные тестирования подразделяются на разные подтипы, о которых мы поговорим в другой раз😉
🔥4👍3👏2❤1
Мониторинг с Prometheus
Система мониторинга и оповещений Prometheus хранит и обрабатывает метрики, собираемые из экспортеров в Time Series Database (TSDB).
📊Для работы с метриками в Prometheus используется язык запросов PromQL. Он позволяет составлять сложные запросы и использовать математические операторы. Результат выводится в табличной или графической форме.
🗄Через конфигурационный файл Prometheus можно настроить длительность хранения данных и задать объём дискового пространства для их хранения.
🔔Также Prometheus может оповещать о различных событиях, которые настраиваются администратором в специальном конфигурационном файле alerts. Для удобной работы системы оповещения есть специальное расширение — AlertManager.
Система мониторинга и оповещений Prometheus хранит и обрабатывает метрики, собираемые из экспортеров в Time Series Database (TSDB).
📊Для работы с метриками в Prometheus используется язык запросов PromQL. Он позволяет составлять сложные запросы и использовать математические операторы. Результат выводится в табличной или графической форме.
🗄Через конфигурационный файл Prometheus можно настроить длительность хранения данных и задать объём дискового пространства для их хранения.
🔔Также Prometheus может оповещать о различных событиях, которые настраиваются администратором в специальном конфигурационном файле alerts. Для удобной работы системы оповещения есть специальное расширение — AlertManager.
⚡4👍2🔥2❤1🤔1
☁️Резервное копирование — стратегически важный аспект для компании. Но найти подходящий способ сложно, ведь на рынке существуют десятки самых разных опций.
💾В карточках рассматриваем основные способы резервного копирования.
💾В карточках рассматриваем основные способы резервного копирования.
🔥5👍2❤1⚡1💯1
Архитектура DWH
В проектах с большими данными серьезное значение имеет концепция архитектуры хранилища. Самые распространенные подходы к DWH следующие:
📌Архитектура Ральфа Кимбалла. Хранилище — набор витрин данных и ничего больше.
📌Архитектура Билла Инмона. Подразумевает наличие не только витрин, но и корпоративного слоя данных.
📌Архитектура Дэна Линстедта. Модель, в которой с помощью архитектурных решений и выделения таблиц разных типов стоимость вносимых изменений сильно снижена. Она динамичнее предыдущих, удобнее в работе и не требует постоянной доработки.
📌Архитектура EAV. Модель, которая обеспечивает большую гибкость при создании новых данных за счет использования сущностей, атрибутов и их значений.
Выбрать подходящую вашим задачам архитектуру непросто, но зато правильно спроектированное DWH поможет дальше эффективно работать с данными.
В проектах с большими данными серьезное значение имеет концепция архитектуры хранилища. Самые распространенные подходы к DWH следующие:
📌Архитектура Ральфа Кимбалла. Хранилище — набор витрин данных и ничего больше.
📌Архитектура Билла Инмона. Подразумевает наличие не только витрин, но и корпоративного слоя данных.
📌Архитектура Дэна Линстедта. Модель, в которой с помощью архитектурных решений и выделения таблиц разных типов стоимость вносимых изменений сильно снижена. Она динамичнее предыдущих, удобнее в работе и не требует постоянной доработки.
📌Архитектура EAV. Модель, которая обеспечивает большую гибкость при создании новых данных за счет использования сущностей, атрибутов и их значений.
Выбрать подходящую вашим задачам архитектуру непросто, но зато правильно спроектированное DWH поможет дальше эффективно работать с данными.
⚡5❤2🔥2💯2👏1🤩1
Автоматизируем тяжеловесные процессы merge
✈️ Автоматизация - дело хорошее. Особенно в контексте частоповторяющихся обыденных рабочих задач. Упростить тяжелые рабочие процессы разработчикам помогает Aviator - набор инструментов, который позволяет управлять запросами Pull в Git.
⚙️Aviator состоит из четырех компонентов.
MergeQueue. Автоматизированная очередь, которая управляет рабочим процессом Merging для репозитория GitHub, защищая важные ветви от неисправных сборок.
ChangeSets. Рабочие процессы для синхронизации валидации и объединения нескольких PR в одном репозитории или в нескольких.
FlakyBot. Инструмент для автоматического определения и обработки результатов нестабильных тестов в инфраструктуре CI.
Stacked PRs CLI. Инструмент командной строки для работы с cross-PR зависимостями.
🔐Что важно, со всеми задачами Aviator помогает справиться с соблюдением требований безопасности.
✈️ Автоматизация - дело хорошее. Особенно в контексте частоповторяющихся обыденных рабочих задач. Упростить тяжелые рабочие процессы разработчикам помогает Aviator - набор инструментов, который позволяет управлять запросами Pull в Git.
⚙️Aviator состоит из четырех компонентов.
MergeQueue. Автоматизированная очередь, которая управляет рабочим процессом Merging для репозитория GitHub, защищая важные ветви от неисправных сборок.
ChangeSets. Рабочие процессы для синхронизации валидации и объединения нескольких PR в одном репозитории или в нескольких.
FlakyBot. Инструмент для автоматического определения и обработки результатов нестабильных тестов в инфраструктуре CI.
Stacked PRs CLI. Инструмент командной строки для работы с cross-PR зависимостями.
🔐Что важно, со всеми задачами Aviator помогает справиться с соблюдением требований безопасности.
👍3🔥3⚡2❤1👏1
Сегодня День системного администратора!
💾Первый раз этот праздник был устроен в 1999 году американским сисадмином Тедом Кекатосом. Это был просто пикник на природе, в котором приняли участие члены небольшой софтверной компании.
Поздравляем всех повелителей серверных и укротителей софта с профессиональным праздником!
👨💻Желаем, чтобы у вас в жизни ничего не лагало, не вылетало и не глючило, а благодарные пользователи говорили вам «спасибо» не только в последнюю пятницу июля.
Да прибудет с вами сила Ctrl + Alt + Del!
💾Первый раз этот праздник был устроен в 1999 году американским сисадмином Тедом Кекатосом. Это был просто пикник на природе, в котором приняли участие члены небольшой софтверной компании.
Поздравляем всех повелителей серверных и укротителей софта с профессиональным праздником!
👨💻Желаем, чтобы у вас в жизни ничего не лагало, не вылетало и не глючило, а благодарные пользователи говорили вам «спасибо» не только в последнюю пятницу июля.
Да прибудет с вами сила Ctrl + Alt + Del!
🎉6⚡3👏2❤1👍1
Infrastructure as Code
⚙️Инфраструктура как код (IaC) — подход к созданию и настройке инфраструктуры через конфигурационные файлы. Процесс можно сравнить с разработкой ПО - продумывается архитектура, прописываются процессы, устанавливается взаимодействие инфраструктурных элементов. Все это описывается в специальных форматах: yaml, json, xml и т.д.
📑Философия IaC основывается на принципах «единого источника правды» - исполнение одного и тот же кода формирует одну и ту же исполняемую среду.
🗂️Ключевая особенность IaC — с инфраструктурой взаимодействует система через конфигурационные файлы, а не администраторы или девопсы в ручном режиме.
👨💻Сейчас IaC — одна из доминирующих концепций в DevOps. Она так популярна благодаря повышению скорости разработки, тестирования и возможности внедрения непрерывного развертывания (CI/CD). Сама концепция проста и прозрачна, а многие инструменты работы с ней имеют невысокий порог вхождения. Например — Ansible.
⚙️Инфраструктура как код (IaC) — подход к созданию и настройке инфраструктуры через конфигурационные файлы. Процесс можно сравнить с разработкой ПО - продумывается архитектура, прописываются процессы, устанавливается взаимодействие инфраструктурных элементов. Все это описывается в специальных форматах: yaml, json, xml и т.д.
📑Философия IaC основывается на принципах «единого источника правды» - исполнение одного и тот же кода формирует одну и ту же исполняемую среду.
🗂️Ключевая особенность IaC — с инфраструктурой взаимодействует система через конфигурационные файлы, а не администраторы или девопсы в ручном режиме.
👨💻Сейчас IaC — одна из доминирующих концепций в DevOps. Она так популярна благодаря повышению скорости разработки, тестирования и возможности внедрения непрерывного развертывания (CI/CD). Сама концепция проста и прозрачна, а многие инструменты работы с ней имеют невысокий порог вхождения. Например — Ansible.
👍4⚡2🔥2👏1
Запустили новый кластер на базе DataSpace-3
Продолжаем расширять список возможностей для наших клиентов. Теперь при заказе виртуального сервера можно выбрать новый ЦОД DataSpace-3.
Это позволит получить все преимущества Enterprise-виртуализации по лучшим ценам:
📌vCPU Intel Xeon Gold 6154 (3GHz) - 180р. / vCPU
📌RAM ECC DDR4 - 240р. / GB
📌SAS - 5р. / GB
📌SSD - 12р. / GB
Характеристики самой доступной конфигурации:
⚙️vCPU: Intel Xeon Gold 6154 (3GHz) - 1
⚙️RAM: ECC DDR4 - 512 МБ
⚙️SAS: 10 ГБ
Цена: 450 р./мес.
Преимущества DataSpace-3:
⚡️Установленная мощность 9,5 МВт, 5 периметров безопасности, 12 серверных залов с энергообеспечением 360 кВт
⚡️Надежный ЦОД с расположением в Москве
⚡️Сертификация Tier III
⚡️Пинг до Московской биржи 2 мс - лучший вариант для трейдинга
Ограничения DataSpace-3:
⛔️Max vCPU - 8
⛔️Max RAM - 16 ГБ
Заказывайте виртуальный сервер на базе ЦОД DataSpace-3 и масштабируйте вычислительные мощности под ваши задачи.
Заказать сервер: https://clck.ru/35BxtW
Продолжаем расширять список возможностей для наших клиентов. Теперь при заказе виртуального сервера можно выбрать новый ЦОД DataSpace-3.
Это позволит получить все преимущества Enterprise-виртуализации по лучшим ценам:
📌vCPU Intel Xeon Gold 6154 (3GHz) - 180р. / vCPU
📌RAM ECC DDR4 - 240р. / GB
📌SAS - 5р. / GB
📌SSD - 12р. / GB
Характеристики самой доступной конфигурации:
⚙️vCPU: Intel Xeon Gold 6154 (3GHz) - 1
⚙️RAM: ECC DDR4 - 512 МБ
⚙️SAS: 10 ГБ
Цена: 450 р./мес.
Преимущества DataSpace-3:
⚡️Установленная мощность 9,5 МВт, 5 периметров безопасности, 12 серверных залов с энергообеспечением 360 кВт
⚡️Надежный ЦОД с расположением в Москве
⚡️Сертификация Tier III
⚡️Пинг до Московской биржи 2 мс - лучший вариант для трейдинга
Ограничения DataSpace-3:
⛔️Max vCPU - 8
⛔️Max RAM - 16 ГБ
Заказывайте виртуальный сервер на базе ЦОД DataSpace-3 и масштабируйте вычислительные мощности под ваши задачи.
Заказать сервер: https://clck.ru/35BxtW
👍6🔥6❤2⚡2👏2👎1🤬1