Cloud Computing
1. What are the benefits of Cloud Computing?
There are ten main benefits of Cloud Computing:
Flexibility:
The businesses that have fluctuating bandwidth demands need the flexibility of
Cloud Computing. If you need high bandwidth, you can scale up your cloud
capacity. When you do not need high bandwidth, you can just scale down. There
is no need to be tied into an inflexible fixed capacity infrastructure.
Disaster Recovery: Cloud Computing provides robust backup and recovery solutions that
are hosted in cloud. Due to this there is no need to spend extra resources on
homegrown disaster recovery. It also saves time in setting up disaster
recovery.
Automatic Software Updates: Most of the Cloud providers give automatic software
updates. This reduces the extra task of installing new software version and
always catching up with the latest software installs.
Low Capital Expenditure: In Cloud computing the model is Pay as you Go. This
means there is very less upfront capital expenditure. There is a variable
payment that is based on the usage.
Collaboration:
In a cloud environment, applications can be shared between teams. This
increases collaboration and communication among team members.
Remote Work:
Cloud solutions provide flexibility of working remotely. There is no on site
work. One can just connect from anywhere and start working.
Security:
Cloud computing solutions are more secure than regular onsite work. Data stored
in local servers and computers is prone to security attacks. In Cloud Computing,
there are very few loose ends. Cloud providers give a secure working
environment to its users.
Document Control: Once the documents are stored in a common repository, it increases
the visibility and transparency among companies and their clients. Since there
is one shared copy, there are fewer chances of discrepancies.
Competitive Pricing: In Cloud computing there are multiple players, so they keep competing
among themselves and provide very good pricing. This comes out much cheaper
compared to other options.
Environment Friendly: Cloud computing saves precious environmental resources also. By not
blocking the resources and bandwidth.
2. What is On-demand computing in Cloud Computing?
On-demand Computing is the latest model in enterprise
systems. It is related to Cloud computing. It means IT resources can be
provided on demand by a Cloud provider. In an enterprise system demand for
computing resources varies from time to time. In such a scenario, On-demand
computing makes sure that servers and IT resources are provisioned to handle
the increase/decrease in demand. A cloud provider maintains a poll of
resources. The pool of resources contains networks, servers, storage,
applications and services. This pool can serve the varying demand of resources
and computing by various enterprise clients. There are many concepts like- grid
computing, utility computing, autonomic computing etc. that are similar to
on-demand computing. This is the most popular trend in computing model as of
now.
3. What are the different layers of Cloud computing?
Three main layers of Cloud computing are as follows:
Infrastructure as a Service (IAAS): IAAS providers give low-level abstractions of
physical devices. Amazon Web Services (AWS) is an example of IAAS. AWS provides
EC2 for computing, S3 buckets for storage etc. Mainly the resources in this
layer are hardware like memory, processor speed, network bandwidth etc.
Platform as a Service (PAAS): PAAS providers offer managed services like Rails,
Django etc. One good example of PAAS is Google App Engineer. These are the
environments in which developers can develop sophisticated software with ease.
Developers just focus on developing software, whereas scaling and performance
is handled by PAAS provider.
Software as a Service (SAAS): SAAS provider offer an actual working software
application to clients. Salesforce and Github are two good examples of SAAS.
They hide the underlying details of the software and just provide an interface
to work on the system. Behind the scenes the version of Software can be easily
changed.
4. What resources are provided by Infrastructure as a Service (IAAS)
provider?
An IAAS provider can give physical, virtual or both
kinds of resources. These resources are used to build cloud. IAAS provider
handles the complexity of maintaining and deploying these services. IAAS
provider also handles security and backup recovery for these services. The main
resources in IAAS are servers, storage, routers, switches and other related
hardware etc.
5. What is the benefit of Platform as a Service?
Platform as a service (PaaS) is a kind of cloud
computing service. A PaaS provider offers a platform on which clients can
develop, run and manage applications without the need of building the
infrastructure. In PAAS clients save time by not creating and managing
infrastructure environment associated with the app that they want to develop.
6. What are the main advantages of PaaS?
The advantages of PaaS are:
It allows development work on higher level programming
with very lesscomplexity. Teams can focus on just the development of the
application that makes the application very effective. Maintenance and
enhancement of the application is much easier. It is suitable for situations in
which multiple developers work on a single project but are not co-located.
7. What is the main disadvantage of PaaS?
Biggest disadvantage of PaaS is that a developer can
only use the tools that PaaS provider makes available. A developer cannot use
the full range of conventional tools. Some PaaS providers lock in the clients
in their platform. This also decreases the flexibility of clients using PaaS.
8. What are the different deployment models in Cloud computing?
Cloud computing supports following deployment models:
Private Cloud:
Some companies build their private cloud. A private cloud is a fully functional
platform that is owned, operated and used by only one organization. Primary
reason for private cloud is security. Many companies feel secure in private
cloud. The other reasons for building private cloud are strategic decisions or
control of operations. There is also a concept of Virtual Private Cloud (VPC).
In VPC, private cloud is built and operated by a hosting company. But it is
exclusively used by one organization.
Public Cloud:
There are cloud platforms by some companies that are open for general public as
well as big companies for use and deployment. E.g. Google Apps, Amazon Web
Services etc. The public cloud providers focus on layers and application like-
cloud application, infrastructure management etc. In this model resources are
shared among different organizations.
Hybrid Cloud:
The combination of public and private cloud is known as Hybrid cloud. This
approach provides benefits of both the approaches- private and public cloud. So
it is very robust platform. A client gets functionalities and features of both
the cloud platforms. By using Hybrid cloud an organization can create its own
cloud as well as they can pass the control of their cloud to another third
party.
9. What is the difference between Scalability and Elasticity?
Scalability is the ability of a system to handle the
increased load on its current hardware and software resources. In a highly
scalable system it is possible to increase the workload without increasing the
resource capacity. Scalability supports any sudden surge in the demand/traffic
with current set of resources. Elasticity is the ability of a system to
increase the workload by increasing the hardware/software resources
dynamically. Highly elastic systems can handle the increased demand and traffic
by dynamically commission and decommission resources. Elasticity is an
important characteristic of Cloud Computing applications. Elasticity means how
well your architecture is adaptable to workload in real time.
E.g. If in a
system, one server can handle 100 users, 2 servers can handle 200 users and 10
servers can handle 1000 users. But in case for adding every X users, if you
need 2X the amount of servers, then it is not a scalable design. Let say, you
have just one user login every hour on your site. Your one server can handle
this load. But, if suddenly, 1000 users login at once, can your system quickly
start new web servers on the fly to handle this load? Your design is elastic if
it can handle such sudden increase in traffic so quickly.
10. What is Software as a Service?
Software as Service is a category of cloud computing
in which Software is centrally hosted and it is licensed on a subscription
basis. It is also known as On-demand software. Generally, clients access the
software by using a thinclient like a web browser. Many applications like
Google docs, Microsoft office etc. provide SaaS model for their software. The
benefit of SaaS is that a client can add more users on the fly based on its
current needs. And client does not need to install or maintain any software on its
premises to use this software.
11. What are the different types of Datacenters in Cloud computing?
Cloud computing consists of different types of
Datacenters linked in a grid structure. The main types of Datacenters in Cloud
computing are:
Containerized Datacenter As the name suggests,
containerized datacenter provides high level of customization for an
organization. These are traditional kind of datacenters. We can choose the
different types of servers, memory, network and other infrastructure resources
in this datacenter. Also we have to plan temperature control, network
management and power management in this kind of datacenter. Low-Density
Datacenters In a Low-density datacenter, we get high level of performance. In
such a datacenter if we increase the density of servers, the issue with power
comes. With high density of servers, the area gets heated. In such a scenario,
effective heat and power management is done. To reach high level of
performance, we have to optimize the number of servers’ in the datacenter.
12. Explain the various modes of Software as a Service (SaaS) cloud
environment?
Software as a Service (SaaS) is used to offer
different kinds of software applications in a Cloud environment. Generally
these are offered on subscription basis. Different modes of SaaS are:
Simple multi-tenancy: In this setup, each client gets its own resources. These resources
are not shared with other clients. It is more secure option, since there is no
sharing of resources. But it an inefficient option, since for each client more
money is needed to scale it with the rising demands. Also it takes time to
scale up the application in this mode.
Fine grain multi-tenancy: In this mode, the feature provided to each client is
same. The resources are shared among multiple clients. It is an efficient mode
of cloud service, in which data is kept private among different clients but
computing resources are shared. Also it is easier and quicker to scale up the
SaaS implementation for different clients.
13. What are the important things to care about in Security in a
cloud environment?
In a cloud-computing environment, security is one of
the most important aspects. With growing concern of hacking, every organization
wants to make its software system and data secure. Since in a cloud computing
environment, Software and hardware is not on the premises of an organization,
it becomes more important to implement the best security practices.
Organizations have to keep their Data most secure during the transfer between
two locations. Also they have to keep data secure when it is stored at a
location. Hackers can hack into application or they can get an unauthorized
copy of the data. So it becomes important to encrypt the data during transit as
well as during rest to protect it from unwanted hackers.
14. Why do we use API in cloud computing environment?
Application Programming Interfaces (API) is used in
cloud computing environment for accessing many services. APIs are very easy to
use. They provide a quick option to create different set of applications in
cloud environment. An API provides a simple interface that can be used in
multiple scenarios. There are different types of clients for cloud computing
APIs. It is easier to serve different needs of multiple clients with APIs in cloud
computing environment.
15. What are the different areas of Security Management in cloud?
Different areas of Security management in cloud are as
follows:
Identity Management: This aspect creates different level of users, roles and their
credentials to access the services in cloud.
Access Control:
In this area, we create multiple levels of permissions and access areas that
can be given to a user or role for accessing a service in cloud environment.
Authentication:
In this area, we check the credentials of a user and confirm that it is the
correct user. Generally this is done by user password and multi-factor
authentication like-verification by a one-time use code on cell phone.
Authorization:
In this aspect, we check for the permissions that are given to a user or role.
If a user is authorized to access a service, they are allowed to use it in the
cloud environment.
16. What are the main cost factors of cloud based data center?
Costs in a Cloud based data center are different from
a traditional data center. Main cost factors of cloud based data center are as
follows:
Labor cost:
We need skilled staff that can work with the cloud-based datacenter that we
have selected for our operation. Since cloud is not a very old technology, it
may get difficult to get the right skill people for handling cloud based
datacenter.
Power cost:
In some cloud operations, power costs are borne by the client. Since it is a
variable cost, it can increase with the increase in scale and usage.
Computing cost:
The biggest cost in Cloud environment is the cost that we pay to Cloud provider
for giving us computing resources. This cost is much higher compared to the
labor or power costs.
17. How can we measure the cloud-based services?
In a cloud-computing environment we pay for the
services that we use. So main criteria to measure a cloud based service its
usage. For computing resource we measure by usage in terms of time and the
power of computing resource. For a storage resource we measure by usage in
terms of bytes (giga bytes) and bandwidth used in data transfer. Another
important aspect of measuring a cloud service is its availability. A cloud
provider has to specify the service level agreement (SLA) for the time for
which service will be available in cloud.
18. How a traditional datacenter is different from a cloud
environment?
In a traditional datacenter the cost of increasing the
scale of computing environment is much higher than a Cloud computing
environment. Also in a traditional data center, there are not much benefits of
scaling down the operation when demand decreases. Since most of the expenditure
is in capital spent of buying servers etc., scaling down just saves power cost,
which is very less compared to other fixed costs. Also in a Cloud environment
there is no need to higher a large number of operations staff to maintain the
datacenter. Cloud provider takes care of maintaining and upgrading the
resources in Cloud environment. With a traditional datacenter, people cost is
very high since we have to hire a large number of technical operation people
for in-house datacenter.
19. How will you optimize availability of your application in a
Cloud environment?
In a Cloud environment, it is important to optimize
the availability of an application by implementing disaster recovery strategy.
For disaster recovery we create a backup application in another location of
cloud environment. In case of complete failure at a data center we use the
disaster recovery site to run the application. Another aspect of cloud
environment is that servers often fail or go down. In such a scenario it is
important to implement the application in such a way that we just kill the slow
server and restart another server to handle the traffic seamlessly.
20. What are the requirements for implementing IaaS strategy in
Cloud?
Main requirements to implement IAAS are as follows:
Operating System (OS): We need an OS to support hypervisor in IaaS. We can use
open source OS like Linux for this purpose.
Networking:
We have to define and implement networking topology for IaaSimplementation. We
can use public or private network for this.
Cloud Model:
We have to select the right cloud model for implementing IaaS strategy. It can
be SaaS, PaaS or CaaS.
Comments