Category: город

Category was added automatically. Read all entries about "город".

andrei solntsev, asolntsev

SoftwareStories: про винтики и болтики

Ещё одна реальная история в копилку SoftwareStories про наши программерские заботы.

Проблема

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


Специфика задачи

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

Варианты

Объявили конкурс.

Заявки на реализацию системы подали три компании:

  • "Айти Индастриал" (10 лет на рынке IT, штат 100 человек)
    Для сверхнадёжной передачи сообщений предлагают использовать Oracle BPEL, кластер из баз данных Oracle, кластер из серверов Oracle WebLogic. За работу запросили 10 миллионов.

  • "Анрил Консалтинг" (15 лет на рынке IT, штат 150 человек)
    Для сверхнадёжной передачи сообщений предлагают использовать SAP. За работу запросили 12 миллионов.

  • "Метизы медиа" (20 лет на ранке IT, штат 200 человек)
    Для сверхнадёжной передачи сообщений предлагают использовать свою собственную разработку, мега-кластерную-надёжную мессаджинг систему, которую они успешно используют для передачи данных о болтиках уже много лет в других странах. За работу запросили 15 миллионов.


Решение

У мэрии Шайбинска таких денег не оказалось, поэтому стали искать другие варианты. Нашли фирму "Хорошие прогеры", которая взялась сделать проект за 1 миллион. Техническое решение ребята выбрали крайне простое. Без SAP, без ESB, без Message Queue, без Oracle BPEL и даже без какой-нибудь завалящей базы данных Oracle.

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

Система заработала, болтики потекли. И жили админы долго и счастливо.

Мораль


Необычность этой истории заключается в том, что выбрали-таки компанию "Хорошие прогеры" (штат 5 человек, 1 год на рынке IT). Обычно заказчик выбирает одно из решений за 10, 12 или 15 миллионов. А "хороших прогеров" даже не допускают к конкурсу. И дело даже не в откатах или родственных связях. Дело в том, что люди, объявляющие конкурс, боятся за свои задницы гораздо больше, чем за чужие миллионы. Сэкономишь 10 миллионов - никто спасибо не скажет. А выберешь "хороших прогеров" - а вдруг они шарлатаны? А вдруг слиняют с нашими денежками? Задница пострадает. И даже тот факт, что в "Айти Индастриал" тоже шарлатаны, ничего не меняет: за это решение задница не пострадает.

Как говорится, никого ещё не уволили за то, что он выбрал Oracle.