Here are my slides for my recent guest lecture to Computer Science freshers at Loughborough University. In this talk I introduce some of the key concepts around cloud computing, and show how major players like Google have built industrial scale data centres with their own bespoke technologies. I also explore the role of Linux in cloud computing, and look at opportunities for computer scientists to get involved in cloud computing in each of its facets - Infrastructure, Platform and Software as a Service
20. Linux powers:
Google, Amazon,
Facebook, eBay etc
Your TV, set top box,
wireless router
>500 million Android
phones and tablets
Picture credit: rptech-world.com
24. Promise of Utility Computing:
• Provision service rapidly
• Flexibility over scaling
• Reduce headcount, power bill,
cooling requirements
• Convert capital expenditure (CapEx)
into operating expenditure (OpEx)
• Concentrate on stuff that genuinely
adds value
25. Infrastructure as a Service (IaaS)
o Bring Your Own OS, software, etc
o Public, private, hybrid clouds
Platform as a Service (PaaS)
o APIs and standards to code against
Software as a Service (SaaS)
o Typically admin dashboard + user
facing Web services
26. Infrastructure as a Service (IaaS)
o Bring Your Own OS, software, etc
o Public, private, hybrid clouds
Platform as a Service (PaaS)
o APIs and standards to code against
Software as a Service (SaaS)
o Typically admin dashboard + user
facing Web services
30. IaaS Opportunities
• Capacity planning needed to assess
resource for move into the cloud
• Server virtualization expertise
• Data centre design and build
• Sysadmins to run operating systems,
install and maintain software etc
• Hot topic: Live migration of workloads
a la uSwitch
31. Infrastructure as a Service (IaaS)
o Bring Your Own OS, software, etc
o Public, private, hybrid clouds
Platform as a Service (PaaS)
o APIs and standards to code against
Software as a Service (SaaS)
o Typically admin dashboard + user
facing Web services
33. PaaS Opportunities
• Building APIs and data models
• Developing and extending existing
open source code, e.g. Hadoop
• Writing applications against these
APIs, e.g. Google AppEngine,
Amazon Web Services
• Selling cloud applications, e.g.
Google Apps Marketplace
37. Infrastructure as a Service (IaaS)
o Bring Your Own OS, software, etc
o Public, private, hybrid clouds
Platform as a Service (PaaS)
o APIs and standards to code against
Software as a Service (SaaS)
o Typically admin dashboard + user
facing Web services
38. SaaS example: Google Apps
Gmail Huge inbox with search: keep and find everything.
Talk Business class IM and VC as easy as email.
Groups Let users easily create and work in teams.
Calendar Make sharing calendars and schedules easy.
Docs Makes collaborating as easy as creating
Sites Allow users to manage their own sites.
Postini Security and compliance solutions.
Marketplace Extend the functionality of Google Apps
Slide credit: Ross Mahon, Google
43. SaaS Opportunities
• Migration assistance
• Systems integration, e.g. use APIs to
import/export data
• Day-to-day administration
• Use APIs to extend existing services,
e.g. Gmail contextual gadgets
• Develop new SaaS offerings
o It's just a website, really :-)
44. Photo licensed under a
Creative Commons Attribution-ShareAlike 2.5 License, from
angrykeyboarder
45. RMS:
GNU Emacs
GNU make
gcc / gdb
Copyleft / GPL
Photo licensed under a
Creative Commons Attribution-ShareAlike 2.5 License, from
angrykeyboarder
46. A Contrary Viewpoint
"If you use a
proprietary program
or somebody else's
web server, you're
defenceless. You're
putty in the hands
of whoever developed
that software."
Photo licensed under a
Creative Commons Attribution-ShareAlike 2.5 License, from
angrykeyboarder