540 likes | 755 Views
Cloud Computing. By Andrew Froman and Wenpei Shen. The Cloud. First, what is The Cloud. It is a metaphor for Internet “In the Cloud” is a marketing phrase used to describe software services that run remotely It implies the services are “easy”, “simple”, and “care free”
E N D
Cloud Computing By Andrew Froman and Wenpei Shen
First, what is The Cloud • It is a metaphor for Internet • “In the Cloud” is a marketing phrase used to describe software services that run remotely • It implies the services are “easy”, “simple”, and “care free” • Unlike the Internet that is “vast”, “complex”, and “insecure”
Cloud Computing Very Simplified • A super computer that is connected to the Internet • Involves a large number of computers • They are networked together, whether by LAN or WAN • The computers perform distributed computing
What Cloud Computing Can Do • Provide a cost effective way to have access to powerful computing resources • These resources are accessed on demand and are pay per use • Allows applications and services to be hosted remotely (in the cloud) • Virtual private servers, web hosting, data servers, fail-over services • Allows smaller companies to utilize the same tools that larger companies have access to
Basic Cloud Characteristics • Cloud users do not need to know the underlying details of the cloud’s infrastructure • The cloud provider gives users APIs so they can optimize their application for the clouds infrastructure • The cloud resources are very flexible • CPU, memory, storage, etc. can all be scaled up or down as needed • Cloud is always on and available anywhere
Traditional Server Concepts • The term server refers to the whole unit that includes hardware, OS, and the applications. • Servers are often used for a dedicated function i.e. Exchange server, SQL server, File server, etc. • If the server’s hardware resources are maxed, they must be increased with better hardware or even another server
A Dedicated Server for Each Service Web Server Windows IIS App Server Linux Glassfish DB Server Linux MySQL EMail Windows Exchange
If Something goes wrong… App Server DOWN! Web Server Windows IIS DB Server Linux MySQL EMail Windows Exchange
Traditional Server Fault Tolerance • Without multiple servers, if a server experiences a hardware failure, then the entire service goes down. • Server clusters can be implemented to increase fault tolerance. However, clusters have limits on scalability, and not all applications can work in a clustered environment.
Traditional Server Pros and Cons Pros Cons Expensive to acquire and maintain hardware Not very scalable Difficult to replicate Redundancy difficult to implement Vulnerable to hardware failure Resources can be under-utilized • Easy to setup and deploy • Easy to manage • Easy to backup • Most applications optimized to run in this type of setup
The different types of services • Infrastructure as a Service – IaaS • Platform as a Service – PaaS • Software as a Service – SaaS
Infrastructure as a Service (IaaS) • A traditional infrastructure is the collective network that machines use to communicate and process data • Traditional infrastructures consist of physical servers, routers, switches, firewalls, file storage, VLANs • Can be extremely expensive to implement • IaaS provides a way to outsource the traditional infrastructure
IaaS Utility Computing • Utility computing packages together and sells computing resources such as processing, memory, and storage • Most IaaS providers offer pay as needed pricing • Requires little to no startup cost for the consumer • IaaS providers accomplish this with the use of virtualization
Virtualization Hypervisor • Physical servers use software called a hypervisor to create one or more virtual machines • The physical server can then be utilized by different users for different needs at the same time • Popular hypervisor software includes Microsoft Hyper-V, VMware, Parallels, and VirtualBox
Virtualization • Virtual servers very scalable • The physical servers resources are divided among the virtual machines and are allocated as needed • The virtual servers can move from host to host as needed • The physical server can then be utilized by different users for different needs at the same time
Virtualization Fault Tolerence • Sandboxenvironment where errors that occur on virtual machine do not effect the host system • The IaaS normally is not effected by host server hardware failure • Host servers can be added and removed with out any disruption to the IaaS
Windows 7 Ubuntu Linux Chrome OS All Virtualized on the Same Windows 8 Machine
Platform as a Service (PaaS) • Runs on top of the IaaS and provides the environment that web apps run on • Apps can be developed using specialized tools and sdks from the PaaS provider • User can control the underlying configurations that their web app runs on. • Examples: Microsoft Azure, Amazon Web Services, Google App Engine
Software as a Service (SaaS) • Software is hosted on a cloud server • Typically accessed via a cloud client, such as a web browser or mobile app • No need for physical software distribution • When software is updated on cloud, it is already updated for every user
SaaS Examples • Office software (Google Docs, Microsoft Office 365) • Social Networks (Facebook, Twitter) • Email and Messaging Services (Gmail, Yahoo Mail, Facebook Messenger) • Database Management Software (phpMyAdmin) • Internally used Software (myOleMiss/SAP, Blackboard)
SaaS Business Model • Traditional software sold with upfront licensing cost and possibly charging for updates • SaaS vendors usually charge a subscription or use a “freemium” model • Freemium software offers basic functionality for free and then charges for premium features • Subscription fees can be based on various usage criteria
Contributors to the growth of SaaS • Better looking and easier to use web based UIs • Standardization of web based programing languages, such as HTML, JavaScript, helped increase the popularity of web development • Frameworks like PHP made web apps easy to make and low cost • HTTPS provided security to data transfers • Increase access to high speed internet
Factors that slow the growth of SaaS • Security concerns, data is stored on the SaaS provider’s servers • Latency issues with apps that require quick response times • Forced adoption of updated software • Data transfer is much slower on the internet than on a local machine or company's LAN network
Cloud Services Coming Together • iOS/Android Gmail app, gmail.com • Gmail • Google App Engine • Google Compute Engine
OpenStack • Developed by NASA as open source cloud software • Backed by over 200 companies • Notable users include AT&T, CERN, HP, Intel, PayPal, Sony, and Yahoo • Acts as an IaaSby controlling the combined resources throughout a datacenter • Has various components identified by code names
OpenStack Components • Compute (Nova) • Manages the collection resources and can work with virtualization • Object Storage (Swift) • Scalable redundant storage system that writes data to multiple servers incase of failure • Block Storage (Cinder) • Manages the creation, attaching, and detaching of block devices to servers
Networking (Neutron) • Manages networks, DHCP, static IP address, load balancing, firewall, VPN • Dashboard (Horizon) • GUI for administrators to interact with resources • Identity Service (Keystone) • Central directory of users that lists what services they can access • Image Service (Glance) • Stores disk and server images that can be used for templates or backups
Telemetry (Ceilometer) • Provides counters to keep track of usage for billing purposes • Orchestration (Heat) • Controls multiple cloud applications using templates
Cloud Deployment Models • Private Cloud • Public Cloud • Community Cloud • Hybrid Cloud
Private Cloud • Cloud is only accessed by a single organization, but can still be hosted by a third party • Internally hosted private cloud resources must be allocated very carefully in order to be efficient • Internal clouds can not only be expensive, but also physically large as well • Internal clouds not very popular due to being very hands on as apposed to an externally hosted cloud
Public Cloud • Services are available for public open use • Security is a much higher concern due to sensitive data usually being transmitted through the internet • Most public cloud service providers only provide access via the internet and do not allow a direct line
Community Cloud • Cloud infrastructure shared between a small group of organizations • Costs are split up more compared to a private cloud, but less than a public cloud
Hybrid Cloud • Contains two or more clouds that are considered distinct from one another, but can be connected • Possible uses • Redundancy • Load balancing • Different clouds perform different operations
Cloud Management Challenges • Developers must integrate apps to use environment defined by public cloud provider • Configuring network settings such as static IP address, subnets, and routers • End user may use an unpredictable amount of resources at any time • Allocating private cloud resources in the most efficient way possible
Data Centers • 10 billion spent on electricity per year for data centers • 3% of global energy use • Clouds are the future of the way companies do business on the Internet
Apple Data Center in Maiden, North Carolina Microsoft Dublin, Ireland
Google Amazon Facebook Twitter
Amazon Launches WorkSpaces • WorkSpaces is a new service that allows users to run desktop based applications from a cloud based virtual Windows 7 desktop • Allows access to the same desktop from anywhere using either desktop or mobile devices