Upload
geekslab
View
60
Download
2
Embed Size (px)
Citation preview
Вертикальное и
горизонтальное
масштабирование
Java приложенийv2.5
Capabilities & benefits2014
План доклада
1. Вступление.2. Jelastic PaaS features.3. Platform benefits & nuances.4. API. Пример проекта управляющего
горизонтальным масштабированием по API.
5. IDE integration.6. How much ?
PaaS
• Глобальная автоматизация• Простота управления
приложениями• Масштабирование приложения
в зависимости от нагрузки• Целостность и безопасность
данных приложения
PaaS значительно снижает затраты времени и денег на обслуживание
Jelastic– платформа облачного хостинга следующего поколения,
позволяющая запускать и масштабировать
приложения без необходимости
модифицировать их исходный код
Разработчики любят создавать приложения и ненавидят обслуживатьсервера
10:15 Установка ОС11:20 Конфигурирование системы
12:05 Перерыв на кофе13:05 Настройка безопасности
14:15 Конфигурация web сервера15:40 Конфигурация базы данных16:20 Пару бутербродов
16:50 Конфигурация брандмауэра17:20 Разворачивание приложения17:45 Звонок жене и извинения о позднем возращении
домой18:00 Определение зависимостей библиотек20:30 Обновление пакетов22:15 Исправление неисправных зависимостей
23:50 Пару банок Red Bull1:30 Запуск!!!
~ 16 часов ~ 2 дня
Одна история из жизни разработчика
Пример из жизни
2:05 ночи Окончание рабочего дня
10:15 Выбрать тип и размер сервера 10:17 Выбрать доменное имя10:20 Загрузить приложение10:25 Запустить!!!
~ 10 минут
Та же история с использованием Jelastic
• Легко• Быстро• Удобно• Экономия времени и денег
10 минут vs 2 дня = $$$$$$ ---> Profit !!!!
2. Platform Features
7
no vendor-Lock-in
zero code change PaaS
20+ Independent companies
provide Jelastic Public Cloud
8
Настройка окружения
9
Готовые app-сервера на любой вкус
10
SQL
11
NoSQL
12
Доступ к конфигурационным файлам из панели, по FTP, SFTP, SSH, API
13
Deploy
- Deploy Your Projects via GIT/SVN with Maven
- deploy via Archive / URL supports .WAR, .ZIP or .EAR formats.
14
Public IP
15
Multiple Domain Names on Tomcat Server
16
Резервирование ресурсов (reserved cloudlets) иустановка лимитов по выделению ресурсов
(scaling limits)
17
Load Alerts
18
трансфер окружений, collaboration
19
HA-Cluster
20
SSH access
SSH access
SSH access
3. Platform benefits & nuances
24
Проблемы вертикального масштабирования в облаке
• Гипервизор резервирует память, хотя приложение может ее и не использовать
• Деление процессорного времени (KVM, XEN)
• Быстрый рост потребления ресурсов одним из приложений
• Достижение предела вертикального масштабирования–performance упирается в возможности железа
25
Automatic Horizontal Scaling
26
Особенности вертикального масштабирования в Java
• Физическое потребление памяти JVM может только увеличиваться
• Освободившаяся после работы GC память не отдается обратно в операционную систему
• Разные GC по разному работают с большим объемом памяти
• Большие паузы на больших объемах Heap
• Возможны утечки памяти
27
Вертикальное масштабирование в Jelastic
• Результат 6 месяцев исследований
• Обеспечивается автоматическое вертикальноtмасштабирование вверх и вниз для Java приложений
• Абсолютно прозрачно и выгодно для пользователя
28
Горизонтальное масштабирование
Рост производительности приложения при добавлении ещё одного узла.
• Дает возможность обойти пределы вертикального масштабирования
• Увеличивает скорость работы программы за счет распределения по разным физическим машинам
29
Упрощение масштабирования приложений в Jelastic
• Быстрое и гибкое создание кластера произвольного размера
• Адаптивное горизонтальное и вертикальное масштабирование, поддержка HA для GlassFish, Tomcat, Jetty
• Удобные средства мониторинга
30
Горизонтальное масштабирование вручную
31
Auto Horizontal Scaling
32
Multi-nodes in environment, node aliases
33
Что дает Jelastic для горизонтального масштабирования
• Хитрые алгоритмы:
– Алгоритм размазывания контейнеров одного окружения
– Алгоритм распределения новых контейнеров по физическим машинам с учетом комплексного показателя загрузки
• Обеспечение отсутствия SPoF на слое приложения
34
HA, DB replication
• mysql master-master -http://docs.jelastic.com/multi-master-mysql-replication
• Mysql master-slave – via marketplace
• mongoDB master-slave – via marketplace
HA, DB replication
Межпроцессорная координация
Проблема:
Координация процессов в разных JVM
Решение:
– Hazelcast - http://docs.jelastic.com/hazelcast-cluster
– Jgroups - http://docs.jelastic.com/jgroups-cluster
37
Java Garbage Collection in Jelastic Cloud
38
Java Garbage Collection in Jelastic Cloud
• ParNew for all servers with resource limits below 8GB
• G1 for servers with resource limits above 8GB (64 cloudlets and
more)
To tune the settings of Jelastic GC agent, navigate to the server > variables.conf file for Tomcat, TomEE or Jetty application server.
39
Tune the GC settings
• Change the Period of Checks
• Enable Debug Mode
40
Репликация http-сессий в Jelastic
41
Marketplace
42
Путь прохождения http запросов в зависимости от топологии окружения
1. Only 1 application server instance
2. Balancer (as an entry point) and application server(s)
43
Путь прохождения http запросов в зависимости от топологии окружения
3. Only 1 application server instance with Public IP
4. Balancer (as an entry point) with Public IP and application server(s)
44
3. API
45
appid mandatory
46
appid ??????!!!
- авторизуемся с дефлотным appid1dd8d191d38fff45e62564fcf67fdcd6 (api документацияглавная страница)
- получаем идентификатор ссесии
- получаем список своих окружений
47
Возможности API
• Создаем и конфигурируем окружения по API
• Add | Build | Edit Projects удаляем проекты
• Start | stop | sleep Environments
• Read | remove logs• Считываем статистику по нагрузке
• Read | edit | del - files - операции с файлам внутри контейнеров
• ResetNodePassword
• Вплоть до создания собственного SaaS поверх Jelastic• и многое другое
48
Jelastic API in Action
http://docs.jelastic.com/ru/api-overview
50
5. IDE integration.
• IDEA Plugin User Manual – http://docs.jelastic.com/idea-plugin
• Eclipse Plugin User Manual -http://docs.jelastic.com/eclipse-plugin-user-manual
• NetBeans IDE Plugin User Manual -http://docs.jelastic.com/netbeans-plugin-guide
Jelastic Netbeans Plugin
Управление из IDE
• Start | Stop Env
• Deploy from IDE
• Restart nodes
• View logs
• Add | Destroy context
Pricing
6. How much ?
Cost details
58
1 cloudlet = 128 MB RAM & 200 MHz CPU
59
1 cloudlet = 128 MB RAM & 200 MHz CPU
60
Скидки для стартапов
Партнерская программа для учебных центров, ВУЗ, курсов
61
Marketing part-1
Marketing part-2
Marketing part-3
Что еще нового появилось в Jelastic v 2.5.
- marketplace upgrade
- multinodes for all except maven.- кнопка settings окружения- кнопка api-docs в дашборде- алиасы для окружений и контейнеров.- ssh upgrade - mc, nano, vim
-обновление стека приложений
Cartridges
Владимир Илюшенко
380 (44) 359 05 28
www.neohost.net
NEOHOST LLC