Каждый раз, когда приходится читать про очередного новорожденного убийцу айфона или фейсбука, невольно начинаешь улыбаться. За эти годы столько их уже было, а воз и ныне там. Поэтому, наткнувшись на очередную публикацию, где ключевой мыслью была идея о том, что наступающая эпоха бессерверных вычислений приложений (Serverless) «съест» DevOps, скепсису не было предела.

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

Появление концепции Serverless, предполагающей создание и запуск приложений без необходимости настраивать серверную часть на этом фоне кажется вполне логичным. Несмотря на популярность названия «Serverless», встречается также аббревиатура FaaS («Functions as a Service»). Так вот, вас не должно вводить в заблуждение пресловутое Serverless. Оно вовсе не означает полный отказ от серверов. Как известно: «Если что-то убыло, значит где-то прибыло». В данном случае, речь идет о том, что железо уходит на сторону Amazon, Microsoft и других монстров индустрии, предоставляя рядовым разработчикам возможность творить без оглядки на размер серверного шкафа и хороших отношений с командой DevOps.



Основные преимущества концепции Serverless:

  • Простота создания и развертывания продукта;
  • Возможность быстро и просто масштабировать ваш проект;
  • Высокая доступность и отказоустойчивость бекенда;
  • Отсутствие необходимости управления серверной инфраструктурой и как следствие снижение ваших затрат на поддержку ее работоспособности;
  • Ускорение разработки приложений;
  • Сокращение затрат на инфраструктуру и DevOps (и вам больше не нужен Docker);

Больше информации по теме можно почерпнуть, например, здесь, здесь и здесь.

DevOps умер, да здравствует DevOps?


Serverless является отличным дополнением к автоматизации. Любой хороший DevOps, использующий AWS, Azure, IBM Cloud или GCP, способен применить соответствующие бессерверные решения для повышения управляемости приложений. Но чем насыщенней среда, тем нужнее люди способные к ней адаптироваться. Иными словами, DevOps, конечно же не умрет, но требования к знаниям и навыкам специалистов неизбежно эволюционируют.

Тем более, что сфера применения serverless уже сейчас очень широка:

  • Финансы
  • Ритейл
  • IoT
  • Социальные медиа
  • Чаты
  • Uber-like приложения

Где на serverless можно реализовывать очень разные сценарии:

  • Backend для приложений и сайтов
  • Data Processing (images, video, логи)
  • IoT (включая SmartCity)
  • Serverless веб-сайты
  • Автоматизированные задачи (включая бекапы)
  • Cloudlet
  • (data preprocessing)
  • Чат-боты
  • Окружения для обучения программированию



Кто здесь?


Крупные игроки уже на этом рынке: Amazon AWS, Azure, IBM Cloud, Google Cloud, Oracle. Имея значительные ресурсы, ИТ-гиганты способны работать в перспективных направлениях, улавливая тренды и существенно опережая отрасль в своем развитии. Плюс, есть множество Open Source проектов, в той или иной степени реализующие serverless. Тем интереснее российский ландшафт.



Сегодня мы имеем довольно пеструю картину. С одной стороны, как и во всем мире, доминируют решения от лидеров рынка типа Microsoft, Amazon и Google, а с другой стороны, возникают по-настоящему интересные альтернативы.

К таковым можно отнести первое в России serverless облако — Rusonyx serverless на базе swifty.cloud. Эта штука – простой путь к махровому крутому, масштабируемому бекенду.

Rusonyx serverless на базе swifty.cloud фактически — out-of-the-box платформа для бекендов приложений, сайтов и чат-ботов, но при этом не лимитированная возможностями традиционных Backend-as-a-Service решений. Она включает в себя большинство необходимых сервисов:

  • Serverless функции
  • SQL и noSQL базы данных
  • Object Storage
  • Authentication-as-a-Service
  • Симпатичный UI, API, CLI для Mac/Linux
  • Шаблоны функций и целых сервисов

Условия:
Первые 3 месяца пользования платформой Rusonyx Serverless бесплатны, так что все желающие могут попробовать serverless подход в деле. 

Вместо заключения


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

Make your ideas come app, как говорят ребята из swifty.cloud.

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


  1. xmaster83
    28.11.2018 14:52

    Прекратите портить хабр рекламой, — хабр уже не тот… ((


    1. powerman
      29.11.2018 04:47

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


      1. RUSONYX Автор
        29.11.2018 09:04

        Эта статья вводная. Мы долго обсуждали, стоит ли в первой статье сразу погружаться в технологию. Оказалось, что многие разработчики не знают что такое serverless, даже те кто сидит на Хабре. Логично сначала написать, что такая штука появилась, тем более доступна бесплатно в России. И затем писать use case


        1. powerman
          29.11.2018 13:08

          Всё верно, только Вы забыли объяснить в статье какая именно штука появилась, для чего конкретно её имеет смысл использовать и что это даст. Единственная конкретная информация в статье — реклама, всё остальное — вода.


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


  1. SellerOfSmiles
    28.11.2018 18:44

    А мне вспомнилось, что когда я был моложе, программистов на собеседованиях спрашивали: «А есть ли у вас опыт разработки клиент-серверных приложений?»

    Видимо недалеки те времена когда «опыт разработки stendalone-приложений» будет также хорошо сбивать заплатные ожидания. :)


  1. Bytamine
    28.11.2018 20:55

    Так убьет или нет?


    1. Anshi85
      28.11.2018 21:50

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


      1. bbelky
        28.11.2018 23:17

        Так то серверлесс это не только про облака — можно серверлесс развернуть и на собственных серверах. Уйдет преимущество PAYG оплаты, но быстрая разработка, масштабирование, «упрощенный» devops останутся.


        1. really4g
          29.11.2018 07:57

          Что-то как-то странно же звучит: поднять серверлесс на своих серверах. Как я понял в статье идёт речь о том, что не требуется для целевой задачи держать у себя серверы, а вместо них использовать сервисы представляющие услуги. Но и здесь по сути подход software as a service.


          1. bbelky
            29.11.2018 11:43

            Под своими серверами я имею ввиду и серверы в вашем собственном датацентре, и виртуальные серверы AWS, Azure, Hetzner, да любые. Я рассматриваю serverless, как следующую степень абстракции инфраструктуры разработки, как cloud заменил on-prem. Зачем нужны виртуальные машины или контейнеры, когда все, что вам на самом деле нужно это запускать код? Зачем вам возиться с окружением, портами, сокетами, когда все, что вам нужно это API ссылка (опубликую кстати статью на эту тему)? Зачем думать о масштабировании, когда serverless платформа сама запустит вашу функцию миллион раз?


  1. whitehat
    29.11.2018 10:10

    Serverless создаёт иллюзию простоты на первых этапах развития продукта. Так что, как и контейнеры в своё время, serverless снизят порог входа для новичков и мелких стартапов, отнимая работу у низкоквалифицированных sysops/sre. Но в случае если стартап «выстрелит» — им понадобится дорогостоящие специалисты что бы поддерживать в дальнейшем и рефакторить вышедший из под конроля serverless хаос, состоящий из сотен неотслеживаемых приложений и связей между ними


    1. reallord
      29.11.2018 11:46

      Ага, поддержка пары сотен хостов AWS распределенных географически и по продуктам и тысяч Lambda функций, которые организовывают serverless механизм крупной компании, точно потребует нехилых компетенций.


    1. bbelky
      29.11.2018 11:53

      Это да, конечно, serverless не убьет devops, потому что, например, какого-то 100% рецепта по организации того же devops процесса для serverless я не встречал. Но он появится и, уверен, он будет проще для serverless. Уже сейчас можно выстроить этот процесс на синхронизации с git и роутерах. Однако не согласен насчет хаоса. У вас отдельная функция, независимая ни от какой другой функции, выполняет одну конкретную задачу. Комбинируйте их как хотите, с разными языками, с монолитными приложениями. Объединяйте в группы согласно бизнес-функциям. В чем хаос?


      1. whitehat
        30.11.2018 08:42

        Объединяйте в группы согласно бизнес-функциям. В чем хаос?

        представьте, что сотня разрабов самостоятельно (читаем «безконтрольно») строчат тысячи serverless приложений. Теперь попробуйте, например, обеспечить безопасность в такой среде, а ещё лучше — траблшутинг в ситуации, когда происходят необъяснимые провалы в производительности, а запрос проходит через пол-сотни функций, запущенных непонятно где и как.
        Serverless безусловно имеет право на жизнь, но он хорошо подходит для узкого круга (асинхронных) задач


  1. tangro
    29.11.2018 13:35

    Мне вообще начинает казаться, что чем больше всех этих облаков — тем больше будет нужно девопсов. Я ещё помню времена, когда в AWS можно было тремя кликами запустить виртуалку. А вот на прошлой неделе я зашел в Azure и хотел сделать простую виртуалку, запускающуюся раз в сутки ночью для тестов — провозился 2 часа и так и не вышло. Одна страница документации тянет за собой другую, та третью, скрипты какие-то, роли, права доступа. Плюнул и забил.


    1. bbelky
      30.11.2018 09:07

      О да, но, кстати, AWS все-таки добавляет новые сервисы с человеческим лицом — Amplify Console, например. Если нужна простая VPS, то есть очень простой Lightsail. Правда без доступа ко всей мощи EC2, но все же.