Alok's Blog

Cloud Computing

Learn about cloud computing

What is cloud computing?

Cloud computing is the access to computers and their functionality via the Internet or a local area network. Users of a cloud request this access from a set of web services that manage a pool of computing resources (i.e., machines, network, storage, operating systems, application development environments, application programs). When granted, a fraction of the resources in the pool is dedicated to the requesting user until he or she releases them. It is called “cloud computing” because the user cannot actually see or specify the physical location and organization of the equipment hosting the resources they are ultimately allowed to use. That is, the resources are drawn from a “cloud” of resources when they are granted to a user and returned to the cloud when they are released. A “cloud” is a set of machines and web services that implement cloud computing.

What is the relationship between virtualization and cloud computing?

Virtualization is the ability to run “virtual machines” on top of a “hypervisor.” A virtual machine (VM) is a software implementation of a machine (i.e., a computer) that executes programs like a physical machine. Each VM includes its own kernel, operating system, supporting libraries and applications. A hypervisor provides a uniform abstraction of the underlying physical machine. Multiple VMs can execute simultaneously on a single hypervisor. The decoupling of the VM from the underlying physical hardware allows the same VM to be started on different physical machines. Thus virtualization is seen as an enabler for cloud computing, allowing the cloud computing provider the necessary flexibility to move and allocate the computing resources requested by the user wherever the physical resources are available.

How are clouds classified?

Given the broad definition of the term “cloud,” the current taxonomy differentiates clouds both in terms of cloud service offerings and cloud types. When categorizing cloud service offerings we often refer to clouds in terms of “service style“ depending on the portion of the software stack delivered as a service. Here we discuss the most common service styles referred to by the acronyms IaaS, PaaS, and SaaS. Cloud ”types“ (including public, private, and hybrid) refer to the nature of access and control with respect to use and provisioning of virtual and physical resources.

What are the most popular cloud service styles?

IaaS
IaaS (Infrastructure as a Service) style clouds provide access to collections of virtualized computer hardware resources, including machines, network, and storage. With IaaS, users assemble their own virtual cluster on which they are responsible for installing, maintaining, and executing their own software stack.
PaaS
PaaS (Platform as a Service) style clouds provide access to a programming or runtime environment with scalable compute and data structures embedded in it. With PaaS, users develop and execute their own applications within an environment offered by the service provider.
SaaS
SaaS (Software as a Service) style clouds deliver access to collections of software application programs. SaaS providers offer users access to specific application programs controlled and executed on the provider’s infrastructure. SaaS is often referred to as “Software on Demand.”

What are cloud types?

Public cloud
Public clouds provide access to computing resources for the general public over the Internet. The public cloud provider allows customers to self-provision resources typically via a web service interface. Customer’s rent access to resources as needed on a pay-as-you-go basis. Public clouds offer access to large pools of scalable resources on a temporary basis without the need for capital investment in data center infrastructure.
Private cloud
Private clouds give users immediate access to computing resources hosted within an organization’s infrastructure. Users self-provision and scale collections of resources drawn from the private cloud, typically via web service interface, just as with a public cloud. However, because it is deployed within the organization’s existing data center—and behind the organization’s firewall—a private cloud is subject to the organization’s physical, electronic, and procedural security measures and thus offers a higher degree of security over sensitive code and data. In addition, private clouds consolidate and optimize the performance of physical hardware through virtualization, and can thus markedly improve data center efficiency while reducing operational expense.
Hybrid cloud
A hybrid cloud combines computing resources (e.g., machines, network, storage, etc.) drawn from one or more public clouds and one or more private clouds at the behest of its users.

Why Cloud Computing?

Cloud computing is seen by some as an important forward-looking model for the distribution and access of computing resources because it offers these potential advantages:

  • Self-service provisioning: Allows users to deploy their own sets of computing resources (machines, network, storage, etc.) as needed without the delays and complications typically involved in resource acquisition; IT supports ongoing customization and enhancement of cloud user experience, while monitoring, managing, and expanding as required the underlying cloud infrastructure.
  • Scalability: Decouples the fluctuating needs of individual users from typical infrastructure constraints, thus easily accommodating rapid increases or decreases in resource demand.
  • Reliability and fault-tolerance: IT can focus on improving critical pieces of infrastructure to achieve pre-determined levels of reliability. Policies addressing expected levels of reliability can be continuosly reassessed and updated without user involvement.
  • Optimization/Consolidation: Maximizes the usage and increases the efficiency of existing infrastructure resources. Extends infrastructure lifecycle. Reduces capital expenditure.
  • QoS (Quality of Service): Allows IT to dynamically reassess the SLA associated with users or groups of users for the resources allocated. Allows the organization to react quickly to changing conditions without unnecessary user involvement or knowledge.
  • Well defined API: Using a well-defined and stable industry standard API avoids lock-in and ensures interoperability with an ever-growing number of tools and cloud service providers.
  • As-needed availability: Aligns resource expenditure with actual resource usage thus allowing the organization to pay only for the resources required, when they are required.

Cloud IT Roles

Evolution or Revolution? Cloud Computing brings new tools and operational methodologies that enable IT professionals to more quickly satisfy the ever-growing demands of their users. The adoption of cloud computing also implies the emergence of new roles and responsibilities within IT management as the need for specialized skills in cloud deployment, management, and utilization continues to grow.

At Eucalyptus Systems, we have been involved in discussions regarding the impact of cloud computing on IT roles — both in terms of the evolution of traditional roles (e.g. System Administrator, Network Administrator, etc.) and new roles likely to emerge with the arrival of Cloud Computing. Below we offer some initial results from our discussions, including the following definitions of what we see as the primary IT roles within Cloud Computing — first the well-established IT roles, then the brand new ones.

Participate in the discussion on the Evolution of IT on our forum. There is a thread just for this page, so let us know what you think here and we will make sure your comments will be reflected on this page.

System Administrator
The skills and duties of a System Administrator are wide ranging and typically a ‘sysadmin’ is called upon to perform a range of duties within a small group setting. These duties involve the planning, implementation and maintenance of servers/hosts, along with the services hosted on these servers. See http://en.wikipedia.org/wiki/System_administrator.
Computer Operator
The duties of a Computer Operator relate to day-to-day maintenance activities, and are viewed by some as a junior System Administrator. See http://en.wikipedia.org/wiki/Computer_operator.
Network Administrator
The skill set of the Network Administrator tends to be specific to the managing of the network fabric to ensure proper and reliable communication between computing resources and users. There can be wide variation in the responsibilities of Network Administrators, as individuals can specialize in authentication, intrusion detection, performance, network based services (e.g., file servers), or drivers on desktop computers — to name a few specialized responsibilities. See http://en.wikipedia.org/wiki/Network_administrator.
Storage Administrator
The responsiblities of a Storage Administrator is more loosely defined. In general, they are responsible for the design, implementation and maintenance of the storage infrastructure with an organization. Based upon the organizations choice of storage (DAS, NAS, SAN, etc), their skill sets tend to be specialized. This role is mentioned, but not defined, in a wikipedia article on File area network.
Data Base Administrator
A Data Base Administrator is responsible for the design, implementation, and maintenance of a database. Within the realm of database systems, this role is akin to a system administrator. See http://en.wikipedia.org/wiki/Database_administrator.
End User
An End User uses applications running on instances created by the Cloud Application Architect in the cloud. Thus an End User may actually be unaware that the application they are using is located in the cloud
Code Developer
A Code Developer (not to be confused with a ‘cloud developer’) may be either a Cloud User (when they want to fully control the environment they want to use) or the End User (when they use instances created for them by the Cloud Application Architect).
Manager
Managers influence the direction of the enterprise, including deciding if and when to move IT into the cloud. They directly or indirectly work with all other IT roles.
Cloud Architect
The Cloud Architect will determine when and how a private cloud meets the policies and needs of an organization’s strategic goals. The Cloud Architect is also responsible for designing the private cloud, understanding and evaluating the technologies and vendors needed to deploy the private cloud.
Cloud Administrator
A Cloud Administrator is responsible for the implementation, monitoring and maintenance of the cloud within the organization. Typically this role also involves the implementation of service level agreements (SLA) for permissions, access, quotas, etc. as required by an organization&rslquo;s policies. The Cloud Administrator works directly with System, Network and Cloud Storage Administrators.
Cloud Service Manager
The Cloud Service Manager design the policies, rules and pricing model (SLA) for every cloud resource available within the organization. The SLA will need to stay current with the organization’s policies, rules and priorities, thus the Cloud Service Manager works with the management to receive directions and with the Cloud Administrator to implement the SLAs.
Cloud Data Architect
The cloud offers many different types of storage with possibly different SLAs associated with each of them. The Cloud Data Architect makes sure that an application in the cloud is using these different storage types appropriately, and that the application is taking full advantage of the properties of each type of cloud storage.
Cloud Storage Administrator
The Cloud Storage Administrator writes SLAs for the various groups and users (maps space, bandwidth, and reliability of the various cloud storage to the various groups/users), to ensure SLAs stay in compliance with current policies and that SLAs are met and respected. The Cloud Storage Administrator works directly with the Storage, Network and Cloud Administrators.
Cloud Application Architect
The Cloud Application Architect is responsible for adapting, porting or deploying an application to a target cloud. They work closely with end users to ensure that an application’s performance, reliability and security are all maintained throughout the life-cycle of the application. The architect’s skills draw from both system administration experience (to tune the underlying OS and to act as System Administrator on instances) and from domain specific expertise (to tune the application and understand end user needs). Typically there is one architect per application domain who works closely with the Cloud Data Architect and the Cloud Administrators.
Cloud Operator
The duties of a Cloud Operator tend to relate to day-to-day cloud maintenance and monitoring activities and are considered by most as a junior Cloud Administrator.
Cloud User
A Cloud User has access to compute resources (pre-packaged images, instances, volumes, buckets etc.) within a cloud, and are generally granted System Administrator privileges to the instances they start. Cloud Users may work with a Cloud Architect to tune specific applications, but often use the images provide to them independently.
Cloud Developer
Cloud Developers develop for the cloud infrastructure itself. This can be a developer working on a client tool (such as the euca2ools suite) or a system component such as the Eucalyptus Cloud Controller. Typically Cloud Developer’s work independently, though they may interact with the Cloud Administrator during debugging sessions.

Evolution or Revolution? After much discussion, while it is clear that Cloud Computing is creating new IT roles, we believe they are emerging alongside and as a complement to well-established IT roles. Thus we see the development of cloud IT roles as part of the ongoing evolution of IT — but we’ll leave it to you to decide it.

Cloud IT Roles Part II

In the article Cloud IT roles new IT roles were highlighted as a result of the introduction of Cloud Computing within an organization’s IT infrastructure. The previous article describes the IT roles, their skills and some of their interaction: both traditional and new roles were described. In this article we will show a simplified IT infrastructure before and after a private cloud (Eucalyptus of course) is deployed.

Typical IT roles competences shown with simple infrastructure
Figure 1. Sphere of competence. The vertical segmented lines delineates the area of competence of each IT roles.

In Fig. 1 we exemplified a typical IT infrastructure and few of the IT roles responsible for it. In the figure, the vertical segmented lines delineates the competences of each roles: this is just an example, since each organization have different policies, may have the same person assuming multiple responsibilities, or may have teams specialized in particular components.

On the left, the Network Administrator is responsible for the network, from controlling router, to WAN access and network security. In the center the System Administrator takes care of the servers, from troubleshooting hardware errors, to updating the OS and configuring their networks. Some, or all, of the servers are attached to a high-speed high-capacity storage device (NAS/DAS/SAN), and the Storage Administrator is the caretaker of these devices, from their maintenance, to their connectivity and to the enforcing of the usage policies. These roles form the IT team which is responsible to keep the infrastructure humming at full capacity without issues.

IT roles with infrastructure and cloud deployed
Figure 2. IT roles within a private cloud infrastructure. (CLC – Cloud Controller, CC – Cluster Controller, SC – Storage Controller, and NC – Node Controller)

In Fig. 2 you can see the same infrastructure as shown in Fig. 1 after the private cloud has been deployed. The Cloud Administrator is responsible for the Cloud infrastructure. Eucalyptus is a distributed systems, and so the Cloud Administrator needs to interact closely with the System and the Network Administrators, to ensure the proper configuration and functioning of the core of the Cloud Infrastructure. The Cloud Application Architect will prime the cloud with specific images useful to End Users belonging to various departments. She will have to consider also the usage of Volumes (Elastic Block Storage), Elastic IPs, and will ensure the proper functioning of running Instances either alone of in collaboration with the System Administrator.

The new IT Cloud team is formed. At first it’s likely that some of the current IT personnel will be interested in the Cloud, start some proof of concept installations and deployment, thus temporarily assuming double duties. Finally, through training and experience, the new roles will be formed and assigned permanently to their tasks.

This Cloud IT group will have to work in concert to identify bottleneck, to troubleshoot and to maintain the infrastructure. For example, a erratic instance, may force the Cloud Application Architect to inquiry about the status of the cloud with the Cloud Administrator, issues with the hardware or the OS may be discovered by the Cloud Administrator and isolated with the help of the System Administrator and/or the Network Administrator.

IT set diagram
Figure 3. IT roles affinity.

Cloud Computing is a fairly recent introduction, so most of the new roles will need to be trained. The current IT structure already possess most of the skills needed for these new roles (see the previous article for more details), requiring a different division of the responsibilities and training only for the new parts (ie training for the private cloud software).

In Fig. 3 we highlight what we believe to be the affinity between some of the current IT roles and the new Cloud IT roles, from the perspective of desired skills-set. For example, either a System or a Network Administrator could be trained to become a Cloud Administrator: for them the training will mainly focus on the Cloud Infrastructure itself since they already understand the underlying infrastructure. End User could become Cloud User with very little training, while to become Cloud Application Architect they will benefit from training in System Administration and training into the specific application domain (for example accounting, sales etc …). Of course the Figure is just a very general guideline: with proper training the new roles could rise from every role interested in Cloud Computing.

Reference : http://open.eucalyptus.com/learn

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: