Долгое время многие сравнивали Amazon AWS и Google Apps Engine как облачные решения — хотя сравнения были не совсем корректными — поскольку это решения разных «весовых категорий».
Если Amazon предлагал инфраструктуру как услугу (IaaS), то GAE — это чистая платформа как услуга.
И вот Amazon перешел в наступление — сегодня был анонсирован Amazon Elastic Beanstalk.
Итак – в чем принципиальная разница между IaaS и PaaS. IAAS — это, по сути, компьютер, на котором вы делаете все, что захотите.
Подключите диски, установите операционную систему, настройте весь софт. Amazon просто позволял собрать и настроить такой компьютер через веб-сервисы, а также предоставил ряд дополнительных сервисов, которые, например, могли запустить другой такой же компьютер в случае увеличения нагрузки (и многое другое).
Это коротко и преувеличено.
В PaaS за вас все сделали - собрали компьютер, установили операционную систему и даже запустили и настроили весь софт - вам просто нужно скачать свою конкретную программу, которая будет всем этим пользоваться - и вообще не думать о том (в теория) как это все работает, масштабируется, кэшируется, резервируется и т.д. Каждое решение имеет свои плюсы и минусы.
Amazon AWS и IAAS более функциональны, но более сложны в использовании; GAE и, соответственно, PaaS проще в использовании, но накладывают ряд ограничений.
А сегодня Amazon пошла в наступление — анонсировала PaaS-решение на базе сервисов Amazon AWS: Амазонка Эластичный бобовый стебель .
По сути, это Tomcat (то есть только Java), работающий на инстансах EC2, которые масштабируются с помощью Amazon CloudWatch, который может использовать (в том числе) Amazon RDS (MySQL в облаке) в качестве базы данных.
Все управление осуществляется через удобную консоль управления Amazon AWS (включая развертывание приложений).
То есть удобство GAE – но без его ограничений.
Надо сказать, что Amazon здесь далеко не первый — до этого уже были проекты по организации PaaS для Java поверх сервисов Amazon, это и Превращаться (они перешли в немного другую область), и Стакс И ОблакоЛитейный завод из 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 хотя бы есть Python).
2. Автоматическое масштабирование вообще не будет работать.
Поскольку приложение в принципе может быть каким угодно, вы сами должны позаботиться о корректной работе таких вещей, как (например) спящий кэш или индексы lucene в кластере.
3. Главное, наверное, цена.
На GAE большинство людей на бесплатном лимите, а здесь надо платить.
И если сам Amazon Elastic Beanstalk обойдется вам бесплатно, то за все используемые сервисы (EC2, EBS, CloudWatch и т. д.) придется заплатить — причем сразу.
Расчет на Веб-сайт дает минимум 37,22 доллара США в месяц - и это с одним экземпляром t1.micro! А если добавить базу данных в Amazon RDS, обычный инстанс, и кластер включится.
То есть для стартапа, где достаточно даже одной машины, это получается дорого.
Для разработанного проекта - где возникает вопрос масштабирования - да - это может помочь - но обычно такие вопросы к тому времени уже решены.
Хотя — если кто-то уже использует Amazon для хостинга Java-приложений, это решение может оказаться полезным — учитывая, что бесплатно они дают дополнительную возможность мониторинга и управления при упрощенном развертывании.
Теги: #Хостинг #iaas #paas #amazon aws #Google App Engine
-
Вальрас, Леон Мари Эспри
19 Oct, 24 -
Bulldoc - Система Разработки Документации
19 Oct, 24 -
Еще Одна Проблема С Дисплеями Macbook Pro
19 Oct, 24 -
Киллер-Функция
19 Oct, 24 -
Массивы В Ruby
19 Oct, 24 -
Игра «Бизнес Акулы».
19 Oct, 24