Автоматизация создания инфраструктуры. Использование инфраструктуры как кода (IaC) позволяет agile-подразделениям создавать облачные среды, инфраструктуру, хранилища и любые другие необходимые им сервисы повторяемым, экономически эффективным и надежным способом. Явно прописывайте все спецификации инфраструктуры в конфигурационных файлах, чтобы создать "единый источник правды". Это также создает полезный след всех изменений и упрощает возврат к исходному состоянию в случае необходимости.

 

 

Современная архитектура приложений1 - обзор

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

 

 

Места

 

GraphQL / слой API

 

Шлюз и входная дверь

 

 

Модель 1

 

 

Модель 2

 

Данные о потреблении

Продукты данных

Аналитика / модели искусственного интеллекта

Клиенты      Продукция

 

 

Модель 3

...

Озерный дом данных

Основные системы / системы учета

Цепь поставок       HRS

ERP

...

Сырые данные

 

 

...

Курируемые данные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Основные системы/системы учета Системы, обеспечивающие работу основных систем

деловые операции

компания

 

 

 

 

 

 

Чтобы способствовать повторному использованию кода и избежать дублирования, при написании инфраструктурных скриптов обязательно создавайте блоки кода. Создайте простой и удобный способ каталогизации этих высококачественных блоков кода в одном месте, чтобы разработчики могли легко их находить (см. главу 20). Примерами блоков кода IaC в Google Cloud Platform (GCP) может служить настройка службы Cloud Asset Inventory, которая обеспечивает видимость ресурсов для мониторинга, анализа и понимания всех активов в рамках проектов. Другой пример - настройка Compute Engine, сервиса для предоставления высокопроизводительных виртуальных машин в виртуальном частном облаке.

Автоматизируйте доставку программного обеспечения на производство

Автоматизация создания, тестирования, проверки и развертывания программного обеспечения - настолько важная тема, что мы посвятили целую главу обсуждению того, как это делается (см. главу 19).

 

От фиксированного к развивающемуся

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

 

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

 

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

 

От пакетной обработки данных к обработке данных в режиме реального времени

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

 

Перейти на страницу:

Похожие книги