Exam 2018 Flashcards
Name the service models for Cloud providers and give a short characterization?
The service models for cloud providers are:
Infrastructure as a Service (IaaS) - provides virtualized computing resources such as virtual machines, storage, and networking. Customers are responsible for managing their own operating systems and applications.
Platform as a Service (PaaS) - provides a platform for developing, running, and managing applications and services. The provider manages the underlying infrastructure and offers tools for application development and deployment.
Software as a Service (SaaS) - provides a complete application solution that is accessed over the internet and managed by the provider. Customers use the applications without having to worry about the underlying infrastructure or maintenance.
HPC systems are shared among users like sharing is also part of the motivation for the cloud. Both concepts also enable scalable computing. Identify differences between the two.
Accessibility: HPC systems are typically housed in a single location and are only accessible to users within the organization or through remote access. Cloud computing, on the other hand, is accessible from anywhere with an internet connection.
Cost Model: HPC systems are typically purchased and maintained by the organization, so the cost is upfront and ongoing. In cloud computing, customers pay for the resources they use on a pay-per-use basis.
Resource Sharing: HPC systems are shared among a limited number of users within a single organization. Cloud computing, on the other hand, is designed to be shared among multiple organizations, providing a much larger pool of resources.
Explain the difference of full and para virtualization and the implementation concepts.
Full virtualization: In full virtualization, the virtual machine (VM) runs on a completely isolated and emulated environment, which includes its own operating system, hardware, and software. The host machine and the virtual machine communicate with each other through a virtualization layer, known as a hypervisor. Full virtualization provides complete isolation between virtual machines, which ensures that one virtual machine cannot affect the performance or stability of another. Examples of full virtualization include VMware and VirtualBox.
Para-virtualization: In para-virtualization, the virtual machines share the same physical hardware, but each virtual machine runs its own operating system. Unlike full virtualization, the operating system must be modified to work in a para-virtualized environment. The virtual machines communicate directly with the hypervisor, which is responsible for managing the physical resources of the host machine and distributing them between virtual machines. This approach is less resource-intensive than full virtualization, but does not provide the same level of isolation between virtual machines. Examples of para-virtualization include Xen and KVM.
Why is VM migration useful?
VM migration allows the movement of a virtual machine from one physical host to another without interruption of service, providing benefits such as:
Load balancing: distribute workloads across multiple hosts to improve resource utilization and increase system efficiency.
Maintenance: move VMs off a host for maintenance, upgrades, or replacement without downtime.
Disaster recovery: quickly move VMs to another host in the case of a failure or disaster.
In short, VM migration provides high availability, flexibility, and efficient resource utilization.
Reason on the mapping of application services to pods?
In conclusion, mapping application services to pods is an important aspect of managing microservices in a Kubernetes cluster, as it provides scalability, resource management, high availability, and effective networking.
Discuss the advantages and disadvantages of Docker compared to VM virtualization?
Advantages of Docker compared to VM virtualization:
Lightweight: Docker containers are smaller and more lightweight than virtual machines, which makes them faster to start and easier to manage.
Portability: Docker containers can be easily moved from one host to another, making it easier to deploy and manage applications in different environments.
Disadvantages of Docker compared to VM virtualization:
Isolation: Docker containers provide less isolation compared to virtual machines, which can make it harder to guarantee the security and stability of applications running in containers.
Resource management: Docker containers rely on the host system for resource management, which can make it harder to control the resources an application uses, compared to virtual machines which have their own dedicated resources.
Explain the following lines in a docker file? FROM node:boron
RUN mkdir -p /usr/src/exercise
WORKDIR /usr/src/exercise
COPY package.json /usr/src/exercise
RUN npm install
COPY . /usr/src/exercise
EXPOSE 8080
CMD [“node”,”clientServer.js”]
The lines in the Dockerfile are instructions for building a Docker image for a Node.js application.
FROM node:boron: This line specifies the base image to use for the Docker image. In this case, the image is based on the node:boron image, which is a version of the Node.js runtime.
RUN mkdir -p /usr/src/exercise: This line creates a directory in the Docker image called /usr/src/exercise.
WORKDIR /usr/src/exercise: This line sets the current working directory to /usr/src/exercise. All subsequent instructions will be executed relative to this directory.
COPY package.json /usr/src/exercise: This line copies the file “package.json” from the host system to the Docker image.
RUN npm install: This line runs the npm install command in the Docker image to install the dependencies specified in the package.json file.
COPY . /usr/src/exercise: This line copies the rest of the application files to the Docker image.
EXPOSE 8080: This line specifies that the Docker image will listen on port 8080.
CMD [“node”, “clientServer.js”]: This line sets the default command to run when a container is started from the Docker image. In this case, it is running the Node.js script “clientServer.js”.