Cloud Computing from a Software Engineering Perspective

Preview:

DESCRIPTION

Cloud Computing from a Software Engineering Perspective . Danilo Ardagna, Elisabetta Di Nitto { ardagna,dinitto}@elet.polimi.it. What is Cloud Computing?. A coherent , large-scale , publicly accessible collection of compute, storage , and networking resources - PowerPoint PPT Presentation

Citation preview

CLOUD COMPUTING FROM A SOFTWARE ENGINEERING PERSPECTIVE

Danilo Ardagna, Elisabetta Di Nitto{ardagna,dinitto}@elet.polimi.it

What is Cloud Computing?• A coherent, large-scale, publicly accessible collection of compute, storage, and networking resources

• Available via Web service calls through the Internet

• Short- or long-term access on a pay per use basis

Motivation for Cloud Computing• Internet-based service provisioning

• Provision is usually overestimated to deal with usage peaks• Peaks are rare and relatively short • Estimates indicate that data centers only use about 10-15% of their capacity

• Over-provisioning is expensive• Electricity and cooling costs for low demand servers• High personnel costs for managing and maintaining the physical

and hardware infrastructure

Motivation for Cloud Computing• Application deployment is non-trivial

• Need to configure hardware, OS, network, storage devices, and install all the required application software (web server, application server, DBMS)

• Global financial crisis• Cloud computing as a cost-effective alternative to cut down IT

costs

Motivation for Cloud Computing• Increasing market and public interest

• Merryl Lynch estimates a cloud computing market of US$160 billion in 2011

• Gartner estimates that in 2011 75% of all software services will use some type of cloud infrastructure

From the software engineering perspective

• An attractive deployment and operation solution

• Cloud computing offers specific programming features that may influence the way software is developed

Course objectives• Introduce the concepts of Cloud computing

• Overview existing approaches and techniques, and provide guidelines for their usage in all phases of software lifecycle

Content overview• Introduction to Cloud Computing

• Deploying Infrastructure as a Service (IaaS)

• Delivering Platform as a Service (PaaS)

• Relevant Software as a Service (SaaS) examples (Google and Facebook)

• Industrial seminars (we are inviting IBM, Microsoft, GoGrid)

Exam• Evaluation mainly based on a

project

• Groups: 4-5 graduate students, possibly, supervised by a PhD Student

• Peer reviewed paper

• Project presentation

Projects• We will ask the industrial speakers to propose two-three

projects

• Projects proposed by us• Monitoring: extending d and j-Cloud• Deploying an application on IBM IaaS infrastructure and on Amazon:

what is the difference?• Data management in the Cloud• SOA vs. Cloud• QoS specification at multiple level of

abstractions• Advanced Cloud patterns…

• You can propose projects if you wish!

Course schedule• Lectures in May, from May 2nd to May 30th

• Monday 14.30-16.00• Wednesday 14.30-16.00• Last lecture June the 11th 14.30-16.00• Schedule of lectures is sharp (academic quarters already counted in

the schedule)!

• Projects will be assigned by the end of the second week of course (but the sooner the better)

• Project papers to be submitted by June 11th • Review process between June 12th and June 26th • Final project presentations and evaluations by the first half of

July

Any questions?

Recommended