66
Public Clouds Overview Amazon, Google App Engine, Azure, Rackspace, … Svetlin Nakov Telerik Software Academy academy.telerik.com Manager Technical Training http://www.nakov.com ttp://clouddevcourse.telerik.com

2. Cloud software development - public clouds-overview

Embed Size (px)

DESCRIPTION

Public Clouds Overview Telerik Software Academy: http://clouddevcourse.telerik.com/ The website and all video materials are in Bulgarian What is a Public Cloud?; Public PaaS Clouds; Amazon Web Services (AWS); Google App Engine (GAE); Microsoft Windows Azure; Rackspace; PHP Fog; Heroku; Engineyard; Force.com AppForce; AppHarbor; Red Hat OpenShift; CloudBees; OpenLogic CloudSwing; VMware Cloud Foundry; Oracle Public Cloud; Choosing a Public Cloud

Citation preview

Public Clouds Overview

Public Clouds OverviewAmazon, Google App Engine, Azure, Rackspace, Svetlin NakovTelerik Software Academyacademy.telerik.comManager Technical Traininghttp://www.nakov.comhttp://clouddevcourse.telerik.com

Table of ContentsWhat is a Public Cloud?Public PaaS CloudsAmazon Web Services (AWS)Google App Engine (GAE)Microsoft Windows AzureRackspacePHP FogHerokuEngineyard2

Table of Contents (2)Force.com AppForceAppHarborRed Hat OpenShiftCloudBeesOpenLogic CloudSwingVMware Cloud FoundryOracle Public CloudChoosing a Public Cloud3

What is a Public Cloud?Hot It Works?

What is a Public Cloud?Public cloudsProvide computing resources on demandPublicly in Internet, for everyonePaid or free of charge (to some limit)Could be IaaS, PaaS, SaaS or mix of themExamples of public cloudsAmazon 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, 5Amazon Web Services (AWS)

Amazon Web ServicesAmazon Web Services (AWS)The pioneer of the public cloudsProvides cloud platform and services from 2002Provides IaaS and PaaS on demandAmazon Elastic Compute Cloud (Amazon EC2)Virtual machines on demandRuns Windows / Linux / other OSMultiple 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) volumesUsed with the EC2 to keep the OS file systemhttp://aws.amazon.com/ebs/Amazon Simple Storage Service (Amazon S3)Hosting binary data (files, images, videos, etc.)Accessible through the WebWith or without authenticationhttp://aws.amazon.com/s3/

8

Amazon Web Services (3)Amazon DynamoDB / SimpleDBManaged NoSQL cloud databaseHighly scalable, fault-tolerantDynamoDB is newer and faster than SimpleDBhttp://aws.amazon.com/dynamodb/Amazon Relational Database Service (RDS)Managed MySQL and Oracle databasesScalability, automated backup, replicationhttp://aws.amazon.com/rds/9

Amazon Web Services (4)Other AWS servicesAmazon SQS (message queue)Amazon CloudFront (content delivery network)Amazon ElastiCache (caching)Amazon Route 53 (cloud DNS)Amazon SES (email)PricingOn-demand pricing (per hour / per GB)Has 1-year free trial (credit card required)10

Google App Engine (GAE)

Google App EngineGoogle App Engine (GAE)Leading Java and Python PaaS public cloudInfrastructure similar to the one driving GMail and Google Docs operated by Googlehttp://code.google.com/appengine/App Engine has a completely free versionProvides CPU / bandwidth / storage capable to serve 5 000 000 page views / monthInstant registration with SMS confirmation

12Google App Engine ServicesApp Engine instancesComputing units that host the applicationsFully managed sandboxes (they are not VMs!)Provide CPU + RAM + storage + language runtimehttps://appengine.google.comApp Engine backendsLike the App Engine instancesBut provides higher computing resourcesUsed for background processing13Google App Engine Services (2)App Engine datastoresProvide NoSQL schemaless object databaseSupports transacts and a query-engine (GQL)High-replication datastore (HRD)Master-slave datastore (faster but less-reliable)Cloud SQLManaged MySQL in the App Engine cloudBlobstore / Cloud StorageStore files / blobs, has with ACL and REST API14Google App Engine Services (3)MapReduce APIHighly-scalable parallel computing API for heavy computing tasks (based on Hadoop)Channel APIPush notifications for JavaScript applicationsTask QueuesServices for execution of background workMemcacheDistributed in-memory data cache15App Engine for Java & PythonGoogle App Engine for JavaJava 6 in a sandbox environmentJava Web apps ( WARs) / Servlets / JSPs + GWTPersistence with JPA and JDO in the datastorejava.net, JavaMail and JCache + Eclipse pluginGoogle App Engine for PythonPython 2.5 in a sandbox environmentSupports rich frameworks like DjangoPersistence API for the datastore service

16MicrosoftWindows Azure

Windows AzureMicrosoft Windows AzureFast-growing public cloudOperated by MicrosoftProvides IaaS cloud (Windows VMs)Provides rich PaaS platformMainly for .NET developersProvides also Java, PHP and Node.js APIsNo free version, only 3 months trialBulgarian citizens cannot register!18

Windows Azure ServicesWindows Azure ComputeComputing instances run Windows OSand applications (CPU + RAM + HDD)Web roleInternet Information Services (IIS) machine for hosting Web applications and WCF servicesWorker roleLong-running computationsVM roleWindows virtual machine (non-persistent)19

Windows Azure Services (2)Azure data storage servicesAzure Table StorageDistributed highly-scalable clouddatabase (stores entities with properties)Azure Queue StorageMessage queue serviceAzure Blobs / DrivesBlob / file storageNTFS volumes

20

Windows Azure Services (3)SQL AzureSQL Server in the cloudHighly-available and scalable relational DBAzure Business AnalyticsCreate reports with tables, charts, maps, etc.Azure CDNContent delivery networkAzure CachingDistributed, in-memory, application cache

21

RackspaceIaaS Platform for Cloud Hosting

RackspaceRackspace is mainly IaaS cloud hosting providerProvide Linux / Windows VMs on demandScalable on demand, pricing by hourData centers worldwideProvides few other cloud servicesCloud Files cloud file storage, like Amazon S3Cloud Sites SaaS hosting for WordPress, Joomla, OSCommerce, ASP.NET apps, etc.Cloud Load Balancers, Cloud DNSHas 25-days free trial (credit card required)23PHP FogPHP Cloud Platform

PHP FogPHP Fog (www.phpfog.com)Well-developed and stable cloudplatform for PHP applicationsCombines PaaS and SaaS modelsSupports standard LAMP stack for PHPPHP + MySQL + PHP frameworks like CakePHP, Zend Framework, Yii Framework, Code IgniterOne-click install for many PHP applicationsWordPress, Joomla, Drupal, MediaWiki, SugarCRM, etc.25

PHP Fog Add-OnsPHP Fog Add-Ons (phpfog.com/addons)MongoHQ databaseMailgun mail serverBlitz performance testingIronWorker task queueIronMQ message queueMongoLab MongoDBNewRelic performance monitoringhttp://phpfog.com/addons26

The PHP Fog PlatformPHP Fog uses Git source control systemDevelopers work locally and commit in GitThe committed code is automatically deployedThe platformNginx load balancerVarnish cachingApache web server + mod_phpMySQL highly-available databasePHP fog has completely free limited version27

HerokuRich and Powerful Cloud Platform

HerokuHeroku is a leading public PaaS platformSupports very broad stack of technologiesEverything except .NET and PHP (officially)Development stacksJava + Spring + Hibernate + PostgreSQL / MySQL / MongoDB + Memcache + Tomcat / JettyRuby + Rails + MongoDB / MySQL + MemcachePython + Django + Memcache + PostgreSQLJavaScript + Node.js + MySQL / MongoDB29RoutingHTTP load balancersDynos managed workersWeb / Worker / CronBack-ends systemsDB: MySQL / PostgreSQLAdd-ons: MongoDB, RedisAuto-scaling technologyLogging and monitoring (Logplex)Git-based deploymentThe Heroku Platform30

Heroku Add-OnsLarge set of add-ons for developersAirbrake, 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, IronMQ31Heroku Add-Ons (2)Large set of add-ons for developersIronWorker, 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, 32More about HerokuHerokuRuns millions of applicationsOwned by Salesforce.comFounded in 2007, fast growing and matureHeroku has a completely free limited version750 computing hours100 MB storage + 5 MB databaseCredit card not required

33EngineyardCloud Platform for Ruby on Rails and PHP

EngineyardEngineyardCloud PaaS platform for Ruby and PHPBuild on top of Amazon AWSManaged Ruby on Rails stackOrchestra PHP CloudFree 500-hours trial (without credit card)Built-in load balancer (Nginx)Deploy with Git and SubversionRich set of add-ons (platform services)

35

Engineyard Platform ServicesEngineyard 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-services36Force.com AppForceApplication Development for Business Users

Force.com and AppForceWhat is Force.com?Platform for creating and deploying applications for the social enterpriseBuild social and mobile functionality, business processes, reporting, and searchWhat is Force.com AppForce?Application development for business usersDrag-and-drop tools, pre-built components, pre-designed user interfacesLaunch new apps in minutes38

AppForce DevelopmentApplications are developed in a Web-based editor + the Force.com IDE (Eclipse based tool)Proprietary languages, APIs, frameworks, tools39

AppForce Development Platform40Proprietary programming language (Apex)Proprietary database + reporting + analyticsProprietary UI technology (Visualforce MVC)Proprietary Web site builder, Mobile app builder,

AppForce DevelopmentPlatform (2)41

AppHarbor .NET Cloud Made Easy

AppHarborAppHarbor public cloud platform for .NET appsSupports a classical .NET development stackC#, .NET Framework, ASP.NET (Web Forms and MVC), WCF, WWF, ADO.NET Entity Framework, Deployment through Git / SVN / TFSAutomated build process (compile + unit tests)Build-in load balancingBuilt on top of Amazon AWS infrastructureRich set of add-on services43AppHarbor: Add-On ServicesAirbrake (error logging)Blitz (performance monitoring)CloudAMQP (RabbitMQ)Cloudant (CouchDB)CloudMailin (incoming email)Dedicated SQL ServerJustOneDB (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 OpenShiftPublic Cloud for LAMP and Java Applications

OpenShiftWhat is OpenShift?A free, auto-scaling platform-as-a-service for Java, Ruby, PHP, Perl and Python applicationsDeveloped and supported by Red HatCan be installed locally or in the cloudDeployment through Git pushOpenShift ExpressCompletely free version, hosted in a shared cloud server infrastructure

47OpenShift Development StacksOpenShift runs hosted Red Hat LinuxYou have SSH consoleJava + JEE 6 + CDI/Weld + Spring + SeamPHP + Zend / CakePHP / Symfony / CodeIgniterPython + Pylons / Turbogears / DjangoRuby + Rails / SinatraPerl + PerlDancerDatabases (relational + NoSQL)MySQL, PostgreSQL, SQLite, MongoDB48CloudBeesPublic PaaS Cloud for Java Developers

CloudBeesCloudBees is end-to-end Java cloud platform for development and deploymentSupports Java and Java EEJava Web applications, Servlets, JSP, JavaServer faces (JSF), Spring, JPA, Liferay portal, Databases: MySQL, MongoDB, CouchDBJenkins Continuous IntegrationBuilt on top of Amazon AWSProvides limited free edition

50The CloudBees Platform51

CloudBees Add-OnsSauce 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 CloudSwingPowerful Cloud for Almost any Technology

OpenLogic CloudSwingCloudSwing flexible PaaS cloud platformVery broad range of technologiesLinux, Apache, MySQL, Perl, PHP, Python, LAMP, Java, Tomcat, Ruby, Rails, JavaScript, Node.js, Unicorn, NGinxHighly-customizable, deployable on Amazon AWS and RackspaceHas highly-limited free edition30 free Amazon hours

54VMware Cloud FoundryPaaS cloud for Java, Ruby and Node.js

VMware Cloud FoundryVMware Cloud FoundryOpen-source cloud computing platform as a service (PaaS) softwareDeveloped by VMwarePricing model is still unclearHow Cloud Foundry works?You develop and run cloud apps locally (in a VM)Later you can deploy apps to the public cloudE.g. in Amazon AWS, Rackspace, CloudFoundry.com, etc.56Cloud Foundry Architecture57

Oracle Public CloudPublic Cloud for Java EE and Oracle

Oracle Public CloudOracle Public CloudRun Java EE + Oracle database ina managed cloud environmentCombines PaaS and SaaSOracle PaaS offeringsJava + 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 offeringsFusion CRM on demandCustomer relationship managementFusion HCM on demandHuman capital managementOracle Social Network on demandOracle Public CloudPricing model is still unclear

60Other Public Clouds

C#Java

HTML 5

PHPPython

codingRubyOther Public Clouds / ServicesSAP NetWeaver CloudShould combine SaaS and PaaSJust like Oracle, but for the SAP platformStill under developmentCloud9 IDE online (http://c9.io)Powerful cloud-based JavaScript IDESupports also editing PHP / C# / Java / / codeJelastic (jelastic.com)Highly scalable Java cloud62Choosing a Public CloudGuidelines for Choosing a Public Cloud

PublicCloudsChoosing a Public CloudHow to choose a public cloud for your app?PHP PHP Fog / Engineyard.NET Azure / AppHarborJava Google App Engine / Heroku / OpenShift / CloudBees / Oracle Public CloudRuby Engineyard / Heroku / OpenShiftPython App Engine / Heroku / OpenShiftAlways consider using IaaS cloudsAnd build your own platform on top of them64Public Clouds Overviewhttp://academy.telerik.com , , SEO - , HTML, CSS, JavaScript, Photoshop ASP.NET MVC HTML, SQL, C#, .NET, ASP.NET MVC " cloud "BG Coder - - online judge , " " , ASP.NET - , , C#, .NET, ASP.NET iPhone, Android, WP7, PhoneGapfree C# book, C#, Java, C# - - C# , , ??????????????????Questions??Free Trainings @ Telerik AcademyCloud Development" course @ Telerik Academyclouddevcourse.telerik.comTelerik Software Academyacademy.telerik.comTelerik Academy @ Facebookfacebook.com/TelerikAcademyTelerik Software Academy Forumsforums.academy.telerik.com