cloud_v2
DESCRIPTION
Cloud computingTRANSCRIPT
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