Software Development for the Public Cloud Platforms: Azure vs. App Engine vs. Amazon Svetlin Nakov Telerik Software Academy

Slides:



Advertisements
Similar presentations
Cloud Computing Development. Shallow Introduction.
Advertisements

Queues, Notifications, , CDN, Logging, Caching, Background Tasks, MapReduce, … Svetlin Nakov Telerik Software Academy academy.telerik.com.
1 NETE4631 Cloud deployment models and migration Lecture Notes #4.
Emerging Platform#6: Cloud Computing B. Ramamurthy 6/20/20141 cse651, B. Ramamurthy.
Azure Services Platform Piotr Zierhoffer. Agenda Cloud? What is Azure? Environment Basic glossary Architecture Element description Deployment.
2009 Software as a service Platform as a service Infrastructure as a service Service platform Cloud platform Cloud computing Grid computing Private.
Programming languages + tools.NET, Visual Studio, TFS + Git, Java, NodeJS, PHP, Python, Ruby, C++ Microsoft cloud infrastructure PaaS Web Mobile.
Nikolay Tomitov Technical Trainer SoftAcad.bg.  What are Amazon Web services (AWS) ?  What’s cool when developing with AWS ?  Architecture of AWS 
B UILDING M ULTI - TIER W EB A PPLICATIONS IN V IRTUAL E NVIRONMENTS.
Cloud: a New Paradigm for Developers Svetlin Nakov Telerik Software Academy academy.telerik.com.
Engineering the Cloud Andrew McCombs March 10th, 2011.
Public Clouds Overview
Concepts Telerik Software Academy HTML5.
Devices & Services Full WinRT 11,000 members Windows Phone Runtime 2,800 shared members 600 new members Networking Proximity In-App Purchase.
Platform as a Service (PaaS)
Google AppEngine. Google App Engine enables you to build and host web apps on the same systems that power Google applications. App Engine offers fast.
Amazon EC2 Quick Start adapted from EC2_GetStarted.html.
Google App Engine Danail Alexiev Technical Trainer SoftAcad.bg.
Cloud Computing Systems Lin Gu Hong Kong University of Science and Technology Sept. 21, 2011 Windows Azure—Overview.
.NET, Visual Studio, TFS + Git | Java, NodeJS, PHP, Python, Ruby, C++ Data SQL Databases NoSQL Tables Blob Storage HDInsight Window s Azure IaaS +
A Brief Overview by Aditya Dutt March 18 th ’ Aditya Inc.
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
Public Cloud Platforms for.NET Developers Sofia, 4-5 October 2012 Svetlin Nakov | Telerik.
Cloud: a "New" Paradigm for Developers Telerik Software Academy Web Services and Cloud.
Lecture 8 – Platform as a Service. Introduction We have discussed the SPI model of Cloud Computing – IaaS – PaaS – SaaS.
Components of Windows Azure - more detail. Windows Azure Components Windows Azure PaaS ApplicationsWindows Azure Service Model Runtimes.NET 3.5/4, ASP.NET,
.NET Cloud Development Made Easy George Georgiev Telerik Software Academy academy.telerik.com Technical Trainer.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
Cloud Operating System Unit 11 Sever Technology II M. C. Chiang Department of Computer Science and Engineering National Sun Yat-sen University Kaohsiung,
Cloud Computing. What is Cloud Computing? Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable.
Cloud Technologies and Cloud Platforms Cloud Concepts, IaaS, PaaS, SaaS, Public Cloud Platforms SoftUni Team Technical Trainers Software University
1 NETE4631 Using Google Web Services and Using Microsoft Cloud Services Lecture Notes #7.
Google App Engine(GAE) Ma, Zhichao Cloud.
Windows Azure: Microsoft’s Cloud Platform By Shahed Chowdhuri.
Cloud Computing & Amazon Web Services – EC2 Arpita Patel Software Engineer.
Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure.
Microsoft Azure SoftUni Team Technical Trainers Software University
How AWS Pricing Works Jinesh Varia Technology Evangelist.
Concepts Telerik Software Academy Telerik School Academy.
.NET Cloud Development Made Easy George Georgiev Telerik Software Academy academy.telerik.com Technical Trainer 1.
Windows Azure Virtual Machines Anton Boyko. A Continuous Offering From Private to Public Cloud.
Enterprise Cloud Computing
Windows Azure. Azure Application platform for the public cloud. Windows Azure is an operating system You can: – build a web application that runs.
CLOUD WITH AMAZON. Amazon Web Services AWS is a collection of remote computing services Elastic Compute Cloud (EC2) provides scalable virtual private.
Paperless Timesheet Management Project Anant Pednekar.
Cloud Computing is a Nebulous Subject Or how I learned to love VDF on Amazon.
Multi-Tier Apps with Admin Access, RDP, Custom Installs Modern Scalable Web Sites Full Windows Server/Linux VMs Web Sites Virtual Machines Cloud Services.
Cloud services Amazon Web Service (AWS) Intro and usage.
Web Technologies Lecture 13 Introduction to cloud computing.
Information Systems in Organizations 5.2 Cloud Computing.
Microsoft Cloud Computing. Topics to be covered 1.Environmental Features of windows azure 2.What is Cloud Computing 3.Roles in Cloud Computing 4.Benefits.
Building Cloud Solutions Presenter Name Position or role Microsoft Azure.
Cloud Computing from a Developer’s Perspective Shlomo Swidler CTO & Founder mydrifts.com 25 January 2009.
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
Platform as a Service (PaaS)
AWS Simple Icons v AWS Simple Icons: Usage Guidelines
.NET Cloud Development Made Easy
Deploying Web Application
Platform as a Service (PaaS)
Platform as a Service (PaaS)
Cloud Data platform (Cloud Application Development & Deployment)
Platform as a Service.
Andrew McCombs March 10th, 2011
Web Technologies Basics
PaaS - Development Stefan Geiger Gerry
Introduction to Cloud Computing
Google App Engine Danail Alexiev
Outline Virtualization Cloud Computing Microsoft Azure Platform
Saranya Sriram Developer Evangelist | Microsoft
Rock-solid Cloud Platform for PHP
Presentation transcript:

Software Development for the Public Cloud Platforms: Azure vs. App Engine vs. Amazon Svetlin Nakov Telerik Software Academy

Agenda   The Cloud from Developers‘ Perspective   Windows Azure   Google App Engine (GAE)   Amazon Web Services (AWS)   AppHarbor 2

The Cloud from Developers' Perspective

Cloud??? WTF?!? 4 C omputer L ocated OU tside of D ata Center

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

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

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

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

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

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, , … 10

Windows Azure

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

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

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

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

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

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 / operations SQL Azure Database   100 MB – $ / hour ($5 / month)   1 GB – $ / hour ($10 / month) 17

Windows Azure Live Demo Live Demo

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   App Engine has a completely free version   Provides CPU / bandwidth / storage capable to serve page views / month   Instant registration   Confirmation by SMS 20

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, , …) Cloud SQL Map Reduce Tasks queue Java code / Java Web application / Python app Java code

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

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

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

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 ($ / 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

Google App Engine (GAE) Live Demo Live Demo

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 EC 2 )   Virtual machines on demand   Runs Windows / Linux / other OS   Several locations: US, EU, Japan, Brazil, …  

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)

AWS Services Amazon Elastic Block Store (Amazon EBS)   Virtual hard disk (HDD) volumes   Used with the EC 2 to keep the OS file system   Amazon Simple Storage Service (Amazon S3)   Host binary data (files, images, videos, etc.)   Accessible through the Web   With or without authentication  

AWS Services (2) Amazon DynamoDB / SimpleDB   Managed NoSQL cloud database   Highly scalable, fault-tolerant   DynamoDB – newer & faster than SimpleDB   Amazon Relational Database Service (RDS)   Managed MySQL and Oracle databases   Scalability, automated backup, replication  

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 ( ) Pricing   On-demand pricing (per hour / per GB)   1 -year free trial (credit card required) 32

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

AppHarbor.NET Cloud Made Easy

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

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

AppHarbor: Add-Ons Airbrake (error logging) Blitz (performance monitoring) CloudAMQP (RabbitMQ) Cloudant (CouchDB) CloudMailin (incoming ) Dedicated SQL Server JustOneDB (NoSLQ database) Logentries (log management) Mailgun ( send / receive) 37

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 ( delivery) StillAlive (app monitoring) Shared SQL Server (managed instance) 38

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

AppHarbor Live Demo Live Demo

More Resources Free Cloud Development Course   Each Wednesday, Telerik Software Academy   clouddevcourse.telerik.com clouddevcourse.telerik.com Python 41

Questions? Software Development for the Public Cloud Platforms: Azure vs. App Engine vs. Amazon