Слайд 1Как мы строили Jelastic - облачную платформу (PaaS) нового поколения
Дмитрий Лазаренко
Слайд 2О себе
Технический директор Российского подразделения Jelastic.
Более 7 лет проектирования и
разработки высоконагруженных информационных систем в области финансов.
Слайд 3О проекте
Jelastic —новая облачная платформа как сервис(PaaS) для Java.
Слайд 4Отличия от других платформ
Автомасштабирование приложений: вертикальное и горизонтальное
Только стандартный стек технологий
Отсутствует
Vendor Lock-In
Минимизация действий конечного пользователя, OneClick - интерфейс
Слайд 5Отличия от других платформ
Мы делаем платформу, а не продаем хостинг
Jelastic дает
обычным хостерам возможности Google и Amazon
Слайд 6История
Проект Hivext, 2009 год
Облачная платформа для разработки на java, php, js
приложений
Слайд 8Hivext
Платформа для разработки и сервисная шина
Широко используется внутри платформы Jelastic
На ней
построено много приложений:
Сайт http://jelastic.com
Dashboards пользователей и администраторов
Сбор ошибок
Wiki
Блог
Слайд 11Используемые технологии
Java 6
Spring
Hibernate
Nginx
Tomcat 6
MySql
Memcached
Ext-JS
Hivext
Слайд 12Контейнеры
Делятся на:
Инфраструктурные контейнеры
Пользовательские контейнеры
Каждый элемент окружения - отдельный виртуальный контейнер
На одну
физическую машину с 32 GB RAM умещается до 500 виртуальных контейнеров
Слайд 13Контейнеры
Все контейнеры типизированы
Для каждого типа свои управляющие скрипты
Взаимодействие ядра и конкретного
контейнера происходит по ssh
Существуют пулы шаблонов контейнеров
Существуют специальные lazy-алгоритмы, создающие пулы на каждом физическом сервере
Слайд 14Выбор системы виртуализации
KVM
XEN
LXC
OpenVZ
Parallels Virtuozzo Containers
Слайд 15Почему Virtuozzo?
Самые низкие накладные расходы на виртуализацию
Пользователь не платит за потребление
памяти и процессора ядра ВМ
Возможность вертикального масштабирования: Memory Overcelling
Гибкие настройки потребления ресурсов
Оптимальная утилизация дискового пространства
Живая миграция
Слайд 16Инсталляция и обновления-прошлое
Ручное обновление инфраструктурных и пользовательских контейнеров в каждом-дата центре
Не
было стандартизации
Рассинхронизация конфигураций в разных датацентрах
Админы что-то всегда забывают
Часто вылезают давно исправленные баги
Установка занимала несколько дней
Обновление занимало весь день
Слайд 19Вертикальное масштабирование
Обеспечивается автоматического вертикального масштабирования вверх и вниз для Java приложений
Работает
в G1 и Serial GC
Абсолютно прозрачно и выгодно для пользователя
Слайд 20Хитрые алгоритмы
Алгоритм распределения новых контейнеров по физическим машинам с учетом комплексного
показателя загрузки
Алгоритм равномерного размазывания контейнеров одного окружения
Алгоритм умной живой миграции окружений на загруженных машинах
Обеспечение HA
Слайд 21Возникшие проблемы
Большие нагрузки
Обработка большого числа статистических данных
Утечки памяти в JVM
Странное поведение
virtuozzo
Быстрое восстановление после сбоев оборудования
Сложность репликации сессий для обеспечения HA
Проксирование произвольного https траффика
Слайд 22Что в итоге получает пользователь
Слайд 23Команда
35 человек:
10 разработчиков
4 администратора
5 маркетологов
Статьи на Хабре пишет девушка
Слайд 24Направления развития
Поддержка IaaS платформ
Расширение стэка технологий
Private Cloud
Слайд 25Заключение
Jelastic – отечественная разработка, успешно конкурирующая с мировыми лидерами PaaS, и
переводящая хостинг на новый уровень