FACULTY OF ENGINEERING AND INFORMATION TECHNOLOGIES School of Information Technologies COMP5349: CLOUD COMPUTING Semester 1, 2014 | 6 Credit Points | Mode: Normal-Day Coordinator(s): Uwe Roehm 1. INTRODUCTION This unit covers topics of active and cutting-edge research within IT in the area of 'Cloud Computing'. Cloud Computing is an emerging paradigm of utilising large-scale computing services over the Internet that will affect individual and organization’s computing needs from small to large. Over the last decade, many cloud computing platforms have been set up by companies like Google, Yahoo!, Amazon, Microsoft, Salesforce, Ebay and Facebook. Some of the platforms are open to public via various pricing models. They operate at different levels and enable business to harness different computing power from the cloud. In this course, we will describe the important enabling technologies of cloud computing, explore the state-of-the art platforms and the existing services, and examine the challenges and opportunities of adopting cloud computing. The course will be organized as a series of presentations and discussions of seminal and timely research papers and articles. Students are expected to read all papers, to lead discussions on some of the papers and to complete a hands-on cloud-programming project. 2. LEARNING OUTCOMES Learning outcomes are the key abilities and knowledge that will be assessed in this unit. See assessment summary table below for details of which outcomes are assessed where. Outcomes are listed according to the course goals that they support. Engineering/IT Specialisation (Level 3) 1. Understanding of the technical foundations of cloud computing such as data center infrastructures, virtualization and multi-tenancy, data partitioning and data replication 2. Understanding of different cloud computing service models, and their role for modern application development 3. Understanding of the difference between NoSQL stores and traditional relational databases 4. Ability to store and process data stored in a cloud platform on different abstraction levels (for example GFS/HDFS and BigTable/HBase) 5. Ability to do Big Data analysis with a cloud infrastructure using either functional or declarative paradigms 6. Understanding of basic performance factors for cloud computing and experience in benchmarking these Maths/Science Methods and Tools (Level 3) 7. Understanding of functional programming with the map-reduce paradigm 8. Understanding of algorithms for distributed data consistency such as 2-Phase-Commit and Paxos Professional Conduct (Level 2) 9. Understanding of the core security and data privacy issues for data processing with cloud infrastructures For further details of course goals related to these learning outcomes, see online unit outline at http://cusp.eng.usyd.edu.au/students/view-unit-page/alpha/COMP5349 . 3. ASSESSMENT TASKS ASSESSMENT SUMMARY Assessment name Team-based? Weight Due Outcomes Assessed Practical Project with Hadoop, Milestone 1 Yes 20% Week 7 4, 5, 6, 7 Practical Project with Hadoop and HIVE, Part 2 Yes 20% Week 12 4, 5, 6, 7 Written Examination No 60% Exam Period 1, 2, 3, 6, 7, 8, 9 ASSESSMENT DESCRIPTION The practical project will be about implementing some data analysis tasks on a given larger data set and will be conducted in two parts using the Hadoop MapReduce framework. It requires good Java programming and Unix command-line skills. Though group work, each team member is expected to be able to discuss their part of the solution during the tutorial to the tutor. The cloud computing concepts will be assessed in a 2 hour written final exam in the examination period. ASSESSMENT FEEDBACK Feedback on the progress of the project will be given throughout the semester in the tutorial after the lecture. Marked quizzes will be returned within 10 working days. COMP5349: Cloud Computing (Semester 1, 2014) IMPORTANT: POLICY RELATING TO ACADEMIC DISHONESTY AND PLAGIARISM. All students must submit a cover sheet for all assessment work that declares that the work is original and not plagiarised from the work of others. In assessing a piece of submitted work, the School of IT may reproduce it entirely, may provide a copy to another member of faculty, and/or to an external plagiarism checking service or in-house computer program and may also maintain a copy of the assignment for future checking purposes and/or allow an external service to do so. See Policies section below for other policies relating to assessment and progression. 4. ATTRIBUTES DEVELOPED Attributes listed here represent the course goals designated for this unit. The list below describes how these attributes are developed through practice in the unit. See Learning Outcomes and Assessment sections above for details of how these attributes are assessed. Attribute Method Engineering/IT Specialisation (Level 3) Seminars and Tutorials on Cloud Computing Concepts Maths/Science Methods and Tools (Level 3) Seminars and prescribed readings Information Seeking (Level 2) Prescribed readings per week Professional Conduct (Level 2) Lecture on Data Privacy and Security in Cloud Infrastructures For further details of course goals and professional attribute standards, see the online version of this outline at http://cusp.eng.usyd.edu.au/students/view-unit-page/alpha/COMP5349 . 5. STUDY COMMITMENT This subject uses a combination of weekly readings, lectures, practical labs and a practical assignment. Students are expected to read the given weekly research papers before the lecture. Activity Hours per Week Sessions per Week Weeks per Semester Lecture 2.00 1 13 Practical Labs 2.00 1 8 Independent Study 6.00 12 Project Work 3.00 8 Standard unit of study workload at this university should be from 1.5 to 2 hours per credit point which means 9- 12 hours for a normal 6 credit point unit of study. For units that are based on research or practical experience, hours may vary. For lecture and tutorial timetable, see University timetable site at: web.timetable.usyd.edu.au/calendar.jsp 6. TEACHING STAFF AND CONTACT DETAILS COORDINATOR(S) Name Room Phone Email Contact note A/Prof Roehm, Uwe 9036 5305 roehm@it.usyd.edu.au Consultation Time: Wednesdays, 2-3pm LECTURERS Name Room Phone Email Contact note A/Prof Roehm, Uwe 9036 5305 roehm@it.usyd.edu.au Consultation Time: Wednesdays, 2-3pm TUTORS Uwe Roehm and Ying Zhou 7. RESOURCES COURSE WEBSITE(S) On the unit`s eLearning site (Blackboard), there will be available the lecture slides, weekly readings, lab handouts and any background information. The discussion forum will be set up on the piazza.com system, on which students are encouraged to actively participate. COMP5349: Cloud Computing (Semester 1, 2014) NOTE ON RESOURCES Each week's topic will be based on two or three research papers which students are expected to read and which will be linked on the unit's eLearning site (as well as on piazza). Additionally, we will use online manuals for the Hadoop and the HBase systems. 8. ENROLMENT REQUIREMENTS ASSUMED KNOWLEDGE Good programming skills, especially in Java for the practical assignment, as well as proficiency in databases and SQL. The unit is expected to be taken after introductory courses in related units such as COMP5214 Software Development in JAVA PREREQUISITES None. 9. POLICIES IMPORTANT: School policy relating to Academic Dishonesty and Plagiarism. In assessing a piece of submitted work, the School of IT may reproduce it entirely, may provide a copy to another member of faculty, and/or to an external plagiarism checking service or in-house computer program and may also maintain a copy of the assignment for future checking purposes and/or allow an external service to do so. Other policies See the policies page of the faculty website at http://sydney.edu.au/engineering/student-policies/ for information regarding university policies and local provisions and procedures within the Faculty of Engineering and Information Technologies. 10. WEEKLY SCHEDULE Note that the "Weeks" referred to in this Schedule are those of the official university semester calendar https://web.timetable.usyd.edu.au/calendar.jsp Week Topics/Activities Week 1 Cloud Computing Overview Week 2 Datacenters and Virtualization Technology Week 3 Distributed File Systems Week 4 MapReduce Computation Model Week 5 Lecture/Tutorial: MapReduce Frameworks: Hadoop Week 6 Data Analytic Extensions for MapReduce Week 7 Spark and Stratosphere Assessment Due: Practical Project with Hadoop, Milestone 1 Week 8 NoSQL Storage Models: Key-Value Stores Week 9 NoSQL Storage Models: Column Stores Week 10 Data Consistency in the Cloud Week 11 Benchmarking Cloud Services Week 12 Security and Data Privacy for the Cloud Assessment Due: Practical Project with Hadoop and HIVE, Part 2 Week 13 Unit of Study Review Exam Period Assessment Due: Written Examination COMP5349: Cloud Computing (Semester 1, 2014)