cloud computing from a software engineering perspective
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 PresentationTRANSCRIPT
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?