Skip to content

Latest commit

 

History

75 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

Table of Contents

  1. Контейнеризация
  • Docker
  • Podman (от Pod Manager)
  • Containerd
  • Minikube
  • Buildah
  1. Оркестрация
  • Kubernetes (K8s)
  • Docker Swarm
  • HashiCorp Nomad
  1. Мониторинг
  • Prometheus
  • VictoriaMetrics
  • Grafana
  • Zabbix
  1. Логирование
  • Elasticsearch, Logstash, Kibana (ELK)
  • Elasticsearch, Fluentd, Kibana (EFK)
  • Grafana Loki
  • Fluentd
  • Graylog
  1. Система управления конфигурациями
  • Progress Chef
  • Puppet
  • Ansible
  • Ansible Molecule
  • HashiCorp Vagrant
  • Terraform
  • CDK8s
  • Crossplane
  • Pulumi
  1. Базы данных
  • ClickHouse
  • PostgreSQL
  • MongoDB
  1. Брокер сообщений
  • RabbitMQ
  • Apache Kafka
  1. Облачные вычисления
  • Amazon Web Services (AWS)
  • Microsoft Azure
  • Google Cloud Platform (GCP)
  1. Система управления версиями
  • Git
  • Bitbucket
  1. Резервное копированиие
  • UrBackup
  • Amanda
  • Duplicati
  • Bacula
  • Borg
  • kopia
  • Restic
  1. Язык Программирования
  • C++
  • Java
  • JavaScript (JS)
  • TypeScript
  • Python

1.6. IP-телефония (VoIP) — это современная технология передачи голосовых и видеосообщений через интернет-протокол (IP), заменяющая традиционные аналоговые линии.

  • 1.6.1. Asterisk (Астериск)
  • 1.6.2. FreePBX
  • 1.6.3. Issabel PBX
  • 1.6.4. VitalPBX
  • 1.6.5. Incredible PBX

//Fourth Example

Контейнеризация

  1. Контейнеризация виртуализация на уровне операционной системы, контейнерная виртуализация, зонная виртуализация) — метод виртуализации, при котором ядро операционной системы поддерживает несколько изолированных экземпляров пространства пользователя вместо одного.

1.2. Podman (от Pod Manager — это командный инструмент с открытым исходным кодом, созданный для управления контейнерами и подами (группами связанных контейнеров). Podman позволяет создавать группы контейнеров с общими сетевыми и пространственными ресурсами, что ближе к концепции Kubernetes и облегчает оркестрацию сложных приложений. Командная структура Podman практически идентична Docker CLI, что делает переход для пользователей интуитивным и простым.

1.3. Containerd — это высокоуровневая, открытая среда выполнения контейнеров, созданная для управления жизненным циклом контейнеров, включая их запуск, остановку и управление образами. Изначально разработанный компанией Docker, этот проект был передан в фонд Cloud Native Computing Foundation (CNCF) и сейчас выступает как самостоятельное, минималистичное решение, обеспечивающее производительность и безопасность для систем управления контейнерами более высокого уровня, таких как Kubernetes.

1.4. Minikube - это утилита командной строки, которая позволяет легко развертывать локальный кластер Kubernetes. Она полезна для разработчиков, которым нужна локальная среда Kubernetes для тестирования и разработки приложений.

1.5 Buildah — это мощный инструмент командной строки, предназначенный для сборки контейнерных образов, соответствующих стандарту OCI (Open Container Initiative). С его помощью можно как вручную писать скрипты для сборки, так и использовать готовые файлы инструкций, такие как Dockerfile или Containerfile. Buildah предлагает возможность создания образов из базового компонента scratch, что идеально подходит для минимизации контейнеров и включения только требуемых элементов. Такая функциональность делает Buildah универсальным решением для разработки образов с точным контролем и высокой степенью совместимости с современными контейнерными инфраструктурами.

Оркестрация

  1. Оркестрация в ИТ — это автоматизированное управление, координация и интеграция сложных компьютерных систем, сервисов, приложений и данных для выполнения бизнес-процессов в правильной последовательности.

1.1 Kubernetes (K8s) – это платформа с открытым кодом, предназначенная для автоматизации процессов размещения, масштабирования и администрирования приложений в контейнерах. Она значительно облегчает управление большими серверными кластерами, автоматизируя такие рутинные операции, как запуск, обновление и мониторинг приложений, тем самым гарантируя их стабильность и гибкость в разнообразных окружениях – от собственных серверов до облачных инфраструктур. Управление и оркестровка: Kubernetes обеспечивает координацию работы множества контейнеров и серверов (кластеров), обеспечивая непрерывную и продуктивную работу приложений.

1.2 Docker Swarm является встроенным решением для оркестрации контейнеров, предоставляемым Docker. Узлы (Nodes) — отдельные машины с установленным Docker Engine, входящие в состав кластера. Управляющие узлы (Manager Nodes) — отвечают за управление кластером, принимают решения и распределяют задачи. Рабочие узлы (Worker Nodes) — выполняют назначенные управляющими узлами задачи (контейнеры), но не участвуют в принятии решений. Балансировщик нагрузки — распределяет входящие запросы между рабочими узлами, поддерживая высокую доступность сервиса и его производительность. Docker Swarm подходит для автоматизации работы с контейнерами, обеспечивая удобство и надежность при управлении крупными инфраструктурами.

1.3. HashiCorp Nomad — это мощный и универсальный инструмент для оркестрации рабочих нагрузок, который значительно упрощает автоматизацию развертывания, масштабирование и управление различными типами приложений. Он поддерживает контейнерные, пакетные задачи, виртуальные машины и отдельные процессы, работая в разных средах, включая облачные платформы и локальную инфраструктуру. Nomad выделяется своей удобной функциональностью, высокой производительностью. Nomad способен обрабатывать широкий спектр рабочих нагрузок, таких как Docker-контейнеры, Java-приложения, гипервизоры, предоставляя универсальное решение для управления инфраструктурой. Nomad помогает организациям эффективно управлять инфраструктурой и облегчает работу даже с масштабными и сложными системами.

Мониторинг

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

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

3.2. VictoriaMetrics представляет собой мощное open-source решение для мониторинга и анализа данных временных рядов, предлагая конкурентоспособную замену Prometheus. Система выделяется своей масштабируемостью, эффективным использованием дискового пространства и высокой скоростью обработки, что делает её идеальным инструментом для сбора, хранения и анализа метрик приложений и инфраструктуры в режиме реального времени.

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

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

Логирование

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

4.1. Elasticsearch, Logstash, Kibana (ELK) — это сокращение, обозначающее комплекс из трех широко используемых инструментов с открытым исходным кодом: Elasticsearch, который служит для поиска и анализа данных, Logstash — утилита для сбора и обработки данных, и Kibana — веб-интерфейс, обеспечивающий визуализацию информации. Вместе эти компоненты образуют мощную платформу, предназначенную для сбора, хранения, поиска и анализа журналов, а также данных из множества источников.

4.2. Elasticsearch, Fluentd, Kibana (EFK) — это платформа с открытым исходным кодом, предназначенная для централизованного сбора, обработки и анализа журналов и различных данных. Elasticsearch выполняет роль распределенного хранилища и поискового движка, Fluentd отвечает за сбор и преобразование логов, а Kibana предоставляет веб-интерфейс для визуализации информации и создания интерактивных дашбордов.

4.3. Grafana Loki — это система сбора, индексации и агрегации логов (журналов), разработанная Grafana Labs, которая отличается от традиционных решений тем, что индексирует не само содержимое логов, а их метаданные, то есть метки, делая систему более экономичной и простой в эксплуатации.

4.4. Fluentd — это система с открытым исходным кодом для сбора, обработки и унификации данных журналов, метрик и других событий из различных источников, служащая для централизованного логирования и управления данными в распределенных системах, таких как Kubernetes. С его помощью данные из разных сервисов (например, Nginx, Docker) могут быть собраны, проанализированы, преобразованы и отправлены в централизованное хранилище, например, Elasticsearch.

4.5 Graylog — это мощная платформа с открытым исходным кодом для централизованного сбора, хранения, анализа, визуализации логов (журналов событий) и оповещения о сбоях в реальном времени.

Система управления конфигурациями

  1. Система управления конфигурациями – это набор инструментов и практик для автоматизации и централизованного управления состоянием инфраструктуры, приложений и данных с помощью «инфраструктуры как кода».

5.1 Chef в контексте DevOps — это мощный инструмент управления конфигурацией, который позволяет командам автоматизировать процессы развертывания, настройки и управления инфраструктурой как кодом. Chef использует Ruby в качестве языка для написания "рецептов", которые описывают желаемое состояние серверов и других ресурсов.

5.2 Puppet — это инструмент и платформа автоматизации, используемый в практике DevOps для управления конфигурацией и оркестровки серверов. В рамках DevOps, Puppet помогает командам разработчиков и системных администраторов автоматически настраивать, развертывать и управлять инфраструктурой, обеспечивая ее стабильное состояние и соответствие заданным параметрам.

5.3 Ansible — это система с открытым исходным кодом для автоматизации ИТ-процессов, которая позволяет управлять конфигурациями серверов, развертывать приложения и оркестровать сложные рабочие процессы. Вместо ручного выполнения команд на каждом сервере, Ansible позволяет описывать желаемое состояние инфраструктуры в виде кода и автоматически применять его на множестве машин.

5.4 Ansible Molecule — это фреймворк для разработки и тестирования ролей и других компонентов Ansible, который помогает создавать надежный и качественный код для автоматизации инфраструктуры. Он позволяет создавать изолированные тестовые среды в различных операционных системах, контейнерах или облачных платформах, чтобы проверить работоспособность ролей Ansible в разных сценариях и убедиться в их правильной работе и идемпотентности.

5.5 HashiCorp Vagrant — это инструмент с открытым исходным кодом от HashiCorp, предназначенный для создания и управления виртуальными средами разработки. Vagrant позволяет разработчикам быстро создавать и настраивать одинаковые рабочие окружения, что решает проблему «у меня на машине работает», и делает рабочую среду более предсказуемой и соответствующей производственной.

5.6 Terraform — это инструмент с открытым исходным кодом для автоматизации управления инфраструктурой в виде кода (IaC), позволяющий описывать и развертывать облачные и локальные ресурсы с помощью конфигурационных файлов на декларативном языке HCL (HashiCorp Configuration Language).

5.7 CDK8s — это фреймворк с открытым исходным кодом для генерации ресурсов Kubernetes. Основная идея cdk8s заключается в том, что с ним вместо Helm-шаблонов для управления ресурсами и приложениями в Kubernetes можно использовать привычные языки разработки: TypeScript, JavaScript, Python и Java.

5.8 Crossplane — это фреймворк с открытым исходным кодом для платформенной разработки на базе Kubernetes, который позволяет управлять облачной инфраструктурой (например, базами данных, кластерами и другими ресурсами) через стандартный Kubernetes API. Он работает по принципу «Infrastructure as Code» (инфраструктура как код), постоянно синхронизируя состояние облачных ресурсов с запрошенными конфигурациями, что обеспечивает высокую доступность и упрощает развертывание и управление инфраструктурой в мультиоблачных средах.

5.9 Pulumi — это платформа "инфраструктура как код" (IaC) с открытым исходным кодом, которая позволяет управлять облачной инфраструктурой с помощью привычных языков программирования, таких как Python, TypeScript, Go и C#.

Базы данных

  1. База данных (БД) — это упорядоченное электронное хранилище информации, позволяющее быстро и безопасно собирать, хранить, управлять и анализировать большие объемы данных. Системы управления базами данных (СУБД) — это программы, которые используются для работы с базами данных, а для извлечения информации применяются языки запросов, например, SQL.

6.1. ClickHouse — это высокопроизводительная столбцовая система управления базами данных (СУБД) с открытым исходным кодом, предназначенная для онлайн-аналитической обработки (OLAP) больших данных в режиме реального времени. Изначально разработанная компанией Яндекс для анализа данных Яндекс.Метрики, она стала популярным инструментом для веб-аналитики, маркетинговых отчетов, обработки логов и других задач, требующих быстрого анализа больших объемов информации

6.2 PostgreSQL — это бесплатная объектно-реляционная система управления базами данных (РСУБД) с открытым исходным кодом, известная своей надежностью, гибкостью и производительностью. Она поддерживает стандарт SQL, позволяя создавать и управлять данными в виде таблиц, но также включает объектно-ориентированные возможности, такие как пользовательские типы данных и наследование.

6.3 MongoDB — это нереляционная (NoSQL) документоориентированная база данных с открытым исходным кодом, которая хранит данные в виде гибких JSON-подобных документов вместо таблиц и строк, как в реляционных базах данных. Это обеспечивает гибкость схемы данных, высокую производительность, масштабируемость и простоту работы с разнородной информацией, что делает ее популярной для веб-приложений, аналитики больших данных и мобильных приложений.

Брокер сообщений

  1. Брокер сообщений — это программный посредник, который принимает сообщения от приложений-отправителей, сохраняет их и затем передаёт приложениям-получателям, обеспечивая асинхронное и надёжное взаимодействие между ними. Он разгружает сервисы от необходимости знать о местонахождении друг друга, позволяет обрабатывать сообщения в удобное время и поддерживает отказоустойчивость системы за счёт буферизации и гарантированной доставки.

7.1 RabbitMQ — это посредник для обмена данными между приложениями. Этот протокол включает издателей, получателей, очереди, обменники и ключи маршрутизации. RabbitMQ важен для создания распределенных систем, таких как микросервисы.

7.2 Apache Kafka — это брокер сообщений, с открытым исходным кодом, предназначенная для работы с большими объемами данных в режиме реального времени. Она позволяет приложениям надежно и эффективно обмениваться данными, обрабатывая их по мере генерации, и имеет высокую производительность, масштабируемость и отказоустойчивость.

Облачные вычисления

  1. Облачные вычисления — это модель предоставления вычислительных ресурсов (серверов, хранилищ, программного обеспечения, сетей, аналитики и др.) по требованию через Интернет («облако»), позволяющая компаниям и частным пользователям использовать эти сервисы по подписке вместо владения и обслуживания собственной физической ИТ-инфраструктуры.

8.1 Amazon Web Services (AWS)

8.2 Microsoft Azure

8.3 Google Cloud Platform (GCP)

Система управления версиями

  1. Система управления версиями (СУВ или VCS) — это программное обеспечение, которое отслеживает и управляет изменениями в файлах проекта с течением времени, позволяя сохранять разные версии документов, откатываться к предыдущим состояниям, а также работать совместно над проектом.

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

9.2 Bitbucket — это облачный сервис хостинга кода, разработанный компанией Atlassian, который позволяет командам разработчиков хранить, управлять и совместно работать над проектами, используя систему контроля версий Git. Он предлагает централизованное пространство для размещения репозиториев, отслеживания изменений в коде и интеграции с другими инструментами, такими как Jira и Trello, что делает его популярным решением для профессиональных команд.

Резервное копированиие

  1. Резервное копирование, или бэкап, — это создание копий важных данных (файлов, папок, систем, приложений) и хранение их отдельно от оригинала, на других носителях (локальных дисках, внешних накопителях, в облаке).
  2. UrBackup
  1. Amanda
  1. Duplicati
  2. Bacula
  3. Borg
  4. kopia
  5. Restic

Языки программирования

  1. Язык программирования — это формальная знаковая система, предназначенная для написания инструкций (компьютерных программ), которые выполняет ЭВМ. Он служит мостом между человеком и машиной, определяя строгий синтаксис (правила написания) и семантику (смысл команд) для создания алгоритмов.

11.1 Язык Си (C) — это процедурный язык программирования общего назначения, разработанный Деннисом Ритчи в начале 1970-х годов. Он компилируемый, статически типизированный, отличается эффективностью, гибкостью и низкоуровневым доступом к памяти. Си широко используется для системного программирования, драйверов и встроенных систем.

11.2 C++ — это компилируемый, статически типизированный язык программирования общего назначения, разработанный как расширение языка Си (C) с поддержкой объектно-ориентированного программирования (ООП), обобщенного программирования и управления памятью. Он сочетает высокоуровневые абстракции с низкоуровневым доступом к ресурсам, обеспечивая высокую производительность.

11.3 Java — это широко распространенный, объектно-ориентированный язык программирования высокого уровня, созданный Sun Microsystems в 1995 году (сейчас принадлежит Oracle). Его ключевая особенность — платформанезависимость: код компилируется в байт-код и запускается на любой ОС через виртуальную машину Java (JVM) по принципу «Напиши один раз, запускай везде» (Write Once, Run Anywhere).

11.4 JavaScript (JS) — это высокоуровневый, интерпретируемый язык программирования, являющийся одной из трех базовых технологий веб-разработки (наряду с HTML и CSS). Он используется для создания интерактивных, динамических веб-страниц, обработки действий пользователя (клики, анимации) и работы на стороне сервера (Node.js).

11.5 TypeScript

11.6 Python — высокоуровневый язык программирования общего назначения, созданный Гвидо ван Россумом в 1991 году. Он отличается простым, читаемым синтаксисом, использованием отступов для структуры кода и универсальностью. Python активно используется в веб-разработке (Django), анализе данных, машинном обучении, автоматизации (скриптах) и ИИ.

1.6. IP-телефония (VoIP) — это современная технология передачи голосовых и видеосообщений через интернет-протокол (IP), заменяющая традиционные аналоговые линии. * IP-телефония. Виды VoIP устройств, обзор плюсов-минусов. Что выбрать? * Основы IP-телефонии, базовые принципы, термины и протоколы * Основы IP-телефонии, базовые принципы, термины и протоколы * Что такое IP-телефония и как она работает * IP-телефония: что это и как работает * Базовые принципы IP - телефония * Как устроена IP-телефония: объясняем на пальцах * Что такое IP Телефония // Проводные телефоны возвращаются? * Сравнение программ для IP-телефонии

 -  1.6.1. Asterisk (Астериск) — это популярная программная АТС с открытым исходным кодом, предназначенная для создания систем IP-телефонии (VoIP) на базе ОС Linux, BSD и других. Она превращает обычный компьютер в мощную телефонную станцию с поддержкой IVR, голосовой почты, конференций и записи звонков.
- [Asterisk](https://ru.wikipedia.org/wiki/Asterisk)
- [База знаний](http://www.asterisk.ru/knowledgebase/books)
- [«Астериск - будущее телефонии».](http://www.asterisk.ru/store/files/Asterisk_-_Definitive_guide_4th.pdf)
- [Asterisk: Полное руководство, 5 издание](https://denis.elib.ru/wp-content/uploads/2021/01/Asterisk-The-Definitive-Guide.pdf)
- [Asterisk - настройка с нуля](https://wiki.merionet.ru/articles/asterisk-nastrojka-s-nulya)
- [Asterisk Managment Interface (AMI), Часть 1](https://habr.com/ru/articles/64105/)
1.6.2. FreePBX — это популярный веб-интерфейс (GUI) с открытым исходным кодом для управления IP-АТС Asterisk. Он позволяет настраивать телефонные системы, маршрутизацию звонков, IVR (голосовое меню) и SIP-аккаунты через браузер, исключая необходимость правки конфигурационных файлов вручную. Часто поставляется в составе FreePBX Distro (ОС+Asterisk+GUI). 
- [r/freepbx](https://www.reddit.com/r/freepbx/)
- [Руководство администратора FreePBX на русском языке](https://wiki.merionet.ru/articles/rukovodstvo-administratora-freepbx-na-russkom-yazyke)
- [FreePBX: первые шаги по граблям](https://habr.com/ru/companies/slurm/articles/313078/)
- [Простая установка Asterisk + FreePBX для начинающих](https://habr.com/ru/articles/171163/)
- [Raspberry Pi + FreePBX(asterisk) + Mikrotik = АТС мини](https://habr.com/ru/articles/550734/)
- [Сложности установки сервера IP-телефонии FreePBX на неттоп с процессором AMD](https://habr.com/ru/articles/593519/)
- [Разбираемся с FreePBX и интегрируем его с Битрикс24 и не только](https://habr.com/ru/articles/518450/)     
- [Аналоги FreePBX: 11 похожих сервисов для замены](https://exolve.ru/blog/analogues-freepbx-11-services-to-replace/)

1.6.3 Issabel PBX — это бесплатная коммуникационная платформа с открытым исходным кодом на базе Asterisk, предназначенная для создания IP-АТС, VoIP-серверов и контакт-центров. Она объединяет телефонию, факс, чат и CRM-интеграцию в одном веб-интерфейсе, предоставляя функции IVR, очередей, записи звонков и видеоконференций. 
- [Issabel PBX - установка платформы](https://wiki.merionet.ru/articles/issabel-pbx-ustanovka-platformy)
- [Возможности сетевых настроек в дистрибутиве IssabelPBX.](https://voxlink.ru/kb/legacy-pbx-integration/vozmozhnosti-setevyh-nastroek-v-distributive-issabelpbx/)
- [Внедрение IP телефонии на базе Issabel. Часть 1](https://www.youtube.com/watch?v=8mqrVAe27eM)
- [Использование встроенной безопасности IssabelPBX](https://voxlink.ru/kb/integraciya-s-crm/ispolzovanie-vstroennoj-bezopasnosti-issabelpbx/)

1.6.4 VitalPBX — это современная, функциональная IP-АТС на базе Asterisk, предназначенная для создания корпоративных систем связи. Она сочетает возможности Open Source-решений с удобным графическим интерфейсом, обеспечивая работу IVR, запись разговоров, видеозвонки и другие функции, что делает её гибкой платформой для бизнеса. 
- [Базовый обзор VitalPbx](https://voxlink.ru/kb/asterisk-installation/bazovyi-obzor-vitalpbx)
- [VitalPBX tips & tricks](https://voxlink.ru/kb/asterisk-installation/vitalpbx-tips-tricks/)

1.6.5 Incredible PBX — это мощная, безопасная и бесплатная IP-АТС на базе открытого исходного кода Asterisk и FreePBX, предназначенная для создания корпоративных телефонных сетей. Она объединяет функции VoIP, включая облачную интеграцию (Google Voice), повышенную защиту и удобный веб-интерфейс. 
- [«Невероятная АТС» для RasPBX](https://www.rlocman.ru/news/new.html?di=150832&srsltid=AfmBOor1l9gyi8SiAHi32X5dJC7vKvm0-judCmxE-VU1jnjeGPMXFEuR) 
- [Incredible PBX Wiki | HomePage](https://wiki.incrediblepbx.com/HomePage) 

About

GitHub Desktop tutorial repository

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors