400 likes | 555 Views
Cloud Computing. Agenda. Overview Popular Definitions Deployment Models Delivery Models – IaaS , PaaS , SaaS N oSQL Vendor Lock-in Security Concerns. What is Cloud Computing?. Cloud Computing Overview. Sharing Resources Abstraction of Software Development Details Scalability
E N D
Agenda • Overview • Popular Definitions • Deployment Models • Delivery Models – IaaS, PaaS, SaaS • NoSQL • Vendor Lock-in • Security Concerns
Cloud Computing Overview • Sharing Resources • Abstraction of Software Development Details • Scalability • High Processing Power • Reliability / Availability • Pay – as – you – use • Peak load performance • Simplified maintenance:
Cloud Computing Definitions • OSSM • 5-3-4
Definition : OSSM • On-demand: the server is already setup and ready to be deployed • Self-service: customer chooses what they want, when they want it • Scalable: customer can choose how much they want and ramp up if necessary • Measureable: there's metering/reporting so you know you are getting what you pay for
Definition : 5 – 3 – 4 • 5 Basic Characteristics • On-Demand • Ubiquity – (irrespective of location, app should be accessible) • Location Independent Resource Pooling • Elasticity • Pay per Use • 3 Delivery Models • IaaS • PaaS • SaaS • 4 Deployment Models • Public Cloud • Private Cloud • Hybrid Cloud • Community Cloud
Public Cloud • Most standard Cloud Computing Model • Same infrastructure/resources are to be used by other tenants/businesses • Vendor makes Hardware/Software available as services over internet • Pay per use pricing model • No CAPEX, Only OPEX • No wasted resources, pay only for what you use • Examples : Amazon EC2, IBM Blue Cloud, GAE, Azure
Private Cloud • Not truly a cloud • High CAPEX • Rather, cloud like on-premise infrastructure with horizontal scalability,availability,etc • Or off-shore infrastructure behind a corporate firewall • Maintenance can still be outsourced • Concerns of Security are minimized • More control over data • Examples : Amazon EC2 &S3(Simple Storage Service)
Hybrid Cloud • Composition of atleast one Private Cloud and atleast one Public Cloud • All the involved clouds maybe provided by the same or different vendors • Allows scalability of Public Cloud, without exposing sensitive data • Use Case : • Archived Data on Public Cloud, Operational Data on Private Cloud
Delivery Models IaaSPaaSSaaS
IaaS (Infrastructure as a Service) • On Demand Storage & Processing - Computing as a Service • Hardware, its Software, Electricity, Cooling, Connectivity all managed by Vendor • Pay-as-you-go • Difference between Shared Hosting v/s Cloud Infrastructure • Flexible
IaaS… (contd…) • Provides infrastructure management tools. • Vendors : Amazon EC2, Rackspace, etc • Tools are available to monitor performance, peak load conditions, etc • Scaling, Monitoring , etc are still a responsibility of the Service Buyer
How to choose an IaaS Vendor? • Support – Email, Phone, 24 x 7? • Hardware, its configuration and Performance • Partnership with Middleware Vendors • Eg: Amazon EC2 has partnered with IBM,Microsoft,RedHat, Oracle,etc. • Licensing • Windows Licences cannot be migrated from local data center to Cloud • IBM Websphere not available with EC2
PaaS (Platform as a Service) • A platform to develop applications that can be deployed on the cloud • Framework / Platform is hosted on the Cloud • Development language and platform is vendor decided • Infrastructure management by Vendor • Scalability and management is provided by the Vendor • No Licensing hassles • Vendors: Force.com, Google App Engine, Microsoft Azure, Heroku • Drawback : Vendor Lock in
Force.com : • Very easy to use Web Interface to create a web application • Code generation, compilation, deployment, etc happens on Force.com servers • Also has Eclipse Plugin based development • Asks for Force.com credentials • Code compilation and deployment happens on Force.com servers, seamlessly • Development in Apex(Dev) and VisualForce (UI) • Supports Agile
Heroku • Development, deployment, scaling • Heroku’s Ruby Platform lies on AWS • Used by Facebook for scaling and application development • Dev Languages : Ruby on Rails, Java • Now acquired by Force.com
Google App Engine (GAE) • SDK for Java and Python • Provides Eclipse Plugin • Big Table DataStore • Simple App Configuration • Automatic Scaling, No performance Tuning is required • Quotas - request count, bandwidth usage, CPU usage, datastore call count, disk space used, emails sent, even errors!
Windows Azure • Windows Azure Tools for Visual Studio • Technology Stack and Tools : • Azure tools for Visual Studio • Azure SDK • Visual Web Developer (replacement for Visual Studio) • ASP.NET MVC3 (framework) • IIS
Windows Azure Stack • Windows Azure – Cloud OS as a Service • 5 Services – Live Services, SQL Azure, AppFabric, Sharepoint, Dynamic CRM • SQL Azure – Cloud based SQL Server • Azure AppFabric – Collection of Services (Caching,ServiceBus,Integration) • Azure Platform Alliance (non-MS Datacenters)
Azure Development Platform • ASP.NET Framework • PHP • SDKs for Java and Ruby help integrate with AppFabric Services
SaaS (Software as a Service) • Enterprise Application without installation overhead • Applications that are available to be used over the internet • Pay per user Account • Scalable to multiple users and tenants • Applications like SalesForce.com, Gmail,GoogleApps,etc
Problems with traditional Databases for cloud • Big Data - Big data are datasets that grow so large that they become awkward to work with using on-hand database management tools • Difficulties include capture, storage, search, sharing, analytics,and visualizing of vast data
NoSQL • Can service heavy read/write workloads • Usually Avoid Join Operations • Scale Horizontally • Works well even with cheap commodity servers • Flexible – Schema changes are easy to make • Examples : Big Table, Mongo DB, Hadoop, Cassandra, Amazon SimpleDB
NoSQL - Challenges • Quota limits • Max 1000 records per query • Query times out in 5 seconds • Maturity – Nascent compared to RDBMS • Support – Mostly Open Source. Support driven by startups with no true global reach • Administration – Installation & Maintenance skill is not easily available • Expertise – Not easily unavailable, which is unacceptable to businesses
Vendor Lock-in • Definition – Stuck with 1 vendor because of complexity to move to another vendor • Scenarios to move out of a Cloud Vendor: • Cost • Shut Down of Services • New choice of Services offered by another Vendor • How to avoid/minimize vendor lock-in chances? • While architecting your app, ensure vendor-specific services are judiciously used • Evaluate Options • Check ROI • Read about upcoming features/services
Vendor Lock-In • IaaS • Less lock-in • Data Migration is of moderate difficulty • PaaS • Tightly coupled to vendor • Migration to another vendor may require re-engineering the application
Security in Cloud Computing • Issues: • Data Integrity • Recovery • Network security • Access and Authentication procedures • Data encryption techniques • Tenant isolation • Most issues are now controlled or resolved • Still considered unsafe for Financial data
Uncertainty of Load • Zynga has both Private and Public Cloud services at disposal • New Game launches on Public Cloud • When usage is stabilized, then migrated to Private Cloud
Short-Term Usage • Seasonal Apps • Event Websites • OCR to Doc Conversion
Netflix • Completely out of Cloud • Highly fluctuating usage of large multimedia data • Across different geographical locations • Speedy Access
Limitations of Cloud Computing • Connectivity is mandatory • Security • Skills – Development and Administration • Network Bandwidth • Not suitable for all businesses