Cloud Computing Flashcards
Cloud history
- late 90s idea of remotely provide products, services and functionalities
Definition of cloud computing by NIST
- 2011
- something that provides resources from remote (piombe)
Differences and definitions of on-premise and cloud-based infrastructures
- on-premise: the infrastructure is physically present in the organization’s property or in its data centers.
- cloud-base: all that is not on-premise
An on-premise can work with a cloud-based and can be moved to it
Differences and definitions of horizontal and vertical scaling
Scaling is the ability to handle increased or decreased demand.
- horizontal: in or out; you allocate or de-allocate resources that are all equal one with each other. It is less expensive. It doesn’t require some additional logical set up but it requires additional hardware. It’s immediate. it is not limited by hardware capacity
- vertical: up or down, replace of a resource with another that have higher or lower capacity. It is more expansive. Usually it is immediate and it doesn’t require additional hardware but it is limited by hardware capacity
Which are the business drivers for cloud computing?
- capacity planning
- cost reduction
- operational overhead
- organizational agility
Capacity planning
- it’s the process of determining and satisfy the resources demand. It has the goal to minimize the discrepancy between the available resources and the demand.
There are three strategies: lead (add in anticipation), lag (add when needed), match (little and constant increase)
This is done to avoid under-provisioning or over-provisioning
Operational overhead
the IT budget is usually used as a countermeasure for operational overheads such as:
- technical staff to keep the system up
- upgrades, patches
- security
- administrative and accounts staff
- costs of power and cooling
Cost reduction (business driver)
- it’s the direct alignment between IT costs and business performance in fact when the IT env grows its maximum usage requirements are evaluated to not waste any resource
- between the IT costs there is often the one needed to have business automation but also the best automation cannot manage everything (it is limited by the underlying infrastructure) so investments are often used for the environment improvement
two main costs:
- for acquiring new infrastructures
- for having the ownership
Organizational agility
it’s the ability that the system must have to face internal or external changes -> measure of its responsiveness
it’s easier and less expensive with cloud computing
Which are the cloud computing benefits from a cloud consumer point of view?
- cost reduction
- scalability increase
- availability increase
- reliability increase
Cost reduction (benefit)
- with cloud computing up front costs are nearly deleted so enterprises can start with just a small infrastructure using the budget for the core of the business and taking the needed resources from a cloud provider when they need them and release them otherwise and at a lower cost
Scalability increase (cloud consumer POV)
- on-demand acces to pay as you go resources on short term basis
- abstraction of the infrastructure: for example apps are no locked into the physical device but can be moved
- perception of having unlimited resources
- possibility to modify the infrastructure as needed at a fine-grained level
Availability increase
consumers can access a cloud service whenever and from anywhere. they can access their stored data, download them and make computations on them
Reliability increase
without cloud computing when the “business is open” no works can be done on the infrastructure and if a runtime failure comes it means that functionalities will no longer be available for the consumers -> business loss
goal: minimize te impact of runtime failure conditions
Cloud service and all parties involved
- cloud consumer + cloud service consumer: cloud consumer is a TEMPORARY RUNTIME ROLE ASSUMED BY A SOFTWARE PROGRAM WHEN IT ACCESSES A CLOUD SERVICE
- cloud provider
- cloud service administrator
- cloud auditor
- cloud broker
SLA guarantees
Which are the required characteristics that a cloud has to have to be considered an effective cloud?
- on demand usage
- measured usage
- elasticity
- resiliency
- multi tenancy and resource pooling
- ubiquitous access
Cloud characteristics: on-demand usage
when the env is configured and it is no longer needed the involvement of the cloud consumer or provider
Cloud characteristics: elasticity
it is the ability of a cloud to transparently scale IT resources based on runtime conditions. The larger the env the greater the elasticity
Cloud characteristics: measured usage
- ability of keeping track of the ITresources usage
Cloud characteristics: resiliency
- it’s a form of failover: the cloud distributes redundant implementations of IT resources across physical locations
- if one becomes deficient the other turns on
Cloud characteristics: mulitenancy and resource pooling
- resource pooling: is the action of using multi tenancy models to serve multiple cloud service consumers
- multitenancy: is when a software program creates an instance to serve different tenants that are isolated one from another
Cloud characteristics: ubiquitous access
- it has to be widely accessible
- it has to satisfy every type of device, protocol, …
Which are the cloud deployment models?
- public cloud
- private cloud
- community cloud
- hybrid cloud
Which are the cloud delivery models?
- IaaS
- PaaS
- SaaS
- XaaS
These are spcefici, pre-packaged combination of IT resources offered by a cloud provider
Public cloud
- owner: a third party organization
- access: at a cost or commercialized via other avenues as publicity
Private cloud
- the owner organization is both the provider and the consumer so there will be department that will be the provider and others that will be the consumers; IT resources are both on-premise and on-demand
- the administration can be both internal and external
- access: just for the organization members
Community cloud
- ownership: one or more organizations independent one from another
- access: for community members at different levels. they share the responsibility to define and evolve the community cloud
Hybrid cloud
- the sum of two or three different models
- example: private cloud for sensitive data and public one for the other
- difficult to divide the ownership
IaaS
- autonomous environment
- raw resources (hardware, network, connectivity, OSs, …) are virtualized and than packaged to make them easily runnable and customizable
- they aren’t preconfigured but they are offered as freshly initialized virtual instances -> the consumer has a high level of control of the configuration and the utilization. of the resources
- responsibilities: patching OS, updating apps, enforcing security, network configuration…
- they are packaged and a cloud consumer can access them using interfaces and tools offered by the cloud service
PaaS
- lower level control than IaaS because PaaS has pre-configured and ready-to-use resources
It is chosen when there is the need to extend the on-premise environment or to entirely substitute it, or to make available just some services, or when he doesn’t want to worry about setting up the env
SaaS
- everything is pre-configured because SaaS is a program software that is made available as a product, a generic utility
Why it is not a simple cloud service but a SaaS? Because it is reusable and widely available to cloud consumers
XaaS
- X: everything/anything/X
- benefits: controlled and lowered costs, lowered risks, innovation is accelerated
Which are the technologies based on a cloud infrastructure?
- …
- Virtualization
- Containerization
General definition of Virtualization
it’s the process of creating an abstraction level over the physical layer such that there can be more virtual computers THAT ARE THE VMs
VM’s components (4)
- Guest OS: it doesn’t know it is running on something virtual. It. runs on a virtual hardware that has to be as similar as possible to the real one. Its characteristics are defined in the virtual hardware profile
- Host OS: is the OS running on the underlying physical layer. IT HAS TO VIRTUALIZE THE HARDWARE. It works together with the Hypervisor and the Virtual Machine Monitor VMM (that are almost the same thing)
- Hypervisor: it is responsible of the hosting and the management of the VMs and it directly runs on the physical hardware so it is limited by it
- VMM: it provides abstraction of hardware resources to have VMs and it provides the virtual env for the guest OS
VM’s benefits
- security
- scalability: multiple copies of the same VMs
- portability: you can copy VMs and clone them with the OS already installed. You can relocate VMs in the network as needed by the workload. You can make VMs a on-premise structure and the again. cloud based structure
- flexibility: creating a VM and installing it is easier and faster than installing an OS on a physical computer
- Resource utilization and improved ROI
Definition of hypervisor
- it is the abstraction layer that we find among the physical one and the VMs
- it coordinated VMs
- it is like a interface between the psychical layer and the VMs
- it makes possible for the VMs to access the needed resources and thanks to it the various VMs doesn’t interfere one with another
- we have two type of hypervisors: bare metal virtualization and residence/hosted virtualization
Characteristics of an hypervisor
- performance
- ecosystem
- management tools: you need them to avoid VMs sprawl -> maintain, audit and clean up the VMs to avoid it -> tools
- live migration: you can move VMs without stopping them -> good for failover and workload balancing
- cost: license to have an hypervisor technology + hypervisor itself + management tools + license to sell it