cloud_v2

37
Cloud Computing Ngai-Man (Man) Cheung Capstone Module 2015

Upload: patrick-chua

Post on 24-Sep-2015

214 views

Category:

Documents


1 download

DESCRIPTION

Cloud computing

TRANSCRIPT

Cloud Computing

Cloud ComputingNgai-Man (Man) CheungCapstone Module 20151ContentWhat is Cloud ComputingMain CharacteristicsActivity: Quiz and discussionService ModelsActivity: Quiz and discussionDeployment Models, etcHands-on Activity: Google App EngineActivity: Cloud computing for capstone project2What is Cloud ComputingCloud computing: Access of hosted services over the InternetExample: Amazon Web Service (AWS) lets external customers rent computing cycles on their clusters

3What is Cloud ComputingCloud computing enables companies to consume compute as a utilitySimilar to electricity or a telephone serviceCustomers do not need to build and maintain computing infrastructuresUtility computing

4What is Cloud ComputingExample: Gmail (or other webmail)

Delivery of email services through Internet

Users access to emails stored on servers through Internet

Software as a Service (SaaS)

5What is Cloud ComputingYahoo! MailGoogle DocsFacebookDropbox

Check your email from any computer anywhere with Internet connection

Collaborate online with google docsEveryone in the group can edit at the same time

Store files in the cloud using dropbox, access anywhere with Internet

6What is Cloud ComputingA model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resourcesExample of computing resources: networks, servers, storage, applications, and servicesThe computing resources can be rapidly provisioned and released with minimal management effort or service provider interaction7Main Characteristics

81. On-demand Self-serviceA customer can provision computing resources automaticallyNo human interaction with the service provider requiredComputing resources: storage, server time

92. Broad Network AccessComputing resources are available over the network, usually InternetAccess through standard mechanisms, e.g. web browserBroad access by heterogeneous thin or thick client platforms: mobile phones, tablets, laptops, workstations

103. Resource PoolingComputing resources of the providers are pooled to serve multiple usersStorage, processing, memory, network bandwidthMulti-tenant modelResources dynamically assigned and reassigned according to user demandUsers in general have no control or knowledge over the exaction location of the provided resources

11

4. Rapid ElasticityResources can be elastically provisioned and releasedOften, this is done automaticallyResource scaling commensurate with demandScaling can be done in any quantity at any time (cpu hours)125. Measured ServiceMetering capability for different resourcesGB of storage, CPU hours for processing, active user accountsResource usage can be monitored, controlled, reported

13Activityhttp://b.socrative.com/

ROOM: a158134214

Service ModelsSoftware as a Service (SaaS)Platform as a Service (PaaS)Infrastructure as a Service (IaaS)

151. Software as a ServiceLargest cloud market and growing quicklyUsers can use the providers applications running on a cloud infrastructureExamples: Google Gmail, Microsoft 365Users: ordinary computer users

161. Software as a ServiceUsually, SaaS uses the web browsers to deliver applicationsApplications managed by cloud vendor Access from web browsers on the clients sideNo need to install applications on the client computersEasy for enterprises for maintenance and supportReplace traditional on-device software172. Platform as a ServiceCloud platformUsers can deploy applications onto the providers cloud infrastructureCan be user-created or acquired applicationsExample: Google App Engine (GAE), ApprendaUsers: Software developersCloud resources are used to host applications and software developmentCloud providers manage OS, virtualization, servers, storage, networking, PaaS software (middleware)Developers manage their own applications and configuration settings

182. Platform as a ServicePaaS allows developers to create applications using software components that are built into the PaaS middleware / framework: programming languages, libraries, services, toolsPaaS reduces the amount of software development effort, release the burdens on infrastructurePaaS inherits cloud characteristics: scalability, multi-tenancyImprove IT efficiency: makes development, testing, and deployment of applications quick, simple, and cost-effective

193. Infrastructure as a ServiceCloud infrastructure serviceUsers can provision processing, storage, networks and other fundamental computing resourcesUsers can deploy and run arbitrary software, including applications and operating systemsExamples: Amazon Web Service (AWS), Google Compute Engine (GCE)Users: System administrators, software developersCloud providers manage cloud infrastructureUsers can control applications, OS, some networking components (firewalls)Users can customize the platform on top of the infrastructure, update to new versions

20Activityhttp://b.socrative.com/

ROOM: a158134221

Cloud Computing ArchitectureComponents for cloud computingFront endBack endConnected through a network, e.g., Internet

22Cloud Computing Front EndClientInterface to access the cloud computing, e.g., web browserThin clients: mobile-phones, tabletsThick clients: laptops, computers

23Cloud Computing Back EndServersData storageVirtual machinesSecurity mechanism

24Deployment ModelsPrivate cloudCommunity cloudPublic cloudHybrid cloud

251. Private cloudThe cloud infrastructure is provisioned for exclusive use by a single organizationCould be owned / managed / operated by the organization or a third partyExample: DBS private cloud for bank document processing (optical character recognition)May exist on or off premises

262. Community CloudThe cloud infrastructure is provisioned for exclusive use by a specific community of consumers that have shared concernsMission, security requirements, etcOwned / managed / operated by one or more of the organizations in the community, or a third party273. Public CloudThe cloud infrastructure is provisioned for open use by the general public

Example: Amazon Elastic Compute Cloud (EC2), Google AppEngine

Owned / managed / operated by a business / government

Exists on the premises of the cloud provider

284. Hybrid CloudThe cloud infrastructure is a composition of two or more distinct cloud infrastructures (private, community, public)

Bound together by the needs to enable data / application portability (e.g., load balancing between clouds)

Use case: During the peak periods of individual applications, some workload can be migrated to the Public Cloud29Advantages of Cloud ComputingAccess services / applications as utilities over the InternetMinimum software / hardware installation On-demand self-serviceThe resources can be used without interaction with cloud providerPay-as-you-go pricing scheme (e.g., CPU hours)Highly cost effective: Cloud computing operates at higher efficiencies with greater utilization More reliable30Disadvantages of Cloud ComputingSecurity and privacy: data managed by third-party, risk of leaking sensitive information

Lock-in: difficult for users to switch from one provider to another

Insecure or incomplete data deletion: extra copies of data are stored but are not available for access31Hands-on Activity: Google App EngineUnderstand the general characteristics of PaaS (Platform as a Service)

Using GAE as an illustrating example

GAE Tutorial:

https://cloud.google.com/appengine/docs/python/gettingstartedpython27/introduction32Hands-on Activity: Google App EngineFirst develop and test your app, then deploy to cloudRun Google App Engine LauncherFile -> Add Existing Application, choose guestbook copied from eDimensionIn guestbook:guestbook.py: a Python script to handle web (HTTP) requestapp.yaml: configuration file

33Hands-on Activity: Google App EngineYou should see your app listed:

Test it with Run: this launches a local web server with the appTest the app with: http://localhost:8080/ (note the port must match the one listed in GAE Launcher

34Hands-on Activity: Google App EngineIf working properly, ready to deployYou need a GAE account (free subscription for 6 months, small usage)Create your project in cloud using:

Note the Project ID. Change app.yaml, field application with the Project IDChoose Deploy in the GAE LauncherNow your app is hosted at:

https://console.developers.google.com/project

.appspot.com

35Activity: Cloud computing for capstone projectAs a project team, discuss how cloud computing can be used in your project. Discuss the possible applications, service models, specific requirements, potential advantages compared with other approaches

Please submit your write-up to eDimension36

Thank you37