Все больше популярности набирают решения построенные на базе микро-сервисной (микрослужба) архитектуры. Архитектура микрослужб сложнее в реализации и управлении по сравнению с обычной N-архитектурой. Она требует зрелой культуры управления процессом разработки. Но если все организовано правильно, такой подход помогает увеличить периодичность выпуска новых версий, ускорить внедрение инноваций и сделать архитектуру более отказоустойчивой. Для построения решений в данной архитектуре очень хорошо подходят docker контейнеры. Microsoft предоставляет широкий спектр сервисов для управления контейнерами. В данном докладе мы постараемся пройтись по каждому из сервисов и найти достоинства и недостатки каждой из них. В конце презентации мы научимся строить решение с использованием docker контейнеров на платформе .NET Core.
.NET Fest 2019. Eran Stiller. Create Your Own Serverless PKI with .NET & Azur...
.NET Fest 2018. Сергей Бельский. How to use Docker containers with Azure services for your solution
1. How to use Docker containers with
Azure services for your solution
t WITH PASSION TO TECHNOLOGY
Sergii Bielskyi
.NET CONFERENCE #1 IN UKRAINE, KYIV 2018
3. t
Agenda
• New infrastructure needed for app
• Overview azure services (AKS, ACI, ACR,…)
• Advantage or disadvantage using containers
• Building own solution that oriented on containers
• Demo
.NET LEVEL UP
KYIV 2018
5. t
Benefits of using N-architecture
• Меньшая потребность в обучении большинства разработчиков
• Естественное продолжение традиционной модели приложений
• Поддержка гетерогенных сред (Windows/Linux)
• Легкость в написании простых веб приложений
.NET LEVEL UP
KYIV 2018
6. t
Benefits of using microservices
• Независимое развертывание или обновление компонентов приложения
• Независимая разработка отдельных компонентов
• Изоляция неисправностей сервисов
• Сочетание стеков технологий для разработки
• Детальное масштабирование необходимых компонентов приложения
.NET LEVEL UP
KYIV 2018
7. t
Azure services. ACR
Место для хранения образов всех типов развертывания контейнеров,
включая DC/OS, Docker Swarm, Kubernetes, App service, Batch,
Service Fabric и другие. Ваша DevOps команда может создать и
управлять конфигурациями приложений изолировано.
.NET LEVEL UP
KYIV 2018
8. t
Azure services.ACI
Azure Container Instances предоставляет быстрый и простой способ
запустить котейнер с решением в Azure без дополнительных
развертываний виртуальных машин или настроек.
.NET LEVEL UP
KYIV 2018
9. t
Azure services. Web App for containers
Web app for containers предоставляет удобный способ развертывания
веб приложений на базе контейнеров, используя Docker hub или ACR.
Платформа автоматически поддерживает своевременное обновление
ОС, авто-масштабирование и балансировку нагрузки.
.NET LEVEL UP
KYIV 2018
10. t
Azure services.AKS
Azure Kubernetes Service предоставляет возможность создания и
управления приложениями на базе контейнеров в Kubernetes
среде.
.NET LEVEL UP
KYIV 2018
11. t
Advantage or disadvantage using containers
ACI AKS Web App
Price ++ + +++
Scale +++ ++ +
Monitor +++ + ++
Resources + +++ ++
Schedule +++ ++ +
.NET LEVEL UP
KYIV 2018
12. t
Building own solution
1. Создание приложения по шаблону web api core в VS code
2. Создание Docker файла
3. Создание образа
.NET LEVEL UP
KYIV 2018
13. t
Building own solution. Continue
4. Связывание образа сACR
5. Загрузка образа вACR
6. Тестирование локально, просмотр логов
7. Развертывание мульти контейнерного решения
.NET LEVEL UP
KYIV 2018
14. t
Building own solution. Continue
Развертывание мульти контейнерного решения
строится на одной виртуальной машине.
Контейнеры используют одни и те же ресурсы,
сеть, диски.
.NET LEVEL UP
KYIV 2018