Фильтр По Тегам

Термины глоссария разбиты по категориям. Используйте фильтры для просмотра терминов по тегам.

Bare metal-компьютер

Под компьютером типа bare metal («голое железо») понимается физический компьютер, а точнее — сервер, на котором установлена одна и только одна операционная система. Это различие важно, поскольку многие, если не большинство, серверов являются виртуальными машинами. Физический сервер — это, как правило, достаточно серьезный компьютер с мощным аппаратным обеспечением. Установка операционной системы и запуск приложений непосредственно на физическом оборудовании, без виртуализации, называется работой...

DevOps

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

DevSecOps

Термин DevSecOps означает слияние компетенций в области разработки (DEVelopment), безопасности (SECurity) и эксплуатации (OPerationS) на уровне культуры. Он добавляет в подход DevOps приоритеты в области безопасности — причем так, чтобы минимально вмешиваться в процессы разработки и эксплуатации. Как и DevOps, DevSecOps — это некий культурный сдвиг, который форсируется как самим фактом внедрения новых технологий, так и специфическими методами их внедрения. Какую проблему решает Практики DevOps...

eBPF

Технология eBPF (англ. extended Berkley Packet Filter — расширенный фильтр пакетов Беркли) позволяет небольшим программам или скриптам запускаться в пространстве ядра ОС Linux без необходимости изменять код ядра или загружать модули ядра. В ОС Linux есть два пространства: пространство ядра (kernel space) и пространство пользователя (user space). Ядро представляет основу операционной системы и имеет неограниченный доступ к аппаратному обеспечению. Приложения находятся в пространстве пользователя....

Ingress

Ingress — набор правил, которые помогают управлять интернет-трафиком, поступающим извне в контейнер или группу контейнеров, работающих в кластере. Он состоит из двух элементов: ресурса Ingress и Ingress-контроллера. Ресурс Ingress — это конфигурационный файл, который живет вместе с другими файлами манифестов и позволяет администраторам настраивать маршрутизацию внешнего трафика. Ingress-контроллер — технология веб-сервера, которая маршрутизирует трафик в соответствии с конфигурацией в...

Kubernetes

Kubernetes (часто сокращается до K8s) — это система для управления контейнерами (т. н. оркестратор) с открытым исходным кодом. Kubernetes автоматизирует жизненный цикл контейнеризированных приложений в современных инфраструктурах, выступая в качестве «операционной системы для центров обработки данных», которая управляет приложениями в распределенных системах. Kubernetes планирует (т. е. распределяет) контейнеры по узлам кластера, попутно обеспечивая их различными инфраструктурными ресурсами:...

Абстракция

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

Автомасштабирование

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

Архитектура клиент-сервер

В клиент-серверной архитектуре логика (или код), составляющая приложение, распределяется между двумя или более компонентами: клиентом, запрашивающим выполнение некой работы (например, веб-приложение Gmail, работающее в браузере), и одним или несколькими серверами, удовлетворяющими этот запрос (например, сервис отправки почты, работающий на компьютерах Google в облаке). В этом примере исходящие письма отправляются клиентом (веб-приложением, работающим в браузере) на сервер (компьютеры Gmail,...

Гибкий подход к разработке программного обеспечения (Agile)

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

Глоссарий Cloud Native

Глоссарий Cloud Native Глоссарий Cloud Native преназначен для того, чтобы в сфере cloud native, сложность которой уже стала притчей во языцех, было легче разобраться не только IT-специалистам, но и представителям бизнеса. Именно поэтому мы делаем упор на простоту (доступный язык, свободный от заковыристых терминов; примеры, которые понятны любому человеку с базовым пониманием технологий; отказ от лишних подробностей). Работа над глоссарием ведется под руководством подкомитета CNCF по деловой...

Горизонтальное масштабирование

Горизонтальное масштабирование — это метод, при котором производительность системы увеличивается за счет добавления узлов. Этим оно отличается от вертикального масштабирования, когда ресурсы добавляются на сами узлы. Допустим, у нас есть система с 4 ГБ ОЗУ и нужно увеличить ее емкость до 16 ГБ ОЗУ. При горизонтальном масштабировании мы добавим еще три инстанса (узла) с 4 ГБ ОЗУ вместо того, чтобы увеличивать объем ОЗУ до 16 ГБ на единственном имеющемся инстансе. Такой подход позволяет повысить...

Граничные (edge) вычисления

Граничные вычисления (edge computing), также известные как периферийные — это подход к распределённым системам, при котором часть задач по хранению и обработке данных переносится от основного центра обработки данных к источнику данных. Собранные данные обрабатываются локально (например, на предприятии, в магазине или по всему городу), а не отправляются в централизованный дата-центр для обработки и анализа. Локальные вычислительные устройства находятся на периферии системы, тогда как дата-центр...

Дата-центр

Дата-центр (центр хранения и обработки данных, ЦОД/ЦХОД) — специализированное здание или помещение, предназначенное для размещения вычислительной техники, чаще всего серверов. Обычно дата-центры подключаются к высокоскоростным линиям связи с доступом к сети Интернет, особенно если они ориентированы на облачные вычисления. Здания, в которых размещаются дата-центры, включают необходимую инфраструктуру для поддержания работоспособности установленного в них оборудования, в том числе...

Идемпотентность

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

Инфраструктура как код (IaC)

Инфраструктура как код (Infrastructure as Code) — подход, при котором описание инфраструктуры хранится в виде одного или нескольких файлов. Этот подход пришел на смену традиционной модели, в которой инфраструктура как услуга (Infrastructure as a Service) предоставляется вручную, обычно с помощью shell-скриптов или других инструментов конфигурирования. Какую проблему решает Подход к разработке нативных облачных приложений требует, чтобы инфраструктура была одноразовой и воспроизводимой. Также она...

Инфраструктура как услуга (IaaS)

Инфраструктура как услуга (Infrastructure as a service, IaaS) — это модель облачных вычислений, при которой физические или виртуализированные вычислительные ресурсы, хранилище и сетевой доступ предоставляются по требованию и оплачиваются по факту потребления. Облачные провайдеры владеют и управляют аппаратным и программным обеспечением, а потребители пользуются им в рамках открытых, закрытых или гибридных облачных развертываний. Какую проблему решает В классических локальных (on-premises)...

Как внести свой вклад

Добро пожаловать Добро пожаловать в руководство по работе над Глоссарием Cloud Native. Благодарим за проявленный интерес! Поучаствовать в развитии проекта можно разными способами: Поработать над существующим Issue Предложить новое определение Дополнить существующее определение Локализовать глоссарий Общие сведения о глоссарии CNCF Цель этого глоссария — упростить знакомство с нативными облачными (cloud native) технологиями, которые печально известны своей сложностью и запутанностью, и сделать их...

Канареечное развертывание

Стратегия канареечных развертываний (canary deployments) начинается с двух окружений: одно из них уже обслуживает пользователей, другое — содержит обновленный код (но пока без трафика). Трафик постепенно переключается с исходной, старой версии приложения на новую. Начинают обычно с минимального процента (например, с 1%) и постепенно увеличивают долю трафика, которая поступает в новую версию, пока та не достигнет 100%. Такая стратегия позволяет протестировать новую версию ПО в production,...

Кластер

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

Контейнер

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

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

Контейнеризация — это упаковка приложения и всех необходимых зависимостей в образ контейнера. Процесс сборки контейнера должен соответствовать стандарту Open Container Initiative (OCI). Если на выходе получается образ контейнера, соответствующий этому стандарту, то не важно, какое именно средство контейнеризации использовалось. Какую проблему решает До того как контейнеры получили широкое распространение, для запуска множества приложений на одном «железном» (bare-metal) сервере использовались...

Микросервисная архитектура

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

Монолитные приложения

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

Мультитенантность

Мультитенантность (или мультиарендность) — это концепция, при которой одна инсталляция программного обеспечения обслуживает несколько арендаторов (тенантов). Арендатором может быть пользователь, приложение или группа пользователей/приложений, которые работают со своими собственными данными. Эти арендаторы не обмениваются данными (если только владелец не укажет иное) и могут даже не знать о существовании друг друга. Арендатор может быть как отдельным пользователем с одной учетной записью —...

Наблюдаемость

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

Нативная облачная безопасность

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

Нативная облачная технология

Нативные облачные (cloud native) технологии, также называемые нативным облачным стеком, — это технологии, которые используются для создания нативных облачных приложений. Эти технологии позволяют компаниям создавать и запускать масштабируемые приложения в современных и динамичных средах, таких как публичные, приватные и гибридные облака, максимально используя сильные стороны облачных вычислений. Они изначально разрабатываются для максимального использования преимуществ облачных вычислений. Пример...

Нативные облачные приложения

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

Неизменяемая инфраструктура

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

Непрерывная доставка (CD)

Непрерывная доставка (Continuous Delivery), часто сокращенно называемая CD, — это набор практик, при которых изменения кода автоматически развертываются в приемочное окружение — или, в случае непрерывного развертывания, в production. CD обязательно включает процедуры, обеспечивающие адекватное тестирование программного обеспечения перед развертыванием, и предоставляет возможность отката изменений при необходимости. Непрерывная интеграция — первый шаг на пути к непрерывной доставке: т.е. сначала...

Непрерывная интеграция (CI)

Непрерывная интеграция (Continuous Integration, CI) — это практика, при которой правки внедряются в код как можно чаще. CI является предварительным условием для непрерывной доставки (CD). Процесс CI традиционно начинается с внесения правок в код в системе контроля исходного кода (Git, Mercurial или Subversion) и заканчивается получением протестированной сборки, готовой к использованию CD-системой. Какую проблему решает Программные системы часто бывают большими и сложными, их поддерживает и...

Непрерывное развертывание (CD)

Непрерывное развертывание (Continuous Deployment, CD) развивает идеи непрерывной доставки, позволяя выкладывать готовое программное обеспечение непосредственно в production. Непрерывное развертывание (CD) идет рука об руку с непрерывной интеграцией (CI), поэтому обычно их объединяют в единый процесс CI/CD. CI помогает убедиться, что изменения, внесенные в код приложения, работают как и было задумано, а CD автоматически развертывает приложение в целевые окружения (от тестовых до production)....

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

Облачные вычисления (cloud computing) — собирательное название систем, которые предоставляют вычислительные ресурсы (процессорные, сетевые и дисковые) по запросу через сеть Интернет. В результате пользователи получают доступ к вычислительным мощностям, которые физически расположены в совершенно другом, удаленном месте. Обычно облака подразделяются на приватные и публичные в зависимости от того, предназначена ли облачная инфраструктура для одной организации или используется множеством открытых...

Оркестрация контейнеров

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

Потоковая передача событий

Потоковая передача событий — это подход, при котором программное обеспечение отправляет данные о событиях одного приложения другому, чтобы поддерживать постоянный обмен информацией об их действиях. Представьте себе службу, транслирующую всё, что она делает, всем остальным службам. Каждое действие, выполняемое такой службой, называется событием, отсюда и название «потоковая передача событий». Например, служба автоматизированных котировок Национальной ассоциации дилеров по ценным бумагам (NASDAQ)...

Программный интерфейс приложения (API)

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

Протокол взаимной защиты транспортного уровня (mTLS)

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

Распределенная система

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

Распределенные приложения

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

Роли контрибьюторов

Привет! 👋 Спасибо за интерес к участию в проекте CNCF Cloud Native Glossary. Есть множество способов стать активным участником этого сообщества. Можно предлагать новые термины, помогать в локализации Глоссария на родной язык или поддерживать и направлять новичков. В этом документе описаны различные роли контрибьюторов в проекте, а также обязанности и привилегии, которые к ним прилагаются. 1. Контрибьюторы Глоссарий открыт для всех. Любой может стать автором Глоссария, просто внеся свой вклад в...

Руководство по стилю

Это руководство по стилю поможет вам разобраться в целевой аудитории глоссария, структуре определений, стиле и требуемом уровне детализации. Глоссарий Cloud Native придерживается стандартного руководства по стилю репозитория CNCF. Кроме того, он следует перечисленным ниже правилам: Используйте простой, доступный язык; избегайте технического жаргона и «модных» словечек. Избегайте разговорного стиля. Повествование должно быть последовательным и конкретным. Избегайте сокращений. Старайтесь не...

Сине-зеленое развертывание

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

Узлы

Узел (нода) — это вычислительное устройство, которое вместе с другими вычислительными устройствами (узлами) работает над выполнением общей задачи. Например, ваш ноутбук, модем и принтер общаются друг с другом и взаимодействуют по сети Wi-Fi. Каждое из этих устройств является отдельным узлом. В сфере облачных вычислений узлом может быть физический компьютер, виртуальный компьютер (виртуальная машина/ВМ) или даже контейнер. Какую проблему решает Приложение может работать на единственной машине (и...

Функция как сервис (FaaS)

Функция как сервис (Function as a Service, FaaS) — модель облачных вычислений, которая предлагает платформу для выполнения функций, инициированных событиями. Она обеспечивает автоматическое масштабирование, не требующее ручного вмешательства. В сущности FaaS позволяет развёртывать отдельные функции, которые активируются в ответ на определенные события, некоторое (короткое) время работают и отключаются. Тем самым гарантируется, что ресурсы не тратятся впустую. Модель поддерживает автоматическое...

Хаос-инженерия

Хаос-инженерия (chaos engineering, CE) — подход, при котором над распределенной production-системой проводятся различные эксперименты, цель которых — убедиться, что она способна противостоять турбулентным и неожиданным ситуациям. Какую проблему решает Практики SRE и DevOps концентрируются на методах повышения отказоустойчивости и надежности систем. Способность системы выдерживать сбои, обеспечивая при этом надлежащее качество обслуживания, как правило, является одним из требований при разработке...

Цифровой сертификат

(Цифровой) сертификат / сертификат открытого ключа / SSL-сертификат — это электронный документ, который используется для безопасного обмена информацией по сети. Сертификат подтверждает, что объект, с которым происходит коммуникация, действительно тот, за кого себя выдает. Кроме того, благодаря шифрованию исходящих и входящих данных сертификат гарантирует конфиденциальность обмена информацией. Какую проблему решает Когда устройство взаимодействует по сети с другими сущностями, у него нет...

Шлюз API

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