Presentation is loading. Please wait.

Presentation is loading. Please wait.

Www.devreach.com Public Cloud Platforms for.NET Developers Sofia, 4-5 October 2012 Svetlin Nakov | Telerik.

Similar presentations


Presentation on theme: "Www.devreach.com Public Cloud Platforms for.NET Developers Sofia, 4-5 October 2012 Svetlin Nakov | Telerik."— Presentation transcript:

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


Download ppt "Www.devreach.com Public Cloud Platforms for.NET Developers Sofia, 4-5 October 2012 Svetlin Nakov | Telerik."

Similar presentations


Ads by Google