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