Introduction
CloudStack encompasses a large body of knowledge, from system administration, network administration, storage management to software engineering and open source practices. Currently all our content is spread out among the Wiki, SlideShare, YouTube etc. There is a need to create a stand alone "course" that any new comers can take at their own pace to learn the various facets of CloudStack. The course can be composed of slide decks, videos and even exercises.
At the end of course, "students" would understand Open Source and the Apache Way, they would have a global view of the field of Cloud Computing and what CloudStack provide. They would also have deployed their own CloudStack cloud and be aware of the many features. They would also understand how to participate in the community and become an integral part of it, through our multiple interaction channels: IRC, Mailing lists, JIRA, Review Board etc.
Vision:
The syllabus of the course would follow a traditional one-semester long calendar of roughly 16 weeks. We would have one lecture per week ( ~45 minutes given via webinar and recorded for later view, note that some of the topics will be hard to cover in 45 minutes). Once recorded the course could be taken as a self-paced course by anyone. Additionally the content could be formatted for sites like iTunes university. While we would use this course for CloudStack it should contain generic information applicable outside the CloudStack realm. For similar concepts checkout: http://www.eucalyptus.com/services/education/eucau
Content:
While we can re-use existing slide decks, it would be preferable to create presentations from scratch to avoid overlap between "lectures" and provide a cohesive set of content. Similary with videos, we can already point to some of the videos from CCC and other events, but it would be better to pre-record the presentations or record them live during a webinar.
Tentative Syllabus (some slides as examples):
Week |
Lecture Title |
Lecture Content |
Lecturer |
Slides |
Video |
|
---|---|---|---|---|---|---|
1 |
Introduction to Cloud Computing and CloudStack |
Basics of *aaS, Characteristics of Cloud computing, examples of OSS in the Cloud area. Intro to CloudStack as a IaaS solution |
Mark Hinkle |
|
|
|
2 |
Open Source and the Apache Software Foundation |
What, Why and How of OSS. Specifics of ASF and the Apache Way |
Chip ? |
|
|
|
3 |
CloudStack features and components |
|
|
|
|
|
4 |
Introduction to Server Virtualization |
|
|
|
|
|
5 |
Xen hypervisor |
|
|
|
|
|
5 bis |
KVM virtualization |
|
Marcus ? |
|
|
|
6 |
Enterprise Storage solutions |
|
Mike T |
|
|
|
7 |
Distributed Storage |
How does distributed storage relates to CloudStack, use of Glusterfs, Ceph, Swift, Riak CS |
Wido / John Burwell / Edison ? |
|
|
|
8 |
Networking in CloudStack |
Basic, Advanced networking, VLANs setup, intro to SDN |
Chiradeep / Hugo / Geoff ? . Background material: http://www.shapeblue.com/2013/01/07/understanding-cloudstacks-physical-networking-architecture/and http://www.shapeblue.com/2012/05/01/cloudstack-networking-considerations/ |
|
|
|
9 |
VmWare and CloudStack in Corporate Environment Part 1 |
How to make use of your existing VmWare Environment with CloudStack in Corporate Environment with SharedNetwork Basic Zone |
Ilya |
|
|
|
10 |
VmWare and CloudStack in Corporate Environment Part 2 |
How to make use of your existing VmWare Environment with CloudStack in Corporate Environment with SharedNetwork Advanced Zones Using VLANS |
Ilya |
|
|
|
"Midterm"
At this stage, students understand what CloudStack does, the main components that are needed and the choices available to them. They start building their own cloud and start thinking about their end of the semester project . In a 2 day CloudStack bootcamp setting, students work in the evening to get CloudStack running and identify their topic of presentation for the next day (ok fine 3 days).
11 |
Hands-on CloudStack deployment with DevCloud |
Putting it all together with DevCloud, run CloudStack on laptop, compile CloudStack from source |
Prasanna ? |
|
|
12 |
REST Web Services and Query APIs |
Introduction to REST and Query APIs, review EC2 API and CloudStack API. Demonstrate various clients (e.g CloudMonkey). Show how to interact with CloudStack, how to make a request, how it maps with EC2 etc |
Rohit ? |
|
|
13 |
Version Control and how to contribute |
Basics of version control in software engineering, getting started with github and submit your first patch to CloudStack. A second part could cover advanced version control: reverts, tagging, merging, bisecting etc |
Sebastien ? |
|
|
14 |
CloudStack software architecture |
Describe the CloudStack architecture, go through setting up a development environment. More in depth than the slides showed on the right. Setup eclipse: http://markmail.org/thread/pgvwzvtohabsaqwiand cover the main components of the orchestration and the plugins. |
|
|
|
15 |
Writing a Plug in |
Walk through of how to write a plugin, e.g Nicira Plugin |
Alex |
|
|
16 |
Case Study #1 |
A company that has deployed CloudStack in production presents its use case with technical details |
|
|
|
17 |
Case Study #2 |
A company that has deployed CloudStack in production presents its use case with technical details |
|
|
|
18 |
Student Challenge |
Students present their own CloudStack work, deployment, new plugin, API use etc |
|
|
|
19 |
Exam and informal certification |
A course without an exam is not a course, we wrap up with a multiple choice questionnaire and a nice diploma |
|
|
|
Outcome
Students finish the course with a clear understanding of CloudStack, how to set it up, how to contribute to it and how it is used in industry.