subject что это в техподдержке
RxJS: Введение в Subject в реактивном программировании
Например, если у нас есть subject с 10 подписчиками, всякий раз, когда мы передаем значения subject, мы можем видеть значение, полученное каждым подписчиком.
Это вводит пару проблем; Что делать, если мы нажимаем некоторые значения, а затем подписываемся или наоборот? Время играет важную роль: если мы подпишемся поздно, мы не сможем получить доступ к значениям, как если бы кто-то пришел на концерт в прямом эфире через 30 минут.
К счастью, у нас есть 4 типа subject, которые позволяют нам «путешествовать во времени», в которых мы можем получить доступ к значениям, даже если мы подписываемся поздно или нет.
Темы, которые мы рассмотрим:
1. Что такое Subject?
Практический пример: давайте создадим простую группу чата, используя тему
Теперь, когда наша группа чата (Subject) создана, мы должны добавить сообщения. Давайте создадим типичный разговор между двумя друзьями.
Чтобы более подробно остановиться на предыдущем примере, что если Джон войдет в середину разговора?
Как только Джон подписывается, он видит два последних сообщения. Subject делает то, что должен делать. Но что, если мы хотим, чтобы Джон просмотрел все сообщения или только последнее, или получил уведомление при публикации нового сообщения?
В целом, эти subject в основном похожи, но каждый из них предоставляет некоторые дополнительные функции, давайте опишем их один за другим.
2. BehaviorSubject: Получить последнее сообщение
BehaviorSubject похож на Subject, за исключением того, что ему требуется начальное значение в качестве аргумента для обозначения начальной точки потока данных. Причина в том, что когда мы подписываемся, возвращается последнее сообщение. Это аналогичная концепция при работе с массивами; где мы делаем, array.length-1 чтобы получить последнее значение.
3. ReplaySubject: путешествие во времени
ReplaySubject, как следует из названия, после подписки транслирует все сообщения, несмотря на то, что мы подписались поздно или нет. Это как путешествие во времени, где мы можем получить доступ ко всем сообщениям, которые были переданы.
4. AsyncSubject: после завершения получите последнее сообщение
AsyncSubject похож на BehaviorSubject с точки зрения выдачи последнего значения после подписки. Единственное отличие состоит в том, что для этого требуется complete() метод, помечающий поток как завершенный. Как только это будет сделано, будет выпущено последнее значение.
Резюме
Возвращаясь к нашему предыдущему примеру с Джоном, мы теперь можем решить, хотим ли мы, чтобы Джон имел доступ ко всему диалогу (ReplaySubject), последнему сообщению (BehaviorSubject) или последнему сообщению после завершения диалога (AsyncSubject).
RxRelay – это магия? Subject vs RxRelay
В Android-комьюнити я встречал три типа разработчиков, которые сталкивались с RxRelay:
Давайте проверим пункт №2 и посмотрим, в чем разница между RxRelay и Subject. Итак, у нас есть две подписки на один relay, при клике на кнопку мы пушим единицу в этот relay.
Три раза подряд кликаем на кнопку и видим вот такой лог.
D/test: Цепочка с ошибкой: onNext
D/test: Цепочка без ошибки: onNext
D/test: Цепочка с ошибкой: onError
D/test: Цепочка без ошибки: onNext
D/test: Цепочка без ошибки: onNext
Если заменить переменную RxRelay на PublishSubject, лог не изменится. И вот почему:
При первом клике мы пушим в наш relay данные. Оба подписчика срабатывают.
При втором клике в цепочке у первого подписчика (disposable1) возникает ошибка.
При третьем клике первый disposable1 уже не срабатывает, так как он получил терминальное состояние onError. Дальше будет работать только второй disposable2.
Так будет и с Subject, и с RxRelay. Напомню, что в rx ошибки идут вниз по цепочке к подписчику (downstream) и выше места, где они возникли, не попадают. В итоге мы проверили, что цепочка на основе RxRelay не может работать после того, как возникла ошибка.
Так если разницы в поведении Subject и RxRelay нет, то в чем их отличие?
Вот что пишет сам разработчик в README на гитхабе:
“Basically: A Subject except without the ability to call onComplete or onError.”
То есть это просто Subject без методов onComplete и onError, даже исходный код классов почти одинаковый. Если мы вызовем на Subject эти методы, то он перестанет работать, так как получит терминальное состояние. Поэтому автор библиотеки решил, что стоит убрать эти методы, потому что те разработчики, которые не знают об этом свойстве Subject могут случайно вызвать их.
Вывод: единственное отличие RxRelay от Subject — это отсутствие двух методов onComplete и onError, чтобы разработчик не мог вызвать терминальный стейт.
SUBJECT
Subject — (Subj) Тема письма
Смотреть что такое SUBJECT в других словарях:
SUBJECT
[`sʌbʤɪktˏ `səbˏʤekt]тема, предмет разговора; сюжетподлежащее; субъектглавная тема, лейтмотивсцена, сюжетповод, причинаобъект, предметдисциплина, предм. смотреть
SUBJECT
SUBJECT
SUBJECT
1. <ʹsʌbdʒıkt>n 1. 1) предмет, тема (разговора и т. п.) serious
SUBJECT
subject 1. [ʹsʌbdʒıkt] n 1. 1) предмет, тема (разговора и т. п.) serious [difficult, interesting, dull]
— серьёзный [трудный, интересный, скучный] в. смотреть
SUBJECT
subject 1. n [ˊsʌbdʒekt] 1) те́ма; предме́т разгово́ра; сюже́т; to dwell on a sore subject остана́вливаться на больно́м вопро́се; to change the subjec. смотреть
SUBJECT
subject: translationSynonyms and related words:IC analysis, above, academic specialty, action, actor, affair, agent, anagnorisis, angle, answerable to. смотреть
SUBJECT
1. сущ.1) общ. тема; вопрос, предметsubject of investigation — предмет научных изысканий2) общ. объект, предмет (что-л. или кто-л., с чем/кем осуществл. смотреть
SUBJECT
1) подданный 2) предмет (договора, иска и т.д.) 3) субъект 4) объект 5) тема, вопрос, предмет 6) подвергать 7) подчинять | подчинённый, зависимый, подв. смотреть
SUBJECT
SUBJECT
Subject: translation Refers to a bid or offer that cannot be executed without confirmation from the customer. The New York Times Financial Glossary *. смотреть
SUBJECT
SUBJECT
SUBJECT
1. n1) тема; вопрос 2) предмет, (учебная) дисциплина 3) подданный •to keep to the subject — придерживаться темы; не отклоняться от темыto raise a subje. смотреть
SUBJECT
1) питання; предмет (в т. ч. угоди, позову), об’єкт; підвладний (ім. ), підданий (ім. ); привід; труп (для розтину) 2) підлеглий, підвладний, залежний 3) піддавати (впливу тощо); підкоряти subjected • subject administrative authority to judicial control — піддавати адміністративну владу судовому контролю subject to corrective treatment — піддавати виправному впливу subject to mandatory retirement at a fixed age — який підлягає обов’язковому виходу у відставку (на пенсію) після досягнення визначеного віку subject to necessary changes being made — за умови внесення необхідних змін subject to strict judicial control — під суворим контролем суду (або судових органів) subject in contestsubject in issuesubject inventionsubject-mattersubject-matter jurisdictionsubject-matter of actionsubject-matter of casesubject-matter of disputesubject-matter of suitsubject nationsubject of actionsubject of bailmentsubject of chargesubject of contentionsubject of controversysubject of inquirysubject of international lawsubject of inventionsubject of lawsubject of rights and dutiessubject of suitsubject of taxationsubject of the crownsubject of theftsubject oneself to a judgementsubject oneself to a judgmentsubject statesubject tosubject to alterationsubject to appealsubject to be provensubject to approvalsubject to callsubject to censorshipsubject to conditionssubject to confirmationsubject to considerationsubject to contractsubject to cross-examinationsubject to dutysubject to final paymentsubject to forced treatmentsubject to interrogationsubject to notificationsubject to paragraphsubject to persecutionsubject to prosecutionsubject to provisosubject to ratificationsubject to repressionsubject to reservationssubject to review by the courtsubject to revisionsubject to risksubject to state controlsubject to state regulationsubject to taxsubject to taxationsubject to torturesubject to torturessubject to victimizationsubject to waiver. смотреть
SUBJECT
to ratification договір підлягає ратифікації III v 1. підкоряти, підпорядковувати (комусь, чомусь
to) 2. піддавати (чомусь
one’s plans to smbd.’s consideration подати плани на чийсь розгляд. смотреть
SUBJECT
SUBJECT
1) тема; вопрос2) предмет, дисциплина3) подданный, гражданин4) подчинять; подвергать || подчинённый; подвластный; зависимый- not subject to call- subje. смотреть
SUBJECT
1) предмет2) объект съемки3) подвергать4) испытатель5) тема6) подлежащее7) субъект8) подчиненный9) подчинять10) тематический– be subject to– keep to th. смотреть
SUBJECT
n 1. предмет; любое конкретное материальное явление или объект; 2. явление действительности, факт; 3. тема размышления, анализа; 4. круг знаний, образу. смотреть
SUBJECT
subject: übersetzungsubject 1. Subjekt n, Gegenstand m; 2. Fachgebiet n; 3. Bürger m, Staatsbürger m; 4. Subjekt n, Person f (Rechtsverkehr)
SUBJECT
SUBJECT
1. n1) тема2) об’єкт; предмет2. vпіддавати впливу◊to subject airplane to manoeuvre — вводити літак у маневр•- subject of inquiry
SUBJECT
• English or French • Guinea pig • Lab rat or guinea pig • Put through • What The Star-Spangled Banner writer is in this puzzle • A branch of knowledg. смотреть
SUBJECT
сущ.1) предмет; любое конкретное материальное явление или объект;2) явление действительности, факт;3) тема размышления, анализа;4) круг знаний, образую. смотреть
SUBJECT
Subject: übersetzung Subject [dt. »Inhalt, Betreff«], die Inhaltsangabe einer Meldung innerhalb eines Diskussionsforums (Forum, Newsgroup), aber a. смотреть
SUBJECT
SUBJECT
SUBJECT
SUBJECT
SUBJECT
• 1) /vt/ подвергать; 2) /vrefl/ подчиняться • подчиненный • предмет
SUBJECT
Subject: translation The melody copied in an imitative texture. See also Fugue.
SUBJECT
n. предмет, предмет разговора, содержание, тема, главная тема, сюжет, дисциплина, объект, труп, повод, причина, подданный, субъект, человек, подлежащее. смотреть
SUBJECT
SUBJECT
1) оригинал, объект съёмки2) сюжет, тема
SUBJECT
̘. ̈n.ˈsʌbdʒɪktподданный, тема, вопрос, предмет, объект, субъект
SUBJECT
мед.гл. подвергать предмет; подлежащее подчиненный; п) подлежащий Англо-русский медицинский словарь.2012.
SUBJECT
SUBJECT
SUBJECT
subject: translationSee ego, self.
SUBJECT
Subject: übersetzungSubject, siehe Object.
SUBJECT
adj. подчиненный, зависимый, подвластный, подданный, подверженный, подлежащий, подопытный
SUBJECT
предмет (договора, иска); подчинять, подвластный, подданный, подвергать
SUBJECT
SUBJECT
1) подлежащее 2) субъект 3) предмет 4) подчиненный
Введение в Subject в реактивном программировании
Subject — это «особый» тип наблюдаемого объекта, который позволяет транслировать значения сразу нескольким подписчикам. Самое классное здесь то, что Subject предоставляет ответы в режиме реального времени.
Например, у нас есть субъект (Subject) с 10 подписчиками. Тогда при отправлении значений субъекту мы видим, как они захватываются каждым подписчиком.
Это приводит к возникновению ряда трудностей. Что, если сначала мы передадим значение, а потом подпишемся, или наоборот? Время всегда играет важную роль. Если подписаться поздно, то мы не сможем получить доступ к значениям. Это как включать трансляцию матча по телевизору на 30 минут позже.
К счастью, есть 4 типа Subject, позволяющих «путешествовать во времени» и получать доступ к значениям, вне зависимости от времени подписки.
Вот, о чем мы поговорим:
1. Что такое Subject?
Как уже говорилось выше, Subject — это не более, чем наблюдаемый объект с рядом характеристик. Сам по себе наблюдаемый объект является вызываемой коллекцией, которая генерирует данные при подписке. А Subject — это как раз то место, где мы управляем состоянием «в какой момент времени сгенерировать данные» для нескольких подписчиков.
Subject vs наблюдаемый объект
Практический пример. Давайте создадим простую чат-группу с помощью Subject
Создание Subject (чат-группа)
Теперь, когда мы создали чат-группу (Subject), можно переходить к добавлению сообщений. Создадим типичную беседу между двумя друзьями.
Добавление сообщений в чат-группу
Пока все отлично: в группе уже есть 4 сообщения. Так что же случится, если мы подпишемся? Или, допустим, новый друг, Джон, захотел присоединиться к разговору. Увидит ли он старые сообщения?
Просмотр беседы (подписка)
К сожалению, нет. Джон не увидит старых сообщений, поскольку добавился к группе слишком поздно. Это отличный пример того, как работает реактивное программирование — осуществляет передачу значений во времени. Поэтому для доступа к данным нужно подписываться вовремя.
Вернемся к нашему примеру. Что, если Джон зашел в группу в середине обсуждения?
Джон присоединился к разговору в середине беседы
Как только Джон присоединяется к группе (подписывается), он может видеть два последних сообщения. А Subject делает то, что должен. Но что, если нам нужно, чтобы Джон видел все сообщения… или только последнее… или просто получал уведомление о новых сообщениях?
По сути, все эти типы Subjects во многом похожи. Однако каждый из них дополнен своим функционалом, о котором мы поговорим ниже.
2. BehaviorSubject: получение последнего сообщения
3. ReplaySubject: путешествие во времени
Как следует из названия ReplaySubject, при подписке транслируются все сообщения. Вне зависимости от того, насколько «вовремя» мы подписались на событие. Это как путешествие во времени, когда мы можем получить доступ ко всем переданным значениям.
4. AsyncSubject: получение последнего сообщения по завершению
Итог
Теперь в нашем примере с другом Джоном мы сможем сами решать, увидит ли он всю беседу (ReplaySubject), только последнее сообщение (BehaviorSubject), либо же ему придется ограничиться последним сообщением по завершению беседы (AsyncSubject).
Если вкратце, то пределы возможностей реактивного программирования ограничены только вашей фантазией. Конечно же, будут и такие сценарии, в которых главная роль отведется наблюдаемым объектам. Однако понимание Subject и их типов однозначно улучшит ваши навыки в реактивном программировании.
Техподдержка в эпоху DevOps
DevOps идет в крупные ИТ-компании вне зависимости от того, готовы они к этому или нет. Здесь может встретиться много проблем, и я хотел бы поговорить об одной из них. Возможно, это чересчур смелое заявление, но я считаю, что текущая организационная структура большинства служб ИТ-поддержки в корне ошибочна.
В такой ситуации успешное внедрение DevOps-практик может оказаться практически невозможным.
В качестве альтернативы я хотел бы предложить новую методологию под названием Swarming, которая уже готова к внедрению в крупном бизнесе и идеально подходит для выполнения задач технической поддержки в эру DevOps.
Текущая ситуация: консерватизм трехуровневой системы техподдержки
Нам следует начать с небольшого обзора сложившихся управляющих структур, которые лежат в основе подавляющего большинства служб техподдержки в организациях, относящихся к среднему и крупному бизнесу.
Классическая техподдержка, построенная согласно принципам управления ИТ-сервисами (IT Service Management), имеет трехуровневую иерархию.
Уровень 1. Это находящаяся в непосредственном контакте с пользователями — обычно по телефону — служба технической поддержки (Service Desk). Нацелена на предоставление техподдержки среднего уровня по неспециализированным вопросам. Основная задача — поддержание стабильного качества услуг при условии решения большинства поступающих запросов здесь же, на первом уровне.
Уровень 2. Обычно тесно связан с первым, но подразумевает более глубокие общие или специальные знания и навыки сотрудников. Специалисты второго уровня, например, могут проходить дополнительное обучение по поддержке распространенных операционных систем (таких как Microsoft Windows) или аппаратного обеспечения, получая необходимые навыки для решения более сложных проблем.
Для лучшего понимания трехуровневой структуры требуется провести анализ породивших и поддерживающих ее бизнес-причин. Рассматриваемая методология применяется практически повсеместно. Существует несколько преимуществ, которые стимулируют ее использование.
Клиентам предоставлен единый канал общения с техподдержкой независимо от природы проблемы.
На рынке труда легко найти специалистов с техническими навыками, необходимыми для работы на первых двух уровнях поддержки. Это также облегчает передачу задачи на аутсорс, что делается достаточно часто.
Путешествие клиентского обращения в службу поддержки может закончиться уже на первом уровне, практически не начавшись. Фактически во многих организациях часть обращений обрабатывается с помощью полностью автоматизированных сервисов, которые часто называются «нулевым уровнем» (Level zero).
Однако есть много проблем, которые не получается решить на первом уровне. Процесс их передачи на уровни 2 и 3 называется эскалацией:
Специалисты второго уровня обычно обрабатывают меньше заявок, чем их коллеги с первого, но это более сложные задачи, в среднем требующие больше времени на решение.
Тикеты, добравшиеся до третьего уровня (эскалированные со второго или отправленные напрямую с первого), обычно составляют небольшую часть всех поступивших обращений. Но это самые сложные задачи, решение которых требует высокого мастерства специалистов и значительных временных затрат.
Проблемы трехуровневой модели
Критиковать такую общепринятую структуру совсем непросто. Однако Swarming-движение нацелилось как раз на это, взяв за основу существенные, но исправимые недостатки многоуровневой модели. Давайте рассмотрим некоторые проблемы, затрагивающие DevOps.
Многоуровневая поддержка подразумевает несколько очередей. Поскольку первый уровень стремится решать проблемы максимально быстро, все, что не удалось исправить сразу, ставится в очередь. Фактический статус проблемы меняется, и она переходит из разряда текущих в отложенные. По существу уровни 2 и 3 являются складами задач, находящихся в процессе выполнения (Work in Progress), что является проблемой в рамках Lean-философии, которая лежит в основе DevOps. Успешное внедрение DevOps как части Lean требует решительных шагов по сокращению незавершенки (Work in Progress). Уже только эта проблема является существенным сдерживающим фактором прихода DevOps в техническую поддержку.
Swarming в качестве альтернативы
«Основанные на сотрудничестве сообщества могут преодолевать профессиональные и организационные барьеры, стимулируя кооперацию, обучение и прогресс».
(Don Tapscott и Anthony D. Williams, в Wikinomics)
Концепция Swarming была предложена в конце прошлого десятилетия в качестве новой платформы для организации технической поддержки. Она в явном виде отвергает консервативную многоуровневую структуру в пользу модели сетевого взаимодействия:
Ключевой компанией, которая первой начала внедрять эту систему, была Cisco. В 2008 году в документе под названием Digital Swarming она представила «Модель распределенного сотрудничества и принятия решений». Концепция была впоследствии принята организацией Consortium for Service Innovation, трансформировавшись в Intelligent Swarming. Некоторые из ее принципов гласят:
Не должно быть разделенных на уровни групп поддержки.
Не должно быть эскалации от одной группы к другой.
Задача должна передаваться напрямую тому сотруднику, который наверняка сможет ее решить.
Swarming на практике: пример структуры для DevOps
У Swarming нет единственной четко определенной структуры. Отчасти это объясняется новизной и, соответственно, малой распространенностью. Однако показанный ниже пример (основанный на swarming-методах поддержки пользователей, применяемых в BMC) является типичным. Он существенно улучшил работу службы поддержки (о чем было рассказано на UK’s Servicedesk and IT Support Show в 2015).
Swarming начинается при появлении проблемы, которую невозможно решить сразу в момент получения обращения от пользователя. Быстрая первичная сортировка задачи заканчивается ее отправкой в одну из двух групп (Swarms):
Первичная сортировка в структуре Swarm
Каждая группа (Swarm) — это небольшая команда, которая обрабатывает поступающие заявки в режиме, близком к реальному времени:
“Severity 1” Swarm (Группа по работе с инцидентами первой степени тяжести)
Эта группа нацелена на решение самых серьезных проблем. Ее участники координируют реакцию на сложные ситуации, подключают нужных людей, стараются организовать максимально быстрое решение критических проблем. Этот процесс не сильно отличается от процедуры реакции на серьезные происшествия (Major Incident), применяемой в традиционной многоуровневой модели. Однако параллельно развернута и другая группа, обрабатывающая гораздо большее количество обращений:
Dispatch Swarm (Группа диспетчеризации)
Этот тип групп появился в качестве ответа на основную проблему многоуровневой поддержки: множество обращений, которые могли быть решены очень быстро при попадании к правильному специалисту, теряются в списках незавершенных задач. Таким образом, решение пятиминутного вопроса может растягиваться на дни.
Участников этой группы буквально подталкивают к тому, чтобы «хватать вишенки», не обращая внимания на проблемы, которые нельзя исправить мгновенно. Таким образом, время, затрачиваемое на решение значительного количества типов задач, может быть сильно сокращено.
Есть и дополнительная выгода. Включение в состав неопытных сотрудников приводит к тому, что они получают знания, доступ к которым в многоуровневой модели появился бы только при переводе в узкоспециализированную команду. В то же время высококвалифицированные специалисты третьего уровня поддержки оказываются ближе к клиенту.
Использование Dispatch Swarming приводит к быстрому решению значительного числа задач (в BMC их количество составляет примерно 30%), а оставшиеся обращения попадают в очереди более привычных команд поддержки, которые занимаются отдельными линейками продуктов. Здесь многие задачи будут знакомы и понятны рядовым членам команды, поэтому их решение не должно вызывать трудностей. При этом еще одна часть обращений (возможно, около 30%) могут оказаться достойны внимания лучших специалистов службы поддержки независимо от их структурной принадлежности.
Здесь используется группа третьего типа: Backlog Swarm.
Backlog Swarm (Группа работы с накопившимися задачами)
Для решения наиболее сложных проблем Backlog Swarm объединяет группы опытных и квалифицированных инженеров, невзирая на географические и структурные границы. Они получают задачи от специалистов на местах, которым теперь запрещено напрямую обращаться к экспертам индивидуально. Вместо этого они должны передавать задачи в соответствующий Backlog Swarm.
Пример использования Swarming
При работе классической техподдержки в связке с DevOps проблемы многоуровневой модели только усиливаются. В этом случае активно накапливаются нерешенные задачи (Work in Progress backlogs), что, в свою очередь, ограничивает самостоятельность и гибкость. Такая система по сути своей является изолирующей. Перечисленные проблемы противоречат философии DevOps и являются главным вызовом на пути внедрения DevOps-практик в организациях с традиционной моделью ведения бизнеса.
Уже сейчас можно выделить следующие негативные моменты.
DevOps поощряет разработчиков программного обеспечения брать на себя его поддержку (что в народе иногда называется «сам написал — сам и разбирайся»). Однако в развитых службах поддержки, характерных для крупных организаций, многоуровневая структура является основным каналом, по которому проблемы пользователей добираются до инженеров. Как мы уже знаем, барьеры между первым уровнем поддержки и командной DevOps могут привести к задержке в решении проблем, а также к некачественной первичной обработке обращений.
Модель интеграции типа «выкинь это за забор», применяемая между ITSM-системами приема заявок и инструментами обеспечения жизненного цикла программного обеспечения DevOps-команд, приводит к недостатку ситуационной осведомленности сотрудников.
Напротив, концепция Swarming построена во многом на тех же принципах, которые находятся в основе успеха DevOps.
Динамичное кросс-функциональное сотрудничество, позволяющее собрать в одну команду специалистов, обладающих различными навыками и сферами компетенции.
Гибкие команды в противовес косным иерархическим структурам.
Самостоятельность в противовес догматичным процессам (ключевым примером здесь является возможность «хватать вишенки», работая в составе Dispatch Swarm).
Уменьшение количества ожидающих решения задач.
Заключение
«Большой бизнес не потому меняется медленно, что там работают глупые или ненавидящие технологии люди. Просто у них есть пользователи».
(Luke Kaines, основатель и генеральный директор, Puppet Labs. Configuration Management Camp, Бельгия, 2015)
DevOps ставит под сомнение саму суть установившихся консервативных методов работы, объединяя ранее изолированные роли разработчиков и специалистов служб эксплуатации, а также стараясь избавиться от укоренившихся неэффективных практик. Эта философия по большей части (если не полностью) сформировалась в организациях нового поколения, часто не имевших необходимости поддерживать устаревшие, но работающие системы и их пользователей.
Важно отметить, что это было сделано весьма успешно:
Теперь DevOps добрался до традиционных организаций, где в процессе внедрения (зачастую очень болезненного) ему предстоит столкнуться с новыми вызовами. Но для таких компаний это уже не вопрос улучшения, а необходимый шаг в борьбе за выживание. Изменения в форме «творческого разрушения» являются постоянной и реальной угрозой существованию крупных компаний. Только 12% списка Fortune 500 от 1955 года оставались в нем и в 2014.
ИТ-компании должны стараться везде, где только возможно, использовать свежие идеи и постоянно ставить под сомнение консервативные практики.
Swarming-движение начало атаку на модель многоуровневой поддержки, но прогресс в управлении ИТ-сервисами традиционных компаний идет медленно, поскольку он ограничен рамками использования лишь в нескольких дальновидных организациях. Однако близость основных элементов Swarming и DevOps сложно отрицать, и поэтому они имеют схожие проблемы внедрения, решение которых делает проще использование обеих систем.
Таким образом, существует необходимость переосмысления модели многоуровневой поддержки. Новая методология должна использовать преимущества DevOps, сохраняя работоспособность и эффективность в масштабах крупных компаний. Думаю, что Swarming вполне может подойти на эту роль.