java cloud platforms. jee conf 2012

36
Облачные платформы для Java Структура и Различия Руслан Синицкий

Upload: yuriy-ryashko

Post on 19-Jul-2015

251 views

Category:

Technology


3 download

TRANSCRIPT

Облачные платформы для Java Структура и Различия

Руслан Синицкий

Традиционный хостинг

• Покупка/аренда серверов • Конфигурация OC • Конфигурация серверов

приложений

• Конфигурация БД

• Развертывание приложения

• И опять то же самое…

Потом появилось облако…

SaaS

PaaS

IaaS

Что такое Платформа как Сервис ?

Рынок PaaS

Сравнительные характеристики

• архитектура

• поддерживаемые языки

• масштабирование

• поддерживаемый стек технологий

• используемые слои виртуализации

• репликация

Сравнительные характеристики

• возможность сборки проекта в облаке

• плагины

• интерфейс

• глобальная доступность и возможность выбора провайдера

• модель оплаты

• SLA

• простота использования

Архитектура платформы

Cloud Foundry

• Поддерживаемые языки: Java, Groovy, Ruby, Node.js • «Ручное» горизонтальное масштабирование • Используемый слой виртуализации: Vmware • Репликация • Возможность сборки проекта в облаке

Cloud Foundry

• Cервера приложений: Tomcat • Базы данных: MySQL, MongoDB, Redis, PostgreSQL • Плагины: Eclipse, Maven, Grails, EXO • Нет GUI, только командная строка • Сейчас хостинг доступен только в США • Сервис пока бесплатен (бета версия) • Возможность выбора провайдера • SLA

Для начала работы:

Разверните приложение

Привяжите инстанции сервиса к приложению

Создайте инстанции сервиса

Сконфигурируйте приложение

Установите Micro Cloud Foundry

Установите все необходимые инструменты

Архитектура платформы

Heroku

• Поддерживаемые языки: Java, Ruby, Node.js, Scala, Clojure, PHP • «Ручное» горизонтальное масштабирование • Вертикальное масштабирование (вообще нельзя

менять размер контейнера) • Используемый слой виртуализации: Xen+LXC

• Репликация баз данных

• Сборка проекта только в облаке (нельзя

загрузить WAR)

Heroku

• Сервера приложений: Tomcat, Jetty • Базы данных: Cloudant, Membase, MongoDB, Redis, PostgreSQL • Плагины: Grails, Eclipse, Jetbrains, Play Framework, Rails • Командная строка • Хостинг только в США • Не совсем понятная модель оплаты • Возможность выбора провайдера • SLA

Для начала работы:

Разверните Ваш код

Сохраните Ваше приложение в Git

Укажите типы процессов с помощью Procfile

Войдите в систему

Установите Heroku Toolbelt

Модель оплаты

Выделенные базы данных

Add-ons

Архитектура платформы

Google App Engine

• Поддерживаемые языки: Java, Python, Go • Автоматическое горизонтальное

масштабирование • Вертикальное масштабирование • Не используют виртуализацию

• Репликация

• Возможность сборки проекта в облаке

Google App Engine

• Сервера приложений: собственные разработки • Базы данных: собственное хранилище • Плагины: Maven, Eclipse, Grails • Командная строка • Американский хостинг • Возможность выбора провайдера • Сначала бесплатный сервис, потом – очень

дорогой • 99,95% - 95, 00% uptime в месяц

Модель оплаты

Модель оплаты

Разверните приложение

Загрузите приложение

Зарегистрируйте приложение

Сконфигурируйте приложение

Установите Java SDK

Скачайте и установите App Engine Java SDK и все необходимые компоненты

Для начала работы:

Архитектура платформы

Конструктор окружений

Jelastic

• Поддерживаемые языки: Java, JRuby, Scala, Groovy, ColdFusion/CFML

• Автоматическое вертикальное и «ручное» горизонтальное масштабирование

• Используемый слой виртуализации: Parallels Virtuozzo containers

• Репликация сессий • Возможность сборки проекта в облаке

Jelastic

• Сервера приложений: Tomcat 6 и 7, Jetty, GlassFish

• Базы данных: MySQL, MariaDB, PostgreSQL, MongoDB, CouchDB

• Плагины: Maven, Ant, Play framework • Доступен в США, Европе и России • Возможность выбора хостинг провайдера • Удобный GUI • Оплата по факту потребления ресурсов • SLA зависит от хостинг провайдера

Модель оплаты

Для начала работы:

Разверните приложение

Загрузите WAR файл или подключитесь к GIT/SVN

Создайте окружение

PaaS для Вас :)

Спасибо за внимание! Вопросы?

http://jelastic.com