SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Варианты развертывания
  проектов на платформе М3




                       +


Докладчик:
                             Решения для электронного правительства и
Кирилл                       электронизация государственных услуг
Борисов
                                               Больше, чем технологии!
Взгляд со стороны пользователя


                                  Запрос




                                                            Система

          Клиент


                                   Ответ



         С точки зрения клиента, система представляет собой «черный ящик».


3
WSGI? Что это?

    WSGI (Web Server Gateway Interface)

                                                WSGI



                              middleware

                                           middleware

                                                        middleware
     Web-сервер                                                      ...   Приложение




      Универсальный интерфейс между web-приложениями на Python и Web-сервером.


3
Взгляд со стороны администратора


         Frontend                    Backend




                    Запрос




                     Ответ
      Клиент                      Web-сервер            Сервер           Сервер БД
                                                      приложений




       С точки зрения системного администратора, бэкенд представляет собой сложный
                      комплекс взаимодействующих между собой систем.



3
Варианты развертывания




     1   Apache + mod_wsgi

     2    nginx + (gunicorn / uWSGI)

     3    supervisor + nginx + (gunicorn | uWSGI)




3
Классический вариант: Apache + mod_wsgi



                                         Apache      mod_wsgi      Приложение 1




    Web-браузер                          Apache      mod_wsgi      Приложение 2




                                         Apache      mod_wsgi      Приложение 3




       Каждое приложение выполняется в контексте отдельного экземпляра Apache.



3
Классический вариант: Apache + mod_wsgi




              За                    Против

       Обширная документация       Прожорлив к ресурсам




        Работает «из коробки»       Сложность создания
                                нестандартных конфигураций



         Поддержка Windows      Плохо переносит DoS атаки



3
Перспективный вариант: nginx + uWSGI

                                                            worker


                                                            worker   Приложение 1



                                                            worker

                       Обратный      Контроллирующий
       Web-браузер
                        прокси            процесс

                                                            worker



                                                            worker   Приложение 2



                                                            worker




       Использование схемы «master-worker» позволяет гибко изменять конфигурацию
      работающей системы и распределять нагрузку без видимых для клиента изменений.



3
Прогрессивный: вариант: nginx + WSGI-сервер




              За                       Против

        Гибкость конфигурации и
                                   Очень сложен в настройке
             расширяемость

                                   Избыточен для большинства
        Встроенный load balancer
                                           сценариев

           Тесная интеграция:
              nginx+uWSGI,         Сложно заставить работать
            nginx+memcached              под Windows



3
Дополнительные аспекты развертывания



      1   Контроль за процессами: supervisor, Upstart




     2     Автоматическое обновление систем: Fabric, Puppet




           Автоматическая установка необходимых библиотек под
     3     Linux: apt-get, pip


3
Анонс мастер-класса



      1   Развертывание системы под Apache + mod_wsgi



      2    Использование gunicorn



     3     Автоматическая балансировка нагрузки через nginx



     4     Все вместе: supervisor + nginx + gunicorn



3
И в завершение…




                  Вопросы?



3
Спасибо за внимание!

      +

Weitere ähnliche Inhalte

Was ist angesagt?

СЭД, которой можно доверять
СЭД, которой можно доверятьСЭД, которой можно доверять
СЭД, которой можно доверятьИнтерТраст
 
MAKING THE BEST FROM HARDWARE AND SOFTWARE FOR TRUE CORPORATE MOBILITY
MAKING THE BEST FROM HARDWARE AND SOFTWARE FOR TRUE CORPORATE MOBILITYMAKING THE BEST FROM HARDWARE AND SOFTWARE FOR TRUE CORPORATE MOBILITY
MAKING THE BEST FROM HARDWARE AND SOFTWARE FOR TRUE CORPORATE MOBILITYAnna Rastova
 
Распределённые приложения. Часть 1. «Клиент и ядро бизнес-логики»
Распределённые приложения. Часть 1.
«Клиент и ядро бизнес-логики»Распределённые приложения. Часть 1.
«Клиент и ядро бизнес-логики»
Распределённые приложения. Часть 1. «Клиент и ядро бизнес-логики»Fedor Malyshkin
 
Обзор технологии Cisco Unified Presence и Cisco IM and Presence
Обзор технологии Cisco Unified Presence и Cisco IM and PresenceОбзор технологии Cisco Unified Presence и Cisco IM and Presence
Обзор технологии Cisco Unified Presence и Cisco IM and PresenceCisco Russia
 
Аренда приложений SaaS
Аренда приложений SaaSАренда приложений SaaS
Аренда приложений SaaSКРОК
 
Национальная служба взысканий Внедрение системы записи и аналитики речи
Национальная служба взысканий Внедрение системы записи и аналитики речиНациональная служба взысканий Внедрение системы записи и аналитики речи
Национальная служба взысканий Внедрение системы записи и аналитики речиКРОК
 
Тенденции развития информационных технологий
Тенденции развития информационных технологийТенденции развития информационных технологий
Тенденции развития информационных технологийBars Group
 
Обзор функционала IM and Presence в Cisco Collaboration 9.x
 Обзор функционала IM and Presence в Cisco Collaboration 9.x  Обзор функционала IM and Presence в Cisco Collaboration 9.x
Обзор функционала IM and Presence в Cisco Collaboration 9.x Cisco Russia
 
Практика разработки корпоративных веб приложений 2007
Практика разработки корпоративных веб приложений 2007Практика разработки корпоративных веб приложений 2007
Практика разработки корпоративных веб приложений 2007rglab
 
SharePoint и внешние данные
SharePoint и внешние данныеSharePoint и внешние данные
SharePoint и внешние данныеVitaly Baum
 
новые технологии реализованные на официальном сайте зсо
новые технологии реализованные на официальном сайте зсоновые технологии реализованные на официальном сайте зсо
новые технологии реализованные на официальном сайте зсоCIT TROYA
 
AZadonsky Mobile Applications Development
AZadonsky Mobile Applications DevelopmentAZadonsky Mobile Applications Development
AZadonsky Mobile Applications DevelopmentVasily Demin
 
Система управления сайтом «1С-Битрикс» изнутри: работа с корпоративным сайтом
Система управления сайтом «1С-Битрикс» изнутри: работа с корпоративным сайтомСистема управления сайтом «1С-Битрикс» изнутри: работа с корпоративным сайтом
Система управления сайтом «1С-Битрикс» изнутри: работа с корпоративным сайтомborovoystudio
 
Миграция Web-проекта в облако. И.Гальцев.
Миграция Web-проекта в облако. И.Гальцев.Миграция Web-проекта в облако. И.Гальцев.
Миграция Web-проекта в облако. И.Гальцев.Clouds NN
 

Was ist angesagt? (14)

СЭД, которой можно доверять
СЭД, которой можно доверятьСЭД, которой можно доверять
СЭД, которой можно доверять
 
MAKING THE BEST FROM HARDWARE AND SOFTWARE FOR TRUE CORPORATE MOBILITY
MAKING THE BEST FROM HARDWARE AND SOFTWARE FOR TRUE CORPORATE MOBILITYMAKING THE BEST FROM HARDWARE AND SOFTWARE FOR TRUE CORPORATE MOBILITY
MAKING THE BEST FROM HARDWARE AND SOFTWARE FOR TRUE CORPORATE MOBILITY
 
Распределённые приложения. Часть 1. «Клиент и ядро бизнес-логики»
Распределённые приложения. Часть 1.
«Клиент и ядро бизнес-логики»Распределённые приложения. Часть 1.
«Клиент и ядро бизнес-логики»
Распределённые приложения. Часть 1. «Клиент и ядро бизнес-логики»
 
Обзор технологии Cisco Unified Presence и Cisco IM and Presence
Обзор технологии Cisco Unified Presence и Cisco IM and PresenceОбзор технологии Cisco Unified Presence и Cisco IM and Presence
Обзор технологии Cisco Unified Presence и Cisco IM and Presence
 
Аренда приложений SaaS
Аренда приложений SaaSАренда приложений SaaS
Аренда приложений SaaS
 
Национальная служба взысканий Внедрение системы записи и аналитики речи
Национальная служба взысканий Внедрение системы записи и аналитики речиНациональная служба взысканий Внедрение системы записи и аналитики речи
Национальная служба взысканий Внедрение системы записи и аналитики речи
 
Тенденции развития информационных технологий
Тенденции развития информационных технологийТенденции развития информационных технологий
Тенденции развития информационных технологий
 
Обзор функционала IM and Presence в Cisco Collaboration 9.x
 Обзор функционала IM and Presence в Cisco Collaboration 9.x  Обзор функционала IM and Presence в Cisco Collaboration 9.x
Обзор функционала IM and Presence в Cisco Collaboration 9.x
 
Практика разработки корпоративных веб приложений 2007
Практика разработки корпоративных веб приложений 2007Практика разработки корпоративных веб приложений 2007
Практика разработки корпоративных веб приложений 2007
 
SharePoint и внешние данные
SharePoint и внешние данныеSharePoint и внешние данные
SharePoint и внешние данные
 
новые технологии реализованные на официальном сайте зсо
новые технологии реализованные на официальном сайте зсоновые технологии реализованные на официальном сайте зсо
новые технологии реализованные на официальном сайте зсо
 
AZadonsky Mobile Applications Development
AZadonsky Mobile Applications DevelopmentAZadonsky Mobile Applications Development
AZadonsky Mobile Applications Development
 
Система управления сайтом «1С-Битрикс» изнутри: работа с корпоративным сайтом
Система управления сайтом «1С-Битрикс» изнутри: работа с корпоративным сайтомСистема управления сайтом «1С-Битрикс» изнутри: работа с корпоративным сайтом
Система управления сайтом «1С-Битрикс» изнутри: работа с корпоративным сайтом
 
Миграция Web-проекта в облако. И.Гальцев.
Миграция Web-проекта в облако. И.Гальцев.Миграция Web-проекта в облако. И.Гальцев.
Миграция Web-проекта в облако. И.Гальцев.
 

Ähnlich wie Варианты развертывания проектов на M3

Процесс разработки и тестирования с Docker + gitlab ci
Процесс разработки и тестирования с  Docker + gitlab ciПроцесс разработки и тестирования с  Docker + gitlab ci
Процесс разработки и тестирования с Docker + gitlab ciАлександр Сигачев
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"Fwdays
 
Cisco ScanSafe. Защита web-доступа как услуга “из облака”
Cisco ScanSafe. Защита web-доступа как услуга “из облака”Cisco ScanSafe. Защита web-доступа как услуга “из облака”
Cisco ScanSafe. Защита web-доступа как услуга “из облака”Cisco Russia
 
FT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это простоFT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это простоАлександр Ежов
 
Middleware
MiddlewareMiddleware
Middlewaremegakott
 
Сетевая инфраструктура ЦОД, ориентированная на приложения и коммутаторы Nexus...
Сетевая инфраструктура ЦОД, ориентированная на приложения и коммутаторы Nexus...Сетевая инфраструктура ЦОД, ориентированная на приложения и коммутаторы Nexus...
Сетевая инфраструктура ЦОД, ориентированная на приложения и коммутаторы Nexus...Cisco Russia
 
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"Fwdays
 
Windows azure общий обзор
Windows azure общий обзорWindows azure общий обзор
Windows azure общий обзорMicrosoft
 
Облака в Украине и ЕС как инструменты защиты ИТ: практические аспекты
Облака в Украине и ЕС как инструменты защиты ИТ: практические аспектыОблака в Украине и ЕС как инструменты защиты ИТ: практические аспекты
Облака в Украине и ЕС как инструменты защиты ИТ: практические аспектыDe Novo
 
Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"
Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"
Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"LogeekNightUkraine
 
1С-Битрикс - Производительность
1С-Битрикс - Производительность1С-Битрикс - Производительность
1С-Битрикс - ПроизводительностьAlexander Demidov
 
Azure web apps - designing and debugging
Azure web apps  - designing and debuggingAzure web apps  - designing and debugging
Azure web apps - designing and debuggingAlexey Bokov
 
Построение гибридных облачных решений с Cisco Intercloud Fabric.
Построение гибридных облачных решений с Cisco Intercloud Fabric.Построение гибридных облачных решений с Cisco Intercloud Fabric.
Построение гибридных облачных решений с Cisco Intercloud Fabric.Cisco Russia
 
Микросервисный фронтенд
Микросервисный фронтендМикросервисный фронтенд
Микросервисный фронтендViacheslav Slinko
 
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Ontico
 
Переход от монолитной архитектуры к распределенной
Переход от монолитной архитектуры к распределеннойПереход от монолитной архитектуры к распределенной
Переход от монолитной архитектуры к распределеннойAlexander Byndyu
 
Roman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureRoman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureAndrew Mayorov
 
Защита центров обработки данных. Механизмы безопасности для классической фабр...
Защита центров обработки данных. Механизмы безопасности для классической фабр...Защита центров обработки данных. Механизмы безопасности для классической фабр...
Защита центров обработки данных. Механизмы безопасности для классической фабр...Cisco Russia
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаMikhail Chinkov
 

Ähnlich wie Варианты развертывания проектов на M3 (20)

Процесс разработки и тестирования с Docker + gitlab ci
Процесс разработки и тестирования с  Docker + gitlab ciПроцесс разработки и тестирования с  Docker + gitlab ci
Процесс разработки и тестирования с Docker + gitlab ci
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"
 
Cisco ScanSafe. Защита web-доступа как услуга “из облака”
Cisco ScanSafe. Защита web-доступа как услуга “из облака”Cisco ScanSafe. Защита web-доступа как услуга “из облака”
Cisco ScanSafe. Защита web-доступа как услуга “из облака”
 
FT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это простоFT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это просто
 
Vpn
VpnVpn
Vpn
 
Middleware
MiddlewareMiddleware
Middleware
 
Сетевая инфраструктура ЦОД, ориентированная на приложения и коммутаторы Nexus...
Сетевая инфраструктура ЦОД, ориентированная на приложения и коммутаторы Nexus...Сетевая инфраструктура ЦОД, ориентированная на приложения и коммутаторы Nexus...
Сетевая инфраструктура ЦОД, ориентированная на приложения и коммутаторы Nexus...
 
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"
Сергей Морковкин "Разработка realtime SPA с использованием VueJS и RethinkDB"
 
Windows azure общий обзор
Windows azure общий обзорWindows azure общий обзор
Windows azure общий обзор
 
Облака в Украине и ЕС как инструменты защиты ИТ: практические аспекты
Облака в Украине и ЕС как инструменты защиты ИТ: практические аспектыОблака в Украине и ЕС как инструменты защиты ИТ: практические аспекты
Облака в Украине и ЕС как инструменты защиты ИТ: практические аспекты
 
Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"
Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"
Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"
 
1С-Битрикс - Производительность
1С-Битрикс - Производительность1С-Битрикс - Производительность
1С-Битрикс - Производительность
 
Azure web apps - designing and debugging
Azure web apps  - designing and debuggingAzure web apps  - designing and debugging
Azure web apps - designing and debugging
 
Построение гибридных облачных решений с Cisco Intercloud Fabric.
Построение гибридных облачных решений с Cisco Intercloud Fabric.Построение гибридных облачных решений с Cisco Intercloud Fabric.
Построение гибридных облачных решений с Cisco Intercloud Fabric.
 
Микросервисный фронтенд
Микросервисный фронтендМикросервисный фронтенд
Микросервисный фронтенд
 
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
 
Переход от монолитной архитектуры к распределенной
Переход от монолитной архитектуры к распределеннойПереход от монолитной архитектуры к распределенной
Переход от монолитной архитектуры к распределенной
 
Roman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureRoman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows Azure
 
Защита центров обработки данных. Механизмы безопасности для классической фабр...
Защита центров обработки данных. Механизмы безопасности для классической фабр...Защита центров обработки данных. Механизмы безопасности для классической фабр...
Защита центров обработки данных. Механизмы безопасности для классической фабр...
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
 

Варианты развертывания проектов на M3

  • 1. Варианты развертывания проектов на платформе М3 + Докладчик: Решения для электронного правительства и Кирилл электронизация государственных услуг Борисов Больше, чем технологии!
  • 2. Взгляд со стороны пользователя Запрос Система Клиент Ответ С точки зрения клиента, система представляет собой «черный ящик». 3
  • 3. WSGI? Что это? WSGI (Web Server Gateway Interface) WSGI middleware middleware middleware Web-сервер ... Приложение Универсальный интерфейс между web-приложениями на Python и Web-сервером. 3
  • 4. Взгляд со стороны администратора Frontend Backend Запрос Ответ Клиент Web-сервер Сервер Сервер БД приложений С точки зрения системного администратора, бэкенд представляет собой сложный комплекс взаимодействующих между собой систем. 3
  • 5. Варианты развертывания 1 Apache + mod_wsgi 2 nginx + (gunicorn / uWSGI) 3 supervisor + nginx + (gunicorn | uWSGI) 3
  • 6. Классический вариант: Apache + mod_wsgi Apache mod_wsgi Приложение 1 Web-браузер Apache mod_wsgi Приложение 2 Apache mod_wsgi Приложение 3 Каждое приложение выполняется в контексте отдельного экземпляра Apache. 3
  • 7. Классический вариант: Apache + mod_wsgi За Против Обширная документация Прожорлив к ресурсам Работает «из коробки» Сложность создания нестандартных конфигураций Поддержка Windows Плохо переносит DoS атаки 3
  • 8. Перспективный вариант: nginx + uWSGI worker worker Приложение 1 worker Обратный Контроллирующий Web-браузер прокси процесс worker worker Приложение 2 worker Использование схемы «master-worker» позволяет гибко изменять конфигурацию работающей системы и распределять нагрузку без видимых для клиента изменений. 3
  • 9. Прогрессивный: вариант: nginx + WSGI-сервер За Против Гибкость конфигурации и Очень сложен в настройке расширяемость Избыточен для большинства Встроенный load balancer сценариев Тесная интеграция: nginx+uWSGI, Сложно заставить работать nginx+memcached под Windows 3
  • 10. Дополнительные аспекты развертывания 1 Контроль за процессами: supervisor, Upstart 2 Автоматическое обновление систем: Fabric, Puppet Автоматическая установка необходимых библиотек под 3 Linux: apt-get, pip 3
  • 11. Анонс мастер-класса 1 Развертывание системы под Apache + mod_wsgi 2 Использование gunicorn 3 Автоматическая балансировка нагрузки через nginx 4 Все вместе: supervisor + nginx + gunicorn 3
  • 12. И в завершение… Вопросы? 3