`

СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ

Чи використовує ваша компанія ChatGPT в роботі?

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Машинное обучение в финансовой индустрии

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

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

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

Порталы самообслуживания пользователей

Колл-центры уходят в прошлое, так как новое поколение потребителей уверенно используют мобильный банкинг и прочие новинки технологий. Миллениалы и Поколение Z пользуются смартфонами для управления своими финансами и не нуждаются в звонках в службу техподдержки. По данным Business Insider, более 44% клиентов банков в США предпочитают общаться с ботами, а не с сотрудниками колл-центров.

Внедрение моделей машинного обучения в качестве чатботов позволит сэкономить более $27 мрлд зарплатного фонда в сфере страхования и финансовых услуг. Кроме того, это позволит исключить человеческий фактор, так как алгоритм ИИ никогда не устает, не злится и не спит, никогда не кричит на клиента и постоянно улучшает качество обслуживания.

Управление рисками в банках и финансовых учреждениях

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

Юридическая проверка соответствия регуляторным актам

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

Юридический отдел должен постоянно анализировать и обновлять огромный объем информации о своих текущих и потенциальных клиентах. Добавьте к этому разделения компаний, их слияния и поглощения, и вы ясно поймете, почему это адская работа. Внедрение алгоритмов МО поможет юридическому отделу направлять весь поток данных из разных разрозненных систем и источников в централизованное хранилище для эффективного хранения, обработки и использования. Это приведет к тому, что скрининг клиентов будет проходить значительно быстрее.

Управление кредитным портфелем (CPM)

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

В результате менеджеры банка смогут принять меры и использовать гораздо более персонализированный подход в каждом случае. Это поможет сохранить кредитный портфель в плюсе и резко сократит процент безвозвратных кредитов. Отчет Forrester описывает растущую роль AI в получении ценной информации из неструктурированных данных и преимуществ, которые она приносит для банков.

Робо-консультанты для управления капиталом

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

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

Наиболее важные перспективы использования машинного обучения в финансах

Хотя описанные пять случаев могут показаться довольно очевидными, одна важная проблема была оставлена за пределами этой статьи. А именно, влияние внедрения технологий ИИ и МО в банковской и финансовой областях.

Просто подумайте об этом. Чатботы намного лучше, чем реальные представители поддержки клиентов... и со временем они становятся только лучше. Поскольку миллениалы стали доминирующей частью рабочей силы во всем мире еще в 2016 году, и они предпочитают чатботы... техподдержка клиентов почти обречена на вымирание.

Управление рисками существенно лучше, когда модель машинного обучения получает доступ к ПОЛНОМУ объему доступных данных и может быстро его обрабатывать. Теперь не нужно ждать результата от опытных, но гораздо более медленных и очень хорошо оплачиваемых бизнес-аналитиков. Результат очевиден — компания экономит деньги, аналитики теряют работу.

Проверки соответствия требованиям нормативных актов вроде Патриотического акта США или GDPR, которые вступил в силу в мае 2018 года, — это также области, в которых алгоритм машинного обучения может выполнять в десять раз больше работы, чем любой клерк. Просто подумайте о ограниченном рабочем времени сотрудников, больничных листах, праздниках и отпусках... в то время как модель машинного обучения работает днем и ночью, чтобы быстрее получить результаты. Речь не идет о надежности или сострадании — речь идет об эффективности и производительности. Эффективность в бизнесе часто означает безжалостность.

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

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

Это позволяет повысить ценность клиента, обслуживать его лучше, быстрее и дешевле в для компании... поэтому главные руководители финансовой индустрии в основном говорят в черно-белых тонах. Чтобы проиллюстрировать правдивость этого подхода, 5 ведущих банков США закрыли более 400 местных филиалов в 2016 году, уволили тысячи людей и получили огромный прирост прибыли благодаря внедрению технологии машинного обучения для проведения рутинных операций.

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

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

Достижения в облачной индустрии. Большая тройка

За прошедший год у трех крупнейших игроков в сегменте облачных технологий - AWS, Google Cloud и Azure - произошло немало важных событий. Попробуем  подытожить наиболее важные из них

Большая Тройка поставщиков услуг облачного хостинга — AWS, Google Cloud и Azure — являются лидерами в сфере инноваций в индустрии. Немало усилий прикладывают и IBM, Oracle, Alibaba и другие вендоры, но основная часть новостей и достижений приходится на долю трех ведущих компаний.

Достижения в облачной индустрии. Большая тройка

Начнем с облачной платформы Microsoft, которая, как следует из недавно опубликованного отчета за 2017 фискальный год, зафиксировала годовую выручку в 20 млрд долл с приростом пользователей в 98% за отчетный период. Что же послужило причиной таких впечатляющих достижений?

Пожалуй, самый важный фактор - результаты работы 5,000 человек в научно-исследовательском отделе Azure, целиком посвященном созданию новых продуктов и услуг с использованием ИИ и машинного обучения. Платформа ИИ Azure стала значительно мощнее за прошедший год и предоставляет разработчикам и пользователям множество функций для повышения удобства работы с сервисами Azure и решения разнообразных задач.

Microsoft Azure в общем нацелена на реструктуризацию всех облачных услуг в цельную систему, ориентированную на удобство и простоту использования конечным пользователем, и ИИ играет в этом ключевую роль, по словам CEO Майкрософт Сатия Наделла.

“Для нас нет различий между работой облачных решений или локального ПО. Усиленные ИИ облачные сервисы и управляемый ИИ Интернет вещей — вот архитектурный паттерн, к которому мы стремимся. От SQL Server до контейнеризации приложений и безсерверных вычислений, мы строим наше ПО по принципу того, что распределенные решения должны быть распределенными”, заявил Сатья Наделла (Satya Nadella), глава Microsoft.

Компания претворяет в жизнь обозначенную выше стратегию. Недавно, например, были объединены в один пакет услуг Офис 365, Dynamics 365 CRM и различные сервисы Azure, чтобы предоставить пользователю новый архетип услуг — ориентированных на удобство использования и управляемых ИИ.

Новая долгосрочная стратегия развития компании помогла Сатье Наделле реструктурировать компанию и укрепить ее позиции, сделав Microsoft безусловным лидером в мире разработки ПО и оказания связанных с этим услуг. Результатом таких действий стало то, что за 3,5 года Наделлы на посту исполнительного директора, рыночная стоимость компании Майкрософт выросла на 250 миллиардов долларов — и продолжает расти.

Хотя Microsoft и удерживает пальму первенства в сфере разработки и обслуживания программного обеспечения, AWS является безусловным лидером в области оказания услуг облачного хостинга корпоративного уровня и сопутствующих сервисов.

Достижения в облачной индустрии. Большая тройка

В ноябре 2017 года на выставке AWS re:Invent 2017 было представлено множество новых продуктов и услуг компании:

  • AWS Fargate - запуск Docker-контейнеров с приложениями без необходимости размещения и настройки Kubernetes-кластеров. Это следующий шаг в развитии облачных технологий — просто загрузите контейнер и запускайте его, оставьте всю возню с инфраструктурой команде AWS.
  • Alexa SDK. Amazon обратила внимание пользователей на то, что их голосовой помощник  Alexa уже поддерживается более чем 4,000 устройств от более чем 1,200 компаний. С каждым днем можно строить все более сложные экосистемы с Alexa, и Amazon открыла в общий доступ SDK, что позволит разработчикам создавать навыки Alexa — аналог приложений, которые можно будет использовать с Алексой. Компания Amazon заявила, что они превысили поставленные цели по росту продаж Алексы в 2017 году, и планируют удвоить эти показатели в 2018.
  • Джефф Безос презентовал еще одну важную услугу — Amazon Sagemaker. Эта комплексная платформа от Amazon позволяет создавать, обучать и размещать алгоритмы ИИ в любом масштабе — и для этого вам не потребуется докторская степень по кибернетике :) По данным журнала Wired, главой команды разработки ИИ для Амазона является Алекс Смола — легендарный эксперт в области разработки искусственного интеллекта с более чем 90 тыс. упоминаний в  академических изданиях. Sagemaker предоставляет пользователям AWS простой и доступный способ для запуска сложных моделей машинного обучения на инфраструктуре AWS. Таким образом, Amazon Sagemaker может стать прекрасным инструментом для бизнеса, позволяющим воплощать в жизнь различные решения на основе ИИ без необходимости привлекать для их создания экспертов с долларовой зарплатой с 6 нулями.

На майском AWS Summit 2018 London было также представлено множество нововведений, включая новые продукты и услуги для Aurora, облачной базы данных от Амазона, новые услуги для S3/Glacier select и новые возможности по обеспечению безопасности инфраструктуры AWS. Компания Амазон также концентрирует усилия на разработке систем ИИ и машинного обучения, Интернета вещей и других передовых технологий. Эти разработки были проиллюстрированы бизнес-кейсом от Jaguar Land Rover, иллюстрирующим применение технологий AWS для разработки самоуправляющихся автомобилей.

Достижения в облачной индустрии. Большая тройка

Теперь перейдем к Google, прошлый год и первая половина нынешенго были отличным периодом для компании. Google Cloud вместе с Google Productivity Suite принесли 4 млрд долл, а авторитетные Forrester и Gartner назвали Google Cloud Platform (GCP) лидером в предоставлении услуг IaaS и в сфере обеспечения безопасности облачных решений.

Одним из важных успехов для GCP стало принятие компанией Docker платформы Kubernetes от Google как базового инструмента для управления контейнерами и приложениями. Довольно долго Docker пытались популяризовать свою разработку, Docker Swarm, и подкрепляли свою позицию достаточно внушительной статистикой. Однако, бОльшая часть пользователей предпочитала работать с Kubernetes, что и привело в итоге к принятию данной платформы как базовой для Docker в ноябре 2017 года. 

Это привело к резкому росту использования Google Kubernetes Engine, благодаря значительно упрощенному алгоритму запуска и настройки. К настоящему моменту GCP имеет более 4 миллионов активных пользователей и является наиболее динамично растущим поставщиком облачных услуг. Хотя компания и занимает сейчас 3 место в Большой Тройке, она однозначно увеличит свою долю рынка.

Достижения в облачной индустрии. Большая тройка

GCP может поспорить с AWS или Azure в области эффективности ценообразования, распределения ресурсов и понятности услуг. Google BigQuery — достойная альтернатива предложениям по работе с ИИ от Azure или AWS для обработки больших данных и проведения их анализа с использованием моделей машинного обучения. К тому же, посекундная оплата для стандартных инстансов и миллисекундная тарификация для бессерверных вычислений делает предложения от Google чрезвычайно выгодными для бизнеса.

Достижения в облачной индустрии. Большая тройка

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

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

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

3 шага к эффективной работе ИТ-отдела по методам DevOps

Многие компании все еще считают ИТ-отдел вторичным элементом, требующим затрат но не приносящим прибыли. Во многом это мнение основано на устаревших методах работы, использовании неконкурентоспособных систем и оборудования.

Применение методов DevOps позволяет решить эти проблемы и превратить департамент ИТ в лидера по генерации прямой и косвенной прибыли, оптимизировать связанные с ним расходы и повысить эффективность работы бизнеса в целом.

Итак, три простых шага к построению эффективной работы ИТ-отдела по принципам DevOps.

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

К сожалению, многие компании как на Западе, так и на постсоветском пространстве неправильно воспринимают саму концепцию DevOps. Они считают, что если посадить в одной комнате разработчиков, отдел QA и системных администраторов, и научить их всех основам рабочих процессов друг друга — то все это даст в итоге волшебный эффект DevOps. При этом важно помнить, что DevOps-инженер и сисадмин - совсем разные люди.

На самом деле идеология DevOps заключается в том, что ответственность разработчиков за написанный ими код НЕ заканчивается в момент передачи его в эксплуатацию, QA и тестирование НЕ начинаются после написания продукта, а сетевые инженеры НЕ видят продукт впервые в процессе релиза.

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

Шаг 1 к построению DevOps процессов: Аудит и планирование

Первая стадия перехода к DevOps — аудит текущего состояния ИТ-инфраструктуры и бизнес-процессов. Вот примерная последовательность необходимых действий:

  • Определение существующих вызовов и задач
  • Оценка состояния наличной ИТ-инфраструктуры
  • Аудит степени эффективности текущего процесса разработки продукта
  • Разработка плана действий, необходимых для решения стоящих задач
  • Постановка метрик оценки эффективности процессов
  • Выбор оптимальных инструментов и подходов для решения задач
  • Составление сметы и сроков выполнения каждой задачи

Шаг 2 к внедрению принципов DevOps: Имплементация

На второй стадии перехода к процессам DevOps начинается работа над поставленными задачами:

  • Построение процесса разработки продукта согласно принципам Agile
  • Построение процедур отслеживания прогресса в разработке, мониторинга, ведение отчетности и журналов системных ошибок
  • Выполнение запланированных действий для решения задач
  • Автоматизация процессов развертывания и настройки системных ресурсов для тестирования, компиляции и релиза нового кода для вашего продукта
  • Измерение эффективности текущих процессов согласно ранее утвержденным метрикам

Это основная часть перехода на DevOps и некоторые ее элементы могут потребовать приложения значительных усилий. Если в итоге вы достигли поставленных целей - можно переходить к следующей стадии. Если же какая-либо проблема все еще актуальна - повторите циклы 1 и 2.

Шаг 3 к эффективным Девопс процессам: Мониторинг

Если достигнуты все поставленные изначально задачи, на последнем этапе нужно уделить внимание оптимальному распределению ресурсов и обеспечению непрерывности бизнес-процессов в компании:

  • Активный и проактивный мониторинг ИТ инфраструктуры, решение возникающих проблем
  • Идентификация и устранение причин повторяющихся проблем
  • Постоянная работа над оптимизацией бизнес-процессов
  • Обновление и улучшение развернутой ИТ-инфраструктуры или переезд в облако для всего бизнеса

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

Как же обеспечить эффективную работу ИТ отдела по принципам DevOps?

Приведенный выше план действий на самом деле является описанием процесса перехода на использование новейших ИТ-технологий, то что принято называть digital transformation. Успешное выполнение описанных шагов позволяют успешно реализовать аналитику больших данных, применить алгоритмы машинного обучения для анализа и повышения эффективности вашего бизнеса и вывести его на гораздо более высокий уровень конкурентоспособности.

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

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

Docker в помощь

Docker в помощь

Предположим, вам требуется запустить 20 различных экземпляров программы в 20 различных программных окружениях. Раньше, очевидным выбором был бы запуск 20 виртуальных машин (ВМ). Однако, это означало бы запуск 20 операционных систем (ОС), что потребовало бы затрату существенного количества системных ресурсов просто на поддержание работы системы.

Используя Docker, вы сможете запустить 20 изолированных контейнеров на основе разных Docker образов на всего лишь одной виртуальной машине, и вам даже не понадобится гипервизор. Всего один Docker образ может применен для создания многих контейнеров с различными версиями кода, переменными среды, портами и пр. Насколько же это лучше? Сравнение от компании OpenStack показало, что Docker в 26 раз эффективнее KVM! Прирост скорости работы просто потрясающий!

Docker в данный момент является самой популярной платформой для менеджмента контейнеров. Контейнер в данном случае — оболочка из кода, содержащая все необходимое для отдельного запуска программы на общей ОС. Контейнеры образов Docker строятся таким образом, что ЛЮБОЙ контейнер запустится на ЛЮБОЙ машине с установленным Docker. Это устраняет проблему “у меня все работает, не знаю почему у вас не так”, которая была ОГРОМНОЙ головной болью для разработчиков во всем мире. Ниже еще несколько преимуществ Docker.

Зачем использовать Docker?

Прежде всего, соотношение цены и качества — оптимальное. К слову, вместо запуска двух ВМ (для балансировки нагрузки) на одно приложение, компания может нанять всего 3-4 ВМ, создать из них кластер и разместить на нем все 20 контейнеров с приложениями. Вдобавок, бОльшая часть контейнеров запускаются всего за 1 секунду, что НАМНОГО быстрее, чем при использовании ВМ.

Портативность является второй важной причиной для использования Docker. Разработчикам необходимо запускать много различных инструментов для работы, и многие из инструментов имеют микросервисы, требующие отдельные среды для работы. Используя Docker, вместо запуска нескольких ВМ на вашем ноутбуке, вы запускаете все эти контейнеры на 1-ой ВМ, значительно экономя ресурсы и упрощая работу.

Третья причина — постоянство. Образы Docker не зависят от окружения, на котором их запускают. Один и тот же экземпляр приложения будет запущен у девелопера на ноутбуке, при тестировании, на стейджинг-сервере и пойдет на сервер эксплуатации (production server), вне зависимости от установленных ОС и прочих компонентов. Docker гарантирует постоянство работы и реакции приложения на всех стадиях разработки и запуска.

Четвертая, но не последняя по значимости причина состоит в количестве готовых Docker образов. Сообщество разработчиков Docker огромно и непрерывно растет. Каждый день десятки и сотни новых образов Docker добавляются на Dockerhub. Если ДевОпс-инженеру нужно испытать работу какого-либо инструмента или сложного приложения, ему не нужно изобретать велосипед. С 99%-ной вероятностью подходящий Docker образ уже создан и размещен на Dockerhub.

Когда используется Docker?

Вот обычный процесс использования Docker в процессе разработки приложений:
ДевОпс-инженер задает требования к любому микросервису в простом для создания Docker-файле.
Код заливается в репозиторий и запускается CI-сервером для создания ТОЧНО заказанной среды. При этом, разработчику даже не придется конфигурировать сам CI-сервер.
Контейнер создается и отправляется на сервера для тестирования самим CI-сервером.
После окончания тестирования, одной командой вы можете удалить тестовое окружение и освободить ресурсы.
Тот самый контейнер, который вы протестировали отправляется в эксплуатацию, и вам даже не надо беспокоиться о конфигурации сервера, на котором приложение будет работать.
В некоторой форме такой процесс (с контейнеризацией кода в процессе разработки) был доступен в Java уже почти 10 лет. Однако, способность работать со всеми языками, поддерживающими Linux — это круто!

Как использовать Docker?

В своей компании мы применяем Docker на операционных системах семейства Linux, минуя уровень виртуализации, что дает нам возможность сполна использовать его невероятный прирост продуктивности.

Более простой способ использования Docker состоит в работе с ним и CircleCI, Gitlab CI или Jenkins для создания процессов непрерывной интеграции, что позволяет нам легко создавать контейнеры с последними версиями кода, автоматически тестировать их и отправлять на сервер эксплуатации конечным пользователям.

Более сложный (и любимый нами) способ использования Docker состоит в том, чтобы применять его совместно с гораздо более мощными инструментами в высоконагруженных проектах для выполнения гораздо большего числа задач (например, роллинг-релиз, автоматическое масштабирование, легкое выполнение откатов системы на предыдущую версию в случае необходимости), таким образом реализуя принцип непрерывного обновления. Эти инструменты включают платформы типа Kubernetes, Rancher, Openshift и т.д. Использование этих программ для решения комплексных задач позволяет полностью прочувствовать всю мощь Docker и микросервисов.

Ключом к успеху является комбинирование разных систем:

  • Платформы типа Ansible или Terraform помогают нам с легкостью строить и управлять инфраструктурой, реализуя принцип инфраструктуры как кода.
  • Комбинации Ansible + Kubernetes/Docker Swarm дают нам возможность предоставлять IaaS.
  • Используя программы типа Ansible, Puppet или Salt мы можем легко наполнять инфраструктуру приложениями и управлять ими быстро и эффективно.

Такой подход к работе с Docker — ключ к созданию и поддержанию масштабируемой и надежной инфраструктуры для наших заказчиков на AWS, Google Cloud или любом другом операторе облачного или выделенного хостинга.

  •  

Что такое Terraform и почему это круто

Управление конфигурациями является важной частью методологии DevOps, и инструменты наподобие Ansible, Chef, Puppet или SaltStack составляют основу современных систем разработки программного обеспечения. Terraform - пример системы следующего поколения для создания, управления и конфигурации облачной инфраструктуры.

Итак, поговорим про утилиту для так называемого “оркестрирования” облачной инфраструктуры, позволяющей любому оператору работать с любым публичным или частным провайдером услуг облачного хостинга. Плюс к этому с помощью такого инструмента можно легко создавать облачную инфраструктуру как код (Infrastructure as Code), управлять ею и улучшать в дальнейшем. Являясь частью экосистемы Hashicorp, включающей также Vagrant, Packer, Consul, Vault и Nomad, Terraform позволяет разместить ЛЮБОЕ приложение, написанное на ЛЮБОМ языке на ЛЮБУЮ инфраструктуру.

Лишь несколько из ряда преимуществ Terraform:

  • Оркестрирование, а не просто конфигурация инфраструктуры.
  • Построение неизменяемой инфраструктуры.
  • Декларативный, а не процедурный код.
  • Архитектура, работающая на стороне клиента.

Terraform как инструмент для оркестрирования серверов

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

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

При использовании Chef, Salt, Puppet, или Ansible, любое обновление ПО нужно проводить там, где оно установлено. Таким образом, со временем каждый сервер приобретает свою уникальную конфигурацию и историю обновлений ПО. Это приводит к так называемому “конфигурационному дрифту”, когда незначительные различия в применяемом в облачной экосистеме ПО приводят к появлению потенциальных точек доступа для хакеров и уязвимости системы. Terraform работает по концепции неизменяемой инфраструктуры, где каждое изменение какого-либо компонента (обновление ПО, удаление или добавление компонентов, и т.д.) приводит к созданию отдельного состояния инфраструктуры, то есть к построению новой системы и удалению предыдущей конфигурации. Это означает, что процесс обновления ПО идет легко и быстро по всей системе сразу и защищен от возможных ошибок. В то же время, возврат к любой предыдущей конфигурации системы работает не сложнее, чем выбор требуемой конфигурации из списка и создание нового окружения по требуемым параметрам.

Декларативный код

При использовании Chef или Ansible вы вынуждены писать пошаговые процедурные инструкции по достижению требуемого состояния системы. Напротив, Terraform, Salt или Puppet предпочитают отписывать конечные состояния системы, оставляя конфигурацию на усмотрение утилиты.

Почему это круто? Потому что довольно ограниченная библиотека шаблонов кода может удовлетворить ЛЮБЫЕ запросы по конфигурации инфраструктуры, а встроенные примитивы позволяют писать довольно сложный по уровню воздействия, но очень легко читаемый модульный код.

Применяя процедурный код, вам необходимо помнить о всех текущих в системе процессах и недавних событиях, чтобы создать простую и однозначную инструкцию. При использовании Terraform, вы просто указываете утилите, какие изменения нужно произвести с ТЕКУЩИМ состоянием системы, что позволяет обходиться довольно компактной и очень простой библиотекой шаблонов кода.

Архитектура, работающая на стороне клиента

Terraform использует API, предоставляемые поставщиком облачного хостинга. С их помощью утилита строит инфраструктуру, что означает уход от излишних проверок безопасности, отсутствие необходимости в работе отдельного сервера для управления конфигурациями и выделение ресурсов на работу многочисленных программ-агентов. Ansible достигает сходного результата путем работы через SSH. но возможности данного метода довольно ограничены. Благодаря тому, что Terraform работает через API, этот инструмент предоставляет буквально безграничную свободу действий и возможных вариантов конфигураций. Такой подход гораздо лучше с точки зрения безопасности, надежности работы и общей простоты использования системы.

Недостатки Terraform

Так как Terraform появился относительно недавно, он еще далеко не идеален. Например, разработчик однажды исправил баг в Terraform ignition provider и убрал indents из JSON, что привело к необходимости перенастройки всех ранее размещенных конфигураций.

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

Третий существенный недостаток Terraform заключается в том, что утилита была разработана только под облако и непригодна для использования с кластерами выделенных серверов, хотя более опытные конкуренты типа Salt, Ansible, Puppet прекрасно с этим справляются, ведь их разработали более 5 лет назад именно для такой работы. Это делает Terraform достаточно специфичным решением, которое не может подойти в 100% сценариев.

Однако, я уверен, что в течение нескольких следующих лет все эти недостатки Terraform будут устранены, а его несомненные преимущества проявятся еще более ярко.

Преимущества Terraform

Два основных преимущества Terraform:

  • Супер-портативность — одна утилита и один язык применяется для описания облачной инфраструктуры в Google Cloud, AWS, OpenStack и  работы с ЛЮБЫМ другим поставщиком услуг. Смена поставщика облачного хостинга больше никогда не будет проблемой.
  • Простота полноценного запуска приложений — предположим, на ваших серверах Amazon запущены Docker контейнеры под управлением Kubernetes, в которых работает широкий спектр приложений - и все это с легкостью управляется с помощью одного инструмента.

Я считаю, что Terraform в данный момент является одной из лучших утилит для управления конфигурациями облачной инфраструктуры. Возможно, этот инструмент еще не так популярен как Salt, Ansible, или Puppet, но уверен, что со временем эта утилита приобретёт гораздо большую популярность. Разработчики Vagrant и Consul еще раз доказали свое мастерство и предоставили удобный и полезный продукт.

Так как Terraform это решение с открытым кодом, его развитие поддерживается большим и непрерывно растущим сообществом разработчиков. Terraform, несомненно, крут, и со временем станет только лучше. Эта утилита не станет “убийцей” Salt, Ansible, или Puppet, но по праву займет достойное место в инструментарии любого DevOps инженера.

Как защитить данные в 1С?

Безопасность данных в 1С — одна из важных проблем бизнеса, работающего с этой платформой. Как защитить 1С от взлома или при рейдерском захвате.

Платформа 1С предлагает много вариантов защиты данных, от применения защищенного соединения HTTPS с протоколами SSL/TLS при удаленном доступе к серверу 1С, до серверной виртуализации. Можно даже настроить терминальный сервер для защиты от рейдерского захвата оборудования.

К сожалению, зачастую даже этих мер недостаточно для обеспечения 100% безопасности хранения данных. По нашим наблюдениям, наилучшие результаты дает полная защита информации и баз данных с применением алгоритма шифрования LUKS.

Вот некоторые преимущества такого подхода к защите данных:

  • Ограничение нежелательного доступа, так как без ключа прочитать данные невозможно.

  • Скорость обработки — алгоритмы шифрования работают прямо в процессоре сервера.

  • Доступ к защищенным данным только после прохождения двухфакторной аутентификации.

  • Исключение возможности несанкционированного копирования данных (даже администратор 1С без ключа не увидит их).

  • Система работает с любыми видами дисковых массивов (RAID, DAS, SAN).

  • Возможность провести настройки как до начала работы с данными, так и зашифровать уже имеющиеся данные.

  • Схема защиты данных в 1С.

Данные зашифровываются при записи на диск и расшифровываются при чтении. При этом невозможно даже доказать их наличие на диске, так как вместо закрытых папок просто занимается место на жестком диске, которое даже невозможно отформатировать.

Как защитить данные в 1С?

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

 

Ukraine

 

  •  Home  •  Ринок  •  IТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Мережі  •  Безпека  •  Наука  •  IoT