Drupal в облаке лучшие практики размещения Drupal в облачном окружении Microsoft Azure Владимир Юнев Microsoft Agenda • Почему облако? • Почему Azure? • Что есть PaaS? Что есть IaaS? • Drupal в облаке Azure • Как начать? • Миграция • Оптимизация • Что дальше? Почему облако? Облако Надежнее Быстрее Дешевле Больше Функциональнее Почему Azure? Основные ЦОДы Узлы CDN Доступные субрегионы Анонсированные субрегионы Субрегион управляемый партнером рынков по всему миру Что есть PaaS и IaaS? Разделение ответственности уменьшение затрат на безопасность + гибкость, доступ и управление Локально IaaS PaaS Клиент SaaS Microsoft Что есть PaaS? MICROSOFT AZURE WEBSITES PaaS для Современного Веба Мощная самообслуживаемая платформа для разработчиков Гибкое решение хостинга для ИТ Гибкая Масштабируемая Безопасная Размещение приложений на платформах, фреймворках и языках на ваш выбор Масштабирование вверх или вниз за секунды в балансируемом и всегда актуальном окружении Высокая защита корпоративного уровня с поддержкой SSL и аутентификации Active Directory Azure Web Sites это масштабируемая, безопасная и гибкая платформа для построения мощных веб-приложений для запуска и развития вашего бизнеса и привлечения новых клиентов. Выбор платформ Azure Web Sites Выбор платформ Azure Web Sites Выбор готовых приложений (>30) Поддержка Drupal в Web Sites Легкое масштабирование Что есть IaaS? Виртуальные машины Azure Запуск Windows Server и Linux за минуты Масштаб от одной до тысяч экземпляров VM Экономия денег с поминутной тарификацией Открыто и расширяемо Развертывание VM >_ Галерея VM КОЛЛЕКЦИЯ ГОТОВЫХ ОБРАЗОВ ДЛЯ РАЗНООБРАЗНЫХ ОКРУЖЕНИЙ Windows Server 2012 R2 Ubuntu Server 14.04 LTS SQL Server 2014 Standard Oracle Database 11g R2 SAP HANA Developer Edition Puppet Enterprise 3.2.3 Microsoft Azure SUSE Linux Enterprise Server openSUSE 13.1 Oracle Linux 6.4.0.0.0 BizTalk Server 2013 SharePoint Server Farm Microsoft Dynamics GP 2013 Zulu 8 Barracuda Web Application Oracle WebLogic Server 12.1.2 CentOS 6.5 Visual Studio Ultimate 2013 Windows 8.1 Enterprise 20 Linux-окружение и cообщество VMDepot http://vmdepot.msopentech.com/ LAMP, Drupal, Jenkis, Magento, MongoDB, Neo4js, Redis, WordPress, Apache Solr, Cassandra, Coppermine, Discourse, Django, DokuWiki, GitLab, Gitorious, Horde, JBoss, Jetty, Joomla, JRuby, Mantis, MediaWiki, Moodle, Node.js, OpenERP, ownCloud, phpBB, Plone, Redmine, Riak, Spree, SugarCRM, Tomcat, XOOPS, … …и сотни других. Azure Marketplace Drupal 8/Ubuntu из Azure Marketplace Размеры виртуальных машин VM Size CPU Cores Memory Bandwidth # (1TB) Data Disks Extra Small (A0) Shared 768 MB 5 (Mbps) 1 Small (A1) 1 1.75 GB 100 (Mbps) 2 Medium (A2) 2 3.5 GB 200 (Mbps) 4 Large (A3) 4 7 GB 400 (Mbps) 8 Extra Large (A4) 8 14 GB 800 (Mbps) 16 A5 2 14 GB 200 (Mbps) 4 A6 4 28 GB 1000 (Mbps) 8 A7 8 56 GB 2000 (Mbps) 16 A8 8 56 GB 40 Gbit/s InfiniBand 16 A9 16 112 GB 40 Gbit/s InfiniBand 16 Как начать? Размещение и миграция Миграция Drupal в Azure • Создание веб-сайта Azure Web Site и базы данных MySQL • БД: бесплатно, ClearDB в Azure Store, свой кластер MySQL • Копирование базы данных в MySQL в веб-сайт Azure • mysqldump -u local_username --password=local_password drupal | mysql -h remote_host -u remote_username --password=remote_password remote_db_name • Изменение подключения к базе данных • <drupalsite>/sites/default/setting.php • Размещение кода Drupal с помощью Git или FTP • Git: http://azure.microsoft.com/en-us/documentation/articles/web-sites-php-mysql-deploy-use-git/ Azure Storage Module for Drupal Memcached Cloud от redislabs.com Что дальше? Практики оптимизации Drupal в Azure Общие практики • Имейте в виду облачные особенности расход ресурсов • Трафик, автомасштабирование, поминутная тарификация • Настройте резервирование веб-сайта • Azure Web Sites имеет встроенный механизм бэкапа (+БД) • Избавляйтесь от временных файлов перед размещением • Azure Web Sites WebJobs – позволяет выполнять задачи по расписанию • Настройте бесплатный SSL в Azure Web Sites • Избегайте модификаций ядра Drupal • Используйте web.config для тонкой настройки • Балансировка нагрузки, Session Affinity Drupal & Azure Web Sites • Включить логи сервера с сохранением в Azure Storage • Настроить автоматическое масштабирование • Перейти на режимы Basic или Standard • Производительность, функции и SLA • Масштабируйте сайт на два и более экземпляра • Проведите нагрузочное тестирование • Бесплатно с Azure и Visual Studio Online • Настройте автоматическое лечение (Azure Web Sites auto healing) • Перезапуск на основе числа запросов, скорости обработки • Лог или перезапуск на основе HTTP-кодов • Выполнение любых действий на основе информации о памяти Масштабирование на несколько регионов • Два Azure Web Sites связаны с соответствующими БД • Обе БД MySQL синхронизированы с репликацией • ClearDB high availability routing • MySQL Cluster CGE • Azure Traffic Manager балансирует трафик между регионами • Faliover, Round Robin, Performance • Memcached настроен с функцией failover • Memcached Cloud от Redis Labs • Azure Storage c гео-избыточным режимом хранения Быстрый старт. Центр разработчика PHP на Azure http://azure.microsoft.com/en-us/develop/php/ https://github.com/Azure/azure-sdk-for-php Бесплатно Программа BizSpark Программы Microsoft BizSpark и BizSpark+ для стартапов. Бесплатные мощности Azure в течение длительного времени Пробный период $200 на 30 дней Непосредственно на azure.microsoft.com Оплата по мере использования Отсутствие предварительных затрат, возможность отмены в любое время Отсутствие долгосрочных обязательств 6 или 12 месяцев Денежные обязательства от $500 в месяц Программы Open License 12 месяцев Гибкость корпоративного лицензирования с использованием средства, уже знакомого предприятиям малого и среднего бизнеса Предоставление партнерам возможности получать прибыль и поощрения Корпоративное соглашение Более долгосрочные Предлагаются дополнительные скидки и условия за лояльность платформе Приступайте к работе Заходите на сайт azure.microsoft.com azurerus@microsoft.com facebook.com/yunev blogs.msdn.com/b/vyunev facebook.com/groups/azurerus azure.com AzureHub.ru msftva.ru