gifts2017

DevOps для 1С, или мы все теперь инженеры бизнес-приложений

Опубликовал Алексей Лустин (lustin) в раздел Управление - Управление проектом

Данный доклад был подготовлен специально для конференции Infostart Event Connection. То, о чем я буду сейчас говорить, делает максимум 10 компаний в мире. В России это делают компании уровня Альфа-банка и СберТеха. Казалось бы, это – космос, но я попробую вас к этому космосу приблизить и рассказать, почему это важно начать делать именно сейчас.

Представьте себе, что никаких ролей больше нет:
Среди вас есть менеджеры проектов? Представьте, что вы больше не менеджеры, вы – инженеры бизнес-приложений. Работаете в IT – значит, инженеры.
Разработчики есть? Вы – тоже инженеры бизнес-приложений.
И я, казалось бы, технический директор, тоже инженер бизнес-приложений.
Даже если кто-то из вас – реальный бизнес-заказчик, все равно, раз вы как-то связаны с IT – вы тоже немного инженер бизнес-приложений.

Примерная структура IT-управления. «Стратегия отказов» в IT


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

  • Отдел анализа – это может быть группа анализа или просто бизнес-аналитик, который анализирует бизнес, пишет документы, рисует Visio-диаграммы, участвует в SharePoint – портале и т.д.
  • Кроме этого, существует отдел разработки 1С. Они что-то проектируют на СППР, пишут код в конфигураторе и т.д.
  • Еще где-то рядом сидят веб-разработчики. В большинстве случае они живут отдельно от разработчиков 1С, что-то пишут на Javascript, node.js и т.д.
  • Также существует отдел промышленной разработки – там сидят люди, которые программируют на R, Clojure или еще каких-то других языках (например, на MathLab – он тоже в целом является фреймворком для построения). Короче, занимаются всякой интересной математикой, например, разрабатывают BI. У них отдельный отдел, никакого отношения к 1С не имеющий, потому что они занимаются всякими «волшебными штуками», а 1С-ники – от сохи.
  • Кроме этого существует отдел инфраструктуры, там сидят некие админы, которые что-то там правят, настраивают сервера.
  • И еще есть отделы поддержки, которые обычно делятся на три отдела: Группа поддержки 1С, Отдел поддержки Web-приложений и Отдел поддержки пользователей.

 
И все заняты. Чем? Все совещаются. Среднее время выпуска функциональности при подобной конструкции – 145 дней. Это – реальная цифра. Представьте себе, что одна кнопка в 1С-конфигурации из-за этого хаоса отделов выпускается за 145 дней. Понятно, что какую-то мелкую кнопку можно выпустить за неделю, но что-то другое реально выпускается за год.
 
Почему так сложилось? Потому что традиционно в IT существует «стратегия отказов», когда все IT-департаменты, организованные по стандартной схеме, состоящей из восьми конструкций, фактически работают «на отказ».

  • Когда заказчик приходит в отдел сбора требований и что-то просит, ему говорят: «сначала идите, сформулируйте требование, заплатите денег, тогда мы напишем ТЗ». Так ведь? Волшебная стена, которую «не пробить».
  • Если заказчик обладает психомассой и деньгами, он пробивает эту стену. Тогда в отделе сбора требований начинается пожар – нужно срочно что-то написать разработчикам.
  • А что делают разработчики, когда к ним приходят бизнес-аналитики? Они говорят им: «ТЗ не полное, идите, уточняйте». Правильно же? Естественно, правду вам никто не скажет. Разработчики скажут: «мы вообще-то лояльные, просто у нас отдел бизнес-анализа плохой».
  • Но если отдел бизнес-анализа, опять же, обладает психомассой и принятыми от заказчика деньгами, они пробивают эту стену, и тогда пожар начинается у разработчиков – им срочно надо что-то разрабатывать.
  • А когда разработчики приносят продукт, который надо развернуть у клиента инфраструктурщикам (это может быть отдел сопровождения или отдел эксплуатации – у кого как называется), происходит то же самое. Что они говорят: «недостаточно описано, нет документации пользователя». Классически же?

И потом все злые.
На текущий момент, в 2015 году в мире это признано неуспешной практикой, поэтому сейчас менеджеров учат никогда ничего не обещать, а много просить: «предоставьте мне, иначе я не начну работать»; и много предлагать – все начинают «мозгоштурмить», говорить: «добавьте вот это и вот это, а я еще видел…»

Теоретические основы сложившейся ситуации


Откуда ноги растут? Ключевую роль в этой ситуации играют используемые компанией стандарты.
Например, инфраструктурщики считают, что на них действует стандарт ITIL v2. Стандарт ITIL v2 выглядит вот так – как дом.
А знаете, как выглядит новый стандарт – ITIL v3? Он выглядит вот так:


Никто ничего не стабилизирует, нет больше «дома», есть постоянное наращивание качества. По-английски это называется Continual Service Improvement (постоянное наращивание качества). Быстро, в течение суток – все время качественнее, лучше, больше и т.д.
В 


Правда, похоже на картинку итеративной разработки по Agile? Они там это уже прошли. Сейчас, в 2015 году вместо него используется ScalableAgile. Знаете, как он выглядит? Он выглядит вот так:


Берем бюджет и постоянно приносим пользу. Это называется Value Stream – становимся на «поезд разработки» и «пилим бюджет» вперед. В качестве остановок – релизы.
А те, кто работает по старой версии ITIL v2 и Agile, наверное, и сервис-деск организуют вот таким образом:


 
Классическая схема – тоже дом. Пользователь подал тикет, сервис-деск его рассмотрел, после этого «волшебные инфраструктурщики» внесли доработки по этому тикету, передали эти доработки сервис-деску, а сервис-деск пользователям.
А знаете, как выглядит сервис-деск сейчас, в 2015 году? Вот так:


Собираем, исследуем, выбираем, улучшаем. И так постоянно.
В 


Вот это – важный слайд. Запомните и своим IT-директорам отвезите:

  • ITIL v3 – это конвейер повышения качества.
  • ScalableAgile – это конвейер получения пользы, причем именно бизнес-пользы.
  • SocialServiceDesk – это основа сервис-деска, конвейер самообслуживания и обучения. Это когда пользователи сами друг друга консультируют. Вы запускаете внутреннюю социальную сеть (EnterpriceSocial), а инженер сервис-деска с высоты своего опыта (он же инженер, много денег получает) чуть-чуть консультирует всю эту «движуху» среди пользователей.
  • И, наконец, DevOps – именно о нем мы сейчас и поговорим. Это – конвейер коммуникации между сотрудниками, причем, именно IT-коммуникаций.

Основы DevOps для 1С



Перейдем от теории к практике. Итак, что такое DevOps для 1С?
Возьмем любого разработчика, любого менеджера. Напомню, что и тот, и другой – инженеры бизнес-приложений, девопсеры. Что должен сделать каждый из них, как девопсер?

  • Во-первых, он должен разработать свою конфигурацию 1С «по-правильному». Это значит, что в процессе разработки он всегда должен описывать сценарии поведения по методике BDD.
  • Следующим шагом он обязательно должен встроить в 1С сервис не на 1С. Например, если его конфигурация не содержит интеграции с Mandrill, MailChimp или каким-нибудь другим облачным сервисом, значит, у него плохая конфигурация.
  • Потом он должен развернуть свою конфигурацию в облаке. Причем, развернуть автоматически, а это значит, что никто ничего не должен нажимать мышкой.
  • После этого развернуть мониторинг;
  • Включить «портал поддержки»;
  • И обработать требования.

Самая главная «фишка» – это должен сделать один человек. Нельзя никого звать, нельзя идти к инфраструктурщикам. Разрабатываете конфигурацию – будьте любезны сделать все сами. Путь на низком уровне качества, но сами.
Разумеется, это возможно только в том случае, если все эти действия будут автоматизированы. Только так вы сможете стать эффективным IT-специалистом.

Критерии эффективности IT-специалистов



Теперь давайте разберемся, что такое «эффективный IT-специалист» в 2015 году?
Эффективный IT-специалист (будь он 1С-ник или не 1С-ник – неважно), умеет делать следующее:

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

                Либо OneScript;
                Либо Powershell;
                Либо Python;
                Либо Bash;
                Либо Go.

  • Он умеет писать код. На чем угодно:

                Либо на 1С;
                Либо на C# (mono);
                Либо на C++;
                Либо на Clojure (LISP).
               

  • Использует vagrant, docker, ansimble, chef, puppet и другие волшебные автоматизированные инструменты.


И тогда все 8 отделов предприятия работают по одной схеме. Количество outlook-переписки нулевое. Никто не переписывается с помощью outlook, все переписываются кодом:

  • Бизнес-аналитик пишет требования кодом.
  • Разработчики, понятное дело, пишут на 1С.
  • Люди, автоматизирующие сборку и развертывание конфигураций, пишут скрипты на Python (либо на чем-то другом – неважно).
  • Потом ребята-инфраструктурщики пишут на go, чтобы все это контейнеризировать и развернуть в Docker.
  • И потом для обслуживания этих контейнеров также используется Python (в частности, OpenStack – на Python, для VMWare есть специальный SDK, у кого Azure – там тоже есть свои скрипты). Главное – все автоматически.

На этом теоретическая часть закончена. Теперь давайте разберемся в том, почему это действительно эффективно и удобно для бизнеса. Напоминаю, что то, о чем я вам сейчас расскажу, в России почти никто пока не делает (только 2-3 компании), но на этот подход перешли уже, насколько я знаю, Альфа-банк (у них есть успешный опыт) и СберТех. Как это работает?

Практические примеры


Загрузка в УТ данных из Yandex Market


Итак, у вас поступает бизнес-задача – загрузка данных с Yandex Market в базу УТ. Какое решение вы выберете? Есть классическое решение – скачать обработку на Инфостарте за 2 тысячи. Это решение работает, но с ним могут возникнуть проблемы.
Нужно поступить так:

  • Поставить Apache.
  • Рядом с Apache поставить Nginx.
  • Дальше внезапно возникает ZatoESB – это маленькая бесплатная шина ESB, которая запускается одной кнопкой – раз! - и у вас шина.
  • После этого нужно зайти на tech.yandex.ru:
  1. Внутри сервиса ZatoESB указать python-скрипт, реализующий интеграцию с API Yandex.
  2. Настроить один входящий канал для забора данных (он делается с помощью ZatoESB одной строчкой кода).
  3. Также реализовать один исходящий канал, который будет отправлять данные в 1С через веб-сервис, реализованный по протоколу odata. Поднятие такого веб-сервиса в 1С занимает не больше минуты.
  4. Потом внутри сервиса ZatoESB создать одно регламентное задание (то задание, которое будет отвечать за интеграцию).
  5. И настроить одну очередь для повторного использования на сайте.

В итоге, загрузка данных с Yandex Market в УТ будет проходить через проксирующий сервис под названием ZatoESB.

Что такое вообще шина ESB? Это такой специализированный инструмент, который нужен для интеграции одной кучи API с другой кучей API. Такая шина может стоить 5 миллионов долларов, но есть простое, бесплатное решение, которое называется ZatoESB. Спасибо нашим львовским товарищам, которые нам его год назад показали. Это – простая шина на python, которую можно запустить одним кликом.

Понятно, в чем эффективность такого архитектурного решения?

  • Пока вы возьмете обработку с Инфостарта, пока вы ее встроите в свою конфигурацию – это время.
  • А на github есть много примеров интеграции с API Yandex, реализованных на python. Достаточно всего лишь опубликовать такой скрипт в сервисе ZatoESB, и на стороне 1С поднять Apache, nginx и odata.

Напоминаю, что вы – инженеры. Вам нельзя писать только на 1С. Вы берете весь комплекс сервисов, которые сейчас есть на рынке, и запускаете их. Это запускается за час. Если оно вдруг где-то упало, достаточно чуть-чуть поправить код, и оно заработает, и даже станет чуть-чуть лучше. Не забывайте, нужно постоянно наращивать качество: опубликовали код на github, кто-то к вам присоединился, вы с кем-то поделились. Понимаете, как все это работает? Это – постоянное улучшение качества.

А если вас беспокоит вопрос «а вдруг оно упадет?» – да все всегда обязательно упадет. Это надо просто запомнить.

Используя шину ZatoESB, вы получаете неоспоримое преимущество, поскольку в ней осуществляется валидация JSON, хранение API key, управление сервисами и их версионированием, а также всякие другие интересные интеграционные возможности, которые вы на 1С будете реализовывать месяца три. Фактически, ZatoESB скрывает ваши риски о тех понятиях, которые вы даже не знаете. Вы просто ее устанавливаете, начинаете писать, и о рисках уже не думаете. Абстракции еще потекут, но они потекут потом.

Полнотекстовый поиск в документах 1С:Документооборот



Давайте рассмотрим другой пример: необходимо для конфигурации 1С:Документооборот реализовать полнотекстовый поиск внутри документов, которые прикреплены к процессам. У нас там лежит куча файлов (pdf, doc и т.д.), по которым нужно искать информацию. За сколько вы реализуете такую задачу? Я – за час. Как это сделать за час:

Берем 1С:Документооборот КОРП, добавляем в его конфигурацию обработку поиска по файлам, рисуем в ней формочку, размещаем там поле ввода с заголовком «Документы содержат текст» и кнопку «Найти».

Для реализации задачи нужен сервис под названием Xapian. Это опенсорсная библиотека на C+ +, которая позволяет искать во всех бинарных документах (pdf, doc, docx и все остальное) «из коробки».
И тогда команда поиска документа будет выглядеть вот так:

&НаСервере

Процедура НайтиНаСервере()

ЭтаФорма.РезультатПоиска = ОбщийМодуль.ПоискПоФайлам(

"/usr/lib/omega/bin/omega 'P=" + ЭтаФорма.ДокументыСодержатТекст + " 'HITSPERPAGE=10"

);

КонецПроцедуры

  • Omega – это надстройка над Xapian, внутреннее приложение, которое индексирует информацию и осуществляет по ней непосредственный поиск (нужно просто указать путь к этому приложению)
  • 'P=" + ЭтаФорма.ДокументыСодержатТекст + "'– это поисковая строка.
  • И HITSPERPAGE=10 – это порция вывода результатов.

С помощью одной этой команды вы запустите полнотекстовый поиск на всех бинарных файлах, которые лежат в 1С:Документообороте. Можете использовать эту архитектурную идею в своих проектах, только меня вспомните потом.
Еще нужен docker – чтобы поднять Xapian как контейнер и управлять его версиями. Правда, без docker можно обойтись. Но Xapian нужен.

И, на всякий случай, как волшебная «фишка», вам еще понадобится Hadoop. Он позволяет настроить HDFS – распределенную отказоустойчивую файловую систему. Если вам из соображений импортозамещения нужно убрать Windows DFS, вы можете сделать вместо него HDFS, и после этого можно будет повесить на компанию «шильдик», что у вас используется Hadoop и HDFS. Это даст вам дополнительные преимущества.
Понятно архитектурное решение? Остается только изучить, что такое Xapian. Для этого можно почитать статьи на Habrahabr и т.д.

1С:Деньги для сотрудников компании



Следующий пример – ко мне приходит бизнес-заказчик и говорит: «я хочу на своем сервере сотрудникам для лояльности развернуть программу 1С:Деньги».

Я вообще считаю, что у каждого уважающего себя 1С-ника должно быть две вещи:

  • Первое – это купленная за 800 рублей платформа, «Версия для обучения программированию». Если ты разработчик, ты обязан ее себе купить. Пусть будет – хоть она и ограниченная, но купленная. У тебя должен быть этот волшебный ключ или программная лицензия.
  • И вторая конфигурация, которую ты обязан купить – это 1С:Деньги. Потому что вообще, управлять семейным бюджетом полезно.

Так вот, поскольку заказчик хочет повысить лояльность своих сотрудников, он решил развернуть для них 1С:Деньги, чтобы каждый мог пользоваться этой программой в облаке отдельно от других.

Как это сделать? За сколько вы это сделаете по срокам? Чтобы для каждого? Понятное дело, что вы задумаетесь о технологии 1CFresh, захотите разворачивать инфраструктуру в режиме сервиса. А можно это развернуть часа за два: берем docker, упаковываем 1С:Деньги в виде контейнера, то же самое делаем с Apache, и начинаем их разворачивать.

Что такое контейнер? Это – упакованное приложение, безопасное, ограниченное, которое вы разворачиваете на движке Docker. Там встроено бекапирование. Все автоматически, одной кнопкой.
После этого нам понадобится Nginx – куда же без него. И, естественно, Apache и Consul.

Consul – это такая интересная штука, которая позволяет вам не только что-нибудь автоматически публиковать, но еще и выдавать для публикаций http-адреса (DNS-имена). И тогда у каждого сотрудника будет адрес типа http://apetrova.my-company.com/. Это сейчас очень модно. Причем, не только модно, но еще и эффективно. Называется Service Discovery.


 
В итоге, вы за два часа можете сделать так, чтобы сотрудникам вашего заказчика при приеме на работу выделялась отдельная собственная облачная база 1С:Деньги. Это повысит их лояльность к своему работодателю.

Прогнозный мониторинг на основе журналов регистрации 1С



Что такое «прогнозный мониторинг»?

  • Берем журнал регистрации (а это, внезапно, база SQLite),
  • Загружаем ее в LogStash (продукт для сбора логов на базе ElasticSearch), с подключенным к нему плагином Beats, который на основе событий прогнозирует всяческие интересные математические штуки.
  • И получаем графики прогнозного мониторинга, которые там преднастроены.

Это родилось в соседнем мире, у веберов.

Вместе с этим мы можем заодно получить всяческие преднастроенные штуки для PostgreSQL, потому что в LogStash встроен автоматический мониторинг для PostgreSQL. Это создает так называемый эффект синергии.
Обратите внимание, что 1С обложено кучей всяких интересных сервисов. Вы можете их нагуглить, встроить и использовать.

Настоящий инженер бизнес-приложений берет 1С и какой-нибудь внешний сервис и начинает их крутить, ни в коем случае, не пишет 1С-код, повторяющий функциональность этой внешней «фичи». Не надо писать на 1С Mandrill (сервис для рассылки E-mail), или писать еще что-нибудь, что уже написали веберы.

Быстрый старт проекта с OpenStack Murano


Переходим к рассмотрению сервиса OpenStack Murano – это одна из моих самых любимых вещей. Допустим, мы инфраструктурщики, к нам приходят разработчики и говорят: «нам нужно железо». Однако в 2015 году никто напрямую никому железо не дает. Все дают некую виртуализацию. Итак, как дать разработчикам инфраструктуру для работы по их проектам?
В 


Если у нас есть OpenStack Murano, мы можем сделать это одной кнопкой. Мы создаем проект, говорим, что это проект УТ11, и вот вам, разработчики, настроенное окружение.


И в этом настроенном окружении уже менеджер этого проекта (напомню, он тоже является инженером бизнес-приложения) начинает создавать машинки для своих собственных разработчиков. Инфраструктурщики здесь уже вообще перестают работать, работает только команда разработки. В данном случае в окружении Developer развернуты образы базы Centos-1c-Posgres и сервера Centos-1c-Apache2.


Можно выделить ресурсы на одну команду (например, два CPU и т.д.) – пусть они их там как хотят, так и используют, и сами управляются.


Там управление уже переходит к менеджеру команды разработки – он может выделить какому-нибудь разработчику еще один процессор, или, наоборот, у кого-нибудь отобрать один процессор.


Здесь – полная прозрачность. Видно, где живут серверы, где живет кластер, на каких нодах.


Видите, как красиво? Кластер из двух серверов приложений, одна инфобаза, сервер 1С и база Postgres.


К базе 1С мы можем получить доступ через web. Даже конфигуратор не нужен. В том режиме, который дает OpenStack Murano, мы можем прямо консолью цепляться к Linux, где живет конфигуратор, открыть его и какой-нибудь hotfix там сделать.


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


Здесь показано, как выглядит статистика использования ресурсов для УТ11 из рабочего места администратора.
Архитектурно решение понятно? Я говорю о том, что эффективнее не писать что-нибудь с нуля, а сразу брать готовое, несмотря на то, что оно реализовано не на 1С. Пока что не на 1С. Планы развития 1С не раскрываются, но я уверен, что они все сделают по-правильному. Просто чуть позже. А мы за это время научимся тому, как этим пользоваться.

Настоящий клиент-серверный вариант работы



Давайте теперь посмотрим, как выглядит настоящий клиент-серверный вариант работы. Все знают этот слайд? Вы думаете, он правдивый? На самом деле, нет.


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

  • Сколько должно быть СУБД?  На предыдущем слайде – одна. А на самом деле их всегда две. Если вам кто-то говорит, что СУБД – одна, это – вранье, всегда есть вторая подчиненная. Я беру Postgres, потому что от Microsoft я в последнее время отошел в связи с импортозамещением. А у Postgres всегда две СУБД – master и slave. Вторая – резервная.
  • Идем дальше. Если вы предоставляете доступ по веб-ссылкам в режиме Такси, вы должны понимать, что сначала идет обращение не к веб-серверу, а к проксирующему балансировщику – это либо Nginx, либо Haproxy (на выбор).
  • Причем сам веб-сервер Apache никогда не бывает один. Их всегда нечетное количество. Я советую пять. Понятно, почему пять? Потому что Apache тяжелый. Это вообще не веб-сервер, как принято считать, в случае с 1С Apache – это просто адаптер веб-доступа внутрь 1С, там всего лишь одна dll работает. А поскольку Apache очень тяжелый по вызову, значит, их должно быть много. При этом балансировщиком выступает Nginx.
  • Кто, кстати, хоть куда-нибудь складирует журнал регистрации с production-сервера? А кто его чистит? Получается, что все остальные ничего с журналом регистрации не делают? Тогда не удивляйтесь, что после этого у вас рушатся серверы и заканчивается место на диске C. Потому что нужно либо чистить, либо хранить отдельно – другого не бывает.
  • А на самом деле, журнал регистрации нужно хранить в ElasticSearch, там для хранилища логов есть специальный инструмент LogStash – он спокойно выдерживает и 2 терабайта, и 5 терабайтов и т.д. Или можно купить sphinx, но это очень дорого. А LogStash – это бесплатно.
  • И положить все это на Hadoop (HDFS, распределенную отказоустойчивую файловую систему) – я его очень люблю. На платформе Hadoop есть своя СУБД, HIVE – я о ней говорю, чтобы приблизить вас к BI-инструментарию, к BigData, потому что там вы без HIVE никак не справитесь. Запросы Map-Reduce вы на 1С написать не сможете, их правильнее всего делать на Hadoop.
  • Тут у нас дополнительно возникает RabbitMQ, промышленный инструмент создания очередей сообщений, который работает по протоколу Advanced Message Queuing Protocol. Несмотря на то, что в БСП что-то подобное уже встроено, оно работает не так эффективно.
  • Понятное дело, что для обработки очередей сообщений нужна шина предприятия, поэтому здесь появляется ZatoESB.
  • О том, что такое Redis и Cassandra, можете узнать у веберов – это NoSQL DB и «горячий кеш».
  • Причем, Linux здесь подразумевается. Потому что, допустим, ZatoESB вы под Windows не запустите.
  • И, в качестве «вишенки на торте» – Varnish. Это довольно сложный продукт, который распространен, в основном, у веберов. Он позволяет вам кешировать тот статичный контент, который генерирует 1С (картинки, скрипты Javascript). Вы за ними даже в базу не ходите, вы кешируете их на уровне балансировщика. И если у вас, например, 500 магазинов по всей России с тонкими клиентами, то даже сейчас, до выпуска 8.3.7 и 8.3.8, вы сможете сделать работу с ними очень быстрой.

Вот это – настоящий кластер серверов гиков и девопсеров, а не то, что у нас было до этого.

«Биллинг» и хозрасчет


Самая главная «фишка», которая дает эффективность для бизнеса, – это биллинг. Подразумевается, что если у вас есть некая «облачность», вы биллингуете ее, рассчитываете прибыль от каждого ресурса, каждого сервиса и т.д.


 
И потом, самое главное, загружаете это в 1С. И тогда в БП3.0 можно распределить ваши затраты на инфраструктуру и на сервисы, чтобы вычислить их себестоимость. Таким образом, вы, наконец-то, сможете видеть, насколько IT-емкая ваша себестоимость по бизнесу. Это вообще-то все для бизнесменов, а не просто – так, поиграться.

Бизнес-эффекты



Самое главное – это то, что не надо все писать с нуля. По docker на данный момент 55 тысяч различных репозиториев с примерами кода. По OpenStack – 5 тысяч. А реально их еще больше. С каждым новым днем можно копировать код с Гитхаба, ничего писать не надо.


И тогда цель всего этого:

  • Чтобы каждая функциональность выпускалась за один день, но не на 1С.
  • Мы всегда знаем себестоимость сервисов.
  • Сегодня – всегда лучше, чем вчера. Помните, это круг постоянного улучшения?

                Быстрее,
                Отказоустойчивее,
                Понятнее и т.д.

Заключение


Начинаем работать по-другому, будем автоматизировать самих себя.
Первое, с чем вы столкнетесь, это стратегия отказов. К вам обязательно кто-то придет и скажет:

  • «я не знаю Python». Тогда пишите на OneScript.
  • Или еще: «у меня нет специалистов по Linux». А здесь нет Linux, здесь есть контейнеры, которые поставляются вам через провайдера контейнеров. Вы просто их скачиваете, даже не заморачиваясь с тем, что там – Linux, CentOs, Ubuntu и т.д. Вы просто скачиваете нужный вам контейнер, поднимаете его, и он работает.

Конечно, вы понимаете, что так работают не все в мире. Но все-таки, чтобы закончить, я вам расскажу историю. Однажды директор по операциям одной очень крупной компании пришел ко мне и спросил: «наши 8 IT-отделов ушли в застой, что нам нужно сделать, чтобы сдвинуться с места?» И тогда мы с одним моим хорошим знакомым придумали для него эту DevOps-конструкцию, о которой я вам сейчас рассказал. Вы, наверное, сейчас думаете, что это – прыгнуть выше головы. Но в большинстве случаев, чтобы успеть за рынком, придется «прыгнуть» даже в два раза выше, чем через голову:

  • Если вы будете сейчас внедрять ITIL v2, то пока вы его внедрите, уже будет практика применения ITIL v3.
  • Если вы будете сейчас внедрять Agile, то везде уже будет ScalableAgile и т.д.

Поэтому сейчас условно нужно остановиться и начинать с нуля внедрять новые стандарты. Первые полгода это будет очень больно, и, в целом, процентов на 20 неэффективнее для бизнеса. Но если вы пойдете на эти риски, через полгода вы станете самыми крутыми девопсерами по России.

***********

Приглашаем вас на новую конференцию INFOSTART EVENT 2016 DEVELOPER.

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Артур Аюханов (artbear) 28.03.16 16:19
Подписался.
crabzzy; Berckk; lustin; +3 Ответить 1
2. Вячеслав Кадацкий (marsohod) 28.03.16 17:55
Гм, выглядит замечательно. Даже слишком.
Но вот читал Вашу статью, а у меня из головы не выходил недавний инцидент, когда из-за 11 строчек кода стала невозможной установка тысяч пакетов. Подробности описаны здесь:
https://xakep.ru/2016/03/24/left-pad/
Не могу избавиться от ощущения, что предлагаемый вариант решения в какой-то момент рассыпется как карточный домик...
vvr908; CSiER; VVi3ard; lustin; Ta_Da; +5 Ответить 2
3. Олег Дмитров (baracuda) 28.03.16 18:15
Много умных слов хорошо, до тех пор пока их не становится слишком много.
AXoxol; blinovtimofey; smit1c; tunesoft; bogdan_sukonnov; Noxie41; Dementor; Trancer64; DrSender; IgorS; vvr908; zqzq; da_Gor; Award; Трактор; FatheRD; invertercant; so-quest; ZLENKO; forrain@rambler.ru; adva; ya.Avoronov; rayastar; VVi3ard; lustin; Serega-artem; Ta_Da; spy-83; +28 Ответить 1
4. Александр Шаров (Ta_Da) 28.03.16 20:32
(2) marsohod,
я бы рассматривал эту статью не как "вот так и только так делать нужно", а "смотри как можно". Тогда становится немного легче и спокойнее =)
Ну и надо понимать, что значительная часть упомянутых инструментов или уже являются (nginx, apache), либо в ближайшее время (поддержка docker d windows server) станут стандартами де-факто. Ведь теми же active directory и ms sql все пользуются уже без особой опаски.
ReN; Aleskey_K; wunderland; awa; sailor-cat; gubanoff; CSiER; rusmil; lustin; Hissin; +10 Ответить 2
5. Валерий Волошин (VVi3ard) 28.03.16 23:34
А потом это все внедрить в 800 филиалах...
Все же 1С подразумевает какой никакой тираж. Все что здесь описано это интересно, пока касается только маленького мирка системы конкретного предприятия.
Я бы пожалуй тоже с многими технологиями "поигрался" что бы указать их в своем резюме.

Вот ваш пример:
Давайте рассмотрим другой пример: необходимо для конфигурации 1С:Документооборот реализовать полнотекстовый поиск внутри документов, которые прикреплены к процессам. У нас там лежит куча файлов (pdf, doc и т.д.), по которым нужно искать информацию. За сколько вы реализуете такую задачу? Я – за час. Как это сделать за час:

А теперь представьте что ваш документооборот должен работать на 5000 рабочих местах часть из которых вообще в селах где "Инженер программист" это тетенька лет 50, и в центральном офисе где есть жесткие стандарты по инфраструктуре и отдел безопасности который тоже не разрешит ставить "что попало".

Есть еще такой момент, он как бы за скобками и весьма спорный, но по факту специалист который в совершенстве владеет WEB технологиями не будет в общем то заниматься рутинными вещами на 1С, у него перспектив достаточно много и 1С это одно из направлений причем по деньгам обычно не самое прибыльное. А разбираться в WEB технологиях придется постоянно и активно, для быстрого старта можно использовать инструкции, действовать по "наитию" но в целом для полноценного использования потребуется изучать эти технологии гораздо глубже чем хотелось бы. Даже для использования WS в 1С (казалось бы что может быть проще) рано или поздно придется разобраться с SOAP и общепринятыми стандартами т.к. сколько бы я не сталкивался с WS постоянно возникают сотни нюансов и мелких проблем в итоге повторюсь: приходится разбираться глубже чем хотелось бы.

p.s. статья полезная как заметил (4) в плане "смотри как можно" из всего что тут упоминалось пробовал Elastic но опять же возникли проблемы с тиражированием и пришлось отказаться в пользу велосипеда.

p.p.s А вообще с Linux такое дело что он требует гораздо большего скила чем кажется на первый взгляд, последний раз я ставил Ubuntu 10 как основную ОС домой, и все было хорошо пока через 2 недели у меня не исчез звук, я потратил неделю в поисках причины, читал интернет и форумы, набирал консольные команды примерно на 30% понимая что я и для чего делаю, и я в итоге не смог решить свою проблему. А если представить что это не моя проблема а проблема у моего клиента, и времени у меня не 2 недели а 4 часа? Я уверен что специалист по Linux мог бы наверное решить мою проблему за 10 минут, но я не смог решить за 2 недели...

Статья однозначно полезна руководителям ИТ отделов которые обслуживают одно конкретное предприятие и хотят получить больше "внимания" от руководства, развить бурную деятельность, в процессе прокачав свой скил, свою незаменимость, а заодно прокачать свое резюме. В таком случае я бы взял эту статью за основу.
AXoxol; graphbuh; Noxie41; petrov42; dabu-dabu; ram3; Dementor; worker1c; recon; JohnyDeath; siddy; Ta_Da; AlkB; CTDEVIce; pavlov_dv; +15 Ответить 1
6. Игорь <...> (I_G_O_R) 29.03.16 01:33
Может я что-то не так понял, но у меня возникает такой вопрос:
А кто потом будет поддерживать весь этот зоопарк It-технологий, если каждый бизнес менеджер будет внедрять кучу разных технологий, причем которые он знает?
Так если и пишешь на 1С свой велосипед (ну или допиливаешь скачанный с инфостарта), то если придет другой 1С-ник, то он худо-бедно сможет разобраться.
dabu-dabu; Dementor; h00k; dkonakov; worker1c; Award; Ta_Da; +7 Ответить 1
7. Алексей Лустин (lustin) 29.03.16 06:21
(0) на комментарии отвечу чуть подробней в выходные. Сейчас нет особо времени.

могу только коротко - есть предположение Вы не поняли что такое "Постоянное улучшение качества". Читаете между строк что-ли.
поставил каждому комментатору +1 в качестве жеста доброй воли, так сказать

(6) я на этот вопрос уже отвечал голосом на видео - что значит поддерживать ? что это за пресловутая функция поддержки ? выше было уже сказано - не надо поддерживать, надо стабилизировать. а для пользователей строить социализированные службы помощи по программам. Что значит куча технологий - если комплект композитных программ делается на единых принципах инженерных практика CI-CD (DevOps). Вы разве не поняли что все технологии используются в едином производственном процессе. C BDD, Ночными сборками и "скриптами развертывания без мышек". Любой приходящий программист (если он инженер) легко переймет весь ваш стэк - вы же не саботажник: задокументируйте все и "обложите" скриптами на 1Script.

(5) кто сейчас в здравом уме ставит Ubuntu на компьютер ? Ставьте Windows, в него докер, а у же из докера запускайте Google Chrome или Skype

https://github.com/sameersbn/docker-skype
https://github.com/sameersbn/docker-browser-box

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

что касается "тетенек" - почему мне интересно их припоминают ? наверное как-то просочилась информация о том, что мы в течении 3 месяцев внедряли бюджетную бухгалтерию.
На скриншоте же четко написано ОбщийМодуль.НайтиФайлы() - я думаю вы догадались что модуль то серверный ?
А файлы - я надеюсь Вы не храните файлы в базе 1С ? При 5000 пользователей. И клиенты у вас тоньше некуда.

Что-то попало (в виде xapian+omega) ставится все таки в центре - поближе к архиву документов - отсюда ставится https://xapian.org/download
И ваши 5000 пользователей смогут искать по вхождению слов в документах - прям как в Гаранте с Консультантом. (только не забудьте тестами обложить в BDD)

(4) тут такое дело ... в последней версии 1С больше не будет Apache и nginx. Так что в связке в скором времени останется только Varnish

(3) а сколько это математически "много" ? и почему умных - это сжатая выдержка из текущей ситуации. Хуже того.
Официально анонсирован этакий ITiLv4 - который очень похож на ScallableAgile только для инфраструктурщиков. Знал бы точно, что анонсируют - включил бы в картинку

(2) пошел по ссылке - история известная. Корреляция проглядывается, но и контраргументы наличествуют. Страх открытых проектов известен и риски также, даже есть в интернетах таблица для менеджера "какие риски и способы реакции при применении open source продуктов"

(1) зачем подписался ? ты же в живую слушал.

P.S. На самом деле всем спасибо за комментарии - в этом году будет еще больше программок и скриптов: посмотрим чем вся эта движуха закончится.







ander_; Hissin; +2 Ответить 1
8. Павел Ходаков (Berckk) 29.03.16 07:37
Тоже слушал вживую и тоже подпишусь.
9. Роберт В е р т и н с к и й (v3rter) 29.03.16 10:04
Для мозга хорошо - кровь прильёт! Но тема подводных камней не раскрыта :)
Сохраню себе в туудуу на посмотреть в свободное от несвободы время.
10. Женя Ткаченко (zhenyat) 29.03.16 10:29
Да, всё это страшно интересно, - и страшно и интересно, особенно интересно развитие...
11. Владимир Snegnii (tradeagent) 29.03.16 12:11
Я правильно понимаю, что из данной концепции инженер должен сам полностью составить ТЗ?
Вообще очень похоже на статью для "эффективных управленцев", какие-то утопии, это хоть где-то в описанном виде работает?
Dementor; +1 Ответить
12. bonv (bonv) 29.03.16 12:19
(0) А что собственно Вы анализируете с помощью HIVE? И зачем в 1С может потребоваться Map-Reduce?
потому что там вы без HIVE никак не справитесь

Ну HIVE это всего лишь один из инструментов.
13. Михаил Зотов (ZOMI) 29.03.16 12:43
Как же автор "далек от народа"...
OerlandHue; d4rkmesa; dkonakov; adva; IgorS; Shmell; minimajack; +7 5 Ответить 1
14. Андрей Овсянкин (Evil Beaver) 29.03.16 14:09
(13) ZOMI, напротив. Народ 1С страшно далек от удобных технологий и замкнут в экосистеме 1С. Автор пытается рассказать - как еще можно делать.
Upiterus; dgolovanov; i_a; Aleskey_K; _also; Hissin; skif47; awa; +8 Ответить 1
15. Андрей Овсянкин (Evil Beaver) 29.03.16 14:10
(12) bonv, я, как ты понимаешь, не автор, но могу предположить, что можно сделать map по журналу регистрации на предмет похожих ошибок, а потом построить на этой статистике карту отказов, неавторизованных доступов, да мало ли...
16. Евгений Ванжула (minimajack) 29.03.16 14:20
(14) Evil Beaver, "КАК" еще - не проблема. Проблема в том, что по большому счету, все изменения требуют вложений и средств - на которые собственнику бизнеса глубоко насрать. Для бизнеса главное что бы работало - и чем дешевле тем лучше. Для того что бы это имело смысл необходимо как минимум 5-6 адекватных разработчиков и активно работающих людей в районе 500 человек. Потому как с меньшим народом можно вполне справляться и через жопу.

это мое ИМХО, возможно где то в центре все прилично, но на периферии жопа полная. И реально будут крутить у виска и говорить что бы снял корону.

(15) Evil Beaver, никто не смотрит в журнал регистрации, никто не смотрит как закрываются регистры. Это не приносит пользу бизнесу.
Dementor; h00k; hostguy; siddy; ZOMI; +5 Ответить 1
17. Андрей Овсянкин (Evil Beaver) 29.03.16 14:33
(16) minimajack,
никто не смотрит как закрываются регистры. Это не приносит пользу бизнесу


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

с меньшим народом можно вполне справляться и через жопу


Да, безусловно. На базу из пяти человек и одним разработчиком HIVE, пожалуй, это чересчур. Ну так фразу "все хорошо в меру" никто и не предлагает отменить ))
18. Евгений Ванжула (minimajack) 29.03.16 15:01
(17) Evil Beaver, С таким подходом бизнес быстро накрывается медным тазом - смотря какие регистры...с некоторыми ошибками они могут долго жить и не проявлять себя. Ошибки то я поправил, но это не значит, что снова кто то не накосячит в коде.
а медным тазом - уже проходили...на все фраза: "Закрывайте абы закрылось, потом будем вести правильно!" и так работаем(
dabu-dabu; ppeskov; mulla1979; +3 Ответить 1
19. Андрей Овсянкин (Evil Beaver) 29.03.16 17:03
(18) minimajack,
но это не значит, что снова кто то не накосячит в коде

Ну вот речь как раз и об этом. Изучив предлагаемые инструменты и практики вы можете лучше контролировать изменения, обеспечивать более высокое качество. За счет тестов, обзоров кода и пр.

Т.е. инвестиции в это изучение они будут работать на вашу же пользу. Даже если руководство не выделяет время на обучение, надо попробовать найти его самому. Потом это же поможет решать возникающие проблемы, а то время, которое вы сейчас тратите на "тушение пожаров" - оно высвободится.
20. Игорь <...> (I_G_O_R) 29.03.16 20:35
(7)
я на этот вопрос уже отвечал голосом на видео

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

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

По поводу примеров:
каждый пример комментировать я не буду, уж слишком много времени надо на это, да и не все те технологии я знаю, но по поводу яндекс-маркета как мне кажется это уже перегибание палки, ради скачивания товаров поднимать кучу сервисов - мне кажется это как из пушки по воробьям.
d4rkmesa; Dementor; siddy; Ta_Da; +4 Ответить
21. Геннадий Николаев (genayo) 29.03.16 21:24
В теории все хорошо - а рассказали бы лучше адепты о том, где и как на практике это применяется.

И, кстати, серебряной пули нет...
22. Виталий Васильев (orfos) 29.03.16 21:27
Вы невероятно крутой. Полностью поддерживаю ваш ход мыслей. Вся прелесть IT это возможность мешать между собой технологии на благо бизнеса и поднимать больше денег! Публикуйте больше практических примеров. Спасибо за качественный материал с примерами!
dabu-dabu; gubanoff; +2 Ответить
23. Александр Белов (AlexWhite) 30.03.16 08:27
24. Ададуров Виталий (adva) 30.03.16 09:11
Пока подпишусь, чтобы потом внимательно ознакомиться, но при беглом взгляде показалось, что это "борьба со сложностью созданием сложности нового уровня". Мне больше нравится подход Вирта, "обрезать по самое не могу", или другими словами, "выкидывать всё лишнее", хотя обсуждать это не готов.

Хотя и не знаю, в чём именно инженерный подход должен заключаться, но уже бы пора на него переходить (может у вас уже так и есть).

Ваша технология позволит писать к примеру писать ПО для атомных электростанций, или самолетов, или авто (автопилоты)?
bestwest; +1 Ответить
25. Игорь Steelvan (Steelvan) 30.03.16 09:43
...Я беру Postgres, потому что от Microsoft я в последнее время отошел в связи с импортозамещением...

Вот за это +
26. Олег Кострицын (recon) 30.03.16 09:59
(21) Поддерживаю, тем более недавно читал статью здесь же о применении ZATO ESB на практике - http://infostart.ru/public/503059/
27. Павел А (Pavean) 30.03.16 14:00
Практического здесь только "и так можно".
Не представляю себе этого в реальности.
Это что уход от специализации? Т.е. каждый должен быть и швец и жнец и на дуде игрец? Звучит красиво, продукт сделанный одними руками будет более качественный. Только где же найти людей которые всё это потянут? Кое-кто, кое-где - конечно есть такие люди. Только это не уровень середнечка. Тут даже речь не о количестве знаний в этот конкретный момент. Речь о том что надо постоянно мониторить ситуацию в ИТ, изучать, что-то пробовать. И вот сидишь ты такой изучаешь, пробуешь. Тут подходит начальник и спрашивает "- Ты чем занимешься?" . Что ему ответить?
Мне кажется снизу такой подход не вырастит, только сверху.

Пользователи которые друг друга обучают... "Пользователи" - это люди фактически выполняющие функции оператора ЭВМ?

Если описанное и возможно только в фирмах способных забирать с рынка самых лучших. Причем в первую очередь это касается руководящего состава.
Dementor; adva; IgorS; +3 Ответить
28. Anatolii Karasev (KapasMordorov) 30.03.16 15:00
Хочется увидеть видео, как
Загрузка в УТ данных из Yandex Market
...
Это запускается за час

Ну и вообще статья полна пустыми ложными выводами:
Не забывайте, нужно постоянно наращивать качество: опубликовали код на github, кто-то к вам присоединился, вы с кем-то поделились.

- с чего бы это качество будет наращиваться от банального обмена?
29. Михаил Краснобаев (milo1) 30.03.16 15:11
Отличная статья, а сколько такой специалист может стоить?
30. Михаил Краснобаев (milo1) 30.03.16 15:15
(28) KapasMordorov, а гитхаб это банальный обмен? Мне казалось, что он позволяет гораздо больше, например, вопросы разработчикам, заявки на внесение новых функций, исправление ошибок пользователями, которые активно используют код.
31. Михаил Краснобаев (milo1) 30.03.16 15:17
Автор опять своих пасхальных яиц набросал в тексте!!
32. Михаил Зотов (ZOMI) 30.03.16 16:51
Да, уже более ста "водителей маршруток" заценили опыт "гонщика формулы I"
33. Ададуров Виталий (adva) 30.03.16 18:14
Да, действительно, это технология только для программистов "олимпиадистов", или для среднего уровня тоже подойдет?
34. Евгений Пономаренко (Evgen.Ponomarenko) 30.03.16 18:26
Фух…. Ну уж очень большая статья… многоплановая и плотная. Если бы её разбить бы на три статьи – было бы гораздо лучше. И комменты были бы ближе к теме… а то… пока до конца дойдешь, три раза забудешь, что сказать хотелось… Зато тема более чем интересная.
Ваша «Примерная структура IT-управления»
Содержит пару интересных моментов: Во первых, отдел анализа – это скорее рудимент, ибо цикл анализ-план-действие-контроль-анализ присущ всем бизнес-процессам и выделять его в отдельный отдел – как то не комильфо.



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


А в целом – идея здравая. Использовать готовые технологии для конструирования ИТ решений вместо ручного кодинга – это есть гуд. Жаль, что зрелость и время жизни самих технологий предполагают слишком большое количество слоев, что само по себе представляет большую проблему и часто зависит от интуиции архитектора, а еще более от исторически сложившихся обстоятельств.
Идеально, когда блок-функция имеет пару входов и пару выходов, которые удачно стыкуются со смежными интерфейсами соседних блоков, что позволяет не разводить зоопарк доисторических #ЗвероНедоЯщеров. Ну тут уж как повезет с предшественниками и их наследием.
Dementor; h00k; zqzq; JohnyDeath; Evil Beaver; VVi3ard; +6 Ответить
35. Сергей Филькин (FSerg) 30.03.16 18:53
В целом, статья очень нравится.
Ну ведь правда - Open Source открывает 1Ску новый дивный мир.

По тексту статьи удивила фраза “…разворачиваете на движке Docker. Там встроено бекапирование. Все автоматически, одной кнопкой.”
Нет жеж там никакого встроенного бэкапирования, вся идеалогия Docker построено вокруг термина “statless”. Т.е. контейнер должен быть самодостаточным, не хранить данных и т.п.
Конечно, можно линковать data-контейнеры и есть еще несколько способов бэкапить данные с которыми работает docker. Но я бы не называл это “встроенным бэкапированием одной кнопкой”.
siddy; Dementor; +2 Ответить
36. Сергей Филькин (FSerg) 30.03.16 18:56
(28) KapasMordorov,
Ну и вообще статья полна пустыми ложными выводами:
[IS-QUOTE]Не забывайте, нужно постоянно наращивать качество: опубликовали код на github, кто-то к вам присоединился, вы с кем-то поделились.

- с чего бы это качество будет наращиваться от банального обмена?[/IS-QUOTE]
Потому что на github очень высокая степень социализации! Это как VK и FB только для программистов :)
Да и вообще вам будет просто стремно светить в паблик говно-кодом, хотя бы из-за этого качество и стиль написания сильно улучшается :)
37. Олег Филиппов (comol) 30.03.16 22:59
На конференции не сказал, хоть напишу. Грейт сэнкс! Об этом важно и нужно говорить, и каждый день! (я про Social Agile, ITIL v3, DevOps). Не то чтобы даже DevOps, а просто слова "убей в себе 1С-ника и начни интересоваться чем живёт мир разработчиков!". В смешанной команде иногда так чувствуется наша отсталость :(. И фразы вроде "меня так во франче научили, там все так делают и я так всю жизнь делал и дальше буду делать"...

2-я часть с кучей примеров из Linux World конечно всех смутила массой слов, а у меня возникло ощущение что "учат плохому" и картинку надо перерисовать с "православными названиями": SharePoint, MS SQL, IIS, BizTalk, MSMQ, Hyper-V, App-V, SystemCenter, MS DFS, MS LogParser etc... :)
38. alex_japanese_student (Alex_Japanese_Student) 31.03.16 07:27
Как это сделать? За сколько вы это сделаете по срокам? Чтобы для каждого? Понятное дело, что вы задумаетесь о технологии 1CFresh, захотите разворачивать инфраструктуру в режиме сервиса. А можно это развернуть часа за два: берем docker, упаковываем 1С:Деньги в виде контейнера, то же самое делаем с Apache, и начинаем их разворачивать.

В итоге, вы за два часа можете сделать так, чтобы сотрудникам вашего заказчика при приеме на работу выделялась отдельная собственная облачная база 1С:Деньги. Это повысит их лояльность к своему работодателю.


тут не вполне понял. Вы покупаете одну версию учебной платформы для одного человека за 800 рублей с последующим разворачиванием ее на 100500 пользователей - насколько законен такой вариант? Думается - вообще не законен. Ну и - в ограничениях учебной версии прямо указано, что она не может использоваться для реального учета, пусть даже и домашней бухгалтерии. И ограничения учебной версии - вылезут же, по закону подлости
39. Владимир Аксенов (e][tend) 31.03.16 11:11
Алексей, большое спасибо за статью, что хоть немного можно посмотреть как живут не в 1Сном мире. Надеюсь и дальше можно будет услышать про работающие связки уже имеющихся технологий с 1С. Просто когда читаешь об этих же вещах на хабре, то как сказал один из комментаторов: "Только я один чувствую себя дураком после прочтения здесь статей?"
Лично от меня "+" однозначный, для себя набросал план знакомства с Docker, LogStah, 1Script будет чем заняться. Спасибо!
40. Владимир Аксенов (e][tend) 31.03.16 12:22
(38) Alex_Japanese_Student, тут как раз не про версию для обучения программированию, а про конфигурацию 1С:Деньги. Вопросы лицензирования автор опустил, т.к. в статья не про лицензирование, а про возможность быстрого развертывания. Естественно подразумевается, что для 100500 сотрудников у вас должно быть 10500 соответствующих лицензий. А разворачивать учебную платформу для сопутствующих вещей конечно никто не будет :)
41. Андрей Казанцев (ander_) 01.04.16 14:57
Алексей, спасибо тебе за такие статьи. Каждый раз черпаю что-то новое. Каждая статья заставляет думать и гуглить, гуглить...
42. Андрей Д. (detec) 01.04.16 19:28
Довольно неплохое пособие, как на текущем рабочем месте попробовать свежие технологии, параллельно уча востребованный в мире язык программирования, и уйти в аутсорсинговую разработку на зарубежного заказчика за доллары.
43. Александр (kg_am) 01.04.16 19:37
Всё, конечно, круто, ловко и оптимистично. Функциональность за один день! Подключаем развёрнутую в облаке 1Ску к NoSQL через менеджер очередей, попутно кэшируя статичный контекст, и всё заработало... Прям чувствуется, как мёд по усам потёк, но слаще почему-то пока не становится :(

Вся эта магическая схемотехника прекрасно работает при соблюдении следующих условий:

1. Все необходимые данные уже где-то есть, они взаимосогласованы, непротиверечивы и доступны в режиме 24х7. Загрузить в УТ данные из Yandex Market? Да нет проблем! Для начала хотя бы потому, что есть Yandex Market, доступный 24х7. А если надо загрузить в систему сведения о состоянии оборудования, которые есть только в головах у мастеров смен? Как их зацепить через ZatoESB? Какой нагуглить плагин?

2. Эту задачу уже кто-то где-то решал. А желательно не просто "кто-то", а много кто. Хотя бы пару тысяч раз. Хотя бы не на 1С, но чтобы уже все разъёмы были стандартизованными. Да, задачу полнотекстового поиска решали... ну кто только не решал? Сам факт существования Гугла и Яндекса тому наглядное подтверждение. Понятное дело, что писать самому расковырку pdf-файлов - дело глупое и неблагодарное, и есть смысл поискать инструмент. А если искать нужно не буковки, а что-нибудь поинтереснее? Такое, что, так уж получилось, никто и никогда не искал? Например, нестыковки где-то в глубинах бизнес-логики?

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

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

Изобретать велосипед - обязательно. Те, кто перестали изобретать велосипед, уже проделали половину пути к тому, чтобы стать или простыми потребителями, или продавцами-консультантами. Инженеры-велосипедостроители потому и остаются инженерами, что изобретают велосипеды каждый день. И по какой-то неведомой причине (видимо, где-то баг в структуре мироздания) как-то так получается, что никакого спада спроса на услуги инженеров не наблюдается, и переквалифицироваться в продавцы-консультанты никакой настоятельной необходимости нет.
AXoxol; dabu-dabu; adva; Dementor; infostartfilipich; ZOMI; +6 Ответить
44. Андрей Казанцев (ander_) 02.04.16 05:09
Кстати,
Или можно купить sphinx, но это очень дорого.

Цитата из википедии:
Sphinx (англ. SQL Phrase Index) — система полнотекстового поиска, разработанная Андреем Аксеновым и распространяемая по лицензии GNU GPL.

Умышленная ошибка?
45. Дмитрий К. (Dementor) 02.04.16 22:45
Много текста, который тяжело комментировать. Лучше вы бы разбили статью на десяток небольших частей. Вот это было бы поле для дискуссии. А если в целом, то много воды и мало конкретики. Ваши оценочные суждения "что так лучше" и отсутствие доводов "почему?".

Первые полгода это будет очень больно, и, в целом, процентов на 20 неэффективнее для бизнеса. Но если вы пойдете на эти риски, через полгода вы станете самыми крутыми девопсерами по России.

В этом вся соль статьи. Хорошо, если ее прочитает простой сотрудник, а не человек который ответственен за принятие решений. Полгода внедрения, что бы снизить эффективность бизнеса на 20% вместо того, что бы через ноль часов и ноль минут иметь положительный прирост качества за счет наличия штата заменимых сотрудников, которые день за днем решают практические задачи бизнеса и делают крепче очередное из ослабленных звеньев цепи - что бы на такое решится нужно быть особо одаренным. По итогам владельцам бизнеса придется горько пожалеть, что они поверили "лапше на уши" и за свои деньги пригрели у себя диверсанта, который усложнил им жизнь, а сам тем временем став крутым девопсером срулил за бугор, что бы своим англоязычным коллегам в офисах гугла и фейсбука рассказывать байки про рашку и тупой отечественный бизнес.

Повторятся за другими комментаторами в общей критике не буду. Давайте посмотрим на некоторые предложенные практические варианты.

1) Загрузка данных с Я.Маркета. Вместо операции на полчаса "нашел-скачал-протестировал-установил" (при чем в рамках этой скоростной операции, как вы верно выразились "Абстракции еще потекут, но они потекут потом.") вы предлагаете городить решение через поднятие и настройку трех дополнительных служб, поиск подходящего практического решения для шины в интернете, настройку заливки данных в 1С через oData (где-то тут в статьях встречалась критика этой новой сыроватой технологии в связках с EBS), тестирование всей связки на стенде и финальной публикации на продакшене. Это целый день времени специалиста, который он мог посвятить решению задач бизнеса, по результатам которого на серверах появляются пришельцы требующие системных ресурсов и мониторинга со стороны сисадминов - т.е. уже видим прямую убыточность при внедрении.
А теперь давайте приценимся к стоимости сопровождения. Предположим нам как-то нужно модернизировать данные - или наложить фильтр или наоборот хранить новые данные которые раньше отбрасывались. Если "автор" решения задачи еще работает в компании, то стоимость доработок идентична. Но если он уже в "теплых краях"? В классическом случае HR в течении дня находит десяток исполнителей, которые знают 1С и УТ, среди которых выбирает лучшего, который придя на следующий день открывает инфостартовскую обработку, правит пару строк кода, получает свое вознаграждение и все довольны. В вашем примере начинается хаос, глубина которого зависит от того была ли задокументирована проведенная работа и от качества этой документации. В идеальном случае HR сразу знает, что нужно найти специалиста, который знает питон и сможет разобраться в модели данных 1С (абстрактно считаем, что весь регламент внесения изменений и обновления всей связки прописан в документации предшественника, который потратил на эту писанину несколько дней вместо реализации задач бизнеса), а такой специалист ищется намного дольше, потребует оплату намного выше и будет выполнять работу дольше.
Но ведь таких задач бизнес генерирует тысячами. При этом требования все время изменяются, что бы гибко реагировать на потребности рынка и иметь конкурентные преимущества - появляются новые поставщики со своими системами электронного документооборота, заканчиваются договора работы со старыми, менеджеры посетили семинары и имеют "озарение" по улучшению эффективности, изменяются требования контролирующих органов и так далее. Что же при вашем подходе будет творится на серверах компании???

2) Подарочная база 1С:Деньги. Общеизвестно, что хранение данных в контейнерах не рекомендуется. Сделаем вид, что вы нашли все решения и у вас налажена система по запуску новой базы по старту скрипта, который на вход получает имя сотрудника. В результате мы получаем зоопарк вечно запущенных жрущих ресурсы контейнеров, вместо более очевидного "классического" решения, которое потребляет дополнительные ресурсы только в моменты обращения пользователей. При этом добавление записей в кластер и в конфиг веб-сервера так же можно автоматизировать. И вопрос: зачем тратить время на создание избыточной инфраструктуры, когда все и так уже есть, настроено и работает? Мне ваш совет напомнил однажды увиденный код от "1с-программиста", в котором вместо запроса по регистру продаж был запрос по таблице документов без условий, выгрузка в таблицу значений, а далее обход строк таблицы, отбрасывание строчек по некоторому условию (при этом некоторые свойства получались через точку) и расчет по данным отфильтрованных строчек.

3) Анализ данных журналов регистрации баз. Вы с Evil Beaver так уверенно убеждаете, что это важно и иначе будут проблемы... Может у вас есть скрытый козырь в рукаве, который вы пока не выложили на стол? А ведь самое время, так как вы меня и многих других не убедили. Что может быть полезного в обрезанных данных лога, чего нельзя получить из других источников более проще и в более полном объеме? Узнать когда пользователи подключались и отключались от базы? - Если эта информация важна, то стоит просто ввести систему проходной. И показатели KPI лучше настраивать на реальные результаты работы, а не на количество раз которые пользователь перепроводил документы. Интересно появление сообщений про ошибки? Если ошибки критические, то пользователи завалять репортами, а если пользователи не жалуются и их все устраивает, то тем более незачем дергаться и тратить на это время. А вот более серьезные ошибки связанные с бизнес-логикой (цены выше договорных, продажа ниже себестоимости, ошибочная формула расчета бонусов и так далее) вам никакой лог не покажет. Разбираться с проблемами зависания системы? Вы сами будете не хуже висеть над сообщениям про записи и отмены транзакций, чем сможете найти решение путем обычной настройки журналирования ошибок и долгих запросов на стороне кластера и при анализе логов СУБД.

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

P.S. Про динамически масштабируемую инфраструктуру и про некоторые технические аспекты создания отказоустойчивых систем написано верно. Только при чем тут 1С? Этим сисадмины крупных компаний занимаются по всему миру независимо от используемой бизнесом системы 1С или SAP.
Aleksey_3; zqzq; neuromancer_aza; dabu-dabu; surikateg; recon; d4rkmesa; KapasMordorov; evgeniy-zaytsev-76; ZOMI; minimajack; siddy; +12 Ответить 1
46. Алексей Лустин (lustin) 03.04.16 13:52
(44) ander_, точно, дороговато по владению получается. На мой субъективный взгляд.

(45) это не статья, это выдержка из доклада Инфостарта. позиция ваша понятна - она лишь дополняет общую концепцию. Посмотрим что произойдет за парочку-тройку лет.
47. Михаил Петухов (oldfornit) 04.04.16 09:23
(46) lustin, кстати говоря, а КАК у Вас реализован сбор данных журнала регистрации? Поделитесь пожалуйста конфигами :)
Причина вопроса - столкнулись с необходимостью регламентной обрезки ЖР (1Г в сутки - это как-то многовато), а решение "влоб" - импорт в базу ms sql работает примерно "сутки за сутки" (при условии, что ресурсы сервера-приемника достаточно ограничены и выделять больше - слишком некрасивое решение)
48. Андрей Калякин (kalyaka) 04.04.16 10:06
Тема мне кажется очень важная, однако до практической реализации полноценного цикла разработки и сопровождения на платформе 1С - как до луны пешком :). Много читаю по теме, но цельная мозаика не складывается, много темных пятен.
Если б автор взялся за обучение в постановке процесса DevOps на 1С, я бы первым записался. В качестве примера такого обучения мне очень нравится курс от Фарита по производительности.
49. Алексей Лустин (lustin) 04.04.16 17:40
(47) oldfornit, в этом году мы решили отказаться от статей и в пользу кода.

под тему журналов регистрации зарезервирован репозиторий https://github.com/VanessaDockers/elk-bundle - сейчас началась внутренняя отладка бандла. Текущие конфигу Logstash мы уже заменили на нечто другое. Собственно в докладе оно анонсировалось Beats называется.

графики и оповещения на уровне Graphana, Kibana - также будет опубликованы в git.

но это после темы PostgreSQL

(48) kalyaka, в прошлом году был 8 часоввой курс по DevOps - результат нулевой. Сейчас мы просто выкладываем docker, Vagrant файлы для этого. Чтобы те кто хочет науиться просто понимали как такие вещи работают.

Чему учить ? Написанию подобных скриптов ? https://github.com/silverbulleters/vanessa-bootstrap/blob/master/tools/windows/env-install.cmd
50. Алексей Лустин (lustin) 16.05.16 11:37
(47) вести с полей - http://infostart.ru/webinars/524404/, получилось вот так.

(48) полноценный курс DevOps для 1С называется ADD in Action - содержит нулевую, первую, вторую и третью части. Запланирована нулевая часть - http://infostart.ru/webinars/521983/

Что касается практической реализации - то она уже готова: полный DevOps процесс для 1С. Только сделали мы его в качестве продукта под названием "Золотой образ разработчика 1С" - содержит полностью автоматизированный процесс сборки и развертывания (а также публикации релиза на Инфостарт и 1сapp.com) https://github.com/silverbulleters/vanessa-services/blob/master/ru-RU/gold-host.md, остается только задокументировать






Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа