Public Clouds Overview Amazon, Google App Engine, Azure, Rackspace, … 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 2 Table of Contents (2) Force.com AppForce AppHarbor Red Hat OpenShift CloudBees OpenLogic CloudSwing VMware Cloud Foundry Oracle Public Cloud Choosing a Public Cloud 3 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, … 5 Amazon Web Services (AWS) 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/ 7 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/ 8 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/ 9 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) 10 Google App Engine (GAE) 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 5 000 000 page views / month Instant registration with SMS confirmation 12 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 13 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 14 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 15 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 16 Microsoft Windows Azure 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! 18 Windows Azure Services Windows Azure Compute Computing instances run Windows OS and 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) 19 Windows Azure Services (2) Azure data storage services Azure Table Storage Distributed highly-scalable cloud database (stores entities with properties) Azure Queue Storage Message queue service Azure Blobs / Drives Blob / file storage NTFS volumes 20 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 21 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) 23 PHP Fog PHP Cloud Platform PHP Fog PHP Fog (www.phpfog.com) Well-developed and stable cloud platform 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. 25 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 26 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 27 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 29 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 30 Heroku Add-Ons Large set of add-ons for developers Airbrake, Amazon RDS, Apigee for Facebook, Apigee for Twitter, Appoxy SimpleWorker, 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 31 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, Searchify IndexTank, Sendgrid, SimpleGeo, SSL, Stackmob, StatsMix, StatsMix Heroku, Integration Tutorial, StillAlive, Tddium, Treasure Data Hadoop, Tronprint, Websolr, Xeround, Zencoder, Zerigo DNS, … 32 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 33 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) 35 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, ReportGrid API, Pusher, SendGrid, StillAlive, SpacialDB, SimpleWorker, Twilio, Xeround, Zencoder, … engineyard.com/partners/platform-services 36 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 38 AppForce Development Applications are developed in a Web-based editor + the Force.com IDE (Eclipse based tool) Proprietary languages, APIs, frameworks, tools 39 AppForce Development Platform Proprietary programming language (Apex) Proprietary database + reporting + analytics Proprietary UI technology (Visualforce MVC) Proprietary Web site builder, Mobile app builder, … 40 AppForce Development Platform (2) 41 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 43 AppHarbor: Add-On Services Airbrake Blitz (error logging) (performance monitoring) CloudAMQP (RabbitMQ) Cloudant (CouchDB) CloudMailin (incoming email) Dedicated SQL Server JustOneDB (NoSLQ database) Logentries (log management) Mailgun (email send / receive) 44 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) 45 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 47 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 Ruby + Rails / Django / Sinatra Perl + PerlDancer Databases (relational + NoSQL) MySQL, PostgreSQL, SQLite, MongoDB 48 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 50 The CloudBees Platform 51 CloudBees Add-Ons Sauce Labs OnDemand (cross-browser testing) New Relic (app monitoring) Cloudant (managed Apache CouchDB) SonarSource (source code inspection) MongoHQ (managed MongoDB) XWiki Cloud (cloud wiki) Papertrail (log management) Codesion (Subversion, Git and ALM) SendGrid (email sender) Websolr (search engine) 52 OpenLogic CloudSwing Powerful Cloud for Almost any Technology OpenLogic CloudSwing CloudSwing – flexible PaaS cloud platform Very broad range of technologies Linux, Apache, MySQL, Perl, PHP, Python, LAMP, Java, Tomcat, Ruby, Rails, JavaScript, Node.js, Unicorn, NGinx Highly-customizable, deployable on Amazon AWS and Rackspace Has highly-limited free edition 30 free Amazon hours 54 VMware Cloud Foundry PaaS cloud for Java, Ruby and Node.js VMware Cloud Foundry VMware Cloud Foundry Open-source cloud computing platform as a service (PaaS) software Developed by VMware Pricing model is still unclear How Cloud Foundry works? You develop and run cloud apps locally (in a VM) Later you can deploy apps to the public cloud E.g. in Amazon AWS, Rackspace, CloudFoundry.com, etc. 56 Cloud Foundry Architecture 57 Oracle Public Cloud Public Cloud for Java EE and Oracle Oracle Public Cloud Oracle Public Cloud Run Java EE + Oracle database in a managed cloud environment Combines PaaS and SaaS Oracle PaaS offerings Java + Java EE (JSP, JSF, Servlet, EJB, JPA, JAXRS and JAX-WS) + WebLogic App Server + clustering + ADF + ADF Faces + … Oracle Database + high-availability + data analysis + data loading + RESTful API 59 Oracle Public Cloud (2) Oracle SaaS offerings Fusion CRM on demand Customer relationship management Fusion HCM on demand Human capital management Oracle Social Network on demand Oracle Public Cloud Pricing model is still unclear 60 Other Public Clouds Other Public Clouds / Services SAP NetWeaver Cloud Should combine SaaS and PaaS Just like Oracle, but for the SAP platform Still under development Cloud9 IDE online (http://c9.io) Powerful cloud-based JavaScript IDE Supports also editing PHP / C# / Java / … / code Jelastic (jelastic.com) Highly scalable Java cloud 62 Choosing a Public Cloud Guidelines for Choosing a Public Cloud Choosing a Public Cloud How to choose a public cloud for your app? PHP PHP Fog / Engineyard .NET Azure / AppHarbor Java Google App Engine / Heroku / OpenShift / CloudBees / Oracle Public Cloud Ruby Engineyard / Heroku / OpenShift Python App Engine / Heroku / OpenShift Always consider using IaaS clouds And build your own platform on top of them 64 Public Clouds Overview Questions? http://clouddevcourse.telerik.com
© Copyright 2025