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

Вы заметили, что на некоторых линиях поддержки клиентов работают более быстрые системы, чем на других? «Если вы позвоните, скажем, в TD или BMO по поводу своей карты Visa, они ответят очень быстро, потому что используют зеленый экран в некоторых приложениях для обслуживания клиентов». Питер имеет в виду стиль компьютерного терминала с зеленым текстом на черном экране, обычно используемый с системами мэйнфреймов. «Нет времени ждать. Они могут сразу сообщить вам ваши транзакции, платежи и счета. Но если вы позвоните в службу поддержки клиентов через веб-приложение, они скажут: «Вы можете подождать одну секунду? Моя программа сегодня очень медленная ». Я говорю, да, каждый день. Система поддержки клиентов Роджерса работает особенно медленно. «Ты можешь подождать?» Мы еще даже не поговорили! Хорошо хорошо."

Сначала идут банки, за ними следуют телекоммуникации, производство, розничная торговля и страхование. Во всем мире есть много компаний, которые используют мэйнфреймы для своих критически важных приложений. В области телекоммуникаций Роджерс - крупнейший здесь [в Канаде]. AT&T и Verizon также используют мэйнфреймы. В производстве такие компании, как Nissan, Toyota, Boeing и Ford, используют мэйнфреймы. Даже в рознице: Sears, Walmart, может быть, даже The Bay. Крупные страховые компании тоже. Программное обеспечение написано в основном на COBOL, второй - на ассемблере, а третий - на PL / I [«Programming Language One]. Например, я думаю, что BMO, HSBC, Canadian Tire и многие другие используют PL / I ». Практически любая крупная компания, добившаяся успеха в 1960-х годах, все еще имеет работающую систему мэйнфреймов. В то время были доступны только мэйнфреймы. Вот почему он так широко используется. В то время не было ни ПК, ни Unix. До девяностых годов персональные компьютеры были очень слабыми и не могли выполнять тяжелую работу, необходимую для коммерческой работы. Люди использовали компьютеры только для печати отчетов и обработки текстов ».

Петр получил образование в Китае, где изучал искусственный интеллект. «Я помню, как видел, что у моего отца была книга COBOL, и даже тогда я подумал, что это древний язык». Однако его первая работа была на мэйнфреймах. «Город, в котором я жил, и пара других городов управляли своим банком на одном и том же мэйнфрейме - IBM 4381. В то время Китай сильно отставал в аппаратном обеспечении. Это было очень дорого. Позже мы перешли на System / 390 (ES9000), z / Series, затем на System z. Все пять крупных банков Китая используют мэйнфреймы ». После многих лет работы в Китае Питер переехал в Канаду, где продолжил работать над технологией мэйнфреймов.

«Нередко мэйнфреймы обрабатывают сотни миллионов транзакций в день на мэйнфрейме. Это очень высокопроизводительная и стабильная система ». Около двух третей корпоративных данных проходит через мэйнфрейм. Однако скорость является одновременно преимуществом и недостатком, поскольку люди пытаются интегрировать мэйнфреймы с облаком: мэйнфреймы были созданы для очень быстрой обработки транзакций, но они не были предназначены для ожидания. «Если подождать, то закроется. Сто миллионов транзакций - ничто, а сто миллионов ожиданий - это катастрофа. Архитектурный дизайн того, как мэйнфрейм подключается к облаку или серверам, чрезвычайно важен. Например, если у вас есть сбой в облаке или сети, а IMS [система управления информацией] на мэйнфрейме пытается подключиться к облаку, то IMS приходится ждать. Если громкость очень высокая и ожидание слишком долгое, банк немедленно отключится. Все регионы будут ждать, и все буферы взорвутся, и это затронет все системы. У меня уже была эта проблема. Это называется переполнением сообщений. Но люди хотят открыть соединение с мэйнфреймом, а затем подождать 2, 3 секунды. Если объем транзакции невелик, у нас есть логика для его обработки, но если объем транзакции велик… вы знаете, онлайн-транзакции и мобильные транзакции из Интернета составляют более половины трафика. Каждый раз, когда клиент ищет информацию о своей учетной записи на веб-сайте или использует свою кредитную карту, он запускает пару транзакций на мэйнфрейм. Если вы подаете заявку на ипотеку, все запросы и расчеты в сумме составляют сто или двести транзакций. У инженеров, использующих облако, часто нет инструментов для запуска сотен миллионов транзакций. У них нет такого размера региона в тестовой среде. Но иногда они используют симулятор для запуска пары транзакций в секунду и заявляют, что их концепция миграции мэйнфрейма в облако прошла успешно. Вы издеваетесь - пара транзакций? Неправильная методология тестирования ».

«Дело не в языке. Дело не в технологиях. Когда вы хотите реплицировать или мигрировать, вам нужно понимать бизнес, которым вы занимались, или изменяли, или модифицирули, или исправляли - на протяжении десятилетий ».

Помимо основной сложности, связанной с сложностью, накопленной за десятилетия, существует определенная техническая сложность, характерная для миграции систем мэйнфреймов: «Если вы перейдете с Unix на Windows, это будет легко. Миграция на чисто пакетный процесс относительно проста. С другой стороны, мэйнфрейм IMS, онлайн-системы CICS и IMS BMP [пакетная обработка сообщений системы управления информацией] или пакетная миграция DL / I [Data Language 1] очень сложны. В данном случае COBOL - это не только COBOL: здесь задействована целая среда. Если бы вы перевели мэйнфрейм IMS COBOL на Java, он бы вообще не работал на других платформах. На вершине операционной системы мэйнфрейма находится CICS [Система информации и контроля клиентов] для управления транзакциями и IMS [Система управления информацией]. CICS работает на мэйнфреймах, Unix и Windows. Но IMS есть только на мэйнфреймах. Большинство банков Канады по-прежнему используют IMS. Таким образом, система работает только с той же иерархической / реляционной базой данных. Без окружающей среды вы не добьетесь успеха. Придется переписывать, а не просто переписывать. Это большой человеческий труд. Компании получат отчет, в котором будет сказано, что у нас есть два миллиона строк COBOL и инструмент, который может переводить один миллион строк в день. Но что с того? У вас мусор на выходе. Никто не может ее поддерживать, никто не может ее прочитать ».

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

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

«Тестирование этих систем требует огромных усилий. Это сочетание человеческого интеллекта и трудовых усилий. Если у вас есть деньги, это не проблема. Вы можете заменить все. Дело не в том, что они не могут этого сделать. Они могут. Но вы бы хотели рискнуть своим бизнесом? Вы бы потратили все эти деньги? Квота расходов - пустая трата. Редко, когда система оказывается неподдерживаемой. Но компании не хотят платить за инвестиции, обучение и платить людям за их содержание. Молодые и талантливые люди начали бы работать над мэйнфреймом, если бы, во-первых, знали, что у мэйнфреймов светлое будущее для крупных отраслей, а во-вторых, что вы будете платить им справедливую плату. Я знаю, что некоторые системы действительно беспорядочные. Но постепенно его можно заменить. Пока вы можете это проверить, вы можете это изменить. Никто, кто модифицирует систему, не понимает каждое предложение. Какая польза от миграции? Это ноль. На самом деле, иногда и отрицательно. Они получили графический интерфейс, но не смогли воспроизвести всю исходную функциональность. И часто веб-приложение работает медленнее. Кажется, что каждый год многие ИТ-директора и технические директора хотят уйти с мэйнфреймов. Но если бы они знали, что мэйнфреймы - их самый большой ИТ-актив, они бы знали, что от него не так просто уйти. Они вложили бы больше в мэйнфрейм. Все крупные магазины мэйнфреймов с каждым годом увеличивают свою вычислительную мощность MIPS все больше, обычно на десять-пятнадцать процентов ».

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

* Имя изменено по запросу

Это мэйнфреймы до упора

Журнал Increment опубликовал статью о любопытном долгожительстве COBOL. Мы взяли интервью у Питера Вонга *, ведущего инженера по мэйнфреймам…