joi, 5 mai 2016

Cloud Computing Basics

Cloud computing basics

 

Definition

 

National Institute of Standards and Technology (NIST). According to NIST:

Cloud computing is a model for enabling convenient, on-demand network access to a shared
pool of configurable computing resources (e.g., networks, servers, storage, applications, and
services) that can be rapidly provisioned and released with minimal management effort or
service provider interaction.

It demonstrates five essential characteristics, three services models and four deployment
models of cloud.

Five characteristics that define cloud computing

 

1. On-demand self-service. This means provisioning or de-provisioning computing
resources as needed in an automated fashion without human intervention.
2. Ubiquitous network access. This means that computing facilities can be accessed from
anywhere over the network using any sort of thin or thick clients
3. Resource pooling. This means that computing resources are pooled to meet the demand
of the consumers so that resources (physical or virtual) can be dynamically assigned,
reassigned or de-allocated as per the requirement.
4. Rapid elasticity. Cloud computing provides an illusion of infinite computing resources to
the users. In cloud models, resources can be elastically provisioned or released according
to demand.
5. Measured service. This means that consumers only pay for the computing resources
they have used.

Three main service models of cloud computing

 

1. Infrastructure as a service (IaaS). It is the delivery of computing infrastructure as a
service. SoftLayer cloud and Amazon EC2 are some examples of IaaS.


Here’s how NIST defines IaaS:
The capability provided to the consumer is to provision
processing, storage, networks and other fundamental computing resources where the
consumer is able to deploy and run arbitrary software, which can include operating systems
and applications. The consumer does not manage or control the underlying cloud
infrastructure but has control over operating systems, storage and deployed applications; and
possibly limited control of select networking components (e.g., host firewalls).

Infrastructure as a service is the ability to programmatically create, manage and consume
infrastructure elements which include images, storage volumes, network and compute
resources.

Infrastructure as a service means that you are obtaining cloud infrastructure (i.e. servers,
storage and networking) in an on-demand, elastic fashion and in a pay-as-you-go model.

Infrastructure as a service is providing raw materials (compute, storage, network) to users
on-demand so that they can execute their workloads in a flexible, scalable environment
without the overhead of obtaining and operating physical gear.

2. Platform as a service (PaaS). Providers deliver not only infrastructure but also
middleware (databases, messaging engines and so on) and solution stacks for application
build, development and deployment (dev-ops).

(NIST) definition of PaaS: The capability provided to the consumer is to deploy
onto the cloud infrastructure consumer-created or acquired applications created using
programming languages, libraries, services, and tools supported by the provider. The
consumer does not manage or control the underlying cloud infrastructure including network,
servers, operating systems, or storage, but has control over the deployed applications and
possibly configuration settings for the application-hosting environment.

PaaS provides the developers with the appropriate flavors of operating systems, databases, middleware, software tools and managed services, usually in a multitenant environment. The biggest added value of PaaS is that developers are completely abstracted from the lower-level details of the environment, so they can fully focus on what there are really good at (rapid development and deployment) and not worry about things like scalability, security and more that are fully managed by PaaS.

3. Software as a service (SaaS). Applications hosted by a provider on a cloud infrastructure
are accessed from thin or thick clients over the network or a program interface (for
example, web services).

image


  

Cloud deployment models

 

1. Public cloud. This is where computing resources provided by a cloud provider are used by
different organizations through public Internet on a pay as you go (PAYG) model. Cloud
providers ensure some sort of separation for resources used by different organizations. This
is known as multitenancy.

2. Private cloud. This is where cloud infrastructure is solely owned by an organization and
maintained either by this organization or a third party and can be located on site or off-site.
Computing resources are behind the corporate firewall.

3. Community cloud. Here, cloud infrastructure is owned and shared by multiple organizations
with a shared concern.

4. Hybrid cloud. It is the combination of any type of cloud model mentioned above connected
by standardized or proprietary technology.

The pros of cloud computing

 

“Cloud computing has a lot of benefits but it also comes with some downsides,”

1. Cloud computing allows you to focus more on your business and not on managing data centers

2. You can develop new applications faster

3. Leveraging your cloud provider’s API can help you automate many of your operational tasks

4. Cloud computing is scalable
Assuming your application is architected appropriately, as the load on your application grows you can scale horizontally by provisioning new servers. If you need to increase the size of your servers to support loads that cannot scale horizontally, you can provision larger servers to support the increased demands.
Black Friday example – online shops, 100x the load vs the rest of the year - does it make sense from the business perspective to buy all that hardware to accommodate this only for two days a year?

5. Financially, cloud computing makes a lot of sense
Renting your infrastructure can make good financial sense. The pay as you go (PAYG) model is especially attractive to the limited cash flow of small and startup businesses.

6. Cloud computing allows you to expand your global presence


The downside of cloud computing

 

1. Performance on shared infrastructure can be inconsistent

2. People believe that cloud infrastructure is not secure

3. Cloud computing may not be the right fit for all workloads

4. Some workloads have very specific performance and security requirements.


Top 7 most common uses of cloud computing

 

1. Infrastructure as a service (IaaS) and platform as a service (PaaS)
2. Private cloud and hybrid cloud
3. Test and development
4. Big data analytics
5. File storage
6. Disaster recovery
7. Backup


Considerations for moving to cloud

 

When it comes to deciding what to move to cloud first, a very important consideration is the
workloads. Not all workloads are created equal.

Migration to cloud: It is all about workloads

The main characteristics that a workload must exhibit to be a good candidate for cloud
computing are:

1. Fluctuating demand: When a workload has a stable and predictable demand, having
dedicated and properly sized infrastructure for that workload is probably more efficient
than paying hourly charges for VMs in a public cloud or building and using a private and
automated cloud.

2. Standard: Efficiencies in cloud computing are achieved thanks to virtualization and
automation. Automation is only cost-effective if there is a limited set of features (in SaaS
solutions) or pieces of software (in IaaS in PaaS solutions) available in the catalog.

3. Independent: If a workload requires heavy communications with other systems, migration
of that workload alone to a public cloud environment might affect performance negatively
because of issues with latency and bandwidth between the data center and the public
cloud environment. Although bandwidth can always be increased, latency is more difficult
to reduce below a minimum threshold unless your 1’s and 0’s can travel faster than light (!).

4. Non-critical: Workloads with very high demanding requirements (for example, availability,
response time, recovery time objective, recovery point objective and security) might not be
ready to be hosted in public clouds yet. Service levels offered by public clouds do not
usually meet the requirements of critical workloads.

Migrating applications to cloud isn’t so simple

Cloud is a technology that is already part of most IT environments today, which means that
migrating a distributed environment or application to a cloud environment isn’t like turning it
off and moving it to cloud.

What should we consider when analyzing a workload? I would say the following

1. Standardization—the application must be deployed in a standard way using standard
images since this reduces the effort for development.

2. Hardcoded dependencies—the application must avoid having hardcoded configurations,
since this may inhibit or complicate cloud adoption as it will require specific
reconfigurations or prerequisites.

3. Maintainability—the application must be deployed in a way that is easy to maintain. Fixes
or patches at the OS and application levels must be deployed without requiring manual
intervention.

4. Manageability—the application must be easy to manage from an operation and
administrative point of view.

image



5. Scalability, flexibility.  Are our products scalable enough to be able to take advantage of cloud  resources (IaaS) on demand?  furthermore, could they reuse some of the platform services existing in the cloud (databases, messaging systems etc)?  even more, is there a vision in place where from a business and technical perspective additional reusable software services could be envisioned (analysis methods etc)?


5 key success factors for cloud implementation

 

1. A new due diligence process will be required; you ought to be prepared to invest more
time and effort to finding the ideal partner.

2. Expect to pay more attention to security, as it is a primary concern for many stakeholders.

3. The study found many pushing the limits on, or altering the dynamics of their current
provider’s relations. Keep expectations high, but don’t expect to reach a steady state with limited change. You will need to cultivate a different type of relationship where you lean on your vendor for strategic guidance, business case development, workload prioritization and more.

4. Plan to spend more time helping the business adjust to the new technology. Cloud
services require a different governance approach, and procurement and contracting
processes often need to be altered requiring greater business leader engagement.

5. Thinking ahead about an integration plan is critical. Because the cloud is made for a
“best of breed” approach, you should plan for a more diverse vendor base and a hybrid IT
environment.

Niciun comentariu:

Trimiteți un comentariu