Какие тренды — определяющие в разработке | robot_dreams
Для отслеживания статуса заказа — авторизируйтесь
Введите код, который был выслан на почту Введите код с SMS, который был выслан на номер
 
Код действителен в течение 5 минут Код с sms действителен в течение 5 минут
Вы уверены, что хотите выйти?
Сеанс завершен
На главную
Low-code, микросервисы, ИИ и блокчейн: какие тренды — определяющие в разработке

Low-code, микросервисы, ИИ и блокчейн: какие тренды — определяющие в разработке

И какие из них пробудут с нами недолго. Рассказывает Senior Software Architect из Microsoft

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

В материале говорим именно об этом: как облачные технологии, искусственный интеллект, 5G, блокчейн и другие тренды изменили IT-индустрию и что из них останется в будущем.

Своим опытом и размышлениями делится Вячеслав Агафонов, Senior Software Architect в Microsoft и лектор курса Software Architect.

Все взгляды, высказанные в этом тексте, принадлежат Вячеславу и не представляют позицию компании Microsoft.

Досье:

Вячеслав Агафонов — Senior Software Architect в Microsoft. Более 12 лет живет и работает в США. Строит архитектуру и систему безопасности для проектов, создающих Surface Book, Xbox, HoloLens и другие приложения Microsoft. Имеет более 18 лет опыта в технической разработке, обработке данных, построении облачных проектов и использовании инструментов на базе ИИ.

Какие тренды влияют на разработку технологий

Облачные сервисы

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

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

В свою очередь облачные и периферийные вычисления вместе с технологией связи 5G позволили перейти от централизованной к распределенной архитектуре. Она более гибкая, имеет меньшую задержку и стоимость. Таким образом появилась возможность достичь высокой пропускной способности, собирать и обрабатывать большие данные в реальном времени. Это дало толчок развитию интернета вещей: от смарт-девайсов и автономных автомобилей до технологий «умных» городов.

Искусственный интеллект (ИИ)

ИИ — не новая технология, она возникла около 60 лет назад. Но только недавно стали доступны большие объемы данных для машинного обучения (machine learning, ML). Произошел прорыв в создании генеративного ИИ, который способен глубоко понимать запрос пользователя, учитывать контекст и создавать контент на любой вкус: тексты, рисунки, звуки и даже программный код. Это открывает путь к разработке новых бизнес-моделей и инноваций, которые были невозможны раньше, например, персонализированная медицина или разговорные агенты.

Sustainability (устойчивое развитие окружающей среды)

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

Microsoft задался целью через 10–15 лет уменьшить свой углеродный след до нуля. Один из дата-центров обустроили прямо на улице под открытым небом, благодаря чему серверы обдуваются ветром — раньше этого еще никто не делал.

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

Долгосрочные и быстротечные тенденции

Те тренды, которые обладают сильным импульсом и потенциалом для дальнейшего роста и совершенствования, имеют перспективу остаться с нами надолго. К примеру:

  • искусственный интеллект и машинное обучение станут более мощными и ответственными;
  • распределенные архитектуры — безопасными и совместимыми;
  • low-code/no code платформы — эффективными и удобными для пользователя.

Вероятно, будут изменяться и подходы к разработке. Уже сейчас системы вроде GitHub Copilot позволяют увеличить производительность каждого отдельного программиста. Значит, в будущем компаниям не понадобятся большие IT-команды, ведь часть их работы можно делегировать искусственному интеллекту. Как следствие, обязанности людей эволюционируют в сторону того, чтобы настраивать и контролировать этот ИИ.

В то же время некоторые тенденции оказываются быстротечными. К примеру, до эры сенсорных смартфонов был спрос на телефоны BlackBerry с клавиатурой. Но потом появился iPhone — и рынок в корне изменился.

Предугадать будущее всех современных трендов невозможно, но можно обозначить определенные риски:

  • low-code/no code платформы могут столкнуться с конкуренцией со стороны традиционных платформ кодирования или бескодовых платформ ИИ;
  • распределенные архитектуры могут столкнуться с выбором между производительностью и конфиденциальностью;
  • программы на основе ИИ могут вызвать негативную реакцию со стороны пользователей или регуляторов из-за предвзятости или неправильного применения.

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

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

Трансформации в ожиданиях и требованиях пользователей

Наряду с развитием технологий повышается и уровень требований со стороны клиентов. Люди хотят быстрого и персонального сервиса. Рассмотрим несколько ключевых пунктов.

Кроссплатформенность

Пользователи ожидают, что IT-решение будет доступно на любом девайсе с любой операционной системой. Благодаря современным кроссплатформенным фреймворкам компаниям не нужно нанимать отдельных программистов под Windows, Android или Linux — это может делать один человек.

Аналитика

В последние годы люди привыкли к дашбордам с метриками, которые обновляются в реальном времени. Кроме того, должен быть настроен мониторинг всех составляющих IT-системы, чтобы пользователь немедленно получил уведомление в случае ошибки, аномалии или сбоя. Распространяется технология Digital Twin: с ее помощью можно наблюдать за работой устройств, например, на заводе.

Фактор геолокации

Новые стандарты связи вроде 5G и Wi-Fi позволили сделать гаджеты беспроводными, а затем появилось требование, чтобы сервисы могли работать по-разному в зависимости от геолокации пользователя. Это приводит к новым вызовам для архитектуры: как девайсы и серверы будут между собой взаимодействовать, где они должны быть расположены, где будут храниться данные и т. д.

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

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

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

Подходы к разработке современных IT-систем

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

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

курс: Software Architect
ВЯЧЕСЛАВ АГАФОНОВ SENIOR SOFTWARE ARCHITECT IN MICROSOFT
 

Вот некоторые из технологий, лежащих в основе современных сложных IT-систем:

  • Микросервисы — удобны тем, что позволяют использовать разные технологии, языки и фреймворки для каждой службы в зависимости от их потребностей и предпочтений.
  • Предельные вычисления — позволяют уменьшить задержку, потребление пропускной способности и перегруженность, поскольку данные обрабатываются локально или на границе сети. Кроме того, такой подход улучшает безопасность, конфиденциальность и надежность системы.
  • Балансировка нагрузки — распределение нагрузки между несколькими серверами делает IT-систему более доступной, так как лишает единой точки отказа, и масштабируемой, поскольку позволяет динамически добавлять или удалять ресурсы в зависимости от потребностей.
  • Шифрование — защищает данные от несанкционированного доступа или модификации при передаче и хранении.
  • Резервное копирование — обеспечивает восстановление данных во время аварии, кибератаки, при потере или повреждении. Удобно использовать вместе с балансировкой нагрузки, создавая несколько копий данных на разных узлах.
  • DevOps-практики — позволяют ввести быстрые циклы обратной связи, короткие циклы выпусков и постоянное обновление системы. Упрощают работу с развертыванием ПО: можно выделить отдельные серверы для тестирования и настроить автоматическое масштабирование изменений в рабочую среду.

Роль бигтех-компаний и потенциал малых игроков

Многим современным технологиям положили начало отдельные энтузиасты. К примеру, в начале 1970-х годов американский ученый-информатик Деннис Ричи создал язык программирования С, который заложил основы для ряда современных языков. Похожая история появления языка Dart — его в 2011 году разработали Ларс Бак и Каспер Лунд, работавшие в Google и стремившиеся создать альтернативу JavaScript. Эта технология — опенсорс-проект, но Google продолжает содействовать ее развитию.

У бигтех-компаний много ресурсов для создания и поддержки новых технологий, они обладают значительной долей рынка и имеют сильное влияние в индустрии. Благодаря этому IT-корпорации могут облегчить и ускорить распространение инноваций. Иногда они покупают стартапы, иногда становятся инвесторами. Например, недавно Microsoft инвестировал в OpenAI, который разрабатывает ChatGPT.

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

Поэтому нельзя говорить, что все прорывные ниши заняты корпорациями и места для отдельных энтузиастов или малых игроков не осталось. К примеру, стартап Zoom «выстрелил» с началом пандемии, когда возросла потребность в качественной онлайн-связи. Казалось бы, идея их продукта достаточно проста, но он успешно конкурирует с Microsoft Teams и Google Meets.

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

Ещё статьи
Экспертки о том, как оценивают кандидатов на нетехнических интервью
Часть 2. Работа с записями: вставка, чтение, изменение и удаление