Контейнеры приложений

     Похоже, что на горизонте все активнее проявляет себя новая технология, которая может занять часть позиций у виртуализации операционных систем. Эта технология называется контейнеры приложений (application containers). Один из первопроходцев - это Docker. Контейнеры Docker обспечивают работу приложений под различные Linux системы.
 
   Так что такое контейнер приложений?

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


 Давайте сравним контейнеры и виртуальные машины.



Традиционная VM:




Контейнеры приложений:





Что же дает нам технология контейнеров приложений?

  • Упрощение конфигурации - вы просто свой код вместе с окружением вставляете в контейнер, который может работать в различных средах. Здесь происходит отделение приложения от инфраструктуры.
  • Повышение эффективности разработчиков
  • Изоляция приложений
  • Консолидация серверов - вы можете консолидировать различные контейнеры приложений на одном сервере, снизив затраты, т.к. не нужно переплачивать за дополнительные ресурсы VM.
  • Multi-tenancy/множественные экземпляры - различные версии приложения для различных ситуаций
  • Быстрое внедрение





А что же происходит в среде Microsoft Windows?

    Microsoft заявила о создании Windows Server Containers в  Windows Server 2016. При этом уже появилась поддержка Docker-контейнеров в Windows среде:




Отдельно хочу выделить Windows Nano Server, как вариант конфигурации Windows Server 2016 по следующим причинам:
  • Размер образа на 93% меньше
  • Количество перезагрузок сократилось на 80%

Чтобы обеспечить эти показатели, пришлось отказаться от ряда функционала. Например, нет поддержки Win 32 приложений, нет GUI, remote logon, все управление - удаленные.

Типичные сценарии использования Nano:
  • Hyper-V хост
  • Scale-Out Filer Server хост
  • Контейнер приложений
  • Гостевая вирутальная машина

Соответственно, приложения для Nano Server могут быть написаны на C#, Java, Python, Node.js.


Если вы заинтересовались, то уже сейчас можете попробовать. Инструкция - здесь.








Ссылки:
  • http://blog.flux7.com/blogs/docker/8-ways-to-use-docker-in-the-real-world 
  • https://www.docker.com/whatisdocker
  • http://stackoverflow.com/questions/16047306/how-is-docker-io-different-from-a-normal-virtual-machine
  • http://www.zdnet.com/article/what-is-docker-and-why-is-it-so-darn-popular/
  • http://blogs.technet.com/b/windowsserver/archive/2015/04/08/microsoft-announces-nano-server-for-modern-apps-and-cloud.aspx
  • https://msdn.microsoft.com/en-us/library/mt126167.aspx
  • http://www.cio.com/article/2945512/windows/is-windows-nano-server-a-data-center-game-changer.html
  • https://technet.microsoft.com/ru-ru/windowsserver/mt228332.aspx


Comments