Информационные системы многих компаний похожи на старую и дряхлую канализационную систему, которую строили без проекта, «по нужде», то тут, то там прикручивая трубы, делая отверстия и ставя разные устройства. Где-то трубы глубоко замурованы в стены, а где-то висят на веревочках…

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

Владелец здания (Компании), как правило уверен, что у него сама лучшая канализация — она и правда не плохо справляется со своей задачей, доставляя куда нужно свое содержимое. Но время делает свое дело, и любая система начинает сбоить: от возросшей нагрузки (вон сколько народу), от старости труб и вентилей, от криворукого обслуживания.

Большинство из «отцов-основателей» выросли вместе с системой — их зарплата росла вместе с ее ростом, потому что они хорошо научились показывать связь между объемом содержимого в трубах и своей зарплатой, а еще, они хорошо научились пугать всех маленькими и не очень, неприятностями: тут прорвало, там упало, здесь не работает — ходите в соседнее здание…

Но все когда-то заканчивается и самая замечательная канализационная система выходит из строя — не вся сразу, а по частям: где-то прорвет, что-то не уходит, где-то что-то переполнилось… И все чаще и чаще это сказывается на обитателях дома и даже на самом главном из них. Все приходящие специалисты что-то где-то подправляли, что-то чистили, поменяли, но этого хватает не на долго…

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

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

Не будет. Рано или поздно также рванет. И придется строить новую систему на ходу. Старую информационную систему, так же, как и канализацию, нельзя превратить в новую, здесь также нужно строить новое, используя новые технологические решения, предварительно проектируя — ведь вон какой домище (бизнес)-то отгрохали!

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

Комментарии (23)


  1. ploop
    26.10.2016 20:51
    +4

    С одной стороны всё верно и хорошо сказано, с другой — это понимает каждый вменяемый айтишник, даже не важно, какого профиля. То есть выводы КО.

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

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


    1. VitalyChapurin
      27.10.2016 00:08
      +1

      Юрий, это размышления, в основном, адресованные собственникам и руководителям, я не айтишникам…
      Сплошь и рядом приходится видеть подход «работает ведь, тут подкрутите, там почините»…


      1. ploop
        27.10.2016 08:29

        Ну, собственники и руководители, читающие хабр, в большинстве своём достаточно продвинутые и адекватные люди, и тоже должны это понимать, ИМХО.


      1. YurySS
        27.10.2016 14:06

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


  1. x893
    26.10.2016 21:06
    +5

    Если я понял правильно
    Сколько трубы не меняй — дерьмо остается тем же.


    1. VitalyChapurin
      27.10.2016 00:09

      Нет, в основном о то, что трубы хорошо бы периодически менять, а не дырки латать :) сравнение с канализацией, как вы понимаете, просто наглядная аллегория.


  1. lair
    26.10.2016 22:49

    Но время делает свое дело, и любая система начинает сбоить: от возросшей нагрузки (вон сколько народу), от старости труб и вентилей, от криворукого обслуживания.

    А ничего, что (адекватно спроектированные) программные системы, в отличие от труб и вентилей, стареть не должны?


    1. senya_z
      26.10.2016 23:38

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


      1. lair
        26.10.2016 23:40

        Вот только это не значит, что система устарела, это значит, что она находится за пределами проектных параметров.


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


        1. ploop
          26.10.2016 23:43

          иногда и эволюционный путь возможен.

          Ключевое слово — «иногда». Если разработчики заложили возможность этой эволюции. Чаще как, надо здесь и сейчас, а дальше трава не расти…


          1. lair
            26.10.2016 23:44

            … а в статье написано "любая система". В этом и разница.


        1. senya_z
          26.10.2016 23:55

          Если система не удовлетворяет сегодняшним требованиям бизнеса (хотя еще год назад она им удовлетворяла), значит она устарела. А что, если не это, термин «устаревание» по-вашему означает?

          Ну спроектировали систему, к примеру — небольшой интернет-магазин. База данных — какой-нибудь MS-SQL сервер, ну фронтенд какой-то на ASP.NET, может даже мидл-лэйер есть с вебсервисами, куда потом можно будет прикрутить мобильный клиент. А через 5 лет оказалось, что вырос магазин до уровня Amazon.com, что нужна абсолютно другая архитектура, чтобы это все обслуживать — и набор фронтендов в датацентрах ближе к покупателям, и распределенная база типа Spanner-а со своей георепликацией, паксосом и прочими плюшками, и т.д. Да, можно сказать, что «давно созданная система находится за пределами проектных параметров». Но при этом все же справедливо, что система устарела.


          1. lair
            26.10.2016 23:56

            Если система не удовлетворяет сегодняшним требованиям бизнеса (хотя еще год назад она им удовлетворяла), значит она устарела.

            Нет, это значит, что требования изменились. В противовес "физическим" конструкциям, которые устаревают сами по себе, безотносительно требований.


            1. senya_z
              27.10.2016 00:08

              Ну хорошо, если вам так сильно нравится называть это другими словами, давайте будем говорить, что не система устарела, а требования изменились. Факта того, что нужна другая система в новых реалиях, это не меняет. В статье все же рассматривается вариант, когда объем в трубах растет (что способствует росту зарплат создателей). То есть нагрузка на систему растет и при этом не сказано, была ли система спроектирована выдерживать нагрузку такого уровня. Это ведь не просто «физическая» конструкция, которую рассчитали выдерживать какую-то нагрузку, и она со временем эту нагрузку перестала выдерживать — в этом случае было бы справедливо сказать, что она не спроектирована адекватно.


              1. lair
                27.10.2016 00:12

                Факта того, что нужна другая система в новых реалиях, это не меняет.

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


                В статье все же рассматривается вариант, когда объем в трубах растет

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


      1. ploop
        26.10.2016 23:42

        нужна другая архитектура

        Ну да, либо на костылях как в картинке. О том и статья.


    1. VitalyChapurin
      27.10.2016 00:14

      Сергей, стареют, к сожалению, и грамотно спроектированные системы…
      Софт, по мере развития, становится все более прожорливым и железо 5-ти летней давности не всегда с ним справляется…
      А потом… появляются новые возможности, которые невозможно игнорировать. Люди приходят на работу со своими гаджетами и многие руководители это поощряют — быть всегда на связи, а спроектированная лет 7-10 назад система просто не сможет их принять в свой состав…
      А главная беда в том что адекватно спроектированных систем мало. В основном они растут как получится, без генерального плана. Конечно же, есть исключения, но их не так много, к сожаления.


      1. lair
        27.10.2016 00:16

        Софт, по мере развития, становится все более прожорливым

        А откуда у вас внезапно берется развитие софта без соответствующего допроектирования? Типичная ошибка развития, которую нельзя исправить желанием каждый раз писать заново.


        1. VitalyChapurin
          27.10.2016 00:24

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


          1. lair
            27.10.2016 00:26

            Когда люди не подумали о развитии — это не старение, это неумение развиваться. И развитие не обязательно означает появление новой системы.


    1. yoz
      27.10.2016 00:17

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


      1. lair
        27.10.2016 00:18

        … если кто-то решил использовать канализацию для слива жидкого гелия, то это его проблемы.


  1. HabraBabra
    27.10.2016 00:18

    Было бы хорошо увидеть примеров из реальной жизни, а не абстрактные рассуждения, которые впрочем тоже полезны