Cloud computing is a way of providing shared computing resources. These resources include applications, computing, storage, networking, development and deployment platforms, and business processes. By providing standardization and automation, cloud computing makes computing resources easier to use.
However, Cloud Computing doesn’t mean that it consists of only one cloud. The term ‘Cloud’ symbolizes the Internet, which in itself is a network of networks. Also, all forms of remote computing are not Cloud Computing.
1. What is a Cloud?
A cloud is a collaboration of networks, hardware, services, storage, and interfaces that help in delivering computing as a service. It has three users:
- End users
- Business management users
- Cloud service providers
2. What is cloud computing?
Cloud computing is on-demand access, via the internet, to computing resources: applications, servers (physical servers and virtual servers), data storage, development tools, networking capabilities, and more. A cloud is a combination of services, networks, hardware, storage, and interfaces that helps in delivering computing as a service. It broadly has three users. These are the end-user, business management user, and cloud service, provider. The end-user is the one who uses the services provided by the cloud. The responsibility for the data and the services provided by the cloud is taken by the business management user in the cloud. The one who takes care of or is responsible for the maintenance of the IT assets of the cloud is the cloud service provider. The cloud acts as a common center for its users to fulfill their computing needs.
3. What are the features of Cloud Computing?
The following are some of the key features of cloud computing:
- Lower IT costs: Cloud lets you offload some or most of the costs and effort of purchasing, installing, configuring, and managing your own on-premises infrastructure.
- Improve agility and time-to-value
- Agility: Helps in quick and inexpensive re-provisioning of resources.
- Location Independence: This means that the resources can be accessed from everywhere.
- Scale more easily and cost-effectively
- Multi-Tenancy: The resources are shared amongst a large group of users.
- Reliability: Resources and computation can be dependable for accessibility.
- Scalability: Dynamic provisioning of data helps in scaling.
4. What are the benefits of Cloud Computing?
The main benefits of Cloud Computing are:
- Data backup and storage of data
- Powerful server capabilities
- Incremented productivity
- Cost-effective and time-saving
5. What are the different types of the cloud?
There are two primary deployment models of the cloud: Public and Private.
- Public Cloud: The set of hardware, networking, storage, services, applications, and interfaces owned and operated by a third party for use by other companies or individuals is the public cloud. These commercial providers create a highly scalable data center that hides the details of the underlying infrastructure from the consumer. Public clouds are viable because they offer many options for computing, storage, and a rich set of other services.
- Private Cloud: The set of hardware, networking, storage, services, applications, and interfaces owned and operated by an organization for the use of its employees, partners, or customers is the private cloud. This can be created and managed by a third party for the exclusive use of one enterprise. The private cloud is a highly controlled environment not open for public consumption. Thus, it sits behind a firewall.
- Hybrid Cloud: Most companies use a combination of private computing resources and public services, called the hybrid cloud environment.
- Multi-Cloud: Some companies, in addition, also use a variety of public cloud services to support the different developer and business units – called a multi-cloud environment.
6. What do you mean by cloud delivery models?
Cloud delivery models are models that represent the computing environments. These are as follows:
- Infrastructure as a Service (IaaS): Infrastructure as a Service (IaaS) is the delivery of services, including an operating system, storage, networking, and various utility software elements, on a request basis.
- Platform as a Service (PaaS): Platform as a Service (PaaS) is a mechanism for combining Infrastructure as a Service with an abstracted set of middleware services, software development, and deployment tools. These allow the organization to have a consistent way to create and deploy applications on a cloud or on-premises environment.
- Software as a Service (SaaS): Software as a Service (SaaS) is a business application created and hosted by a provider in a multi-tenant model.
Here are some other cloud delivery models:
- Function as a Service (FaaS): Function as a Service (FaaS) gives a platform for customers to build, manage and run app functionalities without the difficulty of maintaining infrastructure. One can thus achieve a “serverless” architecture.
- Database-as-a-Service (DaaS): This component acts as a live database from remote.
- Process-as-a-Service (PaaS): This component combines various resources such as data and services. This happens either hosted within the same cloud computing resource or remote.
- Application-as-a-Service (AaaS): Application-as-a-Service (also known as SAAS) is the complete application built and ready for use by the client.
- Integration-as-a-Service (IaaS): Integration-as-a-Service deals with the components of an application that has been built but must be integrated with other applications.
- Security-as-a-Service (SaaS): This is the main component many customers require. There are three-dimensional securities found in cloud platforms.
- Management-as-a-service (MaaS): This is a component that is mainly useful for the management of the clouds, like resource utilization, virtualization, and server up and down time management.
- Testing-as-a-Service (TaaS): Testing-as-a-Service refers to the testing of the applications that are hosted remotely.
7. What is a public cloud, and how does it differ from a private cloud?
The public clouds are available for anyone to use and deploy. For instance, consider Google and Amazon. The public clouds concentrate on a few levels, such as cloud applications, infrastructure, and service markets.
8. What is the role of API in cloud computing?
API or Application Programming Interface eliminates the workload to write full-fledged programs. For instance, If my website wants to use login information from Facebook, I will have to use the Facebook API. This directs me to my login details from the Facebook database rather than creating a new database.
9. List some of the popular platforms of cloud architecture?
There are numerous platforms across the world that offer unique features in cloud architecture. Some of the popular cloud architecture platforms are as below
- AWS: Amazon Web Services is a secure platform that offers content delivery, cybersecurity, mobile computing, software development, data science operations, database storage, and so on. AWS helps businesses to grow and scale easily with its cost-efficient features.
- Microsoft Azure: It is the widely used platform that offers features to build, test, manage, and deploy services and applications. It has a wide range of cloud services to help businesses to address their challenges and needs in software development.
- Google Cloud Platform: It offers infrastructure services and tools for global business operations. End-users can avail their services such as networking, IoT device development, big data, data transfer, storage, computing, database, and so on.
- IBM Cloud: It provides Infrastructure as a Service (IaaS) and Platform as a Service (PaaS) for enterprises to access IT resources that include networking, storage, and computing power.
- Alibaba Cloud: It offers cutting-edge technologies across database, storage, security, networking, computing, and many more.
- Huawei Cloud: It gives secure, reliable, stable, and sustainable cloud services for enterprises to grow easily and effectively.
- Oracle Cloud: It contains managed data centers to provide servers, applications, networks, services, and storage over the internet.
10. What are the Cloud Storage Levels?
Cloud storage device mechanisms provide common levels of data storage, such as:
- Files – These are collections of data that are grouped into files that are located in folders.
- Blocks – A block is the smallest unit of data that is individually accessible. It is the lowest level of storage and the closest to the hardware.
- Datasets – Data sets organized into a table-based, delimited, or record format.
- Objects – Data and the associated metadata with it are organized as web-based resources.
Each of the above data storage levels is associated with a certain type of technical interface. This interface corresponds to a particular type of cloud storage device and the cloud storage service used to expose its API.
11. What are the business benefits involved in cloud architecture?
The benefits involved in cloud architecture are:
- Zero infrastructure investment
- Just in time infrastructure
- More efficient resource utilization
12. What are the different cloud architecture phases?
Different phases of cloud architecture are:
- Launch phase: Launch basic services and make system operations ready.
- Monitor phase: Monitor and manage services to ensure the user gets what he demands.
- Shutdown phase: Initially, shut down those services that are not in use. Next, shut down the remaining services; and at last the system services.
- Cleanup phase: Cleans up left-out services that were either broken or did not properly shut down.
13. What is on-demand functionality? How is it provided in the cloud?
On-demand functionality is the ability of the cloud to deliver computing and other services in real-time, based on user needs.
For instance, let’s say you have an on-premise server with 64 GB RAM and 100TB storage. Though you are using only 16 GB RAM and 10TB storage, you need to incur a cost for the entire infrastructure. On the other hand, if it were a cloud server, you are only required to pay for the 16GB RAM and 10TB storage, on-demand.
Cloud service providers have a control panel that allows them to view active and inactive servers and allocate them as per the demands of the user traffic. These are automated and the cloud server allocates resources without any downtime.
14. What are the layers of PaaS Architecture?
The 5 layers of PaaS architecture are:
Deployment: Moves the application from the source machine or the developer’s machine to the PaaS.
Provisioning: To create an environment suitable for running the app, PaaS provisions the following:
- Containers and compute instances
- Network
- Operating system services
- Libraries are required to run the app.
Lifecycle Management: After creating an environment to run the app, PaaS manages the lifecycle of the app through the following steps:
- Start the app
- Monitor the app’s running state
- Monitoring app’s resource consumption. Report for any anomaly
- If a failure occurs, restart the app.
- Stop or restart app based on commands
Service Management: This is an optional phase. Some of the PaaS systems provide certain services that can run outside of the container or compute instance. A few of such services are databases, caches, network file systems, message queues, etc.
Reporting: Monitors and reports various aspects of the application lifecycle like utilization, system performance, log files, and application metrics.
15. What are serverless components in cloud computing?
Serverless components in cloud computing allow the building of applications to take place without the complexity of managing the infrastructure. One can write code without having provision to a server.
Serverless machines take care of virtual machines and container management. Multithreading and hardware allocating are also taken care of by the serverless components.
16. What are the advantages and disadvantages of serverless computing?
Serverless computing has the following advantages and disadvantages:
Advantages | Disadvantages |
Cost-effective | Can cause late responses |
Increases productivity | Not ideal for high-computing operations |
Scalable | More vulnerable when it comes to security |
No server management | Debugging is challenging |
17. What are cloud-enabling technologies?
There are several areas of technology that contribute to modern-day cloud-based platforms. These are known as cloud-enabling technologies. Some of the cloud-enabling technologies are:
- Broadband Networks and Internet Architecture
- Data Center Technology
- (Modern) Virtualization Technology
- Web Technology
- Multitenant Technology
- Service Technology
18. What are Microservices?
Microservices is a process of developing applications that consist of code that is independent of each other and of the underlying developing platform. Each microservice runs a unique process and communicates through well-defined and standardized APIs, once created. These services are defined in the form of a catalog so that developers can easily locate the right service and also understand the governance rules for usage.
19. Why are microservices important for a true cloud environment?
The reason why microservices are so important for a true cloud environment is because of these four key benefits:
- Each microservice is built to serve a specific and limited purpose, and hence application development is simplified. Small development teams can then focus on writing code for some of the narrowly defined and easily understood functions.
- Code changes will be smaller and less complex than with a complex integrated application, making it easier and faster to make changes, whether to fix a problem or to upgrade service with new requirements.
- Scalability — Scalability makes it easier to deploy an additional instance of a service or change that service as needs evolve.
- Microservices are fully tested and validated. When new applications leverage existing microservices, developers can assume the integrity of the new application without the need for continual testing.
20. What is the cloud usage monitor?
The cloud usage monitor mechanism is an autonomous and lightweight software program that is responsible for collecting and processing the IT resource usage data.
Cloud usage monitors can exist in different formats depending on what type of usage metrics these are designed to collect and how the user data needs to be collected. The following points describe 3 common agent-based implementation formats.
- Monitoring Agent
- Resource Agent
- Polling Agent
21. How does the Monitoring Agent monitor the cloud usage?
An intermediary and an event-driven program that exists as a service agent and resides along the existing communication paths is a monitoring agent. It transparently monitors and analyzes dataflows. Commonly, the monitoring agent is used to measure the network traffic and also message metrics.
22. How does the Resource Agent monitor the cloud usage?
A processing module that is used to collect usage data by having event-driven interactions with the specialized resource software, is a resource agent. This agent is applied to check the usage metrics based on pre-defined, observable events at the resource software level, like initiating, suspending, resuming, and vertical scaling.
23. How does the Polling Agent monitor cloud usage?
A processing module that gathers cloud service usage data by polling IT resources is called a polling agent. The polling agent has also been used to timely monitor the IT resource status, like uptime and downtime.
Each of these can be designed to forward collected usage data to a log database for post-processing and for reporting purposes.
24. What are Cloud-Native Applications?
‘Cloud native’ is a software framework designed with containers, microservices, dynamic orchestration, and also continuous delivery of software. Every part of the cloud-native application has within it its own container and is dynamically orchestrated with other containers to optimize the way the resources are utilized.
25. Which are the layers of Cloud Computing?
The different layers used by cloud architecture are as follows:
- CLC or Cloud Controller
- Walrus
- Cluster Controller
- Storage Controller (SC)
- Node Controller (NC)
26. Difference between Virtualization vs Cloud Computing.
- Cloud Computing is a collection of layers formed together to deliver IP-based computing, virtualization is a layer/module inside cloud computing architecture which will enable the providers to deliver the IaaS “Infrastructure as a Service” on the fly.
- Virtualization is software that creates “separated” multiple images of the hardware and software on the same machine. This makes it possible to install multiple OS, multiple software, and multiple applications on the same physical machine.