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

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

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-контроллер — технология веб-сервера, которая маршрутизирует трафик в соответствии с конфигурацией в Ingress-ресурсе. Какую проблему решает Нативные облачные веб-приложения состоят из множества сервисов. Часто эти сервисы должны быть доступны через интернет, чтобы пользователи могли обратиться к ним через браузер...

Kubernetes

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

Абстракция

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

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

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

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

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

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

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

Глоссарий Cloud Native

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

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

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

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

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

Дата-центр

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

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

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

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

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

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

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

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

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

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

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

Кластер

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

Контейнер

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Непрерывная интеграция (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), но вместо проверки подлинности только одной стороны осуществляется валидация обеих. Какую проблему решает Микросервисы взаимодействуют по сети, но этот канал коммуникации может быть взломан аналогично тому, как это происходит с Wi-Fi. mTLS гарантирует, что неавторизованная сторона не сможет прослушивать канал коммуникации и выполнять несанкционированные действия...

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

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

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

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

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

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

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

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

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

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

Узлы

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

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

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

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

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

Шлюз API

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