Автоматизация задач в интернете. 30 лет прогресса — и к чему мы пришли?

m3oyv_j_hpe-y52sciek0moke5a.png


Грустно наблюдать человека, который ежедневно повторяет одну и ту же работу. Буквально совершенно одинаковые действия, вручную. Особенно если этот человек — ты сам. Так и хочется автоматизировать задачу, а в свободное время заняться… чем? Не проблема, мы всегда найдём чем заняться. Свободное время ведь не бывает лишним! Да уж, конечно… В итоге получается как в комиксе xkcd «Автоматизация» на КДПВ.

Я уже писал про автоматизацию общения, теперь же поговорим об остальном.

Голодные 90-е. Скачивание сайтов


Что касается автоматизации задач в интернете, то из 90-х годов вспоминаются программы для автодозвона и скачивания сайтов. Это была вынужденная необходимость. Дело в том, что тогда доступ в интернет физлицам не продавали. Поэтому в домашних условиях приходилось пользоваться корпоративными аккаунтами. Естественно, тайком и ночью, когда из офиса все уходили. Если в этой фирме вы работаете днём, а тариф всё равно unlimited, то всё получается относительно законно и честно.

Естественно, приходилось конкурировать с «коллегами», которые тоже пытались дозвониться и ввести те же самые учётные данные. Соответственно, были незаменимы программы для автоматического дозвона с таймером между звонками. Например, три секунды после сигнала «Занято», разрыв соединения через 30 минут (освободить учётные данные для друзей) и т. д.

drpnmt61oz-m1hgyqsxpqpqnvby.gif
Программа автоматического дозвона Advanced Dialer

Очевидно, что после дозвона нужно быстро сделать в интернете все свои дела — скачать необходимые файлы и сайты по списку, получить/отправить почту и так далее. Самые маленькие увлекались софтом для скликивания рекламы и получали по почте чеки Spedia с первыми заработанными деньгами. Ребята постарше занимались делами посерьёзнее. Это было интересное время, когда большинство окружающих людей не знали слова «Internet». Им в принципе невозможно было объяснить, что это такое, почти как «Бойцовский клуб».

Возвращаясь к нашим делам, скачанный сайт (несколько сотен или тысяч файлов) можно в спокойной обстановке почитать в дневное время. Иногда среди скачанных файлов находились настоящие «жемчужины» типа файлов PDF или JPEG высокого разрешения. Много интересного лежало на ftp.example.com, если владелец забыл закрыть к нему доступ. Хорошие были времена… хотя и голодные.

bqukknrgp5xit7lld5pgz7lk7ne.png
Программа для скачивания сайтов Teleport Pro

Спустя несколько лет доступ в интернет начали продавать физическим лицам. Стало возможно пользоваться интернетом более-менее свободно. Например, в 2004 году сотовый оператор «Билайн» в Москве предоставлял услугу GPRS совершенно бесплатно без ограничений (наверное, по глупости). Можно было купить телефон с поддержкой GPRS (бэушная модель с убитым аккумулятором) — и подключить к ноутбуку в режиме модема. Получалась вполне рабочая схема для медленного, но бесплатного и неограниченного интернета, почти как диалап в 90-е, когда отменили тарификацию местных звонков. История повторилась.

Через пару лет широкополосный интернет пошёл в массы. Ну, а в 2022 году история сделала неожиданный поворот. Возникает смутное ощущение, что придётся вспоминать утраченные навыки по скачиванию сайтов украдкой в условиях ограниченного интернета. Хотя нет, ерунда какая-то…

Yahoo Pipes


В 2007 году запустился знаменитый Yahoo Pipes. Это был первый по-настоящему серьёзный инструмент для автоматизации задач в интернете.

Просто визуально соединяем друг с другом разные API, события, сайты, фиды. Устанавливаем триггеры, когда и при каких условиях срабатывают события. И это даже без программирования вручную (no-code platform), совершенно потрясающе, почти как в игре Factorio!

tfqkk0fywxuv_cw18tglnl2nfrq.png
Yahoo Pipes

К сожалению, Yahoo убила этот сервис в 2015 году. Видимо, не нашла коммерческого применения. И по какой-то причине решила никому не продавать.

Впрочем, такой исход был отчасти предсказуем. Опыт снова и снова показывает, что технологически продвинутые, необычные, талантливые проекты (и сотрудники) не выживают в атмосфере корпоративной бюрократии. А именно такой была атмосфера Yahoo в те годы.

Google App Inventor


Ещё одна интересная разработка — Google App Inventor, которая теперь называется MIT App Inventor. Это настолько простая штука, что даже семилетний ребёнок способен спроектировать Android-приложение в браузере.

lnqgavma5x3ixadzaw-ktnlbxjy.jpeg
Блоки кода в среде MIT App Inventor для взаимодействия с роботизированным транспортным средством, источник

Такие системы «визуального программирования» типа Scratch и Blockly отлично подходят для обучения. И они разделяют принцип no-code, как у популярных инструментов для автоматизации задач в интернете, которые мы тут рассматриваем.

Любая маленькая фирма может за пару часов набросать реально полезную прилагу, без всяких программистов.

IFTT


Наконец, в 2010 году увидел свет знаменитый IFTTT (If This Then That). Та же концепция автоматизации всего без программирования. Система поддерживает автоматизацию любых программ и действий в «конвейерах» типа unix-пайпов, когда программы выстраиваются в цепочку одна за другой, а следующий модуль принимает на входе результат работы предыдущего.

Здесь уведомления создаются вообще в два клика. Сейчас IFTTT активно продвигает мобильные версии под Android и iOS, так что аудитория максимально широкая.

Апплеты поддерживают автоматизацию более 630 приложений, включая Twitter, Telegram, Google Drive, Twitch, Weather Underground, Instagram, Gmail, электронную почту, устройства Amazon Alexa, Google Home, Sonos, Philips Hue, смартфоны Android/iOS и т. д.

oztsvnwg69ied3njdlixlh05ufc.jpeg

Современные инструменты


После IFTTT платформы автоматизации посыпались как из рога изобилия. Особенно для умного дома. Сегодня даже в примитивной аудиоколонке типа «Яндекс.Станции» можно задавать простые сценарии. Например, фраза «Алиса, завтра на работу» приглушает свет и музыку, ставит телевизор на таймер автовыключения, будильник на 7:15, кофеварку на 7:05 и так далее.

Для связывания воедино устройств в умном доме (IoT), в том числе ESP8266, ESP32, Espruino, Arduino и Raspberry Pi, созданы удобные инструменты программирования вроде Node-RED (сервер ставится на ту же RPi).

pdwoslilfwuvmoblxzzcqxf8nsu.png

Такая система управляет всеми устройствами в доме без покупки «умной колонки» или другого корпоративного агента.

Умные повторы Tines


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

  1. Взять данные из систем А, Б, В.
  2. Что-то сделать с данными.
  3. Отправить результат в системы X, Y, Z.


Данные — это что угодно, в любых форматах: XML, JSON, CSV, RSS, погода, новости оповещения, оповещения сервера, вес, календарь и др. И системы могут быть разными: любые устройства, базовые станции, серверы, телефоны и др.

Новые, модные системы автоматизации типа Tines отличаются интеграцией с большим количество современных платформ типа Slack и Jira, а также некоторыми новыми трюками типа «умных повторов». Любые действия можно тонко настроить по разным таймаутам (количество попыток и интервалы).
e6mppnratpo_aitfdmgbq96dhpy.png
Но по сути — та же самая «автоматизация без программирования».

Агенты Huginn


Хорошо известная и проверенная временем система Huginn для самохостинга — опенсорсная альтернатива IFTT и другим коммерческим сервисам. Здесь вводится концепция как бы живых «агентов», которые выполняют мониторинг и действуют от вашего имени.

dcpi-df44jfsezmn2wbaocmonqc.png

Этот набор скриптов реально позиционируется как одушевлённое существо. Напомним, что в скандинавской мифологии ворон Хугин летал по всему Мидгарду и сообщал Одину о происходящем.

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

Некоторые другие современные инструменты для автоматизации, достойные упоминания:

  • Windmill. Минимальные скрипты на Python или Typescript, которые решают конкретные задачи. Из этих кирпичиков строятся сложные многоступенчатые пайплайны корпоративного уровня (для внутренних приложений и продакшна).
  • Replit. Простая браузерная IDE для написания простых программ и их хостинга. Примеры: трекинг погоды с уведомлениями, алерты на появление ключевых слов в твиттере, мониторинг распродаж, мониторинг изменений на сайтах, генерация информационных бюллетеней на определённую тему и т. д.
  • Woob. Взаимодействие с сайтами без браузера. Запрашиваем только нужную информацию и обрабатываем её в БД с удобным интерфейсом, плюс автоматизация. Например, удобно использовать для скрапинга объявлений/анкет.
  • n8n. Workflow Automation Tool: расширяемый инструмент автоматизации рабочего процесса, для самохостинга. Распространяется по модели справедливого кода (fair-code), 200+ интеграций.

    xuyg-csnnlz9oz5j95kalupafag.png


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

jhdh8pydopayjr8lapfgvrgisa4.jpeg

То есть администрирование системы остаётся, по сути, тем же, но сама система расширяется. Раньше это был компьютер и периодически доступная внешняя среда с другими компьютерами, а сейчас у каждого человека под управлением целая сеть устройств (возможно, даже физически распределённая по миру), для которых интернет — естественная среда.

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

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

НЛО прилетело и оставило здесь промокод для читателей нашего блога:

— 15% на все тарифы VDS (кроме тарифа Прогрев) — HABRFIRSTVDS.

© Habrahabr.ru