Cloud Computing Flashcards

1
Q

What are the benefits of Cloud Computing?

A

There are ten main benefits of Cloud Computing:

I. 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.

II. 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.

III. 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.

IV. 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.

V. Collaboration: In a cloud environment, applications can be shared between teams. This increases collaboration and communication among team members.

VI. Remote Work: Cloud solutions provide flexibility of working remotely. There is no on site work. One can just connect from anywhere and start working.

VII. 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.

VIII. 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.

IX. 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.

X. Environment Friendly: Cloud computing saves precious environmental resources also. By not blocking the resources and bandwidth.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is On-demand computing in Cloud Computing?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the different layers of Cloud computing?

A

Three main layers of Cloud computing are as follows:

I. 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.

II. 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.

III. 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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What resources are provided by Infrastructure as a Service (IAAS) provider?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the benefit of Platform as a Service?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the main advantages of PaaS?

A

The advantages of PaaS are:

I. It allows development work on higher level programming with very less complexity.

II. Teams can focus on just the development of the application that makes the application very effective.

III. Maintenance and enhancement of the application is much easier.

IV. It is suitable for situations in which multiple developers work on a single project but are not co-located.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the main disadvantage of PaaS?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the different deployment models in Cloud computing?

A

Cloud computing supports following deployment models:

I. 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.

II. 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.

III. 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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the difference between Scalability and Elasticity?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is Software as a Service?

A

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 thin-client 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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the different types of Datacenters in Cloud computing?

A

Cloud computing consists of different types of Datacenters linked in a grid structure. The main types of Datacenters in Cloud computing are:

I. 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.

II. 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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Explain the various modes of Software as a Service (SaaS) cloud environment?

A

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:

I. 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.

II. 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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the important things to care about in Security in a cloud environment?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Why do we use API in cloud computing environment?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are the different areas of Security Management in Cloud?

A

Different areas of Security management in cloud are as follows:

I. Identity Management: This aspect creates different level of users, roles and their credentials to access the services in cloud.

II. 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.

III. 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.

IV. 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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are the main cost factors of Cloud based datacenter

A

Costs in a Cloud based datacenter are different from a traditional datacenter. Main cost factors of Cloud based datacenter are as follows:

I. 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.

II. 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.

III. 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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

How can we measure the Cloud-based services?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

How a traditional datacenter is different from a Cloud environment?

A

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 datacenter, 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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

How will you optimize availability of your application in a Cloud environment?

A

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 datacenter 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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What are the requirements for implementing IaaS strategy in Cloud?

A

Main requirements to implement IAAS are as follows:

I. Operating System (OS): We need an OS to support hypervisor in IaaS. We can use open source OS like Linux for this purpose.

II. Networking: We have to define and implement networking topology for IaaS implementation. We can use public or private network for this.

III. Cloud Model: We have to select the right cloud model for implementing IaaS strategy. It can be SaaS, PaaS or CaaS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What is the scenario in which Public Cloud is preferred over Private Cloud?

A

In a startup mode often we want to test our idea. In such a scenario it makes sense to setup application in public cloud. It is much faster and cheaper to use Public Cloud over Private Cloud.

Remember security is a major concern in public cloud. But with time and changes in technology, even public cloud is very secure.

22
Q

Do you think Cloud Computing is a software application or a hardware service?

A

Cloud Computing is neither a software application nor a hardware service. Cloud computing is a system architecture that can be used to implement software as well as hardware strategy of an organization.

Cloud Computing is a highly scalable, highly available and cost effective solution for software and hardware needs of an application.

Cloud Computing provides great ease of use in running the software in cloud environment. It is also very fast to implement compared with any other traditional strategy.

23
Q

Why companies now prefer Cloud Computing architecture over Client Server Architecture?

A

In Client Server architecture there is one to one communication between client and server. Server is often at in-house datacenter and client can access same server from anywhere. If client is at a remote location, the communication can have high latency.

In Cloud Computing there can be multiple servers in the cloud. There will be a Cloud controller that directs the requests to right server node. In such a scenario clients can access cloud-based service from any location and they can be directed to the one nearest to them.

Another reason for Cloud computing architecture is high availability. Since there are multiple servers behind the cloud, even if one server is down, another server can serve the clients seamlessly.

24
Q

What are the main characteristics of Cloud Computing architecture?

A

Main characteristics of Cloud Computing architecture are as follows:

I. Elasticity: In Cloud Computing system is highly elastic in the sense that it can easily adapt itself to increase or decrease in load. There is no need to take urgent actions when there is surge in traffic requests.

II. Self-service provisioning: In Cloud environment users can provision new resources on their own by just calling some APIs. There is no need to fill forms and order actual hardware from vendors.

III. Automated de-provisioning: In case demand/load decreases, extra resources can be automatically shut down in Cloud computing environment.

IV. Standard Interface: There are standard interfaces to start, stop, suspend or remove an instance in Cloud environment. Most of the services are accessible via public and standard APIs in Cloud computing.

V. Usage based Billing: In a Cloud environment, users are charged for their usage of resources. They can forecast their bill and costs based on the growth they are expecting in their load.

25
Q

How databases in Cloud computing are different from traditional databases?

A

In a Cloud environment, companies often use different kind of data to store. There are data like email, images, video, pdf, graph etc. in a Cloud environment. To store this data often NoSQL databases are used.

A NoSQL database like MongoDB provides storage and retrieval of data that cannot be stored efficiently in a traditional RDBMS.

Database like Neo4J provides features to store graph data like Facebook, LinkedIn etc. in a cloud environment.

Hadoop like database help in storing Big Data based information. It can handle very large-scale information that is generated in a large-scale environment.

26
Q

What is Virtual Private Network (VPN)?

A

In a Cloud environment, we can create a virtual private network (VPM) that can be solely used by only one client. This is a secure network in which data transfer between servers of same VPN is very secure.

By using VPN, an organization uses the public network in a private manner. It increases the privacy of an organization’s data transfer in a cloud environment.

27
Q

What are the main components of a VPN?

A

Virtual Private Network (VPN) consists of following main components:

I. Network Access Server (NAS): A NAS server is responsible for setting up tunnels in a VPN that is accesses remotely. It maintains these tunnels that connect clients to VPN.

II. Firewall: It is the software that creates barrier between VPN and public network. It protects the VPN from malicious activity that can be done from the outside network.

III. AAA Server: This is an authentication and authorization server that controls the access and usage of VPN. For each request to use VPN, AAA server checks the user for correct permissions.

IV. Encryption: In a VPN, encryption algorithms protect the important private data from malicious users.

28
Q

How will you secure the application data for transport in a cloud environment?

A

With ease of use in Cloud environment comes the important aspect of keeping data secure. Many organizations have data that is transferred from their traditional datacenter to Cloud datacenter.

During the transit of data it is important to keep it secure. Once of the best way to secure data is by using HTTPS protocol over Secure Socket Layer (SSL).
Another important point is to keep the data always encrypted. This protects data from being accessed by any unauthorized user during transit.

29
Q

What are the large-scale databases available in Cloud

A

In Cloud computing scale is not a limit. So there are very large-scale databases available from cloud providers. Some of these are:

I. Amazon DynamoDB: Amazon Web Services (AWS) provides a NoSQL web service called DynamoDB that provides highly available and partition tolerant database system. It has a multi-master design. It uses synchronous replication across multiple datacenters. We can easily integrate it with MapReduce and Elastic MapReduce of AWS.

II. Google Bigtable: This is a very large-scale high performance cloud based database option from Google. It is available on Google Cloud. It can be scaled to peta bytes. It is a Google proprietary implementation. In Bigtable, two arbitrary string values, row key and column key, and timestamp are mapped to an arbitrary byte array. In Bigtable MapReduce algorithm is used for modifying and generating the data.

III. Microsoft Azure SQL Database: Microsoft Azure provides cloud based SQL database that can be scaled very easily for increased demand. It has very good security features and it can be even used to build multi-tenant apps to service multiple customers in Cloud.

30
Q

What are the options for open source NoSQL database in a Cloud environment?

A

Most of the cloud-computing providers support Open Source NoSQL databases. Some of these databases are:

I. Apache CouchDB: It is a document based NoSQL database from Apache Open Source. It is compatible with Couch Replication Protocol. It can communicate in native JSON and can store binary data very well.

II. HBase: It is a NoSQL database for use with Hadoop based software. It is also available as Open Source from Apache. It is a scalable and distributed Big Data database.

III. MongoDB: It is an open source database system that offers a flexible data model that can be used to store various kinds of data. It provides high performance and always-on user experience.

31
Q

What are the important points to consider before selecting Cloud computing?

A

Cloud computing is a very good option for an organization to scale and outsource its software/hardware needs. But before selecting a cloud provider it is important to consider following points:

I. Security: One of the most important points is security of the data. We should ask the cloud provider about the options to keep data secure in cloud during transit and at rest.

II. Data Integrity: Another important point is to maintain the integrity of data in cloud. It is essential to keep data accurate and complete in cloud environment.

III. Data Loss: In a cloud environment, there are chances of data loss. So we should know the provisions to minimize the data loss. It can be done by keeping backup of data in cloud. Also there should be reliable data recovery options in case of data loss.

IV. Compliance: While using a cloud environment one must be aware of the rules and regulations that have to be followed to use the cloud. There compliance issues with storing data of a user in an external provider’s location/servers.

V. Business Continuity: In case of any disaster, it is important to create business continuity plans so that we can provide uninterrupted service to our end users.

VI. Availability: Another important point is the availability of data and services in a cloud-computing environment. It is very important to provide high availability for a good customer experience.

VII. Storage Cost: Since data is stored in cloud, it may be very cheap to store the data. But the real cost can come in transfer of data when we have to pay by bandwidth usage. So storage cost of data in cloud should also include the access cost of data transfer.

VIII. Computing Cost: One of the highest costs of cloud is computing cost. It can be very high cost with the increase of scale. So cloud computing options should be wisely considered in conjunction with computing cost charged for them.

32
Q

What is a System integrator in Cloud computing?

A

Often an organization does not know all the options available in a Cloud computing environment. Here comes the role of a System Integrator (SI) who specializes in implementing Cloud computing environment.

SI creates the strategy of cloud setup. It designs the cloud platform for the use of its client. It creates the cloud architecture for the business need of client.

SI oversees the overall implementation of cloud strategy and plan. It also guides the client while choosing the right options in cloud computing platform.

33
Q

What is virtualization in Cloud computing?

A

Virtualization is the core of cloud computing platform. In Cloud we can create a virtual version of hardware, storage and operating system that can be used to deploy the application.

A cloud provider gives options to create virtual machines in cloud that can be used by its clients. These virtual machines are much cheaper than buying a few high end computing machines.

In cloud we can use multiple cheap virtual machines to implement a resilient software system that can be scaled very easily in quick time. Where as buying an actual high-end machine to scale the system is very costly and time taking.

34
Q

What is Eucalyptus in a Cloud environment?

A

Eucalyptus is an open source software to build private and hybrid Cloud in Amazon Web Services (AWS).

It stands for Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems.

We can create our own datacenter in a private cloud by using Eucalyptus. It makes use of pooling the computing and storage resources to scale up the operations.

In Eucalyptus, we create images of software applications. These images are deployed to create instances. These instances are used for computing needs.

A Eucalyptus instance can have both public and private IP addresses.

35
Q

What are the main components of Eucalyptus cloud architecture?

A

The main components of Eucalyptus cloud architecture are as follows:

I. Cloud Controller (CLC): This is the controller that manages virtual resources like servers, network and storage. It is at the highest level in hierarchy. It is a Java program with web interface for outside world. It can do resource scheduling as well as system accounting. There is only one CLC per cloud. It can handle authentication, accounting, reporting and quota management in cloud.

II. Walrus: This is another Java program in Eucalyptus that is equivalent to AWS S3 storage. It provides persistent storage. It also contains images, volumes and snapshots similar to AWS. There is only one Walrus in a cloud.

III. Cluster Controller (CC): It is a C program that is the front end for a Eucalyptus cloud cluster. It can communicate with Storage controller and Node controller. It manages the instance execution in cloud.

IV. Storage Controller (SC): It is a Java program equivalent to EBS in AWS. It can interface with Cluster Controller and Node Controller to manage persistent data via Walrus.

V. Node Controller (NC): It is a C program that can host a virtual machine instance. It is at the lowest level in Eucalyptus cloud. It downloads images from Walrus and creates an instance for computing requirements in cloud.

VI. VMWare Broker: It is an optional component in Eucalyptus. It provides AWS compatible interface to VMWare environment.

36
Q

What is Auto-scaling in Cloud computing?

A

Amazon Web Services (AWS) provides an important feature called Auto-scaling in the cloud. With Auto-scaling setup we can automatically provision and start new instances in AWS cloud without any human intervention.

Auto-scaling is triggered based on load and other metrics.

Let say if the load reaches a threshold we can setup auto-scaling to kick in and start a new server to handle additional load.

37
Q

What are the benefits of Utility Computing model?

A

Utility computing is a cloud service model in which provider gives computing resources to users for using on need basis.

Some of the main benefits of Utility computing are:

I. Pay per use: Since a user pays for only usage, the cost of Utility computing is pay per use. We pay for the number of servers of instances that we use in cloud.
II. Easy to Scale: It is easier to scale up the operations in Utility computing. There is no need to plan for time consuming and costly hardware purchase.

III. Maintenance: In Utility computing maintenance of servers is done by cloud provider. So a user can focus on its core business. It need not spend time and resources on maintenance of servers in Cloud.

Utility computing is also known as On-demand computing.

38
Q

What is a Hypervisor in Cloud Computing?

A

Hypervisor is also known as virtual machine monitor (VMM). It is a computer software/hardware that can create and run virtual machines.

Hypervisor runs on a host machine. Each virtual machine is called Guest machine.

Hypervisor derives its name from term supervisor, which is a traditional name for the kernel of an operating system.

Hypervisor provides a virtual operating platform to the guest operating system. It manages the execution of guest OS.

39
Q

What are the different types of Hypervisor in Cloud Computing?

A

Hypervisors come in two main types:

I. Type-1, native or bare-metal hypervisors: Type 1 hypervisor runs directly on the hardware of host machine. It controls the guest operating system from host machine. It is also called bare metal hypervisor or native hypervisor.

Examples of Type-1 are: Xen, Oracle VM Server for SPARC, Oracle VM Server for x86, the Citrix XenServer, Microsoft Hyper-V and VMware ESX/ESXi. Type-2, hosted hypervisors:

II. Type 2 hypervisor runs like a regular computer program on an operating system. The guest operating system runs like a process on the host machine. It creates an abstract guest operating system different from the host operating system.

Examples of Type-2 are: VMware Workstation, VMware Player, VirtualBox, Parallels Desktop for Mac and QEMU are examples of type-2 hypervisors.

40
Q

Why Type-1 Hypervisor has better performance than Type-2 Hypervisor?

A

Type-1 Hypervisor has better performance than Type-2 hypervisor because Type-1 hypervisor skips the host operating system and it runs directly on host hardware. So it can utilize all the resources of host machine.

In cloud computing Type-1 hypervisors are more popular since Cloud servers may need to run multiple operating system images.

41
Q

What is CaaS?

A

CaaS is also known as Communication as a Service. It is available in Telecom domain. One of the examples for CaaS is Voice Over IP (VoIP).

CaaS offers business features like desktop call control, unified messaging, and fax via desktop.

CaaS also provides services for Call Center automation like- IVR, ACD, call recording, multimedia routing and screen sharing.

42
Q

How is Cloud computing different from computing for mobile devices?

A

Since Mobile devices are getting connected to the Internet in large numbers, we often use Cloud computing for Mobile devices.

In mobile applications, there can be sudden increase in traffic as well as usage. Even some applications become viral very soon. This leads to very high load on application.

In such a scenario, it makes sense to use Cloud Computing for mobile devices.

Also mobile devices keep changing over time, it requires standard interfaces of cloud computing for handling multiple mobile devices.

43
Q

Why automation of deployment is very important in Cloud architecture?

A

One of the main reasons for selecting Cloud architecture is scalability of the system. In case of heavy load, we have to scale up the system so that there is no performance degradation.

While scaling up the system we have to start new instances. To provision new instances we have to deploy our application on them.

In such a scenario, if we want to save time, it makes sense to automate the deployment process. Another term for this is Auto-scaling.

With a fully automated deployment process we can start new instances based on automated triggers that are raised by load reaching a threshold

44
Q

What are the main components in Amazon Cloud?

A

Amazon provides a wide range of products in Amazon Web Services for implementing Cloud computing architecture. In AWS some of the main components are as follows:

I. Amazon EC2: This is used for creating instances and getting computing power to run applications in AWS.

II. Amazon S3: This is a Simple Storage Service from AWS to store files and media in cloud.

III. Amazon DynamoDB: It is the database solution by AWS in cloud. It can store very large-scale data to meet needs of even BigData computing.

IV. Amazon Route53: This is a cloud based Domain Name System (DNS) service from AWS.

V. Amazon Elastic Load Balancing (ELB): This component can be used to load balance the various nodes in AWS cloud.

VI. Amazon CodeDeploy: This service provides feature to automate the code deployment to any instance in AWS.

45
Q

What are main components in Google Cloud?

A

Google is a newer cloud alternative than Amazon. But Google provides many additional features than AWS. Some of the main components of Google Cloud are as follows:

I. Compute Engine: This component provides computing power to Google Cloud users.

II. Cloud Storage: As the name suggests this is a cloud storage solution from Google for storing large files for application use or just serving over the Internet.

III. Cloud Bigtable: It is a Google proprietary database from Google in Cloud. Now users can use this unique database for creating their applications.

IV. Cloud Load Balancing: This is a cloud-based load balancing service from Google.

V. BigQuery: It is a data-warehouse solution from Google in Cloud to perform data analytics of large scale.

VI. Cloud Machine Learning Platform: It is a powerful cloud based machine learning product from Google to perform machine learning with APIs like- Job Search, Text Analysis, Speech Recognition, Dynamic translation etc.

VII. Cloud IAM: This is an Identity and Access management tool from Google to help administrators run the security and authorization/authentication policies of an organization.

46
Q

What are the major offerings of Microsoft Azure Cloud?

A

Microsoft is a relatively new entrant to Cloud computing with Azure cloud offering. Some of the main products of Microsoft cloud are as follows:

I. Azure Container Service: This is a cloud computing service from Microsoft to run and manage Docker based containers.

II. StorSimple: It is a Storage solution from Microsoft for Azure cloud.

III. App Service: By using App Services, users can create Apps for mobile devices as well as websites.

IV. SQL Database: It is a Cloud based SQL database from Microsoft.

V. DocumentDB: This is a NoSQL database in cloud by Microsoft.

VI. Azure Bot Service: We can use Azure Bot Service to create serverless bots that can be scaled up on demand.

VII. Azure IoT Hub: It is a solution for Internet of Things services in cloud by Microsoft.

47
Q

What are the reasons of popularity of Cloud Computing architecture?

A

These days Cloud Computing is one of the most favorite architecture among organizations for their systems. Following are some of the reasons for popularity of Cloud Computing architecture:

I. IoT: With the Internet of Things, there are many types of machines joining the Internet and creating various types of interactions. In such a scenario, Cloud Computing serves well to provide scalable interfaces to communicate between the machines in IoT.

II. Big Data: Another major trend in today’s computing is Big Data. With Big Data there is very large amount of user / machine data that is generated. Using in-house solution to handle Big Data is very costly and capital intensive. In Cloud Computing we can handle Big Data very easily since we do not have to worry about capital costs.

III. Mobile Devices: A large number of users are going to Mobile computing. With a mobile device users can access a service from any location. To handle wide-variety of mobile devices, standard interfaces of Cloud Computing are very useful.

IV. Viral Content: With growth of Social Media, content and media is getting viral i.e. It takes very short time to increase the traffic exponentially on a server. In such a scenario Auto-scaling of Cloud Computing architecture can handle such spikes very easily.

48
Q

What are the Machine Learning options from Google Cloud?

A

Google provides a very rich library of Machine Learning options in Google Cloud. Some of these API are:

I. Google Cloud ML: This is a general purpose Machine Learning API in cloud. We can use pre-trained models or generate new models for machine learning with this option.

II. Google Cloud Jobs API: It is an API to link Job Seekers with Opportunities. It is mainly for job search based on skills, demand and location.

III. Google Natural Language API: This API can do text analysis of natural language content. We can use it for analyzing the content of blogs, websites, books etc.

IV. Google Cloud Speech API: It is a Speech Recognition API from Google to handle spoken text. It can recognize more than 80 languages and their related variants. It can even transcribe the user speech into written text.

V. Google Cloud Translate API: This API can translate content from one language to another language in cloud.

VI. Google Cloud Vision API: It is a powerful API for Image analysis. It can recognize faces and objects in an image. It can even categorize images in multiple relevant categories with a simple REST API call.

49
Q

How will you optimize the Cloud Computing environment?

A

In a Cloud Computing environment we pay by usage. In such a scenario our usage costs are much higher. To optimize the Cloud Computing environment we have to keep a balance between our usage costs and usage.

If we are paying for computing instances we can choose options like Lambda in AWS, which is a much cheaper options for computing in cloud.

In case of Storage, if the data to be stored is not going to be accesses frequently we can go for Glacier option in AWS.

Similarly when we pay for bandwidth usage, it makes sense to implement a caching strategy so that we use less bandwidth for the content that is accessed very frequently.

It is a challenging task for an architect in cloud to match the options available in cloud with the budget that an organization has to run its applications.

Optimizations like server-less computing, load balancing, and storage selection can help in keeping the Cloud computing costs low with no degradation in User experience.

50
Q

Do you think Regulations and Legal Compliance is an important aspect of Cloud Computing?

A

Yes, in Cloud Computing we are using resources that are owned by the Cloud provider. Due to this our data resides on the servers that can be shared by other users of Cloud.

There are regulations and laws for handling user data. We have to ensure that these regulations are met while selecting and implementing a Cloud computing strategy.

Similarly, if we are in a contract with a client to provide certain Service Level Agreement (SLA) performance, we have to implement the cloud solution in such a way that there is no breach of SLA agreement due to Cloud provider’s failures.

For security there are laws that have to be followed irrespective of Cloud or Co-located Datacenter. This is in the interest of our end-customer as well as for the benefit of business continuity.

With Cloud computing architecture we have to do due diligence in selecting Security and Encryption options in Cloud.