90
Software Quality Assurance 214-3610-1 Lecture 6 Cloud computing Naomi Unkelos-Shpigel [email protected]

Lecture 6 cloud

Embed Size (px)

Citation preview

Page 1: Lecture 6   cloud

Software Quality Assurance214-3610-1

Lecture 6 – Cloud computing

Naomi [email protected]

Page 2: Lecture 6   cloud
Page 3: Lecture 6   cloud
Page 4: Lecture 6   cloud

http://www.go-globe.com/blog/60-seconds/

Page 5: Lecture 6   cloud
Page 6: Lecture 6   cloud

http://www.go-gulf.com/blog/online-time/

Page 7: Lecture 6   cloud

GAFAnomics

אשנו

:7

Page 8: Lecture 6   cloud

אשנו

:8

Page 9: Lecture 6   cloud

אשנו

:9

Page 10: Lecture 6   cloud

It`s everywhere in our daily lives

אשנו

:10

Page 11: Lecture 6   cloud

Next – the internet

אשנו

:11

Page 12: Lecture 6   cloud

What about job interviews?

אשנו

:12

http://www.ynet.co.il/articles/0,7340,L-4362942,00.html

http://www.calcalist.co.il/internet/articles/0,7340,L-3644501,00.html

https://klout.com/home

Page 13: Lecture 6   cloud

(?) Virtual money

אשנו

:13

https://www.fundivo.com/stats/cyber-m

http://fortune.com/2016/11/29/cyber-

monday-2016-sales/

Page 14: Lecture 6   cloud

Top cloud providers 2015

http://talkincloud.com/talkin-cloud-100-2015-edition-ranked-1-25

Page 15: Lecture 6   cloud

“I am running X, do I still need cloud?”

Page 16: Lecture 6   cloud

https://www.dropbox.com/s/svi33z2f0r7mz

qp/Screenshot%202013-10-

16%2021.20.23.png

Page 17: Lecture 6   cloud

Some background –

Autonomic computing (2001)

introduced by IBM in 2001

Inspired by Human systems

Self‐management

Mobile computing

Since 1990s

Intermittent connectivity

Limited Bandwidth

Mobile device maturity

Distributed computing:

The system has a distributed memory

where each processor has its private memory.

Information exchanged using communication

models, ex: MPI (Message passing

interface)

Page 18: Lecture 6   cloud

Utility computing

• Water, gas, and electricity are provided to every home and business as commodity services

• You get connected to the utility companies’ “public” infrastructure

• You get these utility services on‐demand

• And you pay‐as‐you use

• Utility Computing is doing same for computing resources (processing power, bandwidth, data storage, and enterprise software services)

• Thought of by 1960s but re‐surfaced late 90s

“If computers of the kind I have advocated become the computers of the future, then computing may someday be organized as a public utility just as the telephone system is a public utility... The computer utility could become the basis of a new and important”

Page 19: Lecture 6   cloud

Computer paradigms –Cluster computing

• Cluster Computing:Characteristics: tightly coupled computers

• single system image

• Centralized Job management & scheduling system

• Better performance and availability and more cost‐ ?effectiveness over single computer with same capabilities

• Since 1987

Page 20: Lecture 6   cloud

Computer pradigms -Grid computing

• According to Gartner, "a grid is a collection of resources owned by multiple organizations that is coordinated to allow them to solve a common problem." • Characteristics: loosely coupled

• no Single System Image

• distributed Job Management & scheduling

• Originated early 1990s

Page 21: Lecture 6   cloud

Ubiquitous and pervasive• Ubiquitous= “seeming to be in all places”

• Pervasive= “present or noticeable in every part of a thing or place”

• Information processing engaged in everyday’s activities and objects.

• Term coined by Mark Weiser, and used since 1980s

• Different models but same vision

Small, robust,inexpensive devices distributed throughout everyday`s life

Page 22: Lecture 6   cloud

Virualization..

Page 23: Lecture 6   cloud
Page 24: Lecture 6   cloud

Some milestonesOne of the first milestones in cloud computing history was

the arrival of Salesforce.com in 1999, which pioneered

the concept of delivering enterprise applications via a

simple website. The services firm paved the way for both

specialist and mainstream software firms to deliver

applications over the internet.

The next development was Amazon Web Services in

2002, which provided a suite of cloud-based services

including storage, computation and even human

intelligence through the Amazon Mechanical Turk.

Then in 2006, Amazon launched its Elastic Compute

cloud (EC2) as a commercial web service that allows

small companies and individuals to rent computers on

which to run their own computer applications.

Page 25: Lecture 6   cloud

A case study -

• Launched in November 2008, Groupon features a daily deal on the best stuff to do, see, eat and buy in more than 500 markets and 40 countries.

• The company has thousands of employees spread across its Chicago and Palo Alto offices, regional offices in Europe, Latin America, Asia and Africa with local account executives stationed in many cities. Groupon seeks to sell only quality products and services, be honest and direct with customers, and provide exceptional customer service.

• “Within a few months of our founding, our customer base exploded,” says Joe Harrow, Director of Customer Service, Groupon. “At first, I was spending 10 percent of my time responding to customer requests. It gradually became a job for several agents. We realized we simply couldn’t go on without a real ticketing solution.”

During Groupon’s second year of business they grew 2,241%, that’s no typo; they made $713.4 million in 2010 up from

$30.47 million the year before.During incredible growth like this Groupon relied on the cloud to scale and add resources

when they needed them

Page 26: Lecture 6   cloud

Another case study -

• The power to launch 1,000 servers at the press of a button (and tear them down just as quickly) is indeed remarkable. But if comic books have taught us anything at all, it’s that with great power comes great responsibility!

• “We organized a Hadoop Hackday at our office, and very quickly wrote some prototype code for calculating analytics data for SlideShare users. Our buggy code was failing in a way we hadn’t anticipated, so throwing hardware at the problem hadn’t helped. Meanwhile, we’d run up a bill of $5000 with Amazon Web Services!”

• The Spider-Man Principal - It’s great to have the super-power of cloud computing, but you need to be responsible if you want to use it!

Page 27: Lecture 6   cloud

Public vs. Private

Page 28: Lecture 6   cloud

Public cloud definition

• Vmware

Page 29: Lecture 6   cloud

Public cloud

• Simplicity and efficiency. Public cloud services are offered as a service, usually over an Internet connection.

• An off-site third party provider hosts and manages the system. Users connect to the system via the web.

• Public clouds usually charge a monthly or yearly usage fee.

. The chance to make use of all services, including infrastructure, on a pay-per-use basis, and be free of the problems connected to

their daily management represents what most enterprise customers denote as the most significant benefit of public cloud

services.

Page 30: Lecture 6   cloud

Public cloud advantages• Organizations don't have to purchase physical

hardware (which also saves on energy costs).

• The servers are virtual - hosted at a third party.

• Only pay for what you need (pay-as-you go model).

• No IT employee needed to monitor the system;

Low cost

• If hardware or software configurations need to be changed, or if a server crashes or needs to be restarted, reconfiguring the cloud can take minutes or hours.

• If one server fails, another can instantly be activated, reducing down time.

Reduced time – In-house servers take time to maintain.

• internal IT employees are not responsible for maintaining .The design lets users update or introduce technologies into the system at a much faster rate as everything is managed at the host company.

• Having a public cloud service means never having to deal with physical hardware; it can be maintained from a simple configuration screen.

No maintenance -

Page 31: Lecture 6   cloud

Public cloud disadvantages• Many organizations feel as if they don't have

enough control over their personal data with a public cloud service

Lack of control

• Public cloud services are based on Internet connections. The public cloud service’s servers must ensure fast access of information to customers’ trying to access their data. For example, many customers won’t tolerate slow page loading times.

Slow speed

• Having items residing in-house such as servers and network equipment can pay off in the long run as assets and tax advantages.

Lack of investment

• Perceived weaker security sometimes is viewed as the main disadvantage in public cloud service. Intolerable for customers with sensitive personal information (e.g. financial institutions)

Perceived weaker security

Page 32: Lecture 6   cloud

Private cloud definition

Page 33: Lecture 6   cloud

Hosted on a private platform in the

customer data center. It is dedicated to a

particular organization and

not shared with other organizations.

A key technology to help organizations

enable a private cloud

is Virtualization, which helps

organizations realize cost savings by letting them leverage their existing hardware

infrastructure.

The private cloud resides at the

customer’s location

and offers customers more control over the

infrastructure.

It’s important to keep in mind that a private cloud also offers on-

demand

capability where

more services can be added quickly as

needed.

Private cloud (internal cloud/enterprise cloud)

Page 34: Lecture 6   cloud

Private cloud advantages (1)Greater control - Due to the fact that the hardware is on-site, organizations have more control over their data. The organization is in charge of monitoring and maintaining the data giving them complete oversight of their data.

More security –hardware, data storage, and network can be designed to assure high levels of security that cannot be accessed by other clients in the same data center.

Regulatory issues - In certain countries, the data center hosting a public cloud service must reside within the local country where its users reside as well. When there is no public cloud option that can be provided from the local country, a private cloud is the only option that can be used.

Higher performance - The private cloud is deployed inside the firewall on an organization's intranet, meaning that transfer rates are dramatically increased versus using the Internet. In addition, there’s no worry of slow page access times that may happen with using a public cloud service.

Page 35: Lecture 6   cloud

Private cloud advantages (2)

Deeper compliance –Because the hardware, storage and network configuration is dedicated to a single client, compliance data is much easier to attain.

Customizable – Hardware performance, network performance, and storage performance can be specified and customized in the private cloud since it’s owned by the company. More customer control equals fewer security worries for private cloud service users.

Quality attributes - By moving traditional hardware-based old IT system over to the cloud, the customer is still able to enjoy the benefits of scalability, flexibility and higher productivity, but will be able to do so without sacrificing any of the accountability for data security that may sometimes be viewed with a public cloud service.

Page 36: Lecture 6   cloud

Private cloud disadvantages

On-site Maintenanc

e

• Since the private cloud is hosted at the company’s site, the organization needs to provide adequate power, cooling, and general maintenance. The host organization also runs the risk of data loss due to physical damage of the unit (i.e. fire, power surge, water damage).

Capacity Ceiling

• There will always be a capacity ceiling due to the limitations of the physical hardware in the organization’s data center. There can only be so much space available within a company’s environment to deploy a certain amount of hardware servers, for example.

Cost

• Cost - Possibly the greatest critique of a private cloud service is that it still requires the customer to purchase, configure and maintain the system or virtualized infrastructure. the private cloud user needs to spend considerable capital initially to acquire a system that will often be hosted in-house, and then still handle its management moving forward. Private clouds also require system administrators leads to higher administration costs.

Page 37: Lecture 6   cloud

Go public?

A public cloud service is popular with organizations looking to cut IT costs and time (i.e., reduces capital expenditures, no need to worry about upgrades and backups). These organizations are concerned with security but scalability, efficiency, and affordability are the most important features.

These organizations may lack in-house IT administration and expertise or may have distributed locations where IT simply cannot scale to manage those locations.

Public cloud services offer great levels of efficiency and affordability, as well as the ability to scale on-demand, as customers share the larger cloud.

In general, in terms of scalability, versatility, simplicity of use, and price,

public cloud service usually beats a private cloud service.

However, public clouds can be more vulnerable than private cloud services

as they are public hosting platforms, and may have limited flexibility –configuration, security, and service level – as they are hosted a shared cloud infrastructure.

Page 38: Lecture 6   cloud

Go private?

• Organizations that feel they need greater control of their business-critical data and applications.

• Popular with highly regulated industries such as financial institutions as they are more comfortable having their data hosted privately and physically separated from other businesses.

• Private cloud service makes a lot of sense to bigger companies because it is based on a model where they run their own servers and infrastructure. The idea of controlling your own infrastructure and only allow workers within the same firewall to access all the content from the private cloud makes it comfortable to use for larger companies.

• More expensive and time consuming than deploying a public cloud service. The organization will need to invest in, maintain, upgrade, & back up their own equipment. A private cloud service will be limited in its scalability and will certainly require in-house IT administration and time.Connectivity is often done through a secure VPN connection and there are many encryptions that keep anyone else from accessing the network.

• Private cloud also ensures there is in-house management accountability of the cloud service, which is ideal in larger organizations.

Page 39: Lecture 6   cloud

Hybrid cloud

• A hybrid cloud service is the combination of a private cloud and a public cloud. Essentially, a hybrid cloud refers to an organization that keeps some of its operations in-house (private cloud) while also utilizing a cloud service from an outside provider for its other operations (public cloud).

• The hybrid approach can allow a business to take advantage of the scalabilityand cost-effectiveness that a public cloud service offers while keeping mission-critical applications within a private cloud.

• By spreading things out over a hybrid cloud, a company can keep each aspect

of its business in the most efficient environment possible. The

downside is that you have to keep track of multiple different security platforms and ensure that all aspects of your business can communicate with each other.

https://www.youtube.com/watch?v=3WIJ4axzFlU

Page 40: Lecture 6   cloud

Community cloud definition

Page 41: Lecture 6   cloud

Example : Salesforce

• http://www.salesforce.com/company/news-press/press-releases/2014/08/140827.jsp

Page 42: Lecture 6   cloud

Cloud models

Page 43: Lecture 6   cloud

SAASIt's scalable.

It's on-demand. Assuming you don't have customization requirements, you can often start using the service right away.

It's low maintenance. The service provider handles maintenance of the service.

It's reliable. Cloud services typically maintain high availability (they're usually up).

It's easy to buy. You don't have to worry about the installation, setup and running of the application.

You just have to pay and use it .Fees are typically assessed to subscribers on a monthly or annual basis.

Page 44: Lecture 6   cloud

SaaS Advantages Over The Traditional Software Model

Traditional software

model

A separate license must be purchased for

each workstation

that will access an enterprise

software application.

Multi-user software license

costs can be high and software

licenses typically can not be

shared by users.

Local installations of software within

an enterprise also require a

significant investment in

application servers.

Traditional software

applications are often

accompanied by expensive and

time consuming implementation requirements.

The Software-as-a-Service model significantly reduces

the expenses typically associated with locally hosted

software applications.

Page 45: Lecture 6   cloud

Where SaaS makes sense• • “Vanilla” offerings where the solution is largely undifferentiated

• Applications where there is significant interplay between the organization and the outside world. For example, email newsletter campaign software

• Applications that have a significant need for web or mobile access. An example would be mobile sales management software

• Software that is only to be used for a short term need. An example would be collaboration software for a specific project

• Software where demand spikes significantly, for example tax or billing software used once a month

Page 46: Lecture 6   cloud

Where SaaS may not be the best option• • Applications where extremely fast processing of

real time data is required

• Applications where legislation or other regulation does not permit data being hosted externally

• Applications where an existing on-premise solution fulfills all of the organization’s needs

Page 47: Lecture 6   cloud

IaaS• IaaS (infrastructure as a service) refers to the delivery of computing

capacity and infrastructure as a service.

• IaaS encompasses all of the physical computing resources that support delivery of applications as a service.

• IaaS provides a major cost savings to organizations, as it provides access to additional computing capacity on demand, without the need for a major capital investment in additional hardware, etc.

• IaaS Architecture

• IaaS can be delivered via a public cloud, a private cloud, a community cloud or a hybrid cloud.In addition, IaaS frequently incorporates virtualization into its design in order to facilitate optimal levels of utilization for physical computing resources.

• Network connectivity and storage capacity are also included in the IaaS definition, since these resources are a part of the physical computing resources that are delivered by IaaS.

There are only a few players in the IaaS marketplace

Page 48: Lecture 6   cloud

Where IaaS makes sense

• Where demand is very volatile – any time there are significant spikes and troughs in terms of demand on the infrastructure

• For new organizations without the capital to invest in hardware

• Where the organization is growing rapidly and scaling hardware would be problematic

• Where there is pressure on the organization to limit capital expenditure and to move to operating expenditure

• For specific line of business, trial or temporary infrastructural needs

Page 49: Lecture 6   cloud

Where IaaS may not be the best option• Where regulatory compliance makes the offshoring or outsourcing of data storage and processing difficult

• Where the highest levels of performance are required, and on-premise or dedicated hosted infrastructure has the capacity to meet the organization’s needs

Page 50: Lecture 6   cloud

PaaS

• PaaS(Platform as a service), as the name suggests, provides you computing platforms which typically includes:

• operating system,

• programming language execution environment

• Database

• web server

Page 51: Lecture 6   cloud

Benefits of PaaS

• Clients will only need to rent the resources they need rather than invest in fixed, unused and therefore wasted capacity.

• Makes development possible for ‘non-experts’; with some PaaS offerings anyone can develop an application.

• Flexibility; customers can have control over the tools that are installed within their platforms and can create a platform that suits their specific requirements.

• Adaptability; Features can be changed if circumstances dictate that they should.

• Teams in various locations can work together; several locations can work together on the same application build.

• Security; security is provided, including data security and backup and recovery.

Page 52: Lecture 6   cloud

Where PaaS makes sense

• PaaS is especially useful in any situation where multiple

developers will be working on a development project or where

other external parties need to interact with the development

process.

• It is proving invaluable for those who have an existing data

source – for example sales information from a customer

relationship management tool, and want to create applications

which leverage that data.

• PaaS is useful where developers wish to automate testing and

deployment services.

With the popularity of agile software development, PaaSeases the difficulties around rapid development and iteration of software.

Page 53: Lecture 6   cloud

Where PaaS may be not the best option• • Where the application needs to be highly portable in terms

of where it is hosted

• Where proprietary languages or approaches would impact on the development process

• Where application performance requires customization of the underlying hardware and software

Page 54: Lecture 6   cloud

Open source PaaS

• Going with the name, Open Source PaaS or Open PaaS is an open cloud computing platform for a software developer.

• Any of these can be used by the software developer without looking behind for any kind of technical strictures:

• If PaaS turns out to be a dominant cloud essence in the near future, then Open PaaS will play the key source in the PaaS lineup.

Page 55: Lecture 6   cloud

Open source PaaS

• An open source PaaS supports codes, applications, systems, ASPs,

SaaS’s, PaaS’s, programmers, designers and users making a

complete ecological unit

• Instead of staying bolted in the proprietary programming languages,

operating systems, development tools etc. as in a normal PaaS or

SaaS, open source A developer can choose his own tools to create

applications while PaaS does not keep a developer bolted in a

proprietary API (Application Programming Interface)

• An open source PaaS allows a developer to prepare his own

guidelines to charge for the applications he designs and can run a

business according to personal guidelines

Programming languagesDatabasesOperating systemsServers

Page 56: Lecture 6   cloud

Benefits of open source PaaS• A developer can use any of the programming languages to create

applications

• One can create applications and distribute them for free while charging for the support

• One can also create extensions for other developer applications and sell them

• One can also create new applications incorporating other developer’s code and sell them thereafter

• One can also connect to a personal server or any other cloud

• One can organize, reuse and resell the codebase in new and interesting ways

Page 57: Lecture 6   cloud

Limitations of open source PaaS• Open source PaaS heavily relies on the willingness of the

developers and the programmers to deliver and contribute the programming codes without any kind of financial rewards

• The fraction of open source PaaS programmers are quite low which makes its path of popular dissemination a little stiffer

• Security breach is a major concern in open source PaaS

Page 58: Lecture 6   cloud

Additional models?

Page 59: Lecture 6   cloud
Page 60: Lecture 6   cloud

Building enterprise clouds

• What principles should we consider when building enterprise clouds?

Page 61: Lecture 6   cloud

Today - Cloud computing services

Page 62: Lecture 6   cloud

Cloud quality attributes -Non functional requirements

• Accessibility

• Availability

• Capacity, current and forecast

• Compliance

• Configuration management

• Disaster recovery

• Efficiency (resource consumption for given load)

• Effectiveness (resulting performance in relation to effort)

• Elasticity

• Emotional factors (like fun or absorbing)

• Environmental protection

• Extensibility

• Failure management

• Fault tolerance

• Legal and licensing issues

• Interoperability

• Maintainability

• Network topologyWhich are relevant in cloud environment?

• Performance / response time (performance

engineering)

• Price

• Privacy

• Portability

• Quality (e.g. faults discovered, faults delivered, fault

removal efficacy)

• Recovery / recoverability (e.g. mean time to

recovery - MTTR)

• Reliability (e.g. mean time between failures - MTBF)

• Resource constraints (processor speed, memory,

disk space,

network bandwidth, etc.)

• Response time

• Robustness

• Scalability

• Security

• Software, tools, standards etc. Compatibility

• Testability

• Usability by target user community

Page 63: Lecture 6   cloud

RationalePrinciple

Only one standard, and it's the point of service where you standardize the kind of cloud service you provide to your cloud customers

Standardization

Optimize as much as you can below the point of standardization.Cloud computing, from the point of view of the infrastructure supplier is nothing more than a ruthlessly optimized way of supplying a well defined (service

Optimization

The implementation details of your Cloud service should always be hidden from your customers. They should never know how exactly you provide your J2EE, database or other service, and certainly never depend on the particular way you do it

Separation

Page 64: Lecture 6   cloud

Architecting in a Cloud Environment• Quality attributes that are different in a cloud

• Security

• Performance

• Availability

© Len Bass, Paul Clements, Rick

Kazman, distributed under Creative

Commons Attribution License

Page 65: Lecture 6   cloud

Security

• Multi-tenancy introduces additional concerns over non-cloud environments.

• Inadvertent information sharing. Possible that information may be shared because of shared use of resources. E.g. information on a disk may remain if the disk is reallocated.

• A virtual machine “escape”. One user can break the hypervisor. So far, purely academic.

• Side channel attacks. One user can detect information through monitoring cache, for example. Again, so far, purely academic.

• Denial of Service attacks. One users can consume resources and deny them to other users.

• Organizations need to consider risks when deciding what applications to host in the cloud.

© L

en

Ba

ss, P

au

l C

lem

en

ts,

Ric

k K

azm

an

, d

istr

ibu

ted u

nd

er

Cre

ative

Com

mo

ns A

ttrib

utio

n

Lic

en

se

Page 66: Lecture 6   cloud

Performance

• Auto-scaling provides additional performance when load grows.

• Response time for new resources may not be adequate

• Architects need to be aware of resource requirements for applications

• Build that knowledge into the applications

• May applications self aware so that they can be proactive with respect to resource needs.

© L

en

Ba

ss, P

au

l C

lem

en

ts,

Ric

k K

azm

an

, d

istr

ibu

ted u

nd

er

Cre

ative

Com

mo

ns A

ttrib

utio

n

Lic

en

se

Page 67: Lecture 6   cloud

Availability

• Failure is a common occurrence in the cloud

• With 1000s of servers, failure is to be expected

• Cloud providers ensure that the cloud itself will remain available with some notable exceptions.

• Application developers must assume instances will fail and build in detection and correction mechanisms in case of failure.

© L

en

Ba

ss, P

au

l C

lem

en

ts,

Ric

k K

azm

an

, d

istr

ibu

ted u

nd

er

Cre

ative

Com

mo

ns A

ttrib

utio

n

Lic

en

se

Page 68: Lecture 6   cloud

Elasticity

Page 69: Lecture 6   cloud

Service Level Agreements

• A service-level agreement (SLA) is a contract between a network service provider and a customer that specifies, usually in measurable terms, what services the network service provider will furnish.

Page 70: Lecture 6   cloud

SLA metrics

Some metrics that SLAs may specify include:

• What percentage of the time services will be available

• The number of users that can be served simultaneously

• Specific performance benchmarks to which actual performance will be periodically compared

• The schedule for notification in advance of network changes that may affect users

• Help desk response time for various classes of problems

• Dial-in access availability

• Usage statistics that will be provided.

Page 71: Lecture 6   cloud

4 things to know about SLAs

1. Availability

• Is it measured monthly or annually?

• It is usually expressed as something like 99.99% availability - which equates to less than five minutes of downtime per month - and if the service provider fails to meet that measure then penalties apply.

• 99.99% measured on a monthly basis has very different implications to 99.99% measured over twelve months, he points out.

Page 72: Lecture 6   cloud

4 things to know about SLAs

2. Planned downtime

• How much is involved, and can you skip it?

• Even if 99.99% availability measured over a year is acceptable to your business, should you really expect to get that level of availability?

• What many service providers actually offer is 99.99% availability during 'scheduled uptime,' but not during what they call 'planned downtime' when the provider carries out regular maintenance and upgrades.

• Some providers give themselves the right, in the small print of the SLA, to something like "up to 30 minutes of planned downtime once a week on a Sunday morning, at some time between 2am and 5am."

• The benefit of planned downtime is that it enables the service provider to introduce new features or eliminate bugs in the software.

Page 73: Lecture 6   cloud

4 things to know about SLAs

3. Service interruptions

• Who starts the clock when a service is disrupted?

• it's only once you tell the service provider that you are experiencing an interruption that the clock actually starts: the time the service was unavailable before this usually doesn't count in the SLA.

• This effectively gives the service provider a grace period of five or so minutes each time there is an interruption, and it is up to the buyer to understand the definition of how outages are measured

• For smaller companies this grace period may turn out to be even longer, because if an outage occurs in the middle of the night it may

never be detected and reported before it is fixed.

Page 74: Lecture 6   cloud

4 things to know about SLAs4. Liability

• Aside from availability, most SLAs deal with the penalties that apply if the service provider breaches the agreement. These generally take the form of service credits or reductions from the monthly bill.

• Don`t expect there to be much of a connection between any compensation and the actual loss your company could suffer if the service is unavailable for an extended time or if your data becomes corrupted.

• Large enterprises can certainly negotiate SLA terms, but for most SMBs this simply isn't an option. That's because service providers have to offer a uniform service at scale to smaller customers in order to drive prices down to competitive levels.

• A more sensible approach is to shop around while bearing in mind that, when it comes to service level agreements, the devil is in the detail.

Page 75: Lecture 6   cloud

SLA examples

/

http://aws.amazon.com/ec2/sla/

https://cloud.google.com/storage/sla

http://www.rackspace.com/information/legal/cloud/sla

http://www.hpcloud.com/sla

http://www.windowsazure.com/en-us/support/legal/sla/

Choose two and compare…

Page 76: Lecture 6   cloud

Lessons learned

• Read your cloud provider’s SLA very carefully – The almost four-day Amazon outage of April 2011 did not breach Amazon’s EC2 SLA, which as a FAQ explains, “guarantees 99.95% availability of the service within a Region over a trailing 365 period.” Since it has been the EBS and RDS services rather than EC2 itself that has failed (and all the failures have been restricted to Availability Zones within a single Region), the SLA has not been breached, legally speaking.

• Get technical staff involved to validate SLAs against common outage scenarios – Another set of outages come along to delight those who follow Microsoft’s journey to cloud nirvana. On August 7 it was a power outage that affected their Dublin datacenter and affected service to European users of Business Productivity Online Services (BPOS).

• Have contingency plans in place to support worse case scenarios – When we re-designed for the cloud this Amazon failure was exactly the sort of issue that we wanted to be resilient to. Our architecture avoids using EBS as our main data storage service, and the SimpleDB, S3 and Cassandra services that we do depend upon were not affected by the outage.

Page 77: Lecture 6   cloud

Financial considerations

Page 78: Lecture 6   cloud
Page 79: Lecture 6   cloud

Cash flows

Page 80: Lecture 6   cloud

How much time will it take?

Page 81: Lecture 6   cloud

Migration costs• Application Development/Re-architecture: Modifications to the logic and/or

architecture of an application are often required when performing a migration

between different hosting contexts.

• Migration Planning and Execution: Moving a complex system with many moving

parts between hosting contexts must be planned and choreographed carefully to

minimize the risk of disruption or failure.

• Migration Downtime: Most application migrations will require a total service

outage while data is synchronized, tests performed and clients redirected to the

new location.

• Process Re-engineering: Being components that reside within a larger frame of

reference, the business process, migrating applications to another hosting context

will require these processes to be examined and re-engineered accordingly

Page 82: Lecture 6   cloud

Locked-in costs

• Exacerbating cloud lock-in, and thus weakening agencies' negotiating leverage, is their tendency to customize their cloud

• Agencies need to build a detailed strategy for winding down their cloud vendor commitments. Usually when an agency moves from one IT vendor to another, the new vendor pays for the data migration.

• Before signing on the dotted line with a cloud vendor, agencies should explicitly detail in the contract the terms for how that vendor is responsible for packing up and moving the customer's data in the event the customer wants to change vendors.

"If you're renting a house, it's built into the contract that you'll leave it in clean condition or there are consequences

-- it's not the next tenant's job to do"

Page 83: Lecture 6   cloud

Additional costs

• Cost of capital - When you run your own servers, you're looking at up-front capital costs. But in the world of cloud-computing, financing that capital investment is someone else's problem.If you run the servers yourself, the accounting wizards do their amortization magic which makes it appear that the cost gets spread over a server's life. But that money still has to come from somewhere, so it's capital that otherwise can't be invested in the business—be it actual money or a line of credit.

• Integration costs - Integration can comprise up to 35 percent of the total implementation costs associated with on-premises application development. In comparison, cloud computing makes integration faster, easier, and less risky than ever before

Page 84: Lecture 6   cloud

Bonus benefit.. Being green

• Whether or not they believe in global warming, many organizations want to do something about it. This is either because their customers want to do business with green companies, or simply through a genuine desire to emit less CO2 , or other gases believed to warm the planet.

• By moving to the cloud, you'll be greener in two ways:• First, you'll be saving energy, as we talked about earlier.

• Second, you'll be taking advantage of the work that your cloud service provider has done to reduce its data centers’ carbon footprint.

• Think of it as saving money that you might otherwise spend on carbon offsets.

Page 85: Lecture 6   cloud

Why is the cloud green?

• Dynamic Provisioning – Large operations enable better matching of server capacity to demand on an ongoing basis.

• Multi-Tenancy – Large public cloud environments are able to serve millions of users at thousands of companies simultaneously on one massive shared infrastructure.

• Server Utilization – Cloud providers can drive efficiencies by increasing the portion of a server’s capacity that an application actively uses, thereby performing higher workloads with a smaller infrastructure footprint.

• Datacenter Efficiency – Through innovation and continuous improvement, cloud providers are leading the way in designing, building and operating data centers that minimize energy use for a given amount of computing power.

Page 86: Lecture 6   cloud

Green IT• http://www.businessweek.com/articles/2013-

10-03/facebooks-new-data-center-in-sweden-puts-the-heat-on-hardware-makers

Page 87: Lecture 6   cloud

Big Data EveryWhere!

• Lots of data is being collected and warehoused

• Web data, e-commerce

• purchases at department/grocery stores

• Bank/Credit Card transactions

• Social Network

Page 88: Lecture 6   cloud

What`s in the future?

אשנו

:95

http://www.geektime.co.il/2015-in-cloud-

computing/

Page 89: Lecture 6   cloud

Resources (1)

• http://apprenda.com

• http://blogs.technet.com/b/yungchou/archive/2011/03/03/chou-s-theories-of-cloud-computing-the-5-3-2-principle.aspx

• http://constantin.glez.de/blog/2012/02/three-enterprise-architecture-principles-building-clouds

• http://simplicable.com/new/the-9-principles-of-soa-design

• http://www.rackspace.com/knowledge_center/article/rackspace-open-cloud-reference-architecture

• http://www-05.ibm.com/de/cloud/pdf/Gettingcloudcomputingright.pdf

• http://www.techradar.com/news/internet/cloud-services/four-things-to-know-about-cloud-slas-1157019

• http://www.wired.com/insights/2011/12/service-level-agreements-in-the-cloud-who-cares/

• http://searchitchannel.techtarget.com/definition/service-level-agreement

• http://jineshvaria.s3.amazonaws.com/public/cloudbestpractices-jvaria.pdf

• © Len Bass, Paul Clements, Rick Kazman “Software architecture in practice”

• http://apprenda.com

• http://www.rackspace.com/knowledge_center/whitepaper/understanding-the-cloud-computing-stack-saas-paas-iaas

• http://simplicable.com/new/cloud-computing-cheat-sheet

• http://www.interoute.com/what-saas

• Zhang, L. J., & Zhou, Q. (2009, July). CCOA: Cloud computing open architecture. In Web Services, 2009. ICWS 2009. IEEE International Conference on (pp. 607-616). Ieee.

• http://www.slideshare.net/markogrobelnik/big-datatutorial-grobelnikfortunamladenicsydneyiswc2013

• http://blogs.microsoft.co.il/technet/2013/12/08/big-data-bi/

• http://assets.en.oreilly.com/1/event/12/Cloud%20Computing%20with%20bigdata%20Presentation.pdf

• http://searchstorage.techtarget.com/guides/Big-data-tutorial-Everything-you-need-to-know

• http://fr.slideshare.net/faberNovel/gafanomics

• http://www.usatoday.com/story/tech/2013/12/03/amazon-ebay-cyber-monday/3858203/

Page 90: Lecture 6   cloud

Resources (2)

• http://apprenda.com

• http://blogs.technet.com/b/yungchou/archive/2011/03/03/chou-s-theories-of-cloud-computing-the-5-3-2-principle.aspx

• http://constantin.glez.de/blog/2012/02/three-enterprise-architecture-principles-building-clouds

• http://simplicable.com/new/the-9-principles-of-soa-design

• http://www.rackspace.com/knowledge_center/article/rackspace-open-cloud-reference-architecture

• http://www-05.ibm.com/de/cloud/pdf/Gettingcloudcomputingright.pdf

• http://www.computerweekly.com/feature/A-history-of-cloud-computing

• https://gigaom.com/2010/08/26/cloud-computing-fiascos-lessons-from-slideshare/

• http://www.slideshare.net/BeFoundOnline/dan-goldens-2015-digital-marketing-food-pyramid