Introduction to Cloud Computing - COA101

49
Introduction to Cloud Computing #COA101 Martin Hamilton Head of Internet Services http://martinh.net @ martin_hamilton Picture credit: ZDNet / CNET News.com

description

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

Transcript of Introduction to Cloud Computing - COA101

Page 1: Introduction to Cloud Computing - COA101

Introduction to Cloud Computing #COA101 Martin Hamilton Head of Internet Services http://martinh.net @martin_hamilton

Picture credit: ZDNet / CNET News.com

Page 2: Introduction to Cloud Computing - COA101

http://twtpoll.com/19ips7

Quick Poll – About your tech

Page 3: Introduction to Cloud Computing - COA101

Introduction to Cloud Computing #COA101 Martin Hamilton Head of Internet Services http://martinh.net @martin_hamilton

Picture credit: ZDNet / CNET News.com

Page 4: Introduction to Cloud Computing - COA101

Picture credit: ZDNet / CNET News.com

Page 5: Introduction to Cloud Computing - COA101

Picture credit: University of Stanford Infolab

Page 6: Introduction to Cloud Computing - COA101

Picture credit: University of Stanford Infolab

Page 7: Introduction to Cloud Computing - COA101

Picture credit: CNET

Page 8: Introduction to Cloud Computing - COA101

Picture credit: Google

Page 9: Introduction to Cloud Computing - COA101

Picture credit: Google Picture credit: Google

Page 10: Introduction to Cloud Computing - COA101

Picture credit: Stephen Shankland, CNET

Page 11: Introduction to Cloud Computing - COA101

Picture credit: Dell

Page 12: Introduction to Cloud Computing - COA101

Picture credit: Google

Page 13: Introduction to Cloud Computing - COA101

Video credit: Google

http://youtu.be/zRwPSFpLX8I

Page 14: Introduction to Cloud Computing - COA101

Picture credit: CHEEZburger user NawtyKitty

Page 15: Introduction to Cloud Computing - COA101
Page 16: Introduction to Cloud Computing - COA101

Picture credit: Eliott C. Back

Page 17: Introduction to Cloud Computing - COA101

Picture credit: Sam Costello, about.com

Page 18: Introduction to Cloud Computing - COA101

Picture credit: rptech-world.com

Page 19: Introduction to Cloud Computing - COA101

Picture credit: rptech-world.com

Page 20: Introduction to Cloud Computing - COA101

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

Page 21: Introduction to Cloud Computing - COA101

Video credit: Linux Foundation

http://youtu.be/yVpbFMhOAwE

Page 22: Introduction to Cloud Computing - COA101

http://twtpoll.com/19ips7

Quick Poll – Do you code ?

Page 23: Introduction to Cloud Computing - COA101

Promise of Utility Computing:

Page 24: Introduction to Cloud Computing - COA101

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

Page 25: Introduction to Cloud Computing - COA101

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

Page 26: Introduction to Cloud Computing - COA101

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

Page 27: Introduction to Cloud Computing - COA101
Page 28: Introduction to Cloud Computing - COA101

IaaS: Hybrid Cloud Example

Slide credit: Phil Richards

Page 29: Introduction to Cloud Computing - COA101

IaaS: Hybrid Cloud Example

Slide credit: Phil Richards

Page 30: Introduction to Cloud Computing - COA101

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

Page 31: Introduction to Cloud Computing - COA101

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

Page 32: Introduction to Cloud Computing - COA101

http://twtpoll.com/bsbsuw

Poll Results – Do you code ?

Page 33: Introduction to Cloud Computing - COA101

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

Page 34: Introduction to Cloud Computing - COA101

PaaS: Google API example

Page 35: Introduction to Cloud Computing - COA101

PaaS: Google API example

Page 36: Introduction to Cloud Computing - COA101

$options = array( 'requestScheme' => Zend_Oauth::REQUEST_SCHEME_HEADER, 'version' => '1.0', 'signatureMethod' => 'HMAC-SHA1', 'consumerKey' => $CONSUMER_KEY, 'consumerSecret' => $CONSUMER_SECRET ); $config = new Zend_Oauth_Consumer($options); $token = new Zend_Oauth_Token_Access(); $httpClient = $token->getHttpClient($options); $client = new Zend_Gdata_Docs($httpClient); $feed = $client->getDocumentListFeed( 'https://docs.google.com/feeds/documents/private/full?xoauth_requestor_id=' . urlencode($email_address)); foreach ($feed->entries as $entry) { $title = $entry->title; # etc }

Page 37: Introduction to Cloud Computing - COA101

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

Page 38: Introduction to Cloud Computing - COA101

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

Page 39: Introduction to Cloud Computing - COA101

Extending Google Apps

Slide credit: Ross Mahon, Google

Page 40: Introduction to Cloud Computing - COA101

Continuous Innovation

2010 2011

Priority Inbox

218 feature releases 95 so far…

60+ new Apps

Docs Mobile Editing

Chrome for Business

Cloud

Connect 4 Office

Chrome books

Discussions

in Docs Apps for Apps

Chrome Browser

Slide credit: Ross Mahon, Google

68 releases 116 releases 217 releases

2008 2009 . 2010 2011

150+ releases already!

Page 41: Introduction to Cloud Computing - COA101

Value Stream Mapping

Page 42: Introduction to Cloud Computing - COA101

Value Stream Mapping

Page 43: Introduction to Cloud Computing - COA101

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 :-)

Page 44: Introduction to Cloud Computing - COA101

Photo licensed under a Creative Commons Attribution-ShareAlike 2.5 License, from angrykeyboarder

Page 45: Introduction to Cloud Computing - COA101

RMS: GNU Emacs GNU make gcc / gdb Copyleft / GPL

Photo licensed under a Creative Commons Attribution-ShareAlike 2.5 License, from angrykeyboarder

Page 46: Introduction to Cloud Computing - COA101

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

Page 47: Introduction to Cloud Computing - COA101

http://twtpoll.com/vfiw18

How was it for you?

Page 48: Introduction to Cloud Computing - COA101

http://youtu.be/aXV-yaFmQNk Video credit: UserExperienceWorks YouTube user

Page 49: Introduction to Cloud Computing - COA101

Introduction to Cloud Computing #COA101 Martin Hamilton Head of Internet Services http://martinh.net @martin_hamilton

Picture credit: ZDNet / CNET News.com