Download presentation
Presentation is loading. Please wait.
Published byShannon Thompson Modified over 9 years ago
1
www.devreach.com Public Cloud Platforms for.NET Developers Sofia, 4-5 October 2012 Svetlin Nakov | Telerik
2
www.devreach.com Agenda Public Cloud Platforms Typical Cloud Architecture Public.NET Cloud Platforms Cloud Types: IaaS vs. PaaS Windows Azure Amazon AWS (+ Beanstalk for.NET) AppHarbor Uhuru Choosing a.NET Cloud
3
www.devreach.com Overview, IaaS, SaaS, PaaS Public Cloud Platforms
4
www.devreach.com What is Cloud? Cloud ≈ multiple hardware machines combine computing power and resources Share them between multiple applications To save costs and use resources efficiently Cloud for Developers? New paradigms and APIs E.g. NoSQL databases and MapReduce New platforms and technologies New deployment model
5
www.devreach.com Cloud 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 + IIS + ASP.NET + WCF + SQL Azure JavaScript + Node.js + MongoDB + RabbitMQ Software as a Service (SaaS) Hosted application on demand (e.g. Bugzilla, WordPress, Sitefinity or SugarCRM)
6
www.devreach.com 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, Heroku, Engineyard, AppForce, PHP Fog, AppHarbor, Uhuru, OpenShift, CloudBees, CloudSwing, Oracle Public Cloud, Salesforce, WordPress.com, …
7
www.devreach.com Typical 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 … MonitoringAdministration Data- bases Storage Services Back-End Services Other Services Load Balancer Computing Node
8
www.devreach.com Typical 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, …
9
www.devreach.com Develop and Run.NET Apps in the Cloud Public.NET Clouds
10
www.devreach.com Public.NET Clouds I am.NET developer I want to use a.NET cloud for my apps What I can do? IaaS vs. PaaS approach IaaS: VPS or cloud hosting Rackspace / Tier3 / any hosting provider PaaS: write your app for certain platform Azure, AWS, AppHarbor, Uhuru, other?
11
www.devreach.com IaaS for.NET Developers IaaS / VPS / cloud hosting Could work well for.NET applications Offered by hundreds of hosting providers Full control over the production servers Limited support: E.g. DB server failure fix it yourself! Difficulties to configure high-availability + load balancing
12
www.devreach.com PaaS for.NET Developers Two types of.NET PaaS clouds: Microsoft Azure Write your app against the Azure APIs E.g. use SQL Azure, not SQL Server Vendor lock-in AWS, AppHarbor, Uhuru Write your app purely in.NET Use IIS, SQL Server, ASP.NET, WCF, …
13
www.devreach.com Hosting.NET Projects in Azure Windows Azure
14
www.devreach.com Windows Azure Microsoft Windows Azure Fast-growing public cloud from MS Provides rich PaaS platform Supports all major.NET technologies ASP.NET MVC, WCF, ADO.NET EF, … .NET applications need adoption to run Supports also Java, PHP and Node.js 3 months trial + free shared instance Mobile phone + credit card required
15
www.devreach.com SQL Azure TablesBlobs Windows Azure – Architecture Visual Studio + Azure Tools Windows Azure Management Portal Windows Azure Management Portal 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 Azure Load Balancer
16
www.devreach.com Windows Azure Services Windows Azure Compute Computing instances run Windows OS and applications (CPU + RAM + HDD) Web / Worker / VM / Persistent VM role Storage Services Azure Blobs / Drives Blob / file storage / NTFS volumes Azure Table Storage – NoSQL cloud DB Azure Queue Storage – message queue
17
www.devreach.com Windows Azure Services (2) SQL Database (SQL Azure) SQL Server-like 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
18
www.devreach.com Azure Pricing (Rough) Computing Instances Shared CPU, 768 MB RAM $0.02 / hour ($15 / month) 1 Core, 1.75 GB RAM, 225 GB HDD $0.12 / hour ($90 / month) Storage: $0.125 / GB + $0.01 / 100 000 operations SQL Database (not real SQL Server!) 100 MB – $0.0067 / hour ($5 / month) 1 GB – $0.0133 / hour ($10 / month)
19
www.devreach.com Azure Free Web Site Instance Windows Azure Web Sites Host ASP.NET / PHP / Node.js web sites Web Sites Free Shared Instance 10 sites on the azurewebsites.net domain 165 MB of outbound data per day, unlimited inbound data 1 GB storage (shared by all sites) 20 MB of a third-party MySQL database
20
www.devreach.com Hosting.NET Projects in AWS Beanstalk.NET Amazon Web Services (AWS)
21
www.devreach.com Amazon Web Services (AWS) Amazon Web Services (AWS) The pioneer of the public clouds Provides IaaS and PaaS on demand from 2002 Amazon Elastic Compute Cloud (Amazon EC 2 ) Linux / Windows VMs on demand US, EU, Japan, Brazil, Singapore, … No free version, only 1 year trial Credit card required, but beware: AWS charge for resources not being used!
22
www.devreach.com AWS Architecture RDBS3 AWS SDK for Java, C#, PHP, Python + VS / Eclipse Plugins AWS Management Console AWS Management Console EC2 Instances + Storage (EBS) Any OS and development platform C# / Java / PHP / Python / Ruby / … Other AWS / external services (ElastiCache, CloudFront CDN, SES, …) DynamoDBSQSEBSSWF Any development framework (.NET / Java EE / Symfony / Zend / Django / Rails / Node.js) Elastic Load Balancing (ELB)
23
www.devreach.com AWS Services Amazon Elastic Block Store (Amazon EBS) Virtual hard disk (HDD) volumes Amazon Simple Storage Service (Amazon S3) Host binary data (files, images, videos, etc.) Amazon DynamoDB / SimpleDB Managed NoSQL cloud database Amazon Relational Database Service (RDS) Managed MySQL and Oracle databases
24
www.devreach.com AWS Services (2) Other AWS services Amazon SQS (message queue) Amazon CloudFront (CDN) Amazon ElastiCache (caching) Amazon Route 53 (cloud DNS) Amazon SES (email) Amazon FPS (payments) More services at the AWS Marketplace MongoDB, Redis, LAMP, Business Objects,...
25
www.devreach.com AWS Elastic Beanstalk for.NET Amazon Beanstalk for.NET Automatically allocates AWS services Amazon EC2 (computing instance) Amazon S3 (storage) Amazon SNS (notifications) Elastic Load Balancing + Auto Scaling Simplified deployment of.NET apps Through Visual Studio / AWS Console Automatic load balancing + auto-scaling
26
www.devreach.com Amazon AWS Pricing (Rough) On-Demand EC2 Instances 1 Core, 1.7 GB RAM, 160 GB HDD, Windows $0.115 / hour ($86 / month) Storage (EBS) $0.10 / GB + $0.10 per 1 million I/O requests SQL Server Database (Web Edition) 1 CPU, 630 MB RAM: $0.17 / hour ($126 / mo) 1 CPU, 1.7 GB RAM: $0.59 / hour ($439 / mo)
27
www.devreach.com Hosting.NET Projects in AppHarbor AppHarbor
28
www.devreach.com AppHarbor AppHarbor – cloud platform for.NET apps Classical.NET development stack C#,.NET Framework, IIS, ASP.NET, WCF, SQL Server, 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
29
www.devreach.com AppHarbor Architecture 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
30
www.devreach.com AppHarbor: Add-Ons Airbrake (error logging) Blitz (performance monitoring) CloudAMQP (RabbitMQ) Cloudant (CouchDB) CloudMailin (incoming email) Dedicated SQL Server JustOneDB (NoSQL database) Logentries (log management) Mailgun (email send / receive)
31
www.devreach.com 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)
32
www.devreach.com AppHarbor Pricing AppHarbor free plan 1 Web worker instance per application 20 MB SQL Server + 20 MB MySQL Unlimited # of apps (@ apphb.com subdomain) Paid plans $49 month per worker instance 10 GB Shared SQL Server DB – $10 / month 10 GB Shared MySQL DB – $10 / month Custom domain – $10 / month
33
www.devreach.com ASP.NET MVC Project Deployment AppHarbor: Live Demo
34
www.devreach.com Hosting.NET Projects in Uhuru Uhuru AppCloud
35
www.devreach.com Uhuru AppCloud Cloud platform based on CloudFoundry Supports PHP, Node.js, Ruby, Java and.NET Has classical.NET development stack C#,.NET Framework, IIS, ASP.NET, WCF, SQL Server, ADO.NET Entity Framework, … Proprietary deployment model Build-in load balancing Hosted at Inernap Network ISP Limited set of add-on services
36
www.devreach.com Uhuru AppCloud Architecture Managed SQL Server / MySQL MongoDB UhuruCloud.com Web Interface Uhuru Cloud Manager Uhuru Cloud Manager Load Balancer (Nginx on Ubuntu Linux) Linux / Windows App Servers Managed IIS environment C# / ASP.NET MVC / Web Forms / WCF Managed Apache / Tomcat environment Apache + PHP / Ruby / Node.js / Tomcat + Java RabitMQ Other Uhuru Add-On Services
37
www.devreach.com Uhuru AppCloud Services Uhuru supports limited set of services: Managed SQL Server Managed MySQL Managed RabbitMQ (message queue) Managed Redis (key-value store) Managed file system storage (UhuruFS) Managed MongoDB (NoSQL database)
38
www.devreach.com Uhuru Pricing Uhuru AppCloud Ready To Go Currently in Beta Entirely free For apps, databases, storage After the commercial launch Based on allocated RAM for each app Databases and Storage prices separately A free limited version will still be available
39
www.devreach.com ASP.NET MVC Project Deployment Uhuru: Live Demo
40
www.devreach.com Other.NET Clouds Apprenda Apprenda Develop for.NET locally in a VM, deploy the VM into any public IaaS cloud (e.g. in AWS) Hosted ApprendaCloud just became available AppFog AppFog .NET support still unavailable (as of 09/2012) Heroku Heroku Claim to support Mono apps on a Linux cloud Moncai Moncai .NET (Mono) cloud – not very active project
41
www.devreach.com Choosing a.NET Cloud For large complex.NET applications IaaS hosting (AWS / Rackspace / other) Build the infrastructure yourself Azure – applications may need adoption For small applications / ASP.NET sites AppHarbor – recommended Azure Web Sites Free Beware of hidden charges Uhuru AppCloud – still in beta
42
www.devreach.com Thank you! @svetlinnakov nakov.com bg.linkedin.com/in/nakov Svetlin Nakov | Telerik Public Cloud Platforms for.NET Developers
43
www.devreach.com Free Trainings @ Telerik Academy “Cloud Development" course @ Telerik Software Academy clouddevcourse.telerik.com clouddevcourse.telerik.com Telerik Software Academy academy.telerik.com academy.telerik.com Telerik Academy @ Facebook facebook.com/TelerikAcademy facebook.com/TelerikAcademy Telerik Software Academy Forums forums.academy.telerik.com forums.academy.telerik.com
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.