В этом блоге уже рассматривался Technology Radar полуторагодичной давности, давайте теперь выясним, куда движется ИТ-мир сегодня.
http://www.thoughtworks.com/radar/
[spoiler]Вот четыре наиболее выраженных тренда.
- Скоростная поставка продуктов. Множество новых инструментов мониторинга, логгирования, журналирования и обработки оперативных данных появляется на рынке, и в сочетании с технологиями виртуализации и автоматизации бизнес-процессов они позволяют существенно сократить время тестирования продуктов, и даже вести это тестирование уже в ходе промышленной эксплуатации, динамически обходя выявляемые недоработки без отказа всей системы.
- Проблема приватности проявилась для Больших данных в полный рост. Эксперты ратуют за то, чтобы компании хранили только минимально необходимое для работы объёмы сведений о сотрудниках.
- Девелоперские экосистемы на JavaScript продолжают активно развиваться как по клиентскому, так и по серверному направлениям.
- Интеграция цифры с физическим миром. Открытые аппаратные платформы, мощные и дешевые устройства, широкополосные каналы связи естественно переносят вычислительные ресурсы от классического настольного экрана в повседневный мир. Хороший пример -- множество носимых биометрических гаджетов, стыкующихся со смартфонами.
Radar традиционно рассматривает решения по четырём сферам: технологии, платформы, инструменты и языки программирования. Каждая из них делится на: настоятельно рекомендованные к использованию; потенциально полезные для использования, но с определённым риском; желательные к изучению и ознакомлению; морально устаревшие или неудачные.
Начнём с технологий и концепций.
Рекомендованные.
- Подробный и детальный контроль ошибок JavaScript-сценариев на клиентской стороне реализуется сегодня на самом зрелом уровне.
- Непрерывная поставка родных мобильных приложений избавилась от большинства недостатков. Например, опенсорсный Xctool
https://github.com/facebook/xctool
автоматизирует тестирование, развёртывание и обновление программ на iOS7.
- Веб-архитектуры дозрели до сегрегированного уровня объектной модели DOM -- пока DOM подчас тесно переплетается с прикладной логикой и AJAX-вызовами, превращая проект в нечитабельную мешанину кода. А изолирование DOM позволяет быстро тестировать его логику независимо от браузера (та же node.js до этого уже вполне доросла).
- Зрелыми, наконец стали и системы автоматизации инфраструктур на базе Windows.
Полезные, но потенциально рисковые.
- Генерация HTML-кода сегодня вполне возможна на сервере с помощью JavaScript, причём один и тот же JS-код во многих случаях может одинаково работать и на сервере, и на клиенте. К чему это приведёт, пока сказать трудно, но результаты могут быть весьма неожиданными.
Кстати, предсказывается смерть куков: им на смену идут встроенные возможности HTML5.
- DevOps-платформы Chef и Puppet http://www.pcweek.ru/idea/blog/idea/6038.php
Очень полезная технология, но централизованная БД представляется единой точкой сбоя. Рекомендуется использовать выделенный сервер в сочетании с системой контроля версий.
- Развивающееся направление структурных логов подразумевает хранение не только происходящих в системе фактов-событий, но и сопроводительной мета-информации (описаний, смысла), что позволяет анализировать их мощными инструментами -- таков, например, опенсорсный Graylog2 http://graylog2.org/ с развитыми механизмами визуализации, агрегированием, выборками, обрабатывающий в секунду на типовом оборудовании десятки тысяч сообщений.
Продолжение следует
А вот "непрерывная поставка" означает, что наивного клиента будут доить бесконечно долгое время. Вдобавок, каждая поставка - это дестабилизация системы в эксплуатации.
По сути, рекламируют ускорения частоты дестабилизации систем клиента.
Пример из быта: я хоть и не плачу за Firefox, но его относительно частые (раз в месяц) обновления откровенно достали. А если еще и деньги за это платить...
При этом часть клиентов предпочтет пропустить обновления до того момента, пока это действительно не станет нужным.
Описанные тренды - это способы проектных софтостроителей доить клиентов относительно честным способом.