Download presentation
Presentation is loading. Please wait.
Published byNickolas Stokes Modified over 9 years ago
1
Software Development for the Public Cloud Platforms: Azure vs. App Engine vs. Amazon Svetlin Nakov Telerik Software Academy http://academy.telerik.com
2
Agenda The Cloud from Developers‘ Perspective Windows Azure Google App Engine (GAE) Amazon Web Services (AWS) AppHarbor 2
3
The Cloud from Developers' Perspective
4
Cloud??? WTF?!? 4 C omputer L ocated OU tside of D ata Center
5
What is Cloud? Cloud ≈ multiple hardware machines combine computing power and resources Share them between multiple applications To save costs and use resources more efficiently Public clouds Provide computing resources on demand Publicly in Internet Paid or free of charge (to some limit) Azure, Amazon AWS, Google App Engine, AppHarbor, Rackspace, Heroku, … 5
6
Why Cloud Matters? Microsoft Azure IBM Cloud Apple iCloud Oracle Public Cloud SAP NetWeaver on Demand Google App Engine Amazon Web Services HP Cloud Services VMware Cloud Foundry The Rackspace Cloud Cisco Cloud Applications and Services Intel Hybrid Cloud Dell Cloud Computing Solutions Adobe Creative Cloud CA Cloud Solutions Symantec.cloud services Salesforce Force.com Cloud Computing Platform EMC Atmos Cloud Delivery Platform 6
7
Cloud Computing Models Infrastructure as a Service (IaaS) Virtual machines in the cloud on demand Users install the OS and software they need Platform as a Service (PaaS) Platform, services and APIs for developers E.g..NET + ASP.NET + WCF + SQL Azure Java + JBoss + JSF + JPA + MongoDB JavaScript + Node.js + MongoDB + RabbitMQ Software as a Service (SaaS) Hosted application on demand (e.g. WordPress or SugarCRM) 7
8
Cloud for Developers Moving to the cloud will require new skills New paradigms and APIs E.g. NoSQL databases and MapReduce New platforms and technologies New deployment model The cloud still supports your existing skills Known technologies, e.g. ASP.NET and WCF Your favorite programming languages Like C#, Java and PHP Relational databases and SQL 8
9
Cloud Architecture The typical cloud architecture is multi-tier, SOA, highly-scalable and highly-available At each tier different managed services, technologies and languages can run 9 … MonitoringAdministration Data- bases Storage Services Back-End Services Other Services Load Balancer Computing Node
10
Cloud Architecture (2) Computing Nodes Host and run your applications Different languages and frameworks E.g. C# + ASP.NET MVC or PHP + Symfony Stateless by design Databases and Storage Relational and NoSQL databases Blob storage, file storage, CDN Other Services Queues, notifications, logging, email, … 10
11
Windows Azure
12
Microsoft Windows Azure Fast-growing public cloud Provides rich PaaS platform Mainly for.NET developers Supports all major.NET technologies ASP.NET MVC, WCF, ADO.NET EF, WWF, … Provides also Java, PHP and Node.js APIs No free version, only 3 months trial Bulgarian citizens cannot register! 12
13
SQL Azure TablesBlobs Azure Architecture 13 Visual Studio + Azure Tools Windows Azure Management Portal Windows Azure Management Portal Azure Load Balancer Compute (Worker role) Compute (VM role) Compute (Web role) VM running IIS7 Windows VM QueuesCDN Other Azure / external services C# /.NET code / Java code Custom software ASP.NET / PHP / other
14
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 VM (non-persistent) 14
15
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 15
16
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 Caching Distributed, in-memory, application cache Azure CDN Content delivery network 16
17
Azure Pricing Computing Nodes Shared CPU, 768 MB RAM $0.02 / hour ($15 / month) 1 Core, 1.75 GB RAM $0.12 / hour ($90 / month) Storage $0.125 / GB + $0.01 / 10000 operations SQL Azure Database 100 MB – $0.0067 / hour ($5 / month) 1 GB – $0.0133 / hour ($10 / month) 17
18
Windows Azure Live Demo Live Demo
19
Google App Engine (GAE)
20
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/ 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 Confirmation by SMS 20
21
Datastore Blob store App Engine Architecture 21 Eclipse + Google Plugin for Eclipse Google App Engine Management Dashboard Google App Engine Management Dashboard Load Balancer (Google Front-End Server) Backends App Engine Instances Sandbox running JVM / Python interpreter Sandbox running JVM / Python Other App Engine / external services (Channel API, Memcache, Email, …) Cloud SQL Map Reduce Tasks queue Java code / Java Web application / Python app Java code
22
App Engine Services App Engine instances Computing units that host the applications Fully managed sandboxes (not VMs!) Provide CPU + RAM + storage + language runtime appengine.google.com appengine.google.com App Engine backends Like the App Engine instances But provides higher computing resources Used for background processing 22
23
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, less-reliable) Cloud SQL Managed MySQL in App Engine Blobstore / Cloud Storage Store files / blobs Has with ACL and REST API 23
24
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 24
25
App Engine Pricing On-demand Frontend instances 1 instance free $0.08 / hour ($60 / month) High Replication Datastore (HRD) 1 GB free $0.24 / GB / month ($0.00032 / GB / hour) Each API has free quota and price per usage Blobstore API: 5 GB free; $0.13 / GB / month Datastore API: 50K free; $0.10 / 100k write operations 25
26
Google App Engine (GAE) Live Demo Live Demo
27
Amazon Web Services
28
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 EC 2 ) Virtual machines on demand Runs Windows / Linux / other OS Several locations: US, EU, Japan, Brazil, … http://aws.amazon.com/ec2/ http://aws.amazon.com/ec2/ 28
29
AWS Architecture 29 RDBS3 AWS SDK for Java, C#, PHP, Python, …, + VS/ Eclipse Plugins AWS Management Console AWS Management Console Elastic Load Balancing (ELB) EC2 Instances + Storage (EBS) Any OS and development platform C# / Java / PHP / Python / Ruby / … Other AWS / external services (ElastiCache, CloudFront CDN, SES, …) Dynamo DB SQSEBSSWF Any development framework (.NET / Java EE / Symfony / Zend / Django / Rails / Node.js)
30
AWS Services Amazon Elastic Block Store (Amazon EBS) Virtual hard disk (HDD) volumes Used with the EC 2 to keep the OS file system http://aws.amazon.com/ebs/ http://aws.amazon.com/ebs/ Amazon Simple Storage Service (Amazon S3) Host binary data (files, images, videos, etc.) Accessible through the Web With or without authentication http://aws.amazon.com/s3/ http://aws.amazon.com/s3/ 30
31
AWS Services (2) Amazon DynamoDB / SimpleDB Managed NoSQL cloud database Highly scalable, fault-tolerant DynamoDB – newer & faster than SimpleDB http://aws.amazon.com/dynamodb/ http://aws.amazon.com/dynamodb/ Amazon Relational Database Service (RDS) Managed MySQL and Oracle databases Scalability, automated backup, replication http://aws.amazon.com/rds/ http://aws.amazon.com/rds/ 31
32
AWS Services (3) 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) 1 -year free trial (credit card required) 32
33
Amazon AWS Pricing On-Demand EC2 Instances 1 Core, 1.7 GB RAM, Linux $0.08 / hour ($60 / month) 1 Core, 1.7 GB RAM, Windows $0.115 / hour ($86 / month) Storage (EBS) $0.10 / GB + $0.10 per 1 million requests Oracle Database (1 Core, 1.7 GB RAM) DB instance: $0.155 / hour ($116 / month) DB storage: paid like EBS storage 33
34
AppHarbor.NET Cloud Made Easy
35
AppHarbor AppHarbor – 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 (compilation + unit tests) Build-in load balancing Built on top of Amazon AWS Rich set of add-on services 35
36
AppHarbor Architecture 36 Managed SQL Server / MySQL MongoDB, CouchDB Visual Studio + Git AppHarbor Applications Management Console AppHarbor Applications Management Console Load Balancer (Nginx) Background workers Web worker instances Managed IIS environment C# / ASP.NET MVC / Web Forms / WCF Managed Windows environment C# code IronMQ, RabitMQ Other AppHarbor Add-On Services
37
AppHarbor: Add-Ons 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) 37
38
AppHarbor: Add-Ons (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) 38
39
AppHarbor Pricing AppHarbor free plan 1 Web worker instance per application Unlimited applications 20 MB SQL Server + 20 MB MySQL Paid plans $49 month per instance (Web worker or Background worker) 10 GB Shared SQL Server DB – $10 / month 10 GB Shared MySQL DB – $10 / month Custom domain – $10 / month 39
40
AppHarbor Live Demo Live Demo
41
More Resources Free Cloud Development Course Each Wednesday, Telerik Software Academy clouddevcourse.telerik.com clouddevcourse.telerik.com Python 41
42
Questions? Software Development for the Public Cloud Platforms: Azure vs. App Engine vs. Amazon http://academy.telerik.com
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.