650 likes | 808 Vues
Cloud Inside. Public Clouds Overview. Amazon, Google App Engine, Azure, Rackspace, …. Public. Clouds. Svetlin Nakov. Telerik Software Academy. academy.telerik.com. Table of Contents. What is a Public Cloud? Public PaaS Clouds Amazon Web Services (AWS ) Google App Engine (GAE )
E N D
Cloud Inside Public Clouds Overview Amazon, Google App Engine, Azure, Rackspace, … Public • Clouds Svetlin Nakov Telerik Software Academy academy.telerik.com
Table of Contents • What is a Public Cloud? • Public PaaS Clouds • Amazon Web Services (AWS) • Google App Engine (GAE) • Microsoft Windows Azure • Rackspace • PHP Fog • Heroku • Engineyard
Table of Contents (2) • Force.com AppForce • AppHarbor • Red Hat OpenShift • CloudBees • OpenLogic CloudSwing • VMware Cloud Foundry • Oracle Public Cloud • Choosing a Public Cloud
What is a Public Cloud? Hot It Works?
What is a Public Cloud? • Public clouds • Provide computing resources on demand • Publicly in Internet, for everyone • Paid or free of charge (to some limit) • Could be IaaS, PaaS, SaaS or mix of them • Examples of public clouds • Amazon AWS, Google App Engine, Windows Azure, Rackspace, PHP Fog, Heroku, Force.com AppForce, Engineyard, AppHarbor, OpenShift, CloudBees, CloudSwing, Cloud Foundry, Oracle Public Cloud, Salesforce, WordPress.com, …
Amazon Web Services • Amazon Web Services (AWS) • The pioneer of the public clouds • Provides cloud platform and services from 2002 • Provides IaaS and PaaS on demand • Amazon Elastic Compute Cloud (Amazon EC2) • Virtual machines on demand • Runs Windows / Linux / other OS • Multiple locations: US, EU, Japan, Brazil, … • http://aws.amazon.com/ec2/
Amazon Web Services (2) • Amazon Elastic Block Store (Amazon EBS) • Virtual hard disk (HDD) volumes • Used with the EC2 to keep the OS file system • http://aws.amazon.com/ebs/ • Amazon Simple Storage Service (Amazon S3) • Hosting binary data (files, images, videos, etc.) • Accessible through the Web • With or without authentication • http://aws.amazon.com/s3/
Amazon Web Services (3) • Amazon DynamoDB / SimpleDB • Managed NoSQL cloud database • Highly scalable, fault-tolerant • DynamoDB is newer and faster than SimpleDB • http://aws.amazon.com/dynamodb/ • Amazon Relational Database Service (RDS) • Managed MySQL and Oracle databases • Scalability, automated backup, replication • http://aws.amazon.com/rds/
Amazon Web Services (4) • Other AWS services • Amazon SQS (message queue) • Amazon CloudFront (content delivery network) • Amazon ElastiCache (caching) • Amazon Route 53 (cloud DNS) • Amazon SES (email) • Pricing • On-demand pricing (per hour / per GB) • Has 1-year free trial (credit card required)
Google App Engine • Google App Engine (GAE) • Leading Java and Python PaaS public cloud • Infrastructure similar to the one driving GMail and Google Docs operated by Google • http://code.google.com/appengine/ • App Engine has a completely free version • Provides CPU / bandwidth / storage capable to serve 5000000 page views / month • Instant registration with SMS confirmation
Google App Engine Services • App Engine instances • Computing units that host the applications • Fully managed sandboxes (they are not VMs!) • Provide CPU + RAM + storage + language runtime • https://appengine.google.com • App Engine backends • Like the App Engine instances • But provides higher computing resources • Used for background processing
Google App Engine Services (2) • App Engine datastores • Provide NoSQL schemaless object database • Supports transacts and a query-engine (GQL) • High-replication datastore (HRD) • Master-slave datastore (faster but less-reliable) • Cloud SQL • Managed MySQL in the App Engine cloud • Blobstore / Cloud Storage • Store files / blobs, has with ACL and REST API
Google App Engine Services (3) • MapReduce API • Highly-scalable parallel computing API for heavy computing tasks (based on Hadoop) • Channel API • Push notifications for JavaScript applications • Task Queues • Services for execution of background work • Memcache • Distributed in-memory data cache
App Engine for Java & Python • Google App Engine for Java • Java 6 in a sandbox environment • Java Web apps( WARs) / Servlets / JSPs + GWT • Persistence with JPA and JDO in the datastore • java.net, JavaMail and JCache + Eclipse plugin • Google App Engine for Python • Python 2.5 in a sandbox environment • Supports rich frameworks like Django • Persistence API for the datastore service
Windows Azure • Microsoft Windows Azure • Fast-growing public cloud • Operated by Microsoft • Provides IaaS cloud (Windows VMs) • Provides rich PaaS platform • Mainly for .NET developers • Provides also Java, PHP and Node.js APIs • No free version, only 3 months trial • Bulgarian citizens cannot register!
Windows Azure Services • Windows Azure Compute • Computing instances run Windows OSand applications (CPU + RAM + HDD) • Web role • Internet Information Services (IIS) machine for hosting Web applications and WCF services • Worker role • Long-running computations • VM role • Windows virtual machine (non-persistent)
Windows Azure Services (2) • Azure data storage services • Azure Table Storage • Distributed highly-scalable clouddatabase (stores entities with properties) • Azure Queue Storage • Message queue service • Azure Blobs/ Drives • Blob / file storage • NTFS volumes
Windows Azure Services (3) • SQL Azure • SQL Server in the cloud • Highly-available and scalable relational DB • Azure Business Analytics • Create reports with tables, charts, maps, etc. • Azure CDN • Content delivery network • Azure Caching • Distributed, in-memory, application cache
Rackspace IaaS Platform for Cloud Hosting
Rackspace • Rackspace is mainly IaaS cloud hosting provider • Provide Linux / Windows VMs on demand • Scalable on demand, pricing by hour • Data centers worldwide • Provides few other cloud services • Cloud Files – cloud file storage, like Amazon S3 • Cloud Sites – SaaS hosting for WordPress, Joomla, OSCommerce, ASP.NET apps, etc. • Cloud Load Balancers, Cloud DNS • Has 25-days free trial (credit card required)
PHP Fog PHP Cloud Platform
PHP Fog • PHP Fog (www.phpfog.com) • Well-developed and stable cloudplatform for PHP applications • Combines PaaS and SaaS models • Supports standard LAMP stack for PHP • PHP + MySQL + PHP frameworks like CakePHP, Zend Framework, Yii Framework, Code Igniter • One-click install for many PHP applications • WordPress, Joomla, Drupal, MediaWiki, SugarCRM, etc.
PHP Fog Add-Ons • PHP Fog Add-Ons (phpfog.com/addons) • MongoHQ database • Mailgun mail server • Blitz performance testing • IronWorker task queue • IronMQ message queue • MongoLab MongoDB • NewRelic performance monitoring • http://phpfog.com/addons
The PHP Fog Platform • PHP Fog uses Git source control system • Developers work locally and commit in Git • The committed code is automatically deployed • The platform • Nginx load balancer • Varnish caching • Apache web server + mod_php • MySQL highly-available database • PHP fog has completely free limited version
Heroku Rich and Powerful Cloud Platform
Heroku • Heroku is a leading public PaaS platform • Supports very broad stack of technologies • Everything except .NET and PHP (officially) • Development stacks • Java + Spring + Hibernate + PostgreSQL / MySQL / MongoDB + Memcache + Tomcat / Jetty • Ruby + Rails + MongoDB / MySQL + Memcache • Python + Django + Memcache + PostgreSQL • JavaScript + Node.js + MySQL / MongoDB
The Heroku Platform • Routing • HTTP load balancers • Dynos – managed workers • Web / Worker / Cron • Back-ends systems • DB: MySQL / PostgreSQL • Add-ons: MongoDB, Redis • Auto-scaling technology • Logging and monitoring (Logplex) • Git-based deployment
Heroku Add-Ons • Large set of add-ons for developers • Airbrake, Amazon RDS, Apigee for Facebook, Apigee for Twitter, AppoxySimpleWorker, Blitz, Chargify, ClearDB MySQL, Cloudant (CouchDB + MapReduce), CloudMailin, Cron, Custom Domains, DbInsights, Deploy Hooks, DocRaptor, DynectSMB, Exceptional, Flying Sphinx, Heroku PG Backups, Heroku PostgreSQL, Heroku Scheduler, Heroku Shared PostgreSQL, Hoptoad, IndexTank, IronMQ
Heroku Add-Ons (2) • Large set of add-ons for developers • IronWorker, JustOneDB, Loggly, Mailgun, Memcache, MongoHQ, MongoLab, Moonshado SMS, Neo4j, New Relic, Panda Stream, Progstr Logger, PubNub, Pusher, RabbitMQ, Ranger, Redis To Go, RESTful Metrics, RhoConnect, SearchifyIndexTank, Sendgrid, SimpleGeo, SSL, Stackmob, StatsMix, StatsMix Heroku, Integration Tutorial, StillAlive, Tddium, Treasure Data Hadoop, Tronprint, Websolr, Xeround, Zencoder, ZerigoDNS, …
More about Heroku • Heroku • Runs millions of applications • Owned by Salesforce.com • Founded in 2007, fast growing and mature • Heroku has a completely free limited version • 750 computing hours • 100 MB storage + 5 MB database • Credit card not required
Engineyard Cloud Platform for Ruby on Rails and PHP
Engineyard • Engineyard • Cloud PaaS platform for Ruby and PHP • Build on top of Amazon AWS • Managed Ruby on Rails stack • Orchestra PHP Cloud • Free 500-hours trial (without credit card) • Built-in load balancer (Nginx) • Deploy with Git and Subversion • Rich set of add-ons (platform services)
Engineyard Platform Services • Engineyard Platform Services (Add-Ons) • Airbrake, Appcelerator, Blitz, CloudFlare, CloudKick, CloudMailin, DNSimple, DocRaptor, Exceptional, Iron.io, Logentries, Loggly, MailGun, MongoHQ, MongoLab, New Relic, OneSky, ReportGridAPI, Pusher, SendGrid, StillAlive, SpacialDB, SimpleWorker, Twilio, Xeround, Zencoder, … • engineyard.com/partners/platform-services
Force.com AppForce Application Development for Business Users
Force.com and AppForce • What is Force.com? • Platform for creating and deploying applications for the social enterprise • Build social and mobile functionality, business processes, reporting, and search • What is Force.com AppForce? • Application development for business users • Drag-and-drop tools, pre-built components, pre-designed user interfaces • Launch new apps in minutes
AppForce Development • Applications are developed in a Web-based editor + the Force.com IDE (Eclipse based tool) • Proprietary languages, APIs, frameworks, tools
AppForce Development Platform • Proprietary programming language (Apex) • Proprietary database + reporting + analytics • Proprietary UI technology (Visualforce MVC) • Proprietary Web site builder, Mobile app builder, …
AppHarbor .NET Cloud Made Easy
AppHarbor • AppHarbor – public cloud platform for .NET apps • Supports a classical .NET development stack • C#, .NET Framework, ASP.NET (Web Forms and MVC), WCF, WWF, ADO.NET Entity Framework, … • Deployment through Git / SVN / TFS • Automated build process (compile + unit tests) • Build-in load balancing • Built on top of Amazon AWS infrastructure • Rich set of add-on services
AppHarbor: Add-On Services • Airbrake (error logging) • Blitz (performance monitoring) • CloudAMQP (RabbitMQ) • Cloudant (CouchDB) • CloudMailin (incoming email) • Dedicated SQL Server • JustOneDB (NoSLQ database) • Logentries (log management) • Mailgun (email send / receive)
AppHarbor: Add-On Services (2) • Memcacher (in-memory caching) • MongoHQ (managed MongoDB) • MongoLab (managed MongoDB) • MySQL (shared MySQL DB) • RavenHQ (NoSQL database) • Redis To Go (key-value store) • SendGrid (email delivery) • StillAlive (app monitoring) • Shared SQL Server (managed instance)
Red Hat OpenShift Public Cloud for LAMP and Java Applications
OpenShift • What is OpenShift? • A free, auto-scaling platform-as-a-service for Java, Ruby, PHP, Perl and Python applications • Developed and supported by Red Hat • Can be installed locally or in the cloud • Deployment through Git push • OpenShift Express • Completely free version, hosted in a shared cloud server infrastructure
OpenShift Development Stacks • OpenShift runs hosted Red Hat Linux • You have SSH console • Java + JEE 6 + CDI/Weld + Spring + Seam • PHP + Zend / CakePHP / Symfony / CodeIgniter • Python + Pylons / Turbogears / Django • Ruby + Rails / Sinatra • Perl + PerlDancer • Databases (relational + NoSQL) • MySQL, PostgreSQL, SQLite, MongoDB
CloudBees Public PaaS Cloud for Java Developers
CloudBees • CloudBees is end-to-end Java cloud platform for development and deployment • Supports Java and Java EE • Java Web applications, Servlets, JSP, JavaServer faces (JSF), Spring, JPA, Liferay portal, … • Databases: MySQL, MongoDB, CouchDB • Jenkins Continuous Integration • Built on top of Amazon AWS • Provides limited free edition