Андрей Горемульта из ASD Technologies рассказал о внедрении enterprise-grade облака для Softbank, чтобы проиллюстрировать процесс разворачивания OpenStack на Docker. В рамках своего выступления он уделил внимание сравнению OpenStack и CloudStack, убедительно доказав преимущества первого перед вторым. Рассказал о причинах использования Docker-контейнеров, о том, как автоматизировать конфигурирвоание сервисов внутри контейнеров. И, наконец, показал, как все эти теоретические знания пригодились на практике.
2. The issue
2
Внедрение облачной инф раструктуры -
процесс сложный и трудоемкий…
Даже если есть открытый исходный
код, подробная документация и
поддержка сообщества, построить в
сжатые сроки облачную ИТ-экосистему,
которая бы удовлетворяла всем
потребностям конечного заказчика, не
просто.
3. Cloudike “Business Edition” is deployed for Softbank.
SOFTBANK - ЯПОНСКАЯ МЕДИАКОРПОРАЦИЯ, ПОД ЧЬИМ БРЕНДОМ НА РЫНКЕ
ТЕЛЕКОММУНИКАЦИЙ РАБОТАЕТ ОКОЛО 600 КОМПАНИЙ С ГОДОВОЙ ВЫРУЧКОЙ БОЛЕЕ
ОДНОГО МИЛЛИАРДА ДОЛЛАРОВ США
Project for SoftBank
3
softbankck.co.kr
4. Cloudike is a complete solution for setting up white-label «dropbox»
SaaS, hosted on a private, public or hybrid cloud infrastructure.
Cloudike fully supports integration with various security, billing and
IT systems.
§ Leading-edge usability inspired by DROPBOX
§ Short time-to-launch & ZERO ROYALTY payments
§ Success-based pricing, OPEX-only option available
§ Horizontally scales to PETABYTES
CLOUDIKE ADVANTAGES www.cloudike.com
Who is Mr. Cloudike?
4
5. Who is Mr. Cloudike?
5
BUILT TO SCALE
PHP / HTML5
Cloudike’s WEB FRONT-END
Cloudike FileAPI
[ Python ]
RapidSynс
[ Python ]
RabbitMQ
DISTRIBUTED
QUEUE
MEDIA PROCESSOR
[ Python ]
CLOUD IaaS or BARE-METAL
infrastructure
OpenStack Swift
OBJECT STORAGE
MongoDB
DATABASE
All Cloudike modules are based on royalty-free,
scalable open-source technologies. RapidSync
delivers real-time sync capabilities to millions of
end users.
Every role is clustered to ensure constant
availability, and can be easily scaled
horizontally.
6. Who is Mr. Cloudike?
6
MOBILE MAC & PC HTML5 WEB
7.
8. TOP LEVEL ARCHITECTURE
Первоначальный вариант инфраструктуры
Cloudike предполагал развертывание на 12
серверах. Каждый блок на схеме представляет
собой физический сервер.
§ LoadBalancer – балансировщик нагрузки
§ Front-end – платформы WebUI
§ Back-end – API платформы, предоставляющий
доступ к данным через WebDAV, мобильные
клиенты или приложения для ПК
§ DB – кластер баз данных
9. ПО МЕРЕ РОСТА ЭКОСИСТЕМЫ, СУЩЕСТВУЮЩИЕ СЦЕНАРИИ
НАЧАЛИ КОНФЛИКТОВАТЬ С НОВЫМИ, ПОЭТОМУ КАЖДЫЙ РАЗ
ПРИХОДИЛОСЬ ПРОИЗВОДИТЬ ДОПОЛНИТЕЛЬНЫЕ НАСТРОЙКИ
Stack… SaltStack!
8
SaltStack — система управления конфигурациями и удалённого выполнения
операций. Архитектура SaltStack спроектирована таким образом, чтобы ее
можно было легко расширить и дополнить другими модулями.
11. Stack… OpenStack!
11
˖Автоматизация управления системой
˖Большой список поддерживаемого сетевого
оборудования и СХД
˖Автоматическое изменение параметров
виртуальных машин в зависимости от
нагрузки
˖Отслеживание метрик виртуальных машин
˖Большое сообщество разработчиков
˖Мы любим Python :)
12. The Beginning
… система установки Cloudike
… на-ча-ло
12
МЫ ВРУЧНУЮ РАЗВЕРНУЛИ OPENSTACK НА НАШИХ СЕРВЕРАХ,
ПРОТЕСТИРОВАЛИ ПЛАТФОРМУ И ПОНЯЛИ, ЧТО ПОТРЕБУЮТСЯ ДОРАБОТКИ
verbose = False
debug = True
auth_host = controller1
auth_protocol = http
auth_port = 35357
admin_user = neutron
13. TOP LEVEL ARCHITECTURE
ИНФРАСТРУКТУРА:
§ 2 сервера - управляют OpenStack
(Controller-server 1 и Controller-server 2)
§ 4 сервера виртуализации (Compute-
server 1-4)
§ Инфраструктура Cloudike запускается на
виртуальных машинах
В результате время развертывания
стендов сократилось с 2-3 ч. до 10-15 мин.
14. Однако, возникли проблемы:
˗ Конф игурация и установка OpenStack
занимает длительное время
˗ Доработка компонентов во время
использования платф ормы требует
тестирования и обновления стендов
˗ Управляющие компоненты OpenStack
необходимо устанавливать на ф изические
сервера и дублировать
Oops..!
14
15. Требования к системе инсталляции для
OpenStack:
˖ Максимально упрощенный процесс создания
конф игурационного ф айла
˖ Установка на ф изические сервера за минимальное
количество времени
˖ Простое обновление компонентов
˖ Запуск нескольких версий одного компонента
˖ Attractive ТСО
Thinking double
15
17. ПОСЛЕ ЭТОГО МЫ РАЗВЕРНУЛИ НА OPENSTACK – CLOUDIKE, ХРАНИЛИЩЕ КОТОРОЕ МЫ
ИСПОЛЬЗУЕМ ВНУТРИ КОМПАНИИ
Final countdown
18
Ansible позволяет исключить установку дополнительных агентов на серверах при
подготовке к запуску контейнеров и настройки компонентов OpenStack, а также
имеет простой метод описания существующего стенда и не требует отдельный
сервер даже при большом количестве физических серверов.
18. ПОСЛЕ ЭТОГО ВСТАЛ ВОПРОС О ТОМ, КАК АВТОМАТИЗИРОВАТЬ КОНФИГУРИРОВАНИЕ
СЕРВИСОВ ВНУТРИ DOCKER-КОНТЕЙНЕРОВ?
Mr. Docker
17
Docker обеспечивает быстрый запуск нужной службы на физическом сервере
без установки «лишних» пакетов в корневую операционную систему, а также
позволяет запускать несколько версий одного компонента, что упрощает
процесс тестирования и плавного обновления компонентов кластера.
20. Без использования виртуализации,
инфраструктура Cloudike для Softbank
потребовала бы 12 серверов.
А для установки Cloudike c применением
стандартной инсталляции OpenStack
потребовалось бы 7 серверов.
В итоге, вся инф раструктура
Cloudike разместилась
на 4х ф изических серверах
под управлением OpenStack
# # # # # # # # # # # # # # # # # # #
#
21. ˖ Улучшенный контроль за работой служб
˖ Тестируем обновления без вреда для
существующего кластера
˖ Любые масштабы установки Cloudike
˖ Возможность построения гео-распределенных
экосистем для Cloudike
So what!?
21
24. Our toolkit
24
OPENSTACK FITS CORE NEEDS OF
SERVICE-PROVIDERS •DATA-CENTERS •ENTERPRISES
HELPING SIGNIFICANTLY REDUCE LICENSE FEES AND
BECOME VENDOR INDEPENDENT
We professionally deploy OpenStack
for private and commercial clouds as
well as AWS (Amazon Web Services)
for small and trial installations to
optimize initial investments.