Это гостевой пост, написанный в соавторстве с Рагху Боппанна из Vanguard.
At авангардный, направление Enterprise Advice улучшает результаты инвесторов благодаря цифровому доступу к превосходным, персонализированным и доступным финансовым консультациям. Они сделали это возможным, в частности, за счет экономии за счет масштаба по всему миру для инвесторов с высокоустойчивой и эффективной технической платформой. Компания Vanguard выбрала многорегиональную архитектуру для этой рабочей нагрузки, чтобы защитить региональные службы от нарушений. В целях обеспечения высокой доступности необходимо сделать данные, используемые рабочей нагрузкой, доступными не только в основном регионе, но и в дополнительном регионе с минимальной задержкой репликации. В случае ухудшения обслуживания в основном регионе решение должно быть способно переключаться на дополнительный регион с минимально возможной потерей данных и возможностью возобновления приема данных.
Офис облачных технологий Vanguard и AWS объединили усилия для создания инфраструктурного решения на базе AWS, отвечающего их требованиям к отказоустойчивости. Решение для нескольких регионов обеспечивает надежный механизм аварийного переключения со встроенными средствами наблюдения и восстановления. Решение также поддерживает потоковую передачу данных из нескольких источников в разные потоки данных Kinesis. В настоящее время решение развертывается для различных бизнес-групп, чтобы повысить устойчивость их рабочих нагрузок.
Обсуждаемый здесь вариант использования требует, чтобы Change Data Capture (CDC) передавала данные из удаленного источника данных (мейнфрейм DB2) в Потоки данных Amazon Kinesis, потому что от этих данных зависят возможности бизнеса. Kinesis Data Streams — это полностью управляемая, масштабируемая, надежная и недорогая служба потоковой передачи, которая может непрерывно собирать и передавать большие объемы данных из нескольких источников и делает данные доступными для использования в течение миллисекунд. Служба отличается высокой отказоустойчивостью и использует несколько зон доступности для обработки и хранения данных.
Решение, обсуждаемое в этом посте, объясняет, как AWS и Vanguard внедряли инновации для создания отказоустойчивой архитектуры для достижения своих целей в области высокой доступности.
Обзор решения
Решение использует AWS Lambda для репликации данных из потоков данных Kinesis в основном регионе в дополнительный регион. В случае какого-либо ухудшения обслуживания, влияющего на конвейер CDC, процесс аварийного переключения продвигает вторичный регион к первичному для производителей и потребителей. Мы используем Глобальные таблицы Amazon DynamoDB для контрольных точек репликации, который позволяет возобновить потоковую передачу данных из контрольной точки, а также поддерживает флаг конфигурации основного региона, который предотвращает бесконечный цикл репликации одних и тех же данных туда и обратно.
Это решение также позволяет потребителям Kinesis Data Streams использовать основной или любой дополнительный регион в рамках одной учетной записи AWS.
Следующая диаграмма иллюстрирует эталонную архитектуру.
Рассмотрим подробно каждый компонент:
- Процессор CDC (производитель) – В этой эталонной архитектуре производитель развернут на Эластичное вычислительное облако Amazon (Amazon EC2) как в основном, так и в дополнительном регионах, активен в основном регионе и находится в режиме ожидания в дополнительном регионе. Он собирает данные CDC из внешнего источника данных (например, из базы данных DB2, как показано в приведенной выше архитектуре) и передает потоки в Kinesis Data Streams в основном регионе. Авангард использует 3rd партийный инструмент Qlik Replicate в качестве процессора CDC. Он создает правильно сформированную полезную нагрузку, включая метку времени фиксации DB2 для потока данных Kinesis, в дополнение к фактическим данным строки из удаленного источника данных. (
example-stream-1
в этом примере). Следующий код представляет собой пример полезной нагрузки, содержащей только первичный ключ измененной записи и отметку времени фиксации (для простоты остальная часть данных строки таблицы ниже не показана):{ "eventSource": "aws:kinesis", "kinesis": { "ApproximateArrivalTimestamp": "Mon July 18 20:00:00 UTC 2022", "SequenceNumber": "49544985256907370027570885864065577703022652638596431874", "PartitionKey": "12349999", "KinesisSchemaVersion": "1.0", "Data": "eyJLZXkiOiAxMjM0OTk5OSwiQ29tbWl0VGltZXN0YW1wIjogIjIwMjItMDctMThUMjA6MDA6MDAifQ==" }, "eventId": "shardId-000000000000:49629136582982516722891309362785181370337771525377097730", "invokeIdentityArn": "arn:aws:iam::6243876582:role/kds-crr-LambdaRole-1GZWP67437SD", "eventName": "aws:kinesis:record", "eventVersion": "1.0", "eventSourceARN": "arn:aws:kinesis:us-east-1:6243876582:stream/kds-stream-1/consumer/kds-crr:6243876582", "awsRegion": "us-east-1" }
Декодированное в Base64 значение
Data
как следует. Фактическая запись Kinesis будет содержать полные данные строки таблицы, которая была изменена, в дополнение к первичному ключу и метке времени фиксации.{"Key": 12349999,"CommitTimestamp": "2022-07-18T20:00:00"}
Ассоциация
CommitTimestamp
вData
Поле используется в контрольной точке репликации и имеет решающее значение для точного отслеживания того, какая часть данных потока была реплицирована в дополнительный регион. Затем контрольную точку можно использовать для упрощения аварийного переключения процессора CDC (производителя) и точного возобновления производства данных с временной метки контрольной точки репликации и далее.Альтернатива использованию удаленного источника данных
CommitTimestamp
(если недоступен) использоватьApproximateArrivalTimestamp
(это метка времени, когда запись фактически записывается в поток данных). - Лямбда-функция межрегиональной репликации – Функция развернута как в основном, так и в дополнительном регионах. Он настроен с сопоставлением источника событий с потоком данных, содержащим данные CDC. Одну и ту же функцию можно использовать для репликации данных нескольких потоков. Он вызывается с пакетом записей из Kinesis Data Streams и реплицирует пакет в целевой регион репликации (который предоставляется через среду конфигурации Lambda). Из соображений стоимости, если данные CDC активно создаются только в основном регионе, зарезервированный параллелизм функции в дополнительном регионе может быть установлен равным нулю и изменен во время регионального аварийного переключения. Функция имеет Управление идентификацией и доступом AWS (IAM) для выполнения следующих действий:
- Чтение и запись в глобальные таблицы DynamoDB, используемые в этом решении, в рамках одной учетной записи.
- Чтение и запись в Kinesis Data Streams в обоих регионах в рамках одной учетной записи.
- Публикация пользовательских метрик в Amazon CloudWatch в обоих регионах в рамках одной учетной записи.
- Контрольная точка репликации – Контрольная точка репликации использует глобальную таблицу DynamoDB как в основном, так и в дополнительном регионах. Он используется функцией Lambda межрегиональной репликации для сохранения отметки времени фиксации последней записи репликации в качестве контрольной точки репликации для каждого потока, настроенного для репликации. Для этого поста мы создаем и используем глобальную таблицу с именем
kdsReplicationCheckpoint
. - Конфигурация активного региона – Активный регион использует глобальную таблицу DynamoDB как в основном, так и в дополнительном регионах. Он использует собственные возможности межрегиональной репликации глобальной таблицы для репликации конфигурации. Он предварительно заполняется данными о том, какой регион является основным для потока, чтобы предотвратить репликацию обратно в основной регион с помощью функции Lambda в резервном регионе. Эта конфигурация может не потребоваться, если функция Lambda в резервном регионе имеет зарезервированный параллелизм, равный нулю, но может служить в качестве проверки безопасности, чтобы избежать бесконечного цикла репликации данных. Для этого поста мы создаем глобальную таблицу с именем
kdsActiveRegionConfig
и поместите элемент со следующими данными:{ "stream-name": "example-stream-1", "active-region" : "us-east-1" }
- Потоки данных Kinesis – Поток, в который процессор CDC производит данные. Для этого поста мы используем поток под названием
example-stream-1
в обоих регионах с одинаковой конфигурацией сегмента и политиками доступа.
Последовательность шагов межрегиональной репликации
Давайте кратко рассмотрим, как реализуется архитектура, используя следующую диаграмму последовательности.
Последовательность состоит из следующих шагов:
- Процессор CDC (в
us-east-1
) считывает данные CDC из удаленного источника данных. - Процессор CDC (в
us-east-1
) передает данные CDC в Kinesis Data Streams (вus-east-1
). - Лямбда-функция межрегиональной репликации (в us-east-1) потребляет данные из потока данных (в
us-east-1
). Улучшенный шаблон разветвления рекомендуется для выделенной и повышенной пропускной способности репликации между регионами. - Лямбда-функция репликатора (в
us-east-1
) проверяет свой текущий регион с активной конфигурацией региона для потребляемого потока с помощьюkdsActiveRegionConfig
Глобальная таблица DynamoDB. Следующий пример кода (на Java) может помочь проиллюстрировать оцениваемое условие:// Fetch the current AWS Region from the Lambda function’s environment String currentAWSRegion = System.getenv(“AWS_REGION”); // Read the stream name from the first Kinesis Record once for the entire batch being processed. This is done because we are reusing the same Lambda function for replicating multiple streams. String currentStreamNameConsumed = kinesisRecord.getEventSourceARN().split(“:”)[5].split(“/”)[1]; // Build the DynamoDB query condition using the stream name Map<String, Condition> keyConditions = singletonMap(“streamName”, Condition.builder().comparisonOperator(EQ).attributeValueList(AttributeValue.builder().s(currentStreamNameConsumed).build()).build()); // Query the DynamoDB Global Table QueryResponse queryResponse = ddbClient.query(QueryRequest.builder().tableName("kdsActiveRegionConfig").keyConditions(keyConditions).attributesToGet(“ActiveRegion”).build());
- Функция оценивает ответ DynamoDB с помощью следующего кода:
// Evaluate the response if (queryResponse.hasItems()) { AttributeValue activeRegionForStream = queryResponse.items().get(0).get(“ActiveRegion”); return currentAWSRegion.equalsIgnoreCase(activeRegionForStream.s()); }
- В зависимости от ответа функция выполняет следующие действия:
- Если ответ
true
, функция репликатора создает записи в Kinesis Data Streams вus-east-2
последовательным образом.- В случае сбоя отслеживается порядковый номер записи и итерация прерывается. Функция возвращает список неудачных порядковых номеров. Возвращая ошибочный порядковый номер, решение использует функцию контрольно-пропускной пункт лямбда иметь возможность возобновить обработку пакета записей с частичными сбоями. Это полезно при обработке любых ухудшений обслуживания, когда функция пытается реплицировать данные между регионами, чтобы обеспечить четность потоков и отсутствие потери данных.
- Если ошибок нет, возвращается пустой список, что указывает на то, что пакет прошел успешно.
- Если ответ
false
, функция репликатора возвращается без выполнения какой-либо репликации. Чтобы уменьшить стоимость вызовов Lambda, вы можете установить зарезервированный параллелизм функции в регионе DR (us-east-2
) до нуля. Это предотвратит вызов функции. При отработке отказа вы можете обновить это значение до соответствующего числа в зависимости от пропускной способности CDC и установить зарезервированный параллелизм функции вus-east-1
на ноль, чтобы предотвратить его выполнение без необходимости.
- Если ответ
- После создания всех записей в Kinesis Data Streams в
us-east-2
, контрольные точки функции репликатораkdsReplicationCheckpoint
Глобальная таблица DynamoDB (вus-east-1
) со следующими данными:{ "streamName": "example-stream-1", "lastReplicatedTimestamp": "2022-07-18T20:00:00" }
- Функция возвращается после успешной обработки пакета записей.
Соображения производительности
Ожидаемая производительность решения должна пониматься с учетом следующих факторов:
- Выбор региона – Задержка репликации прямо пропорциональна расстоянию, которое проходят данные, поэтому учитывайте выбор региона.
- Скорость – Входящая скорость данных или объем реплицируемых данных
- Размер полезной нагрузки – Размер реплицируемой полезной нагрузки
Мониторинг репликации между регионами
Рекомендуется отслеживать и наблюдать за репликацией по мере ее возникновения. Вы можете настроить функцию Lambda для публикации пользовательских метрик в CloudWatch со следующими метриками в конце каждого вызова. Публикация этих показателей как в основном, так и в дополнительном регионах помогает защитить себя от нарушений, влияющих на наблюдаемость в основном регионе.
- Увеличить пропускную способность – Текущий размер пакета вызовов Lambda
- РепликацияLagSeconds – Разница между текущей отметкой времени (после обработки всех записей) и
ApproximateArrivalTimestamp
последней записи, которая была реплицирована
На следующем примере графика метрик CloudWatch показано, что средняя задержка репликации составила 2 секунды при пропускной способности 100 записей, реплицированных из us-east-1
в us-east-2
.
Общая стратегия аварийного переключения
Во время любых сбоев, влияющих на конвейер CDC в основном регионе, потребности в непрерывности бизнеса или аварийном восстановлении могут потребовать переключения конвейера на резервный (резервный) регион. Это означает, что в процессе отработки отказа необходимо выполнить несколько действий:
- Если возможно, остановите все задачи CDC в инструменте процессора CDC в
us-east-1
. - Процессор CDC должен быть переключен на резервный регион, чтобы он мог считывать данные CDC из удаленного источника данных, работая за пределами резервного региона.
- Ассоциация
kdsActiveRegionConfig
Необходимо обновить глобальную таблицу DynamoDB. Например, для потокаexample-stream-1
используемом в нашем примере, активный регион изменяется наus-east-2
:
{ "stream-name": "example-stream-1", "active-Region" : "us-east-2"
}
- Все контрольные точки потока должны быть прочитаны из
kdsReplicationCheckpoint
Глобальная таблица DynamoDB (вus-east-2
), а временные метки каждой из контрольных точек используются для запуска задач CDC в инструменте производителя вus-east-2
Область, край. Это сводит к минимуму вероятность потери данных и точно возобновляет потоковую передачу данных CDC из удаленного источника данных, начиная с временной метки контрольной точки. - Если для управления вызовами Lambda используется зарезервированный параллелизм, установите значение на ноль в основном регионе (
us-east-1
) и к подходящему ненулевому значению во вторичном регионе(us-east-2
).
Многоступенчатая стратегия аварийного переключения Vanguard
Некоторые из сторонних инструментов, которые использует Vanguard, имеют двухэтапный процесс CDC для потоковой передачи данных из удаленного источника данных в пункт назначения. Инструмент, выбранный Vanguard для их процессора CDC, следует этому двухэтапному подходу:
- Первый шаг включает в себя настройку задачи потока журналов, которая считывает данные из удаленного источника данных и сохраняется в промежуточном расположении.
- Второй шаг включает в себя настройку отдельных потребительских задач, которые считывают данные из промежуточного местоположения, которое может быть на Эластичная файловая система Amazon (Amazon EFS) или Амазон ФСх, например, и передать его получателю. Гибкость здесь заключается в том, что каждая из этих потребительских задач может запускаться для потоковой передачи с разных временных меток фиксации. Задача потока журнала обычно начинает чтение данных с минимальной из всех временных меток фиксации, используемых задачами-потребителями.
Давайте посмотрим на пример, чтобы объяснить сценарий:
- Задача потребителя A передает данные с временной метки фиксации 2022-07-19T20:00:00 и далее в
example-stream-1
. - Задача потребителя B передает данные с временной метки фиксации 2022-07-19T21:00:00 и далее в
example-stream-2
. - В этой ситуации поток журнала должен считывать данные из удаленного источника данных с минимальной из меток времени, используемых задачами-потребителями, то есть 2022-07-19T20:00:00.
На следующей диаграмме последовательности показаны точные шаги, которые необходимо выполнить во время аварийного переключения на us-east-2
(резервный регион).
Эти шаги заключаются в следующем:
- Процесс аварийного переключения запускается в резервном регионе (
us-east-2
в этом примере) при необходимости. Обратите внимание, что триггер можно автоматизировать с помощью комплексных проверок работоспособности конвейера в основном регионе. - Процесс отработки отказа обновляет глобальную таблицу kdsActiveRegionConfig DynamoDB новым значением для региона как
us-east-2
для всех имен потоков. - Следующим шагом является получение всех контрольных точек потока из
kdsReplicationCheckpoint
Глобальная таблица DynamoDB (вus-east-2
). - После считывания информации о контрольной точке процесс аварийного переключения находит минимум всех
lastReplicatedTimestamp
. - Задача потока журнала в инструменте процессора CDC запускается в
us-east-2
с отметкой времени, найденной на шаге 4. Он начинает считывать данные CDC из удаленного источника данных, начиная с этой отметки времени, и сохраняет их в промежуточном расположении на AWS. - Следующим шагом является запуск всех задач потребителя для чтения данных из промежуточного расположения и потоковой передачи в целевой поток данных. Здесь каждая потребительская задача снабжена соответствующей меткой времени из
kdsReplicationCheckpoint
таблица в соответствии сstreamName
которому задача передает данные.
После запуска всех потребительских задач данные передаются в потоки данных Kinesis в us-east-2. С этого момента процесс межрегиональной репликации аналогичен описанному ранее — репликационная лямбда-функция в us-east-2
начинает репликацию данных в поток данных в us-east-1
.
Ожидается, что потребительские приложения, считывающие данные из потоков, будут идемпотентными, чтобы иметь возможность обрабатывать дубликаты. Дубликаты могут появляться в потоке по многим причинам, некоторые из которых перечислены ниже.
- Производитель или обработчик CDC вводит дубликаты в поток при воспроизведении данных CDC во время отработки отказа.
- Глобальная таблица DynamoDB использует асинхронную репликацию данных между регионами, и если
kdsReplicationCheckpoint
данные таблицы имеют задержку репликации, процесс отработки отказа потенциально может использовать более старую временную метку контрольной точки для воспроизведения данных CDC.
Кроме того, потребительские приложения должны проверять CommitTimestamp последней использованной записи. Это должно способствовать лучшему мониторингу и восстановлению.
Путь к зрелости: автоматическое восстановление
Идеальным состоянием является полная автоматизация процесса отработки отказа, сокращение времени восстановления и соблюдение целевого уровня обслуживания (SLO) устойчивости. Однако в большинстве организаций решение о переходе на другой ресурс, восстановлении после сбоя и запуске аварийного переключения требует ручного вмешательства для оценки ситуации и определения результата. Создание скриптовой автоматизации для выполнения аварийного переключения, которое может выполнять человек, — хорошее место для начала.
Vanguard автоматизировал все этапы аварийного переключения, но люди по-прежнему принимают решение о том, когда его вызывать. Вы можете настроить решение в соответствии со своими потребностями и в зависимости от инструмента процессора CDC, который вы используете в своей среде.
Заключение
В этом посте мы описали, как компания Vanguard внедрила и создала решение для репликации данных между регионами в Kinesis Data Streams, чтобы обеспечить высокую доступность данных. Мы также продемонстрировали надежную стратегию контрольных точек, чтобы при необходимости облегчить региональный отказоустойчивый процесс репликации. В решении также показано, как использовать глобальные таблицы DynamoDB для отслеживания контрольных точек и конфигурации репликации. Благодаря этой архитектуре Vanguard смогла развернуть рабочие нагрузки в зависимости от данных CDC в нескольких регионах, чтобы удовлетворить потребности бизнеса в высокой доступности в условиях ухудшения обслуживания, влияющего на конвейеры CDC в основном регионе.
Если у вас есть какие-либо отзывы, пожалуйста, оставьте комментарий в разделе комментариев ниже.
Об авторах
Рагху Боппанна работает корпоративным архитектором в главном технологическом офисе компании Vanguard. Рагху специализируется на аналитике данных, миграции/репликации данных, включая конвейеры CDC, аварийном восстановлении и базах данных. Он получил несколько сертификатов AWS, в том числе сертификаты AWS Certified Security — Specialty и AWS Certified Data Analytics — Specialty.
Парамешваран V Вайдьянатан является старшим архитектором облачной устойчивости в Amazon Web Services. Он помогает крупным предприятиям достигать бизнес-целей, разрабатывая и создавая масштабируемые и отказоустойчивые решения в облаке AWS.
Рича Каул является старшим руководителем в области клиентских решений, обслуживающих клиентов финансовых услуг. Она базируется в Нью-Йорке. У нее большой опыт в крупномасштабной облачной трансформации, повышении квалификации сотрудников и цифровых решениях следующего поколения. Она и ее команда сосредоточены на оптимизации ценности облака путем создания производительных, отказоустойчивых и гибких решений. Рича увлекается различными видами спорта, такими как триатлон, музыка и изучение новых технологий.
Митхил Прасад является главным менеджером по работе с клиентами в Amazon Web Services. В своей роли Митхил работает с клиентами, чтобы стимулировать реализацию преимуществ облака, обеспечивать передовые идеи, чтобы помочь компаниям достичь скорости, гибкости и инноваций.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. Доступ здесь.
- Источник: https://aws.amazon.com/blogs/big-data/how-vanguard-made-their-technology-platform-resilient-and-efficient-by-building-cross-region-replication-for-amazon-kinesis-data-streams/
- 1
- 100
- 2022
- 28
- a
- способность
- в состоянии
- О нас
- выше
- доступ
- По
- Учетная запись
- точно
- Достигать
- через
- действия
- активный
- активно
- на самом деле
- дополнение
- совет
- затрагивающий
- доступной
- После
- против
- проворный
- Все
- позволяет
- альтернатива
- Amazon
- Amazon EC2
- Амазонка Кинезис
- Amazon Web Services
- суммы
- аналитика
- и
- Приложения
- подхода
- соответствующий
- архитектура
- автоматизировать
- Автоматизированный
- автоматизация
- свободных мест
- доступен
- в среднем
- избежать
- AWS
- Сертифицировано AWS
- назад
- основанный
- , так как:
- не являетесь
- ниже
- Лучшая
- между
- кратко
- Сломанный
- строить
- Строительство
- построенный
- встроенный
- бизнес
- Непрерывность бизнеса
- бизнес
- под названием
- захватить
- перехватывает
- случаев
- CDC
- сертификаты
- Сертифицированные
- шансы
- изменение
- проверка
- Проверки
- главный
- выбор
- облако
- ОБЛАЧНЫЕ ТЕХНОЛОГИИ
- код
- комментарий
- Комментарии
- совершать
- компонент
- комплексный
- Вычисление
- состояние
- Конфигурация
- соображения
- потребленный
- потребитель
- Потребители
- потребление
- непрерывно
- контроль
- Цена
- может
- Пара
- Создайте
- Создающий
- критической
- Текущий
- В настоящее время
- изготовленный на заказ
- клиент
- Решения для клиентов
- Клиенты
- настроить
- данным
- Анализ данных
- Потеря данных
- База данных
- базы данных
- Решение
- решение
- преданный
- убивают
- демонстрирует
- в зависимости
- зависит
- развертывание
- развернуть
- описано
- назначение
- подробность
- разница
- различный
- Интернет
- непосредственно
- катастрофа
- обсуждается
- расстояние
- управлять
- вождение
- дубликаты
- в течение
- каждый
- Ранее
- заработанный
- экономия
- Экономия от масштаба
- эффективный
- Сотрудник
- позволяет
- расширение
- обеспечивать
- Предприятие
- предприятий
- Весь
- Окружающая среда
- Эфир (ETH)
- оценивать
- оценивается
- События
- Каждая
- пример
- Превосходство
- проведение
- ожидания
- ожидаемый
- опыт
- Объяснять
- Объясняет
- обширный
- и, что лучший способ
- Лицо
- содействовал
- факторы
- FAIL
- XNUMX ошибка
- Ошибка
- Особенность
- Обратная связь
- поле
- Файл
- финансовый
- финансовые услуги
- находит
- First
- Трансформируемость
- Фокус
- после
- следующим образом
- Для инвесторов
- найденный
- от
- полностью
- функция
- поколение
- Глобальный
- земной шар
- Цели
- хорошо
- график
- GUEST
- Guest Post
- обрабатывать
- Управляемость
- происходит
- Медицина
- помощь
- помогает
- здесь
- High
- очень
- Как
- How To
- Однако
- HTTPS
- человек
- Людей
- IAM
- идеальный
- Личность
- нарушение
- улучшать
- улучшается
- in
- В том числе
- Входящий
- расширились
- указывает
- individual
- информация
- Инфраструктура
- Инновации
- пример
- вмешательство
- выпустили
- Представляет
- инвестор
- Инвесторы
- включает в себя
- IT
- итерация
- Java
- июль
- Основные
- Потоки данных Kinesis
- большой
- Фамилия
- Задержка
- лидер
- Наша команда
- изучение
- Оставлять
- уровень
- линия
- линий
- Список
- мало
- расположение
- посмотреть
- от
- сделанный
- поддерживает
- сделать
- ДЕЛАЕТ
- управляемого
- менеджер
- способ
- руководство
- многих
- отображение
- массивно
- зрелость
- означает
- механизм
- Встречайте
- заседания
- метрический
- Метрика
- минимальный
- минимальный
- режим
- модифицировало
- Мониторинг
- самых
- много
- с разными
- Музыка
- имя
- имена
- родной
- Необходимость
- необходимый
- потребности
- Новые
- Новые технологии
- New York
- следующий
- номер
- номера
- цель
- наблюдать
- Офис
- операционный
- оптимизирующий
- организации
- Результат
- соотношение
- часть
- партнерство
- вечеринка
- шаблон
- выполнять
- производительность
- выполнения
- Разрешения
- сохраняется
- Персонализированные
- трубопровод
- Часть
- Платформа
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- пожалуйста
- сборах
- возможное
- После
- потенциально
- предотвращать
- первичный
- Основной
- процесс
- обработка
- процессор
- Произведенный
- производитель
- Производители
- способствует
- для защиты
- обеспечивать
- при условии
- приводит
- публиковать
- Издательство
- целей
- положил
- Читать
- Reading
- реализация
- причины
- Управление по борьбе с наркотиками (DEA)
- запись
- учет
- Recover
- выздоровление
- уменьшить
- снижение
- область
- региональный
- районы
- удаленные
- реплицируются
- копирует
- копирование
- обязательный
- Требования
- требуется
- зарезервированный
- упругость
- упругий
- ответ
- ОТДЫХ
- продолжить
- возвращают
- возвращение
- Возвращает
- надежный
- Роли
- Прокат
- РЯД
- Run
- Сохранность
- то же
- масштабируемые
- Шкала
- сценарий
- Во-вторых
- вторичный
- секунды
- Раздел
- безопасность
- старший
- Последовательность
- служить
- обслуживание
- Услуги
- выступающей
- набор
- установка
- несколько
- должен
- показанный
- Шоу
- простота
- ситуация
- Размер
- So
- Решение
- Решения
- некоторые
- Источник
- Источники
- специализируется
- Специальные
- скорость
- Спорт
- инсценировка
- Начало
- и политические лидеры
- начинается
- Область
- Шаг
- Шаги
- По-прежнему
- Stop
- магазин
- Стратегия
- поток
- потоковый
- потоковая служба
- потоки
- успешный
- Успешно
- подходящее
- топ
- поставляется
- Поддержка
- система
- ТАБЛИЦЫ
- принимает
- цель
- Сложность задачи
- задачи
- команда
- команды
- Технический
- технологии
- Технологии
- Ассоциация
- их
- вещи
- сторонние
- мысль
- продуманное лидерство
- Через
- пропускная способность
- время
- отметка времени
- в
- инструментом
- инструменты
- трек
- Отслеживание
- трансформация
- поездка
- вызвать
- срабатывает
- понимать
- понимать
- необязательно
- Обновление ПО
- обновление
- Updates
- использование
- прецедент
- обычно
- UTC
- ценностное
- авангардный
- Скорость
- с помощью
- объем
- Web
- веб-сервисы
- который
- в то время как
- будете
- в
- без
- работает
- бы
- записывать
- письменный
- ВАШЕ
- себя
- зефирнет
- нуль
- зоны