hivext – облачная платформа для быстрой разработки ...
TRANSCRIPT
Hivext – облачная платформа
для быстрой разработки
интернет приложений
«SaaS и Cloud Computing станут широко распространенными
технологиями. Единственный вопрос заключается не в том,
произойдет ли это вообще, а в том, когда это произойдет».
Тони Лок (Tony Lock), директор программы, Freeform Dynamics
«К 2012 году до 80% компаний из Fortune 1000 будут платить за
cloud-услуги, а 30% – за инфраструктуру».
Дэрил Пламмер (Daryl Plummer) и Томас Биттман (Thomas
Bittman), Gartner
Тренд развития интереса к облачным вычислениям
HIVEXT
Hive – улей, людской муравейник
Extend – расширяться, распространяться
Что это? Hivext – это платформа для быстрой разработки интернет
приложений. Традиционное название сервер приложений.
Для чего? Уменьшает расход ресурсов при реализации приложений.
Какие ресурсы экономятся?
• Время – скорость разработки выше
• Деньги – цена разработки ниже
• Знания - уровень знаний требуется ниже (сложные
алгоритмы уже настроены и идут в комплекте)
Готовая реализация важного и трудоемкого функционала:
• хранение данных:
• совместный доступ пользователей к данным;
• ресурсоемкие вычисления;
• масштабирование приложения;
• управление серверной нагрузкой;
• безопасность данных.
Множество сервисов функционирующих как единая
система (базы данных, безопасность, идентификация,
аутентификация, скриптинг серверной логики, другие)
Объединяет множество платформ через единый API
Web, Desktop, Mobile
•REST
•CROSS
•SOAP
•AMF, AMFX
Протоколы доступа
Ядро
Сервисы
Клиенты
Структура
ЯДРО – JAVA
Spring 3.0
ORM - Hibernate 3.5
База Данных – MySQL 5.1
Развитие платформ
А что уже реализовано?
I. Взаимосвязанный набор сервисов
II.Детальная документация и примеры
III.Hive Online IDE
Сервисы
HiAPI (High API) – сервисы высокого уровня
LoAPI (Local, Low API) – локальные методы
низкого уровня
Пользователи
Регистрация
Аутентификация
Управление аккаунтом
Данные
Структуры
Безопасность
Управление доступом
Хранилища
Файловое хранилище
Разработка
Управление приложениями
Скриптинг серверной логики
Утилиты
Пакетные вызовы
Планировщик
Система
Кластер
Правила адресации сервисов
http://api.hivext.ru/{версия}/{простр-во имен}/{имя сервиса}/{протокол}/{название метода}
http://api.hivext.ru/1.0/data/base/rest/definetype
http://api.hivext.ru/1.0/users/registration/cross/createaccount
http://api.hivext.ru/1.0/utils/scheduler/soap/addtask
Скриптинг Серверной логики Java
JavaScript (Rhino 1.7)
EJS (Embedded JavaScript Template)
Python
Ruby
Groovy
Документация и примеры
Wiki (~ 300 страниц с детальным описанием методов)
Пошаговые инструкции
Примеры использования сервисов
Готовые компоненты
Примеры виджетов
Форум
Пример работы с сервисом структур используя скриптинг серверной логики
Пример работы с сервисом структур на клиенте
ORM (Object-relational mapping)
Объектно-реляционная проекция
• простые типы
• списки
• специальные типы
• комплексные типы
JSON mapping, Lazy Load, Projection
Hive Online IDE
Online среда разработки – позволяет приступить к
реализации собственного приложения без
предустановок специализированного
программного обеспечения.
Автоматическое масштабирование
• первое обращение – загрузка приложения в память
• увеличение нагрузки – приложение автоматически разворачивается на другие кластерные ноды
• уменьшение нагрузки – приложение автоматически сворачивается до минимального количества нод
• при длительном простое – приложение выгружается из памяти
Аутентификация – использует всемирно известные сервисы gmail, yahoo, yandex
Шаринг приложений между разными разработчиками
Обращение к данным из других приложений
Вызов скриптов из других приложений
Некоторые полезные особенности
CPU
Memory
IO
Графики
Диагностика работы приложений
Направления развития
• интеграция с социальными сетями
• генерация клиентов для разных ЯП
• интеграция в тонкие клиенты
• расширение сервисов
• локальный SDK
•виджеты
•веб, desktop, mobile приложения
•свои сервисы
•сайты
Что можно создавать на базе платформы
Монетизация
• продажа серверных мощностей
одиночные разработчики
небольшие стартапы
• коробочная версия
крупные проекты
проекты, которым нужна своя платформа приложений
Бесплатные квоты на один аккаунт • 1 Гб дискового пространства
• максимум 3 приложения
Лимиты для приложений• макс. время выполнение одного скрипта 30 секунд
• процессорное время неограниченно (?)
• входящий и исходящий трафик не ограничен (?)
• автоматическое распараллеливание на 2 ноды
Спасибо за внимание.
Описание, документация http://hivext.ru
Hive Online IDE http://ide.hivext.ru
Форум разработчиков http://forum.hivext.ru