Amazon наступает: Amazon Elastic Beanstalk

    Долгое время многие сравнивали Amazon AWS и Google Apps Engine как облачные решение — хотя сравнения были не совсем корректны — так как все-таки это решения разных «весовых категорий». Если Амазон предлагал Infrastructure as a Service (IaaS), то GAE это чистой воды Platform as a Service.
    И вот Amazon перешел в наступление — сегодня анонсирован Amazon Elastic Beanstalk.
    image

    Итак — в чем принципиальное отличие IaaS и PaaS. IAAS — это по сути дела компьютер — на котором вы что хотите — то и делаете. Подключаете диски, ставите операционку, настраиваете весь софт. Amazon просто позволял собирать и настраивать такой компьютер через веб сервисы, а так же предоставлял ряд дополнительных сервисов, которые например могли запустить еще один такой же компьютер в случае повышения нагрузки (ну и много чего другого). Это если кратко и утрировано.
    В PaaS для вас все сделали — и компьютер собрали, и операционку установили, и даже весь софт запустили и настроили — вам надо только загрузить свою конкретную программу которая будет все это использовать — и совсем не думать о том (в теории) как это все работает, скалируется, кешируется, бекапится и т.д.
    У каждого решения есть свои плюсы и минусы. Amazon AWS и IAAS более функционален — но сложнее в использовании, GAE и соответственно PaaS проще в использовании, но накладывает целый ряд ограничений.

    И вот сегодня Amazon перешел в наступление — анонсировано PaaS решение основанное на сервисах Amazon AWS: Amazon Elastic Beanstalk. По сути дела — это Tomcat (то есть только java) запущенный на EC2 инстансах, которые скалируются при помощи Amazon CloudWatch, который может использовать (в том числе) и Amazon RDS (MySQL in the Cloud) в качестве базы данных. Все управляется через удобную Amazon AWS Managment Console (в том числе деплоймент приложения). То есть — удобство GAE — но без его ограничений.

    Надо сказать, что Amazon тут далеко не первый — до этого уже были проекты по организации PaaS для Java поверх амазоновских сервисов, это и Mor.ph (они переключились в немного другую область), и Stax и CloudFoundry от SpringSource.
    У Amazon есть все шансы преуспеть (если конечно такой сервис будет востребован пользователями — почему нет — посмотрим ниже).

    Итак — что же такого предлагает Amazon CloudFoundry:
    1. Простой деплоймент — действительно простой — вы просто указываете имя приложения и загружаете вар-ник (ну почти как в GAE)

    2. Версионирование (в GAE тоже есть)
    3. Запуск любых Java приложений — нет ограничений на API (явный прорыв по сравнению с GAE)
    4. Использование любых баз данных (опять-таки одна из главных претензий разработчиков к GAE). Правда вы должны в этом случае сами думать о скалировании — если вы используете встроенную HSQL — то как это будет работать когда у вас появится не один — а два томката?
    5. У вас есть файловая система!!! (ну хорошо — в GAE при желании она тоже есть — но с ограничениями).
    5. Мониторинг используемых ресурсов, просмотр логов (опять-таки тут аналогично GAE)
    6. Автоматическое скалирование (тоже аналогично GAE)
    7. Доступ к системе по SSH (если очень надо что-то ручками подкрутить)
    Итак — в плюсе полная свобода Amazon AWS при аналогичной простоте деплоймента, управления и мониторинга.

    Ну а что в минусе?
    1. Только Java (на GAE хотя бы Питон есть).
    2. Совсем уж автоматического скалирования не выйдет. Так как приложение может быть в принципе любым — вы сами должны позаботится о правильной работе в кластере таких вещей как (например) кеш hibernate или индексы lucene.
    3. Основное наверное — это цена. На GAE большинство сидят в бесплатном лимите, то тут придется платить. И если сам Amazon Elastic Beanstalk обойдется вам бесплатно, то за все используемые сервисы (EC2, EBS, CloudWatch и пр.) надо будет платить — и сразу. Расчет на сайте дает минимум 37.22$ в месяц -и это при одном t1.micro инстансе! А если добавить базу на Amazon RDS, да нормальный инстанс, да включится кластер…

    То есть — для стартапа — где и одной машины хватит — это получается дорого. Для развитого проекта — где встает вопрос скалирования — тут да — это может помочь — но обычно такие вопросы уже решаются к тому моменту.
    Хотя — если кто-то уже использует Amazon для хостинга java приложений данное решение может оказаться полезным — учитывая что за бесплатно предоставляется дополнительная возможность для мониторинга и управления с упрощенным деплойментом.
    Поделиться публикацией

    Комментарии 17

      0
      ну томкат не айс — где же поддержка EJB :)) Даешь GlassFish 3. И хотя бы Oracle XE
      Шутка.
        +2
        Если очень хочется, есть OpenEJB =)
          0
          «The Apache Tomcat Project is proud to announce the release of version 7.0.6 of Apache Tomcat. This is the first stable release of the Tomcat 7 branch.»
          tomcat.apache.org/
          Монополия Oracle в стабильных J2EE 6 серверах повержена.
            0
            (если быть более точным то от j2ee 6 там только «Servlet 3.0, JSP 2.2 and EL 2.2»)
              0
              Это называется теперь Web Profile
          +2
          У Амазона есть еще одно очень интересное решение — Elastic MapReduce. Я одно время довольно успешно использовал его для расчетов по диплому (вместо того, чтобы делать их на рабочем кластере :-Р)
            +7
            Очень радует, пусть туда валять все, кто вечно плачет о недостатках GAE.
              –1
              да, и сами трахаются с появившимися из-за устранения этих «недостатков» проблемами
              0
              «это Tomcat (то есть только java)» — почему? JRuby тоже вполне должен сойти :)
              +1
                +1
                Ну да — правильней наверное масштабирование — просто очень тяжело к таких случаях переключиться на русский
                  +1
                  Ну тогда уж «деплоймент» — внедрение, развёртывание.

                  Мониторинг давно в словари вошёл, хотя и для него было слово — контроль.
                +2
                >> Расчет на сайте дает минимум 37.22$ в месяц

                Несколькими строками выше на сайте указано, что

                >> Total Monthly Cost with Free Tier 0$

                Тобишь. Новые клиенты могут пользоваться данным расчетным пакетом в течении года бесплатно.
                  0
                  Новые и только micro инстансом — я например в такую категорию не попадаю (я «старый» и микро мне мало)

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

                  Самое читаемое