К книге
Настоящий CTO: думай как технический директор8. Технологические решения
57%
8. Технологические решения
190

В этой главе

• Важность долгосрочных стратегических решений, например: разработать самим или купить?

• Выбор между облачными сервисами или собственным оборудованием и вопросы отказоустойчивости

• Различные типы хранилищ данных

• ПО с открытым исходным кодом и выбор подходящего языка/фреймворка

Одна из ключевых обязанностей технического директора – выбор технологий, используемых в компании. Хотя нам нравится думать, что мы работаем в быстро развивающейся отрасли, которая постоянно меняется и развивается, реальность такова, что отдельные системы могут работать в продакшене десятилетиями без значительных изменений. Просто подумайте: то, что вы создаете сейчас, может еще продолжать использоваться, когда вы соберетесь на пенсию. Как такое может быть? Вот несколько причин, по которым система может работать так долго:

• Стек технологий таков, что его невозможно обновить постепенно и по частям, только заменить целиком.

• Техническое руководство годами не желает (или не умеет) прикасаться к священной корове.

• У руководства есть опыт работы только с этими технологиями.

• Система настолько важна, что ее замена или модернизация становится слишком рискованной или дорогостоящей.

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

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

Заметки с полей

Системы 40-летней давности

Я участвовал во многих проектах модернизации после приобретения, когда новые владельцы желали потратить деньги на приведение платформы к современному стеку. Устаревшие системы страдают от высоких эксплуатационных расходов, отсутствия безопасности и ограниченной масштабируемости. Самой старой системе из тех, что видел лично я, было 46 лет (она запускала RPG от IBM через терминалы с зеленым экраном), хотя чаще встречаются системы возрастом от 30 до 40 лет, работающие под управлением Cobol. Я также часто вижу 30-летние системы, созданные с использованием языков четвертого поколения с графическим интерфейсом, таких как Visual Basic, Gupta и Delphi. Все их объединяет одно: они – ключ к успеху компании. Если бы не они, бизнес не выжил бы.

При выборе технологии следует учитывать следующие факторы:

• Какие перспективы у нее в будущем?

• Что произойдет, если технология устареет или больше не будет поддерживаться?

• Какие зависимости нужны для ее работы? Что будет происходить с ними со временем?

• Будет ли в дальнейшем кто-то использовать эту технологию?

Например – старые приложения на Visual Basic, созданные в середине 1990-х годов с использованием сторонних библиотек, которые давно перестали поддерживаться и работают только на Windows 95/XP, и поэтому их нельзя портировать на современные версии Windows. «Майкрософт» отказалась от попыток обеспечить обратную совместимость и вместо этого предоставляет для Windows 10 полноценную виртуальную машину Windows XP, чтобы дать хоть какое-то будущее этим устаревшим приложениям.

Существуют примеры того, как устаревание технологий вынуждает компании предпринимать корректирующие действия. Когда-то в моде были плагины для веб-браузеров. Вы могли использовать Adobe/Macromedia Flash, Microsoft Silverlight или Java-апплеты Sun, чтобы добавить на веб-страницу богатый «десктопный» функционал. С появлением HTML 5 и значительным усовершенствованием встроенного JavaScript стало очевидно, что эти плагины устарели (и имеют проблемы с безопасностью), и в течение нескольких лет они полностью исчезли из новых версий браузеров.

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

Предыдущая главаГлава 190 из 332Следующая глава