Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Azure for Architects

You're reading from   Azure for Architects Implementing cloud design, DevOps, containers, IoT, and serverless solutions on your public cloud

Arrow left icon
Product type Paperback
Published in Jan 2019
Publisher Packt
ISBN-13 9781789614503
Length 536 pages
Edition 2nd Edition
Tools
Arrow right icon
Authors (2):
Arrow left icon
Ritesh Modi Ritesh Modi
Author Profile Icon Ritesh Modi
Ritesh Modi
Daniel Andres Pelaez Lopez Daniel Andres Pelaez Lopez
Author Profile Icon Daniel Andres Pelaez Lopez
Daniel Andres Pelaez Lopez
Arrow right icon
View More author details
Toc

Table of Contents (17) Chapters Close

Preface 1. Getting Started FREE CHAPTER 2. Azure Solution Availability and Scalability 3. Security and Monitoring 4. Cross-Subscription Deployments Using ARM Templates 5. ARM Templates - Modular Design and Implementation 6. Designing and Implementing Serverless Solutions 7. Azure Integration Solutions 8. Cost Management 9. Designing Policies, Locks, and Tags 10. Azure Solutions Using Azure Container Services 11. Azure DevOps 12. Azure OLTP Solutions Using Azure SQL Sharding, Pools, and Hybrid 13. Azure Big Data Solutions Using Azure Data Lake Storage and Data Factory 14. Azure Stream Analytics and Event Hubs 15. Designing IoT Solutions 16. Other Books You May Enjoy

Containers

Containers are also a virtualization technology; however, they do not virtualize a physical server. Instead, a container is an operating system-level virtualization. What this means is that containers share the operating system kernel, provided by the host, among themselves along with the host. Multiple containers running on a host (physical or virtual) share the host operating system kernel. Containers ensure that they reuse the host kernel instead of each having a dedicated kernel to themselves.

Containers are also completely isolated from the host and other containers, such as a virtual machine. Containers use Windows storage filter drivers and session isolation to isolate operating system services such as the filesystem, registry, processes, and networks. Each container gets its own copy of operating system resources.

The container has the perception that it has a completely new and untouched operating system and resources. This arrangement provides lots of benefits, as follows:

  • Containers are fast to provision. They do not need to provide the operating system and its kernel services. They are available from the host operating system.
  • Containers are lightweight and require fewer computing resources than virtual machines. The operating system resource overhead is no longer required in containers.
  • Containers are much smaller than virtual machines.
  • Containers help solve problems related to managing multiple application dependencies in an intuitive, automated, and simple manner.
  • Containers provide infrastructure to define all application dependencies in a single place.

Containers are an inherent part and feature of Windows Server 2016 and Windows 10; however, they are managed and accessed using a Docker client and a Docker daemon. Containers can be created on Azure with Windows Server 2016 SKU as an image. Each container has a single main process that must be running for the container to exist. A container will stop when this process ends. Also, a container can either run in interactive mode or in a detached mode like a service.

Container architecture

The preceding diagram shows all the technical layers that enable containers. The bottom-most layer provides the core infrastructure in terms of network, storage, load balancers, and network cards. At the top of the infrastructure is the compute layer, consisting of either a physical server, or both physical and virtual servers on top of a physical server. This layer contains the operating system with the ability to host containers. The operating system provides the execution driver that the layers above use to call kernel code and objects to execute containers. Microsoft has created Host Container System Shim (HCSShim) for managing and creating containers and uses Windows storage filter drivers for image and file management.

The container environment isolation ability is provided to the Windows session. Windows Server 2016 and Nano Server provide the operating system, enable the container features, and execute the user-level Docker client and Docker engine. The Docker engine uses the services of HCSShim, storage filter drivers, and sessions to spawn multiple containers on the server, each containing a service, application, or database.

You have been reading a chapter from
Azure for Architects - Second Edition
Published in: Jan 2019
Publisher: Packt
ISBN-13: 9781789614503
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image