Atamas diploma
-
Upload
semyon-atamas -
Category
Education
-
view
137 -
download
0
Transcript of Atamas diploma
1/16
Онлайн среда разработки для языка Котлин
Автор: Атамась Семён МихайловичРуководитель: Бреслав Андрей Андреевич, JetBrains
Санкт-Петербургский Академический Университет
27 мая 2015 г.
Атамась Семён Михайлович Онлайн среда разработки для языка Котлин
2/16
Онлайн среды разработки
Исполнение кода в браузереДемонстрация возможностей языкаПримеры:
jsfiddle.net - HTML/CSS/JStry.ceylon-lang.org - Ceylontutorialspoint.com - различные языки. . .
Атамась Семён Михайлович Онлайн среда разработки для языка Котлин
3/16
Цель
Обновить Kotlin Web Demo
Атамась Семён Михайлович Онлайн среда разработки для языка Котлин
4/16
Задачи
Обновление приложенияНовый дизайнПоддержка многофайловых проектовПоддержка junit
Масштабируемая архитектураАвтоматизированная система публикации приложенияАвтоматическое масштабирование
Атамась Семён Михайлович Онлайн среда разработки для языка Котлин
5/16
Старая архитектура
Сервер
Динамическая
Информация
Статическая
информация
Информация
избазы
данных
Атамась Семён Михайлович Онлайн среда разработки для языка Котлин
6/16
Обновление сервера: новая архитектура
Внешний
сервер
Статическая
информация
Информация
избазы
данных
Внутренний
сервер
КотлинВнутренний
сервер
Котлин
Внутренний
сервер
Котлин
Пользователи
Атамась Семён Михайлович Онлайн среда разработки для языка Котлин
7/16
Обновление клиентского кода
Добавлено понятие проектаРабота с локальным хранилищемИзолированное исполнение JS кодаОтображение результатов тестирования
Атамась Семён Михайлович Онлайн среда разработки для языка Котлин
8/16
Обновление сервера: запуск Junit тестов
Тесты запускаются в отдельном процессеВывод в формате JSONJava Security Manager
Привелигированный код
flПользовательский
код
Сервер
Процесс исполнения
Запрос О
твет
Запуск
процесса [{
file:"Hello.kt",
class:"Hello"
...
}]
Атамась Семён Михайлович Онлайн среда разработки для языка Котлин
9/16
Устройство автоматического масштабирования
nginx
app A app B
MySQL
...
ELB A ELB B
ASG
DeveloperUsers
try.kotlinlang.orgprivate url
app A app Aapp B app B
Атамась Семён Михайлович Онлайн среда разработки для языка Котлин
10/16
Автоматизация процесса
Автоматическое развёртывание инфраструктуры наAmazonАвтоматическая публикация приложенияАвтоматический старт внутренних серверовСтатистика:
3 git-репозитория4 docker-контейнера50KB конфигурационных скриптов
Атамась Семён Михайлович Онлайн среда разработки для языка Котлин
11/16
Метрики
Если потребление CPU > 80% в течении 2 минут
То увеличь количество компьютеров в 2 раза
Жди 1 минуту перед следующим масшатбированием
Если потребление CPU 6 50% в течении часа
То уменьши количество компьютеров на 1
Жди 5 минут перед следующим масшатбированием
Атамась Семён Михайлович Онлайн среда разработки для языка Котлин
12/16
Результаты нагрузочного тестирования
1 машина - 400 пользователейЗапуск новой машины - 3 минутыВосстановление машины после перегрузки - одна минута
Атамась Семён Михайлович Онлайн среда разработки для языка Котлин
13/16
Результаты
Приложение опубликовано на try.kotlinlang.orgПорядка 1000 пользователей и 4000 просмотровПротестированная масштабируемая архитектураприложенияАвтоматизированная схема публикации и обновленияприложенияПоддержка JUnit и многофайловых проектов в приложении
Атамась Семён Михайлович Онлайн среда разработки для языка Котлин
14/16
Спасибо за внимание
Спасибо за внимание!
Атамась Семён Михайлович Онлайн среда разработки для языка Котлин
15/16
Направления развития: Kotlin Koans
Атамась Семён Михайлович Онлайн среда разработки для языка Котлин