180 likes | 528 Views
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
E N D
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 accessiblecollection 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 • MerrylLynch estimates a cloud computing market of US$160 billion in 2011 • Gartner estimatesthat in 2011 75% of all softwareservices will usesome type ofcloudinfrastructure
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 • QoSspecification 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