SlideShare a Scribd company logo
1 of 24
Download to read offline
Разработка
приложений в облаке
 на примере Amazon
    Web Services

Константин Слисенко
JazzTeam, Senior software engineer
Chuck Norris doesn’t need the cloud to scale
his applications, he uses his laptop.
                      (Chuck Norris plugin for Jenkins)
Что такое облако?
 Пул ресурсов, к которому мы можем получить
 доступ через API

 On demand (self service)
 ● не ждём пока нам сконфигурируют сервер


 Scalable (up and down)
 ● в любой момент можно докупить новые ресурсы или
   отказаться от существующих
 ● безграничные ресурсы и мощности в любое время


 Pay for use
 ● платим только за то, что используем
Для чего можно
использовать облако?
 Размещение приложений с неравномерной нагрузкой
 ● сезонная нагрузка (день/ночь, праздники, пики продаж)
 ● не известно вначале будет ли приложение популярным, мы не
    хотим на этом этапе инвестировать в сервера
 Большие вычисления
 Нагрузочное тестирование
 ● необходимо много ресурсов на короткое время
 Хранение информации с экстремальными
 нагрузками
 ● рекламный ролик, который должны посмотреть миллионы
    покупателей по всему миру
 Улучшение устойчивость к сбоям нашей системы
 ● выход из строя нашего оборудования, запуск копии в облаке пока
Типы облаков
SAAS (Software as a service)
   "Аренда" приложений, больше пользуемся - больше платим


PAAS (Platform as a service)
   Простое для разработчиков развёртывание приложений на известной
   технологии (Java, .NET, PHP, Ruby, ...)

IAAS (Infrastructure as a service)
   Настраиваем инфраструктуру самостоятельно
   Нужны дополнительные навыки и опыт работы с окружением

Storage
   безразмерное хранилище данных
   устойчиво к очень большим нагрузкам
   CDN - системы "раздачи" контента
Рынок

SAAS



PAAS



IAAS




Storage
Типы облаков
Public cloud
●   сервера доступны через интернет
●   зачастую pay for use




Private cloud                         Hybrid cloud
●   работает и поддерживается        ●   гибкость как у private cloud (не
    внутри организации                   требуется интернет-соединения)
●   не требуется интернет-               и устойчивость к сбоям как у
    соединения                           public cloud
●   не все данные можно хранить вне, ●   проигрывает в защищённости
    например финансовые данные           private cloud
Open Source tools to
build private clouds

             http://incubator.apache.org/cloudstack/




                  http://www.eucalyptus.com/




                  http://www.openstack.org/
Amazon Web Services
●   Самый большой на рынке
●   Легко стартовать
    ●   Период бесплатного использования 1 год!
●   Облачные сервисы практически для
    любых нужд
●   API – стандарт де-факто
●   Marketplace (https://aws.amazon.
    com/amis)
География датацентров
AWS Products and services
Amazon Elastic Cloud
Виртуальные машины в аренду
 ●   Разная мощность, разная стоимость
AMI – образ виртуальной машины
 ●   Сохраняем настроенную конфигурацию
 ●   Запускаем любое количество в любой момент
 ●   Можно продавать и покупать на marketplace
Размещение в разных дата-центрах
 ●   Для большей надёжности

Auto Scaling groups
Amazon S3
Файловое хранилище (до 5 ТБ)
99,999999999% надёжность*
Множество протоколов доступа
● http, https, bittorent, …
Резервное копирование данных в разных
дата-центрах

Amazon Cloud Front - размещение данных
ближе к потребителям
Amazon SQS
Асинхронная очередь сообщений
Управление облаком
Amazon
AWS Management Console
● Web-ui, наглядно отображены все сервисы

Прямой вызов API
● Command line interface
● Использование SDK и вызов из программы

API позволяет нам писать скрипты
для управления инфраструктурой!
AWS Management
Console
Amazon Web Services
API
SDK: java, android, iOS, .NET, Node.js,
 Python, PHP, Ruby

Amazon SDK for java
● поддерживает практически все сервисы
● усть плагин к eclipse

http://aws.amazon.com/tools/
http://aws.amazon.com/sdkforjava/
Запуск сервера в EC2
AmazonEC2 ec2 = new AmazonEC2Client(credentials);

RunInstancesRequest req = new RunInstancesRequest();
req.setInstanceType("t1.small");
req.setImageId("ami-dd47ecb4");
req.setMinCount(Integer.valueOf(1));
req.setMaxCount(Integer.valueOf(1));

ArrayList<String> sg = new ArrayList<String>();
sg.add("MySecurityGroup");
req.setSecurityGroups(sg);

RunInstancesResult runResult = ec2.runInstances(req);

for (Instance instance : runResult.getReservation().getInstances()) {
     System.out.println("Launched Instace: " + instance.getInstanceId());
}
Размещение файла в S3
 AmazonS3 s3 = new AmazonS3Client(credentials);

 // Просматриваем все букеты
 for (Bucket b : s3.listBuckets()) {
     System.out.println(b.getName());
 }

 s3.createBucket("myBucket" + UUID.randomUUID());
 s3.putObject(new PutObjectRequest("myBucket", "MyFile",
    createSampleFile()));

 ObjectListing listing = s3.listObjects(new ListObjectsRequest().
    withBucketName("myBucket"));

 for (S3ObjectSummary obj : listing.getObjectSummaries()) {
     System.out.println(obj.getKey() + " size=" + obj.getSize());
 }
Архитектуры
приложений в облаке
Web application hosting         Disaster recovery




                   Batch processing




                                       http://aws.amazon.com/architecture/
Спасибо за внимание!
     Вопросы?




                 kslisenko@gmail.com,
                 Константин Слисенко

More Related Content

What's hot

Solit 2014, Обзор Infocloud для разработчиков, Трухин Юрий
Solit 2014, Обзор Infocloud для разработчиков, Трухин ЮрийSolit 2014, Обзор Infocloud для разработчиков, Трухин Юрий
Solit 2014, Обзор Infocloud для разработчиков, Трухин Юрий
solit
 
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Ontico
 
Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Ontico
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
Ontico
 
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...
it-people
 
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
Ontico
 
Построение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureПостроение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows Azure
Alexander Feschenko
 
AWS и GCP: трудная жизнь в облаках / Максим Пугачев (IPONWEB)
AWS и GCP: трудная жизнь в облаках / Максим Пугачев (IPONWEB)AWS и GCP: трудная жизнь в облаках / Максим Пугачев (IPONWEB)
AWS и GCP: трудная жизнь в облаках / Максим Пугачев (IPONWEB)
Ontico
 

What's hot (19)

Solit 2014, Обзор Infocloud для разработчиков, Трухин Юрий
Solit 2014, Обзор Infocloud для разработчиков, Трухин ЮрийSolit 2014, Обзор Infocloud для разработчиков, Трухин Юрий
Solit 2014, Обзор Infocloud для разработчиков, Трухин Юрий
 
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
 
NoSQL - World IT Planet, Saint Petersburg 2015
NoSQL - World IT Planet, Saint Petersburg 2015NoSQL - World IT Planet, Saint Petersburg 2015
NoSQL - World IT Planet, Saint Petersburg 2015
 
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
 
Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
 
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...
 
Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"
Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"
Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"
 
Виртуальный ЦОД для корпоративных клиентов на базе Virtuozzo: стабильность, п...
Виртуальный ЦОД для корпоративных клиентов на базе Virtuozzo: стабильность, п...Виртуальный ЦОД для корпоративных клиентов на базе Virtuozzo: стабильность, п...
Виртуальный ЦОД для корпоративных клиентов на базе Virtuozzo: стабильность, п...
 
Tuning HighLoad J2EE web application
Tuning HighLoad J2EE web applicationTuning HighLoad J2EE web application
Tuning HighLoad J2EE web application
 
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
 
Ровная балансировка нагрузки на фронтенд-кластере
Ровная балансировка нагрузки на фронтенд-кластереРовная балансировка нагрузки на фронтенд-кластере
Ровная балансировка нагрузки на фронтенд-кластере
 
Сергей Аверин "Распространенные ошибки применения баз данных"
Сергей Аверин "Распространенные ошибки применения баз данных"Сергей Аверин "Распространенные ошибки применения баз данных"
Сергей Аверин "Распространенные ошибки применения баз данных"
 
«Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)
«Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)«Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)
«Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)
 
Построение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureПостроение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows Azure
 
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...
 
AWS и GCP: трудная жизнь в облаках / Максим Пугачев (IPONWEB)
AWS и GCP: трудная жизнь в облаках / Максим Пугачев (IPONWEB)AWS и GCP: трудная жизнь в облаках / Максим Пугачев (IPONWEB)
AWS и GCP: трудная жизнь в облаках / Максим Пугачев (IPONWEB)
 
Мониторинг, когда не тестируешь
Мониторинг, когда не тестируешьМониторинг, когда не тестируешь
Мониторинг, когда не тестируешь
 

Similar to Solit 2013, Разработка приложений в облаке на примере Amazon Web Services, Слисенко Константин

Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Ontico
 
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Ontico
 
CodeFest 2010. Гаджибалаев Н. — сlass Server::Cloud &lt; Server::Hardware // ...
CodeFest 2010. Гаджибалаев Н. — сlass Server::Cloud &lt; Server::Hardware // ...CodeFest 2010. Гаджибалаев Н. — сlass Server::Cloud &lt; Server::Hardware // ...
CodeFest 2010. Гаджибалаев Н. — сlass Server::Cloud &lt; Server::Hardware // ...
CodeFest
 
[JAM 2.1] Cloud Computing (Dmitry Ivashnev)
[JAM 2.1] Cloud Computing (Dmitry Ivashnev)[JAM 2.1] Cloud Computing (Dmitry Ivashnev)
[JAM 2.1] Cloud Computing (Dmitry Ivashnev)
jam_team
 
Готовые решения Cisco для построения «частного облака»
Готовые решения Cisco для построения «частного облака»Готовые решения Cisco для построения «частного облака»
Готовые решения Cisco для построения «частного облака»
Cisco Russia
 
CloudsNN 2013 Демидов Александр. Как жить в облаке без админов?
CloudsNN 2013 Демидов Александр. Как жить в облаке без админов?CloudsNN 2013 Демидов Александр. Как жить в облаке без админов?
CloudsNN 2013 Демидов Александр. Как жить в облаке без админов?
Clouds NN
 
Облачные технологии и инфраструктура как сервис (IaaS). Зачем это нужно бизнесу?
Облачные технологии и инфраструктура как сервис (IaaS). Зачем это нужно бизнесу?Облачные технологии и инфраструктура как сервис (IaaS). Зачем это нужно бизнесу?
Облачные технологии и инфраструктура как сервис (IaaS). Зачем это нужно бизнесу?
ActiveCloud
 

Similar to Solit 2013, Разработка приложений в облаке на примере Amazon Web Services, Слисенко Константин (20)

Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
 
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
 
CodeFest 2010. Гаджибалаев Н. — сlass Server::Cloud &lt; Server::Hardware // ...
CodeFest 2010. Гаджибалаев Н. — сlass Server::Cloud &lt; Server::Hardware // ...CodeFest 2010. Гаджибалаев Н. — сlass Server::Cloud &lt; Server::Hardware // ...
CodeFest 2010. Гаджибалаев Н. — сlass Server::Cloud &lt; Server::Hardware // ...
 
Приватный клауд на базе OpenStack
Приватный клауд на базе OpenStackПриватный клауд на базе OpenStack
Приватный клауд на базе OpenStack
 
Частное облако как сервис
Частное облако как сервисЧастное облако как сервис
Частное облако как сервис
 
[JAM 2.1] Cloud Computing (Dmitry Ivashnev)
[JAM 2.1] Cloud Computing (Dmitry Ivashnev)[JAM 2.1] Cloud Computing (Dmitry Ivashnev)
[JAM 2.1] Cloud Computing (Dmitry Ivashnev)
 
Готовые решения Cisco для построения «частного облака»
Готовые решения Cisco для построения «частного облака»Готовые решения Cisco для построения «частного облака»
Готовые решения Cisco для построения «частного облака»
 
Jelastic PaaS for DevOps: Hybrid Cloud based on Microsoft Azure
Jelastic PaaS for DevOps: Hybrid Cloud based on Microsoft AzureJelastic PaaS for DevOps: Hybrid Cloud based on Microsoft Azure
Jelastic PaaS for DevOps: Hybrid Cloud based on Microsoft Azure
 
Портфолио облачных сервисов от IBM
Портфолио облачных сервисов от IBMПортфолио облачных сервисов от IBM
Портфолио облачных сервисов от IBM
 
Программные интерфейсы управления серверной платформой и вычислительными стек...
Программные интерфейсы управления серверной платформой и вычислительными стек...Программные интерфейсы управления серверной платформой и вычислительными стек...
Программные интерфейсы управления серверной платформой и вычислительными стек...
 
Jelastic для разработчиков ПО
Jelastic для разработчиков ПОJelastic для разработчиков ПО
Jelastic для разработчиков ПО
 
Демонстрация возможностей по автоматизации ЦОД
Демонстрация возможностей по автоматизации ЦОДДемонстрация возможностей по автоматизации ЦОД
Демонстрация возможностей по автоматизации ЦОД
 
Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014
 
Sql azure и все, все, все...
Sql azure и все, все, все...Sql azure и все, все, все...
Sql azure и все, все, все...
 
Облачная стратегия Cisco
Облачная стратегия CiscoОблачная стратегия Cisco
Облачная стратегия Cisco
 
Microsoft , Azure и Drupal
Microsoft , Azure и DrupalMicrosoft , Azure и Drupal
Microsoft , Azure и Drupal
 
CloudsNN 2013 Демидов Александр. Как жить в облаке без админов?
CloudsNN 2013 Демидов Александр. Как жить в облаке без админов?CloudsNN 2013 Демидов Александр. Как жить в облаке без админов?
CloudsNN 2013 Демидов Александр. Как жить в облаке без админов?
 
AZadonsky New Cloud Services
AZadonsky New Cloud ServicesAZadonsky New Cloud Services
AZadonsky New Cloud Services
 
Облачные технологии и инфраструктура как сервис (IaaS). Зачем это нужно бизнесу?
Облачные технологии и инфраструктура как сервис (IaaS). Зачем это нужно бизнесу?Облачные технологии и инфраструктура как сервис (IaaS). Зачем это нужно бизнесу?
Облачные технологии и инфраструктура как сервис (IaaS). Зачем это нужно бизнесу?
 
Из чего строят облака? Продукты Citrix
Из чего строят облака? Продукты CitrixИз чего строят облака? Продукты Citrix
Из чего строят облака? Продукты Citrix
 

More from solit

Solit 2014, Адраджэнне Памяти аб продках пачынаецца з дзеянняу нашчадкау, Уру...
Solit 2014, Адраджэнне Памяти аб продках пачынаецца з дзеянняу нашчадкау, Уру...Solit 2014, Адраджэнне Памяти аб продках пачынаецца з дзеянняу нашчадкау, Уру...
Solit 2014, Адраджэнне Памяти аб продках пачынаецца з дзеянняу нашчадкау, Уру...
solit
 
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
solit
 
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
solit
 
Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...
Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...
Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...
solit
 
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...
solit
 

More from solit (20)

Jazz team cooperation roadmap
Jazz team cooperation roadmapJazz team cooperation roadmap
Jazz team cooperation roadmap
 
JazzTeam company presentation
JazzTeam company presentationJazzTeam company presentation
JazzTeam company presentation
 
Solit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко Антон
Solit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко АнтонSolit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко Антон
Solit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко Антон
 
Solit 2014, Scrum guide 2013, Семенченко Антон
Solit 2014, Scrum guide 2013, Семенченко АнтонSolit 2014, Scrum guide 2013, Семенченко Антон
Solit 2014, Scrum guide 2013, Семенченко Антон
 
Solit 2014, Подготовка специалистов в сфере It на факультетe информационных т...
Solit 2014, Подготовка специалистов в сфере It на факультетe информационных т...Solit 2014, Подготовка специалистов в сфере It на факультетe информационных т...
Solit 2014, Подготовка специалистов в сфере It на факультетe информационных т...
 
Solit 2014, Адраджэнне Памяти аб продках пачынаецца з дзеянняу нашчадкау, Уру...
Solit 2014, Адраджэнне Памяти аб продках пачынаецца з дзеянняу нашчадкау, Уру...Solit 2014, Адраджэнне Памяти аб продках пачынаецца з дзеянняу нашчадкау, Уру...
Solit 2014, Адраджэнне Памяти аб продках пачынаецца з дзеянняу нашчадкау, Уру...
 
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
 
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
 
Solit 2014, Cемантическое ядро сайта, Нагибович Юлия
Solit 2014, Cемантическое ядро сайта, Нагибович ЮлияSolit 2014, Cемантическое ядро сайта, Нагибович Юлия
Solit 2014, Cемантическое ядро сайта, Нагибович Юлия
 
Solit 2014, Геоанамальные зоны и сейсмоакустика. Субъективный взгляд. Миснико...
Solit 2014, Геоанамальные зоны и сейсмоакустика. Субъективный взгляд. Миснико...Solit 2014, Геоанамальные зоны и сейсмоакустика. Субъективный взгляд. Миснико...
Solit 2014, Геоанамальные зоны и сейсмоакустика. Субъективный взгляд. Миснико...
 
Solit 2014, Обзор белоруского интернет потребителя и рекламодателя. Что хочет...
Solit 2014, Обзор белоруского интернет потребителя и рекламодателя. Что хочет...Solit 2014, Обзор белоруского интернет потребителя и рекламодателя. Что хочет...
Solit 2014, Обзор белоруского интернет потребителя и рекламодателя. Что хочет...
 
Solit 2014, Как эффективно организовать Автоматизацию, Семенченко Антон
Solit 2014, Как эффективно организовать Автоматизацию, Семенченко АнтонSolit 2014, Как эффективно организовать Автоматизацию, Семенченко Антон
Solit 2014, Как эффективно организовать Автоматизацию, Семенченко Антон
 
Solit 2014, Freelance and Nearshoring from a Dutch Perspective, Peter Reitsma
Solit 2014, Freelance and Nearshoring from a Dutch Perspective, Peter ReitsmaSolit 2014, Freelance and Nearshoring from a Dutch Perspective, Peter Reitsma
Solit 2014, Freelance and Nearshoring from a Dutch Perspective, Peter Reitsma
 
Solit 2014, Мифы и легенды SEO, Крылов Александр
Solit 2014, Мифы и легенды SEO, Крылов АлександрSolit 2014, Мифы и легенды SEO, Крылов Александр
Solit 2014, Мифы и легенды SEO, Крылов Александр
 
Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...
Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...
Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...
 
Solit 2014, Непрерывная интеграция сложного проекта. Кто все сломал?, Русаков...
Solit 2014, Непрерывная интеграция сложного проекта. Кто все сломал?, Русаков...Solit 2014, Непрерывная интеграция сложного проекта. Кто все сломал?, Русаков...
Solit 2014, Непрерывная интеграция сложного проекта. Кто все сломал?, Русаков...
 
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...
 
Solit 2014, 3 этапа развития аналитики вашего бизнеса. Как правильно определи...
Solit 2014, 3 этапа развития аналитики вашего бизнеса. Как правильно определи...Solit 2014, 3 этапа развития аналитики вашего бизнеса. Как правильно определи...
Solit 2014, 3 этапа развития аналитики вашего бизнеса. Как правильно определи...
 
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...
Solit 2014, Опыт участия в конкурсе по спортивному программированию Russian A...
 
Solit 2014, MapReduce и машинное обучение на hadoop и mahout, Слисенко Конста...
Solit 2014, MapReduce и машинное обучение на hadoop и mahout, Слисенко Конста...Solit 2014, MapReduce и машинное обучение на hadoop и mahout, Слисенко Конста...
Solit 2014, MapReduce и машинное обучение на hadoop и mahout, Слисенко Конста...
 

Solit 2013, Разработка приложений в облаке на примере Amazon Web Services, Слисенко Константин

  • 1. Разработка приложений в облаке на примере Amazon Web Services Константин Слисенко JazzTeam, Senior software engineer
  • 2. Chuck Norris doesn’t need the cloud to scale his applications, he uses his laptop. (Chuck Norris plugin for Jenkins)
  • 3. Что такое облако? Пул ресурсов, к которому мы можем получить доступ через API On demand (self service) ● не ждём пока нам сконфигурируют сервер Scalable (up and down) ● в любой момент можно докупить новые ресурсы или отказаться от существующих ● безграничные ресурсы и мощности в любое время Pay for use ● платим только за то, что используем
  • 4. Для чего можно использовать облако? Размещение приложений с неравномерной нагрузкой ● сезонная нагрузка (день/ночь, праздники, пики продаж) ● не известно вначале будет ли приложение популярным, мы не хотим на этом этапе инвестировать в сервера Большие вычисления Нагрузочное тестирование ● необходимо много ресурсов на короткое время Хранение информации с экстремальными нагрузками ● рекламный ролик, который должны посмотреть миллионы покупателей по всему миру Улучшение устойчивость к сбоям нашей системы ● выход из строя нашего оборудования, запуск копии в облаке пока
  • 5. Типы облаков SAAS (Software as a service) "Аренда" приложений, больше пользуемся - больше платим PAAS (Platform as a service) Простое для разработчиков развёртывание приложений на известной технологии (Java, .NET, PHP, Ruby, ...) IAAS (Infrastructure as a service) Настраиваем инфраструктуру самостоятельно Нужны дополнительные навыки и опыт работы с окружением Storage безразмерное хранилище данных устойчиво к очень большим нагрузкам CDN - системы "раздачи" контента
  • 7. Типы облаков Public cloud ● сервера доступны через интернет ● зачастую pay for use Private cloud Hybrid cloud ● работает и поддерживается ● гибкость как у private cloud (не внутри организации требуется интернет-соединения) ● не требуется интернет- и устойчивость к сбоям как у соединения public cloud ● не все данные можно хранить вне, ● проигрывает в защищённости например финансовые данные private cloud
  • 8. Open Source tools to build private clouds http://incubator.apache.org/cloudstack/ http://www.eucalyptus.com/ http://www.openstack.org/
  • 9. Amazon Web Services ● Самый большой на рынке ● Легко стартовать ● Период бесплатного использования 1 год! ● Облачные сервисы практически для любых нужд ● API – стандарт де-факто ● Marketplace (https://aws.amazon. com/amis)
  • 11. AWS Products and services
  • 12. Amazon Elastic Cloud Виртуальные машины в аренду ● Разная мощность, разная стоимость AMI – образ виртуальной машины ● Сохраняем настроенную конфигурацию ● Запускаем любое количество в любой момент ● Можно продавать и покупать на marketplace Размещение в разных дата-центрах ● Для большей надёжности Auto Scaling groups
  • 13. Amazon S3 Файловое хранилище (до 5 ТБ) 99,999999999% надёжность* Множество протоколов доступа ● http, https, bittorent, … Резервное копирование данных в разных дата-центрах Amazon Cloud Front - размещение данных ближе к потребителям
  • 15. Управление облаком Amazon AWS Management Console ● Web-ui, наглядно отображены все сервисы Прямой вызов API ● Command line interface ● Использование SDK и вызов из программы API позволяет нам писать скрипты для управления инфраструктурой!
  • 17. Amazon Web Services API SDK: java, android, iOS, .NET, Node.js, Python, PHP, Ruby Amazon SDK for java ● поддерживает практически все сервисы ● усть плагин к eclipse http://aws.amazon.com/tools/ http://aws.amazon.com/sdkforjava/
  • 18. Запуск сервера в EC2 AmazonEC2 ec2 = new AmazonEC2Client(credentials); RunInstancesRequest req = new RunInstancesRequest(); req.setInstanceType("t1.small"); req.setImageId("ami-dd47ecb4"); req.setMinCount(Integer.valueOf(1)); req.setMaxCount(Integer.valueOf(1)); ArrayList<String> sg = new ArrayList<String>(); sg.add("MySecurityGroup"); req.setSecurityGroups(sg); RunInstancesResult runResult = ec2.runInstances(req); for (Instance instance : runResult.getReservation().getInstances()) { System.out.println("Launched Instace: " + instance.getInstanceId()); }
  • 19. Размещение файла в S3 AmazonS3 s3 = new AmazonS3Client(credentials); // Просматриваем все букеты for (Bucket b : s3.listBuckets()) { System.out.println(b.getName()); } s3.createBucket("myBucket" + UUID.randomUUID()); s3.putObject(new PutObjectRequest("myBucket", "MyFile", createSampleFile())); ObjectListing listing = s3.listObjects(new ListObjectsRequest(). withBucketName("myBucket")); for (S3ObjectSummary obj : listing.getObjectSummaries()) { System.out.println(obj.getKey() + " size=" + obj.getSize()); }
  • 20. Архитектуры приложений в облаке Web application hosting Disaster recovery Batch processing http://aws.amazon.com/architecture/
  • 21.
  • 22.
  • 23.
  • 24. Спасибо за внимание! Вопросы? kslisenko@gmail.com, Константин Слисенко