Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
What to Upload to SlideShare
Next

1

Share

JS Fest 2019. Алексей Бороденко. Windows Containers. Why should I care?

Все больше on-premise классических легаси .NET Framework приложений мигрируют в клауд, но как правило в отсутствие зрелой DevOps культуры или знаний о технологиях, процесс перехода является не таким гладким. Основной задачей DevOps в данном контексте является готовность к осуществлению перехода на современные контейнеризированные приложения который должен как снизить косты на поддержку инфраструктуры, а также позволит получить гибкость в деливери новых бизнес фич благодаря полностью автоматизированному CI/CD процессу. В докладе будет дан обзор технологии Windows Containers, а также мы рассмотрим некоторые сценарии по их использованию и варианты миграции classic .NET Framework приложений в сторону современных клауд оптимизированных приложений интегрированных с уже существующими решениями на примере TIG стека.

Related Books

Free with a 30 day trial from Scribd

See all

JS Fest 2019. Алексей Бороденко. Windows Containers. Why should I care?

  1. 1. Windows Containers Why should I care? ALEXEY BORODENKO, LEAD SOFTWARE ENGINEER N-IX, UKRAINE
  2. 2. Agenda • Modernize options • Docker onWindows • Windows Containers types • Base images • Networking • CI/CD • Cloud
  3. 3. Use Case 1 • .NET Framework 4.5.2 • C++ • Will CoreCLR support C++/CLI crossplat? • vc_redist.x64
  4. 4. Docker for Windows /var/run/docker.sock vs //./pipe/docker_engine
  5. 5. containerd.io (CNCF) OCI members
  6. 6. Docker for WindowsDocker on Windows
  7. 7. Runtime Architecture
  8. 8. Demo(linuxizms) • moby/moby • daemon_windows.go • hcsshim -> HCS • libnetwork -> hcsshim -> HNS • kernel_windows.go • client_daemon_windows.go • containerd -> runhcs -> hcsshim
  9. 9. Container types
  10. 10. Hyper-V containers HYPER-V • not open source • kernel cloning • security (CVE-2018-8115) • conteinerization != virtualization DOCKER CLI • hot copy of files(not supported) • network hot-add
  11. 11. Microsoft Ignite 2016
  12. 12. Microsoft Ignite 2016
  13. 13. Windows Container Version Compatibility Status reason CannotPullContainerError: a Windows version 10.0.17134-based image is incompatible with a 10.0.14393 host
  14. 14. Base images
  15. 15. Optimized size of Windows containers base images
  16. 16. Use Case 2 (base images) • microsoft/dotnet-framework:4.7.1-sdk • microsoft/dotnet-framework:4.7.1-runtime (app) • microsoft/dotnet:2.1.500-sdk-nanoserver-sac2016 (test) • mongo:4.0.4-windowsservercore-1709
  17. 17. Windows Container Networking
  18. 18. Demo(Windows Containers Networking)
  19. 19. Network topologies and Drivers Windows Use cases Local Service Discovery Global Service Discovery nat dev YES N/A transparent dev/small deployments NO NO overlay Docker Swarm YES YES l2bridge Kubernetes / Microsoft SDN NO Kube-DNS l2tunnel Azure only
  20. 20. Use Case 3 (CI/CD) • Jenkins (Windows slave) • dockerized tools, SDK, chocolatey(apt) • multistage builds • unit/integration tests(quality gate) • layers caching • NuGet packages(BaGet)
  21. 21. Logging/Monitoring/Metrics • Datadog (not supported yet) • Dynatrace (Beta with support onlyWindows Server Containers) • New Relic (Windows Server Containers + .NET)
  22. 22. • open source • Grafana Dashboard • application metrics (Prometheus) • Telegraf plugin (win_perf_counters) • GrafanaAlerts
  23. 23. Use Case 4 (Cloud) • Terraform • Amazon ECS using Fargate • Windows Server 2016 Optimized AMI • TI(P)G Stack
  24. 24. Summary • drive a changes with containerization of existing .NET applications • native Docker support onWindows • wide range of Docker base images • Windows Containers support by main Cloud providers AWS, Azure
  25. 25. Bonus!!! • Windows Server 2019 built in support SSH server! • Optimized AMIs (2016, 2019 for ECS) • UI tests supported as well • Linux andWindows Containers side by side without the Moby LinuxVM!!! • Awesome-WSL (DevOps=console) • Docker onWSL natively
  • IanLi1

    May. 23, 2020

Все больше on-premise классических легаси .NET Framework приложений мигрируют в клауд, но как правило в отсутствие зрелой DevOps культуры или знаний о технологиях, процесс перехода является не таким гладким. Основной задачей DevOps в данном контексте является готовность к осуществлению перехода на современные контейнеризированные приложения который должен как снизить косты на поддержку инфраструктуры, а также позволит получить гибкость в деливери новых бизнес фич благодаря полностью автоматизированному CI/CD процессу. В докладе будет дан обзор технологии Windows Containers, а также мы рассмотрим некоторые сценарии по их использованию и варианты миграции classic .NET Framework приложений в сторону современных клауд оптимизированных приложений интегрированных с уже существующими решениями на примере TIG стека.

Views

Total views

238

On Slideshare

0

From embeds

0

Number of embeds

0

Actions

Downloads

0

Shares

0

Comments

0

Likes

1

×