Docstoc

Cloud Development Course - Telerik

Document Sample
Cloud Development Course - Telerik Powered By Docstoc
					            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 (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)
                                          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   / Django
 Ruby + Rails   / 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, JAX-
    RS 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

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:0
posted:6/4/2013
language:English
pages:65
wu yunyi wu yunyi
About wuyyok@163.com