cloud computing basics

21
CLOUD COMPUTING BASICS An Introduction to Cloud Computing and How it is Changing Business 2 ND EDITION James Higginbotham LAUNCHANY.COM

Upload: hajiram-beevi

Post on 07-Nov-2014

25 views

Category:

Documents


0 download

DESCRIPTION

cloud comptuing

TRANSCRIPT

Page 1: Cloud Computing Basics

Clo

ud

Co

mp

uti

ng

Cra

sh C

ou

rse

CLOUD COMPUTING

BASICSAn Introduction to Cloud Computing and How it is Changing Business

2ND EDITION

James Higginbotham

LAUNCHANY.COM

Page 2: Cloud Computing Basics

Clo

ud

Co

mp

uti

ng

Cra

sh C

ou

rse

INTRODUCTION

Cloud computing continues to grow and expand its reach. Since the first version of this book was written, a variety of new services and offerings are now available. The traditional cloud computing solutions such as Amazon AWS, Google App Engine, and Salesforce.com continue to thrive, while the newer service offerings of Red Hat Cloud's OpenShift, Heroku, and a variety of specialized service providers are starting to emerge. These cloud services are allowing products to launch even faster and with a more sophisticated infrastructure than what was possible just a year ago.

Cloud computing can be a confusing technology. It can be hard to determine if you should move to the cloud fully, partially, or perhaps build your own service offering for the cloud. Unfortunately, many of the discussions around cloud computing still revolve around enterprise IT, meaning that few are talking about what cloud computing means for startups and software companies.

This book addresses that problem by tackling your key questions and concerns about cloud computing and what it means for your startup or software company. Whether you are a startup founder or a product manager for an existing product, this book will help you:

Review the core principles of cloud computing

Understand the primary cloud computing service types

Identify the benefits of cloud computing

Determine if cloud computing is a fit for your business

Explore the new business opportunities that cloud computing offers

2

Page 3: Cloud Computing Basics

Clo

ud

Co

mp

uti

ng

Cra

sh C

ou

rse

WHY IS CLOUD COMPUTING A HOT

TOPIC?

Cloud Computing is getting quite a bit of buzz in the media right now. Are you wondering if you are missing out on something?

There are several circumstances that have allowed cloud computing to emerge:

Internet standardization and protocols

The low cost of hardware and storage

Hardware virtualization, allowing more than one virtual server to share the same hardware

These recent events now make constructing software applications easier, faster, and cheaper than before. It also provides anywhere/anytime access, preventing individuals and businesses from being tethered to their computer for software or data access. This is encouraging many companies to start evaluating and implementing cloud computing solutions as a means to increase revenue and decrease operating expenses.

3

Page 4: Cloud Computing Basics

Clo

ud

Co

mp

uti

ng

Cra

sh C

ou

rse

WHAT IS CLOUD COMPUTING?

Founders and product managers that have ever had to deploy and manage their own IT infrastructure understand how difficult it can be to keep everything running. Sometimes this IT infrastructure management has been outsourced by locating a provider that can select, configure, and manage the hardware and software infrastructure. However, this doesn’t alleviate the time and expense of planning, installing, and removing this infrastructure as your business needs change.

Cloud computing reduces your time and expenses by allowing IT and other infrastructure services to be provisioned on-demand. Typical cloud computing resources available include: compute services (CPU), storage services, data storage, and applications. Each of these cloud services are metered, much like electricity and other utilities, allowing the business to pay for only what they need. No more guess-work on how many servers or software licenses to purchase.

Cloud computing can be summarized with these core advantages:

Shared Cost

Agility

Elasticity

Let’s look at each of these core advantages in more detail, as it will help expand our understanding of cloud computing.

4

Page 5: Cloud Computing Basics

Clo

ud

Co

mp

uti

ng

Cra

sh C

ou

rse

Economical. SHARE THE INVESTMENT.

It takes a large amount of money to build up a full IT infrastructure: servers, bandwidth, rack space, electricity, network firewalls and switches, test environments, production environments, email services, and other supporting systems. This infrastructure takes time and money to locate, install, and maintain. This is money your startup has to spend on infrastructure rather than investing directly into the product. Cloud computing strives to change this by distributing this cost across multiple customers.

Instead of every startup building the same infrastructure, you get to outsource it to someone who is more capable of monitoring and managing what you need. In short, cloud computing helps you defer the cost by paying for only what you need now rather than everything up front. Plus, you get to share the cost with other customers that need the same kind of resources. Cloud computing builds on these "economies of scale" and can work in favor of your startup.

Not only are there costs for hardware, there are other costs that should be factored into the shared cost model:

Personnel (and middle managers) for hardware/software monitoring and management

Hardware repairs and downtime if critical hardware or software is down

Security, facilities, cooling, electricity, backup power systems, etc

Cloud computing can provide a large reduction of infrastructure, creating a huge advantage for many startups.

5

Page 6: Cloud Computing Basics

Clo

ud

Co

mp

uti

ng

Cra

sh C

ou

rse

Agile. ON-DEMAND PROVISIONING.

Deploying and configuring hardware and software can take weeks to months of valuable time. Cloud computing provides on-demand provisioning of these resources, allowing businesses to become more agile. No more waiting to determine if network, storage, or server capacity is sufficient for a new product or service offering. Identify the need, provision it from your cloud service provider, verify the configuration, and promote it to production when ready.

In addition, the ability to provision services as needed allow for the exploration of new or alternative production environments. Product configurations may be cloned into temporary environments, changes made, or new opportunities explored all within a much shorter timeframe. These changes can then be rolled into a production environment, adjusted, or abandoned, all with a reduced impact to both cost and risk.

6

Page 7: Cloud Computing Basics

Clo

ud

Co

mp

uti

ng

Cra

sh C

ou

rse

Elastic. ONLY WHAT YOU NEED.

Elasticity is the on-demand growth or shrinkage of a resource for a specific time. In short: only what you need, only when you need it.

Is your business growing? Grow your storage and CPU power. Is your business stabilizing? Keep what you have. Is your business slowing down after a busy season? Shrink your resources until next time. Use what you need, when you need it.

Often, Amazon's Elastic Compute Cloud (EC2) comes to mind as an example. Amazon provides customers with the opportunity to grow or shrink the number of servers they need at a given time, giving them nearly unlimited compute power.

Elasticity, however, is about more than just CPU power. Any resource that can be pooled, automated, and managed can be made elastic: CPUs, memory, storage, databases, network bandwidth, message brokers, deployment platforms, web applications, etc.

It is important to note that elasticity is different from scalability. Scalability is dealing with growth or shrinkage of resources over time, whereas elasticity is related to a specific period of time.

As an example, several years ago a major retailer experienced a severe shortage of servers during the Christmas season. This caused a variety of problems when taking orders online. Their need wasn’t driven from month-over-month growth of customer usage (scalability), but increased web traffic for that specific time of the year (elasticity).

7

Page 8: Cloud Computing Basics

Clo

ud

Co

mp

uti

ng

Cra

sh C

ou

rse

WHAT ARE THE TYPES OF CLOUD

COMPUTING SERVICES?

There are three primary classifications of cloud computing services. Each of these can be used independently or in cooperation with other cloud service types to comprise a complete cloud computing solution.

The primary cloud computing service types are:

Software as a Service (SaaS)

Infrastructure as a Service (IaaS)

Platform as a Service (PaaS)

We'll examine an overview of each service type to better understand what kind of solutions may be available for your product.

8

Page 9: Cloud Computing Basics

Clo

ud

Co

mp

uti

ng

Cra

sh C

ou

rse

SOFTWARE AS A SERVICE (SaaS)

Software as a Service (SaaS) solutions are typically on-demand applications that can be purchased on a usage or subscription basis. Applications that utilize a subscription model often offer pricing tiers based on the features available and number of users that may use the application. SaaS is quickly becoming a common cloud service for individuals, small business, and enterprises. It includes both general-purpose solutions (e.g. image sharing, CRM) as well as solutions for specific business verticals (e.g. non-profit fund raising, oil well monitoring). Software-as-a-service applications do not require someone to install the product on the business network or to perform upgrades, as this is managed by the SaaS vendor.

Unlike applications that are installed on the local network, SaaS-based applications are hosted and available from any Internet-capable device. They are also multi-tenant, which means that the same installation of the application is shared across multiple paying customers. Since one application can service multiple customers, each with one or more user accounts, the customer data is partitioned to prevent access by other customers. Multi-tenant support allows the vendor is able to scale their application from a few to many customers, reducing the overall cost of each customer.

Examples include: Salesforce.com, Freshbooks, Unfuddle, Basecamp, and Highrise CRM.

9

Page 10: Cloud Computing Basics

Clo

ud

Co

mp

uti

ng

Cra

sh C

ou

rse

INFRASTRUCTURE AS A SERVICE (IaaS)

IaaS focuses on providing on demand IT resources, such as: CPU, storage, network, and content distribution. IaaSforms the basis for most cloud computing solutions and often provides nearly unlimited resources and elasticity.

While IaaS tend to be the most flexible cloud service type by providing access to raw resources, it often requires more customization. Most services provide both plain server images and pre-configured servers, but most of them require some time to customize and configure for your specific application deployment. Once customized, these virtual servers may be cloned as needed to scale current resources, or for reuse across multiple applications.

IaaS-based services often charge based on usage, typically in one hour increments. In addition, charges for incoming and outgoing bandwidth are charged separately. This often results in lower costs for startups that do not send, receive, and/or generate large amounts of data.

When selecting an infrastructure service, keep in mind that some services may offer the best performance when combined with other solutions by the same vendor. For example, Amazon’s S3 storage service is best used when the requests are on the same network, making file access faster from their own EC2 instances that reside on the same network infrastructure.

Examples include: Rackspace Cloud, Firehost, Amazon EC2, and Amazon S3

10

Page 11: Cloud Computing Basics

Clo

ud

Co

mp

uti

ng

Cra

sh C

ou

rse

PLATFORM AS A SERVICE (PaaS)

Over the last year, Platform as a Service has become a popular choice for many startups. It accelerates the development process, as it provides existing infrastructure that can be used with little development effort. It also accelerates the deployment process, as servers are pre-configured and managed by the service provider. The scaling of an application deployed to a PaaS can be done manually or automatically, allowing startups to start with minimal resources but quickly scale to more servers when needed.

It can be difficult to classify some cloud offerings as a PaaS due to their hybrid nature of offering both IaaS and SaaS-based services. The best way to classify a platform service is to determine if they offer the infrastructure to deploy an application without complex setup or individual server configuration. Other indicators often include: built-in monitoring and management of an application, built-in data backup and recovery, and application deployment versioning and rollback.

Examples include Google App Engine, Engine Yard,Force.com, Heroku, RunMyProcess, and Zoho.

11

Page 12: Cloud Computing Basics

Clo

ud

Co

mp

uti

ng

Cra

sh C

ou

rse

SECONDARY CLOUD COMPUTING

SERVICE TYPES

As businesses start to learn about cloud computing, services often emerge outside the scope of the three primary service types. Businesses are now transforming any kind of resource that can be scaled up or down into a service. These secondary services are called Anything as a Service (XaaS) and can include just about anything "as a Service". The following are just a few examples of secondary service types:

Operations as a Service (OaaS) - OaaS removes many of the complexities of application deployment into the cloud by providing runtime governance around cloud resources, platforms, and applications. This enables solutions to be built using available cloud-based services while removing the details of policy enforcement, build image management, runtime resource availability and maintenance, and application lifecycle management.

Security as a Service (SecaaS) - SecaaS provides the glue that connects an individual’s private identity with the capabilities of single sign-on, profile management, and access rights. These services are independent of a specific device, provide single sign-on across devices and applications, enable easy access to a variety of services under one identity, and pseudonyms to protect an individual's identity between systems as desired.

Data As a Service (DaaS) - DaaS allows data sets, both public and commercial, to be available via an API and/or a web-based interface. These data sets can be used directly, or combined with other data from the service or stored privately within a business to produce enriched data for use in a manual or automated way.

As these examples demonstrate, cloud computing allows for a wide variety of scalable resources beyond just hardware and networking.

12

Page 13: Cloud Computing Basics

Clo

ud

Co

mp

uti

ng

Cra

sh C

ou

rse

WHAT ARE THE BENEFITS OF CLOUD

COMPUTING?

Cloud computing delivers several benefits to startups and software product companies.

Lower cost. As mentioned earlier, cloud computing can drastically reduce the cost of entry for a new product. Software-as-a-service applications reduce the cost of entry for expensive software that may have been previously unavailable. Infrastructure and platform-as-a-service provide easy access to nearly unlimited compute and network resources, reducing the cost needed to deploy and scale your product. Before you launch your next product, evaluate the cost for your IT infrastructure as cloud computing may lower your business IT costs.

Group collaboration. Many software-as-a-service applications now allow for group collaboration from anywhere. No longer are businesses limited to being in the same location. Everyone that needs access to a cloud resource can be given access and data shared almost real-time.

Flexible data integration. The integration of data was previously limited to exporting and importing data files and sharing them via email or portable media. Cloud computing now allows customers to access and integrate their data with other services through an application programming interface (API). While APIs have been around for some time, they were often limited to direct access to the data and typically were on a private network. Cloud-based services allow business data to be accessed from an API provided by the vendor at any time, from anywhere. It can even be combined with public or private data to make key business decisions faster.

13

Page 14: Cloud Computing Basics

Clo

ud

Co

mp

uti

ng

Cra

sh C

ou

rse

IS CLOUD COMPUTING A FIT

FOR YOUR START-UP?

5 QUESTIONS.

14

Page 15: Cloud Computing Basics

Clo

ud

Co

mp

uti

ng

Cra

sh C

ou

rse

QUESTION #1: DOES YOU REQUIRE

CUSTOM HARDWARE?

Unlike co-location hosting providers, custom hardware can't be installed into cloud vendor data centers. Verify that your solution doesn't require special hardware configurations, or specific operating systems that the provider can't or won't support.

15

Page 16: Cloud Computing Basics

Clo

ud

Co

mp

uti

ng

Cra

sh C

ou

rse

QUESTION #2: DO YOU HAVE PRIVACY

OR COMPLIANCE REQUIREMENTS?

Regulations, such as HIPAA (Health Insurance Portability and Accountability Act), may restrict co-mingling of your infrastructure with other hosted customers and vendor IT support teams. Privacy is the single largest concern with businesses moving to the cloud, especially around government regulations of data privacy. Make sure you perform the proper due diligence before moving sensitive data to the cloud. Also, consider your intended customer base and if they will have concerns as well.

Moving to the cloud may help your startup, but it may also impact the customers' willingness to conduct business. This may require your startup to adopt a hybrid approach, using a more secure data center for production data but the cloud for development and testing. If the data can be anonymized, you may be able to move some portion of your solution to the cloud to reduce cost and provide needed elasticity without breaking privacy regulations. Some cloud service providers are now offering virtual private networks (VPNs) to provide additional layers of security to address these kinds of issues as well.

16

Page 17: Cloud Computing Basics

Clo

ud

Co

mp

uti

ng

Cra

sh C

ou

rse

QUESTION #3: DO YOU WORK WITH

LARGE AMOUNTS OF DATA?

I have worked with a variety of startups that produce and manipulate extreme amounts of data. Depending on your Internet connection, it may take hours or days to push your data to a third-party cloud infrastructure and make it available for use. This can impact the overall cost of your cloud services, including one-time and recurring bandwidth costs with the cloud provider.

Determine how much data you expect to work with and the frequency of the data collection. Also, consider the cost of backing up this data and restoring it, as bandwidth costs may exceed the benefit of moving the data to the cloud.

Finally, find out if the provider provides a way of pushing large amounts of data into their cloud using alternative methods. Some providers support receiving and loading data from hard drives or other media for an additional service fee, allowing for one-time or batch loading of data and for off-site backup of large data sets.

17

Page 18: Cloud Computing Basics

Clo

ud

Co

mp

uti

ng

Cra

sh C

ou

rse

QUESTION #4: WHAT ARE

YOUR SCALING NEEDS?

Some businesses work with a market that has a slow or predictable growth rate. If you have a predictable growth curve, you may not need the elasticity of the cloud. If this is the case, reduced cost and time-to-market may still be important factors for the consideration of cloud computing. However, be sure to evaluate the needs of your business and compare it to the costs of cloud computing, as you may be able to reduce your infrastructure costs by moving to the cloud and utilizing less resources than purchasing and managing the hardware and software licenses yourself.

18

Page 19: Cloud Computing Basics

Clo

ud

Co

mp

uti

ng

Cra

sh C

ou

rse

QUESTION #5: DOES CLOUD

COMPUTING FIT YOUR BUDGET?

Businesses are being lured to cloud computing without considering the hidden costs of replacing all aspects of monitoring, management, and automation. Some vendors offer these services for free, some for an additional free, and some don't provide them at all. This means you may have access to a large number of servers for your website but no automated way to configure them. Or, it may require subscribing to an additional vendor that provides Operations as a Service (OaaS) capabilities for your cloud.

As Lydia Leong wrote:

"There is no magic cloud pixie dust that settles on these instances and turns them into application faeries of scalability and joy." Making your application cloud-ready requires special consideration in the code to handle failures and failover, elasticity through both growth and shrinkage, and multi-tenancy. Cloud infrastructures fail often - your app must be prepared or you'll receive a 3am wake-up call when things stop working… Things break, whether they are in-house or in the cloud, so prepare for it.

Ensure that you have performed a complete cost analysis of moving to the cloud by investigating the full cost of switching. There are often significant cost savings in utilizing a cloud-based solution. However, for the few startups that have special needs, such as excessive bandwidth or data storage, the cost may increase greatly from typical cloud solutions. If this is the case, your startup may benefit from a mixture of cloud services integrated into your solution, rather than a complete move to the cloud.

19

Page 20: Cloud Computing Basics

Clo

ud

Co

mp

uti

ng

Cra

sh C

ou

rse

HOW WILL YOU USE CLOUD

COMPUTING?

IMAGINE THE POSSIBILITIES.

20

Cloud computing enables a startup to take advantage of some amazing opportunities. The real challenge isn't determining if you should move to the cloud, but how and when you should move to the cloud.

I'll leave you with this question, which a good friend suggested that every startup should ask themselves:

If you had unlimited CPU, unlimited storage, and limitless database capabilities, what would you do with them and how would your startup change as a result?

Page 21: Cloud Computing Basics

Clo

ud

Co

mp

uti

ng

Cra

sh C

ou

rse

LET’S TALK CLOUD COMPUTING and

YOUR BUSINESS.

LaunchAny has a passion for taking products from idea to revenue. We can help you take the cloud computing leap, whether you have a new product or are interested in migrating your existing applications to the cloud.

Our services include:

Cloud Assessment Review – define the cloud strategy that best matches to your business needs

Cloud Readiness Review – build a plan to take your new or existing products to the cloud

Cloud Development and Deployment – execute your cloud strategy with our experienced team

Telephone: +1.512.961.8493

Email: [email protected]

Web: www.launchany.com

Twitter: @launchany

21