CLOUD COMPUTING

  • What is Cloud?

The term "Cloud" means a Network or Internet which virtually provide services to the users. In other words, we can say that "Cloud" is something which is present at some remote location. Cloud can provide services over network i.e. on public networks or on private networks i.e. WAN, LAN or VPN.

Applications such as e-mail, web conferencing, customer relationship management CRM, all run in cloud.

  • What is Cloud Computing?

"Cloud Computing" refers to manipulating, configuring, and accessing the applications online. It offers online data storage, infrastructure and application etc.


We need not to install a piece of software on our local PC and this is how, the cloud computing overcomes platform dependency issues. Hence, the Cloud Computing is making our business application mobile and collaborative.

  • Technologies Behind Cloud Computing 

There are certain technologies that are working behind the cloud computing platforms making cloud computing flexible, reliable, usable.

  1. Virtualization
  2. Service-Oriented Architecture SOA
  3. Grid Computing
  4. Utility Computing

1. Virtualization:

Virtualization is a technique which allows to share single physical instance of an application or resource among multiple organizations or tenants customers. It does so by assigning a logical name to a physical resource and providing a pointer to that physical resource when demanded.

The Multitenant architecture offers virtual isolation among the multiple tenants and therefore, the organizations can use and customize the application as though, they each has its own instance running.

2. Service-Oriented Architecture SOA

Service-Oriented Architecture helps to use applications as a service for other applications regardless type of vendor, product or technology. Therefore it is possible to exchange of data between applications of different vendors without additional programming or making changes to services.


3. Grid Computing

Grid Computing refers to distributed computing in which a group computers from multiple locations are connected with each other to achieve common objective. These computer resources are heterogeneous and geographically dispersed. Grid Computing breaks complex task into smaller pieces. These smaller pieces are distributed to CPUs that reside within the grid.

4. Utility Computing

Utility computing is based on Pay per Use model. It offers computational resources on demand as a metered service. Cloud computing, grid computing, and managed IT services are based on the concept of Utility computing.

  • Architecture Of Cloud Computing

The Cloud Computing architecture comprises of many cloud components, each of them are loosely coupled. we can broadly divide the cloud architecture into two parts:
  • Front End
  • Back End
Each of the ends are connected through a network, usually via. Internet. The following diagram shows the graphical view of cloud computing architecture:

1. Front End
Front End refers to the client part of cloud computing system. It consist of interfaces and applications that are required to access the cloud computing platforms. 
Eg. Web Browser

2. Back End
Back End refers to the cloud itself. It consist of all the resources required to provide cloud computing services. It comprises of huge data storage, virtual machines, security mechanism, services, deployment models, servers etc.
  • Cloud Infrastructure Components
Cloud infrastructure consist of servers, storage, network, management software, and deployment software and platform virtualization.
Hypervisor:
Hypervisor is a firmware or low level program that acts as a Virtual Machine Manager. It allows to share the single physical instance of cloud resources between several tenants.

Management Software:
Management Software helps to maintain and configure the infrastructure.

Deployment Software:
Deployment software helps to deploy and integrate the application on the cloud.

Network:
Network is the key component of cloud infrastructure. It allows to connect cloud services over the
internet. It is also possible to deliver network as a utility over the internet i.e. the consumer can customize the network route and protocol.

Server:
Server helps to compute the resource sharing and offer other services such as resource allocation
and de allocation, monitoring resources, security etc.

Storage:
Cloud uses distributed file system for storage purpose. If one of the storage resource fails then it
can be extracted from another one, which makes cloud computing more reliable.
  • Cloud Deployment Models
  1. Public Cloud Model
  2. Private Cloud Model
  3. Hybrid Cloud Model
  4. Community Cloud Model
1. Public Cloud Model
The Public Cloud Model allows systems and services to be easily accessible to general public.
e.g. Google, Amazon, Microsoft offers cloud services via internet.
Benefits:
  1. Cost Effective
  2. Reliability
  3. Flexibility
  4. Location Independence
  5. Utility Style Costing
  6. High Scalability
Disadvantages:
  1. Low Security
  2. Less customizable
2. Private Cloud Model
The Private Cloud allows systems and services to be accessible with in an organization. The Private Cloud is operated only within a single organization. However, It may be managed internally or by third-party.

Benefits:
  1. Higher Security and Privacy
  2. More Control
  3. Cost and energy efficiency
Disadvantages:
  1. Restricted Area
  2. Inflexible Pricing
  3. Limited Scalability
  4. Additional Skills
3. Hybrid Cloud Model
The Hybrid Cloud is mixture of public and private cloud. Non Critical activities are performed using public cloud while the critical activities are performed using private cloud.
Benefits:
  1. Scalability
  2. Flexibility
  3. Cost Efficiencies
Disadvantages:
  1. Networking Issues
  2. Security Compliance
  3. Infrastructural Dependency
4. Community Cloud Model
The Community Cloud allows system and services to be accessible by group of organizations. It
shares the infrastructure between several organizations from a specific community. It may be
managed internally or by the third-party.
Benefits: 
  1. Cost effective
  2. Sharing Between Organizations
  3. Security
Issues:
Since all data is housed at one location, therefore one must be careful in storing data in community cloud because it might be accessible by others. It is also challenging to allocate responsibilities of governance, security and cost.
  • Cloud Service Models
  1. Infrastructure as a Service IaaS Model
  2. Platform as a Service PaaS Model
  3. Software as a Service SaaS Model
  4. Identity as a Service IDaaS Model
  5. Network as a Service NaaS Model
1. Infrastructure as a Service (IaaS):
IaaS provides access to fundamental resources such as physical machines, virtual machines, virtual storage etc. Apart from these resource the IaaS also offers:
  • Virtual machine disk storage
  • Virtual local area network VLANs
  • Load balancers
  • IP addresses
  • Software bundles
All of the above resources are made available to end user via server virtualization. Moreover, these resources are accessed by the customers as if they own them.

Benefits:
IaaS allows the cloud provider to freely locate the infrastructure over the internet in cost-effective
manner.
  1. Full Control of the computing resources through Administrative Access to VMs.
  2. Flexible and Efficient renting of Computer Hardware.
  3. Portability, Interoperability with Legacy Applications.
Issues:
  1. Compatibility with Legacy Security Vulnerabilities
  2. Virtual Machine Sprawl
  3. Robustness of VM-level Isolation
  4. Data Erase Practices
Characteristics:
  1. Virtual machines with pre-installed software.
  2. Virtual machines with pre-installed Operating Systems such as windows, Linux, and Solaris.
  3. On-demand availability of resources.
  4. Allows to store copies of particular data in different locations.
  5. The computing resources can be easily scaled up and down.
2. Platform as a Service (PaaS):
PaaS offers the run time environment for applications. It also offers development & deployment
tools, required to develop applications. PaaS has a feature of point-and-click tools that enables non-developers to create web applications.
Benefits:
  1. Lower administrative overhead
  2. Lower total cost of ownership
  3. Scalable Solutions
  4. More current system software
Issues:
Like SaaS, PaaS also place significant burdens on consumer's browsers to maintain reliable and
secure connections to the provider systems. Therefore, PaaS shares many of the issues of SaaS.
  1. Lack of portability between PaaS clouds
  2. Event Based Processor Scheduling
  3. Security Engineering of PaaS applications
3. Software as a Service (SaaS):
Software as a Service SaaS model allows to provide software applications as a service to the end users. It refers to a software that is deployed on a hosted service and is accessible via internet. There are several SaaS applications.
  1. Billing and Invoicing System
  2. Customer Relationship Management CRM applications
  3. Help Desk Applications
  4. Human Resource HR Solutions
Characteristics:
  1. SaaS makes the software available over the internet.
  2. The Software are maintained by the vendor rather than where they are running.
  3. The license to the software may be subscription based or usage based. And it is billed on recurring basis.
  4. SaaS applications are cost effective since they do not require any maintenance at end user side.
  5. They are available on demand.
  6. They can be scaled up or down on demand.
  7. They are automatically upgraded and updated.
  8. SaaS offers share data model. Therefore multiple users can share single instance of infrastructure. It is not required to hard code the functionality for individual users.
  9. All users are running same version of the software.
Benefits:
Using SaaS has proved to be beneficial in term of scalability, efficiency, performance and much
more.
  1. Modest Software Tools
  2. Efficient use of Software Licenses
  3. Centralized Management & Data
  4. Platform responsibilities managed by provider
  5. Multitenant solutions.
Issues:
There are several issues associated with SaaS.
  1. Browser based risks
  2. Network dependence
  3. Lack of portability between SaaS clouds
4. Identity as a Service (IDaaS):

For Example, Employees in a company require to login to system to perform various tasks. These systems may be based on local server or cloud based. Following are the problems that an employee might face:
  • Remembering different username and password combinations for accessing multiple servers.
  • If an employee leaves the company, It's required to ensure that each of the user's account has been disabled. This increases workload on IT staff.
To solve above problems, a new technique emerged which is known as Identity as a Service IDaaS.
It offers management of identity information as a digital entity. This identity can be used during
electronic transactions.

Identity:
Identity refers to set of attributes associated with something and make it recognizable. All objects may have some same attributes but their identity can not be the same. This unique identity is assigned through unique identification attribute.
There are several identity services that have been deployed to validate services such as validating web sites, transactions, transaction participants, client etc. Identity as a Service may include
  1. Directory Services
  2. Federated Services
  3. Registration
  4. Authentication Services
  5. Risk and Event monitoring
  6. Single sign-on services
  7. Identity and Profile management
Single Sign-On SSO:
To solve the problem of using different username & password combination for different servers, companies now employ Single Sign-On software, which allows the user to login only one time and manages the user's access to other systems.
SSO has single authentication server, managing multiple access to other systems.
Following steps explain the working of Single Sign-On software:
1. User logs into the authentication server using a username and password.
2. The authentication server returns the user's ticket.
3. User sends the ticket to intranet server.
4. Intranet server sends the ticket to the authentication server.
5. Authentication server sends the user's security credentials for that server back to the
intranet server.
If an employee leaves the company, then it just required to disable the user at the
authentication server, which in turn disable the user's access to all the systems.

Federated Identity Management (FIDM)
FIDM describes the technologies and protocols that enable a user to package security credentials
across security domains. It uses Security Markup Language SAML to package a user's security credentials.
OpenID:
It offers users to login multiple websites with single account. Google, Yahoo!, Flickr, MySpace, WordPress.com are some of the companies that support OpenID.

Benefits:
  1. Increased site conversation rates.
  2. Access to greater user profile content.
  3. Fewer problems with lost passwords.
  4. Ease of content integration into social networking sites.
5. Network as a Service (NaaS):
Networks as a Service allows us to access to network infrastructure directly and securely. NaaS makes it possible to deploy custom routing protocols.
NaaS uses virtualized network infrastructure to provide network services to the consumer. It is the responsibility of NaaS provider to maintain and manage the network resources, which decreases the workload from the consumer. Moreover, NaaS offers network as a utility. NaaS is also based on pay-per-use model.
To use NaaS model, the consumer is required to logon to the web portal, where he can get on line API. Here, the consumer can customize the route. In turn, consumer has to pay for the capacity used. It is also possible to turn off the capacity at any time.

Mobile NaaS:
Mobile NaaS offers more efficient and flexible control over mobile devices. It uses virtualization to simplify the architecture to create more efficient processes.
Benefits:
NaaS offers a number of benefits:
  1. Independence
  2. Analytics
  3. Resilience
  4. Ease of Adding new Service Elements
  5. Isolation of customer traffic
  6. Support Models
  • Cloud Management Tasks
Cloud Management involves a number of tasks to be performed by the cloud provider to ensure efficient use of cloud resources.
  1. Audit System Backups
  2. System's Data Flow Management
  3. Ensuring no Vendor Lock-in
  4. Provider's security procedures
  5. Monitor Capacity Planning and Scaling Capabilities
  6. Monitor Audit-Log Use
  7. Solution testing and Validation

Comments

Popular posts from this blog

Cloud Data Storage

Agile Methodology With Waterfall Model