Course Content
VMware vSphere: Install, Configure, Manage Content
0/1
Introduction to vSphere and the Software Defined Data Center
As a vSphere administrator, you must be familiar with the components on which vSphere is based. You must also understand the following concepts: Virtualization, the role of the ESXi hypervisor in virtualization and virtual machines Fundamental vSphere components and the use of vSphere in the software-defined data center Use of vSphere clients to administer and manage vSphere environments
0/4
Virtual Machines
You can create a virtual machine in several ways. Choosing the correct method can save you time and make the deployment process manageable and scalable.
0/3
vCenter Server
vCenter Server helps you centrally manage multiple ESXi hosts and their virtual machines. If you do not properly deploy, configure, and manage vCenter Server Appliance, your environment might experience reduced administrative efficiency or ESXi host and virtual machine downtime.
0/8
Configuring and Managing Virtual Networks
When you configure ESXi networking properly, virtual machines can communicate with other virtual, and physical, machines. In this way, remote host management and IP-based storage operate effectively.
0/2
Configuring and Managing Virtual Storage
Understanding the available storage options helps you set up your storage according to your cost, performance, and manageability requirements. You can use shared storage for disaster recovery, high availability, and moving virtual machines between hosts.
0/6
Virtual Machine Management
Virtual machines are the foundation of your virtual infrastructure. Managing VMs effectively requires skills in creating templates and clones, modifying VMs, migrating VMs, taking snapshots, and protecting the VMs through replication and backups.
0/8
Resource Management and Monitoring
Although the VMkernel works proactively to avoid resource contention, maximizing performance requires both analysis and ongoing monitoring. Developing skills in resource management, you can dynamically reallocate resources so that you can use available capacity more efficiently.
0/5
vSphere Clusters
Most organizations rely on computer-based services like email, databases, and web-based applications. The failure of any of these services can mean lost productivity and revenue. By understanding and using vSphere HA, you can configure highly available, computer-based services, which are important for an organization to remain competitive in contemporary business environments. And by developing skills in using vSphere DRS, you can improve service levels by guaranteeing appropriate resources to virtual machines.
0/6
vSphere Lifecycle Management
Managing the life cycle of vSphere involves keeping vCenter Server and ESXi hosts up to date and integrated with other VMware and third-party solutions. To achieve these goals, you must understand how to use the new features provided by vSphere Lifecycle Manager, namely, clusterlevel management of ESXi hosts and the vCenter Server Update Planner.
0/5
VMware vSphere: Install, Configure, Manage
About Lesson

Introduction to Containers

Learner Objectives

After completing this lesson, you should be able to meet the following objectives:

  • Describe the benefits and use cases for containers
  • Identify the parts of a container system
  • Differentiate between containers and virtual machines

Traditional Application Development

In data centers, traditional applications are enhanced with modern application capabilities and models. But traditional application development is different from modern application development.

Modern Application Development

Modern application development is transforming modern business.

Modern Application Development
Typically use microservices style architectures. Monolithic applications are broken into many smaller standalone modular functions or services that make it easier for developers to be innovative when producing and changing code.
Minimize time to market. Streamline the process of deploying new code into a staging environment for testing. Identify and address bugs almost immediately. Quickly deploy small, incremental changes in the production environment and easily withdraw if problems arise.
Deliver updates and features quickly. Minimize the time it takes to build, test, and release new features.
Increase product quality and avoid risk. Automate tests, get user feedback, and improve software iteratively.
Fewer resource requirements and more productivity. Apply continuous development and continuous integration in small iterations to reduce labor.

Benefits of Microservices and Containerization

Containers are an ideal technology for supporting microservices because the goals of containers (lightweight, easily packaged, can run anywhere) align well with the goals of a microservices architecture.  

Container Terminology

Several terms and concepts apply to containers.

Term Definition
Container An application packaged with dependencies
Container engine A runtime engine that manages the containers
Docker The most recognized runtime engine for container support, and it is often used as a synonym for many aspects of container technologies
Container host A virtual machine or physical machine on which the containers and container engine run
Kubernetes Google-developed orchestration for containers

About Containers

A container is an encapsulation of an application and dependent binaries and libraries. The application is decoupled from the operating system and becomes a serverless function.

 

 

Among the reasons that containers were popularized by software developers are:

  • They make coding easier, locally and anywhere.
  • You can deploy and test applications quickly in a staging environment. No operating system or load is required.

Rise of Containers

Application developers are quickly adopting container technology as their tool of choice.

About Container Hosts

The container host runs the operating system on which the containers run.  

 

Container hosts can be of the following types:

  • Standard OS with a container engine installed:
    • —Ubuntu with Docker
  • OS developed specifically with containers in mind:
    • —Photon OS
    • —Fedora CoreOS
  • Virtual machine or physical machine:
    • —Among the many benefits of using VMs are easy management and scalability.

Containers at Runtime

Containers have the following characteristics:

  • A container can run on any container host with the same operating system kernel that is specified by that container.
  • A running container is accessed using its FQDN or its unique IP address.
  • Each container can access only its own resources in the shared environment.

When you log into a container using a remote terminal (such as SSH), you see no indication that other containers are running on the same container host.

Container Engines

A container engine is a control plane that is installed on each container host. The control plane manages the containers on that host.

 

Container engines perform several functions:

  • Build container images from source code (for example, Dockerfile). Alternatively, load container images from a repository.
  • Create running containers based on a container image.
  • Commit a running container to an image.
  • Save an image and push it to a repository.
  • Stop and remove containers.
  • Suspend and restart containers.
  • Report container status.

Virtual Machines and Containers

VMs provide virtual hardware that the guest OS uses to run applications. Multiple applications run on a single VM but they are logically separated and isolated. With containers, developers take a streamlined base OS file system and layer on only the required binaries and libraries that the application depends on.

Introduction to Containers

 

VMs and containers work in different ways.

Virtual Machines Containers
Encapsulation of an entire operating system Encapsulation of an application and dependent binaries or libraries
Scheduled by the hypervisor Scheduled by the container host OS
Run on the hypervisor Run on the container host OS
Starting a VM means starting an operating system (seconds to minutes) Starting a container means starting the application process (milliseconds to seconds)

About Kubernetes

Containers are managed on a single container host. Managing multiple containers across multiple container hosts creates many problems:

  • Managing large numbers of containers
  • Restarting failed containers
  • Scaling containers to meet capacity
  • Networking and load balancing

Kubernetes provides an orchestration layer to solve these problems. Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.

Challenges of Running Kubernetes in Production

The top challenges of running Kubernetes are reliability, security, networking, scaling, logging, and complexity. Introduction to Containers

Architecting with Common Application Requirements

Introduction to Containers

Review of Learner Objectives

After completing this lesson, Introduction to Containers, you should be able to meet the following objectives:

  • Describe the benefits and use cases for containers
  • Identify the parts of a container system
  • Differentiate between containers and virtual machines

Key Points

  • A VM is a set of files that are encapsulated into a folder and placed on a datastore.
  • VMs can be provisioned using the vSphere Client and VMware Host Client.
  • VMware Tools increases the overall performance of the VM’s guest operating system.
  • The virtual hardware version, or VM compatibility level, determines the operating system functions that a VM supports.
  • Containers are the ideal technology for microservices because the goals of containers align with the goals and benefits of the microservices architecture.
Join the conversation