SlideShare una empresa de Scribd logo
1 de 43
Public Cloud Platforms
 for .NET Developers




 Svetlin Nakov | Telerik
www.devreach.com           Sofia, 4-5 October 2012
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
www.devreach.com
Public Cloud Platforms
 Overview, IaaS, SaaS, PaaS




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
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)
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, …
www.devreach.com
Typical Cloud Architecture
  The typical cloud architecture is multi-tier,
   SOA, highly-scalable and highly-available

                                   Load Balancer




                                                                   Administration
     Monitoring




                  Computing        Computing       …   Computing
                    Node             Node                Node


                  Data-       Storage     Back-End       Other
                  bases       Services    Services      Services

  At each tier different managed services,
   technologies and languages can run
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, …
www.devreach.com
Public .NET Clouds
             Develop and Run .NET Apps in the Cloud




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?

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

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, …
www.devreach.com
Windows Azure
   Hosting .NET Projects in Azure




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
www.devreach.com
Windows Azure – Architecture
                                                    Azure Load Balancer
    Visual Studio + Azure Tools




                                                                                          Management Portal
                                     Compute              Compute             Compute




                                                                                           Windows Azure
                                    (Web role)          (Worker role)         (VM role)

                                  VM running IIS7        Windows VM          Windows VM

                                  ASP.NET / PHP /      C# / .NET code /        Custom
                                       other             Java code             software


                                    SQL
                                              Tables       Blobs          Queues    CDN
                                   Azure


                                            Other Azure / external services

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
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
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)
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

www.devreach.com
Amazon Web Services (AWS)
   Hosting .NET Projects in AWS Beanstalk .NET




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 EC2)
      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!
www.devreach.com
AWS Architecture
                                            Elastic Load Balancing (ELB)
  Python + VS / Eclipse Plugins
   AWS SDK for Java, C#, PHP,




                                                                                       AWS Management Console
                                            EC2 Instances + Storage (EBS)

                                           Any OS and development platform
                                           C# / Java / PHP / Python / Ruby / …

                                    Any development framework (.NET / Java EE /
                                      Symfony / Zend / Django / Rails / Node.js)



                                  RDB     DynamoDB       S3     EBS      SQS     SWF


                                             Other AWS / external services
                                        (ElastiCache, CloudFront CDN, SES, …)

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

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, ...
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
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)

www.devreach.com
AppHarbor
   Hosting .NET Projects in AppHarbor




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
www.devreach.com
AppHarbor Architecture
                                        Load Balancer (Nginx)




                                                                              AppHarbor Applications
                                                                               Management Console
    Visual Studio + Git




                          Web worker instances        Background workers

                                                        Managed Windows
                          Managed IIS environment
                                                          environment
                            C# / ASP.NET MVC /
                                                               C# code
                             Web Forms / WCF


                            Managed SQL             MongoDB,        IronMQ,
                           Server / MySQL           CouchDB         RabitMQ


                                 Other AppHarbor Add-On Services

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)
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)
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
www.devreach.com
AppHarbor: Live Demo
   ASP.NET MVC Project Deployment




www.devreach.com
Uhuru AppCloud
   Hosting .NET Projects in Uhuru




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
www.devreach.com
Uhuru AppCloud Architecture
                                      Load Balancer (Nginx on Ubuntu Linux)
    UhuruCloud.com Web Interface




                                                                                     Uhuru Cloud Manager
                                    Linux / Windows          Linux / Windows
                                      App Servers              App Servers
                                      Managed IIS            Managed Apache /
                                      environment           Tomcat environment
                                   C# / ASP.NET MVC /      Apache + PHP / Ruby /
                                    Web Forms / WCF        Node.js / Tomcat + Java


                                    Managed SQL
                                                        MongoDB         RabitMQ
                                   Server / MySQL


                                          Other Uhuru Add-On Services

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)

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
www.devreach.com
Uhuru: Live Demo
   ASP.NET MVC Project Deployment




www.devreach.com
Other .NET Clouds
 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
      .NET support still unavailable (as of 09/2012)
 Heroku
      Claim to support Mono apps on a Linux cloud
 Moncai
      .NET (Mono) cloud – not very active project
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
www.devreach.com
Public Cloud Platforms
                                    for .NET Developers


 Thank you!
       @svetlinnakov
       nakov.com
       bg.linkedin.com/in/nakov




 Svetlin Nakov | Telerik
www.devreach.com
Free Trainings @ Telerik Academy
 “Cloud Development" course @
  Telerik Software Academy
      clouddevcourse.telerik.com
 Telerik Software Academy
      academy.telerik.com
 Telerik Academy @ Facebook
      facebook.com/TelerikAcademy
 Telerik Software Academy Forums
      forums.academy.telerik.com
www.devreach.com

Más contenido relacionado

La actualidad más candente

A Step By Step Guide To Put DB2 On Amazon Cloud
A Step By Step Guide To Put DB2 On Amazon CloudA Step By Step Guide To Put DB2 On Amazon Cloud
A Step By Step Guide To Put DB2 On Amazon CloudDeepak Rao
 
DAT103 Introducing Amazon RedShift - AWS re: Invent 2012
DAT103 Introducing Amazon RedShift - AWS re: Invent 2012DAT103 Introducing Amazon RedShift - AWS re: Invent 2012
DAT103 Introducing Amazon RedShift - AWS re: Invent 2012Amazon Web Services
 
Overview of Amazon Web Services
Overview of Amazon Web ServicesOverview of Amazon Web Services
Overview of Amazon Web ServicesHarish Ganesan
 
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)GPU Renderfarm with Integrated Asset Management & Production System (AMPS)
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)Budianto Tandianus
 
Understanding The Azure Platform March 2010
Understanding The Azure Platform   March 2010Understanding The Azure Platform   March 2010
Understanding The Azure Platform March 2010DavidGristwood
 
IBM Software Available In The Cloud With Amazon Web Services
IBM Software Available In The Cloud With Amazon Web ServicesIBM Software Available In The Cloud With Amazon Web Services
IBM Software Available In The Cloud With Amazon Web ServicesSteven Gerhardt
 
Cloud Computing With AWS
Cloud Computing With AWSCloud Computing With AWS
Cloud Computing With AWSMunish Gupta
 
Understanding The Azure Platform Jan
Understanding The Azure Platform   JanUnderstanding The Azure Platform   Jan
Understanding The Azure Platform JanDavidGristwood
 
AWS CloudFormation template with single & redundant system
AWS CloudFormation template with single & redundant systemAWS CloudFormation template with single & redundant system
AWS CloudFormation template with single & redundant systemNaoya Hashimoto
 
CloudStack-Development-Story
CloudStack-Development-StoryCloudStack-Development-Story
CloudStack-Development-StoryKimihiko Kitase
 
Nuts and bolts of running a popular site in the aws cloud
Nuts and bolts of running a popular site in the aws cloudNuts and bolts of running a popular site in the aws cloud
Nuts and bolts of running a popular site in the aws cloudDavid Veksler
 
AWS Webcast - Build Agile Applications in AWS Cloud
AWS Webcast - Build Agile Applications in AWS CloudAWS Webcast - Build Agile Applications in AWS Cloud
AWS Webcast - Build Agile Applications in AWS CloudAmazon Web Services
 
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012Amazon Web Services
 
Running your First Application on AWS
Running your First Application on AWSRunning your First Application on AWS
Running your First Application on AWSAmazon Web Services
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressGeorge Kanellopoulos
 

La actualidad más candente (20)

A Step By Step Guide To Put DB2 On Amazon Cloud
A Step By Step Guide To Put DB2 On Amazon CloudA Step By Step Guide To Put DB2 On Amazon Cloud
A Step By Step Guide To Put DB2 On Amazon Cloud
 
DAT103 Introducing Amazon RedShift - AWS re: Invent 2012
DAT103 Introducing Amazon RedShift - AWS re: Invent 2012DAT103 Introducing Amazon RedShift - AWS re: Invent 2012
DAT103 Introducing Amazon RedShift - AWS re: Invent 2012
 
A Lap Around Azure
A Lap Around AzureA Lap Around Azure
A Lap Around Azure
 
Technical Track
Technical TrackTechnical Track
Technical Track
 
Overview of Amazon Web Services
Overview of Amazon Web ServicesOverview of Amazon Web Services
Overview of Amazon Web Services
 
Aws cli
Aws cliAws cli
Aws cli
 
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)GPU Renderfarm with Integrated Asset Management & Production System (AMPS)
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)
 
Understanding The Azure Platform March 2010
Understanding The Azure Platform   March 2010Understanding The Azure Platform   March 2010
Understanding The Azure Platform March 2010
 
Aws compute options
Aws compute optionsAws compute options
Aws compute options
 
IBM Software Available In The Cloud With Amazon Web Services
IBM Software Available In The Cloud With Amazon Web ServicesIBM Software Available In The Cloud With Amazon Web Services
IBM Software Available In The Cloud With Amazon Web Services
 
Cloud Computing With AWS
Cloud Computing With AWSCloud Computing With AWS
Cloud Computing With AWS
 
Understanding The Azure Platform Jan
Understanding The Azure Platform   JanUnderstanding The Azure Platform   Jan
Understanding The Azure Platform Jan
 
AWS CloudFormation template with single & redundant system
AWS CloudFormation template with single & redundant systemAWS CloudFormation template with single & redundant system
AWS CloudFormation template with single & redundant system
 
CloudStack-Development-Story
CloudStack-Development-StoryCloudStack-Development-Story
CloudStack-Development-Story
 
Nuts and bolts of running a popular site in the aws cloud
Nuts and bolts of running a popular site in the aws cloudNuts and bolts of running a popular site in the aws cloud
Nuts and bolts of running a popular site in the aws cloud
 
AWS Webcast - Build Agile Applications in AWS Cloud
AWS Webcast - Build Agile Applications in AWS CloudAWS Webcast - Build Agile Applications in AWS Cloud
AWS Webcast - Build Agile Applications in AWS Cloud
 
VFX Rendering on AWS
VFX Rendering on AWSVFX Rendering on AWS
VFX Rendering on AWS
 
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
 
Running your First Application on AWS
Running your First Application on AWSRunning your First Application on AWS
Running your First Application on AWS
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
 

Destacado

J2EE - Practical Overview
J2EE - Practical OverviewJ2EE - Practical Overview
J2EE - Practical OverviewSvetlin Nakov
 
Wso2 con 2014 event driven architecture Publish/Subscribe Pubsub
Wso2 con 2014 event driven architecture Publish/Subscribe PubsubWso2 con 2014 event driven architecture Publish/Subscribe Pubsub
Wso2 con 2014 event driven architecture Publish/Subscribe PubsubJohn Mathon
 
database slide
database slidedatabase slide
database slideAkhil Nair
 
Evolving the Web into a Global Database - Advances and Applications.
Evolving the Web into a Global Database - Advances and Applications. Evolving the Web into a Global Database - Advances and Applications.
Evolving the Web into a Global Database - Advances and Applications. Chris Bizer
 
Writing High Quality Code in C#
Writing High Quality Code in C#Writing High Quality Code in C#
Writing High Quality Code in C#Svetlin Nakov
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishSvetlin Nakov
 
RMAN best practices for RAC
RMAN best practices for RACRMAN best practices for RAC
RMAN best practices for RACSyed Hussain
 
14. Defining Classes
14. Defining Classes14. Defining Classes
14. Defining ClassesIntro C# Book
 
REST vs. Messaging For Microservices
REST vs. Messaging For MicroservicesREST vs. Messaging For Microservices
REST vs. Messaging For MicroservicesEberhard Wolff
 
Payroll system
Payroll systemPayroll system
Payroll systemWirat Mojo
 
0. Course Introduction
0. Course Introduction0. Course Introduction
0. Course IntroductionIntro C# Book
 
Oracle database 12c new features
Oracle database 12c new featuresOracle database 12c new features
Oracle database 12c new featuresJakkrapat S.
 
Thesis about Computerized Payroll System for Barangay Hall, Dita
Thesis about Computerized Payroll System for Barangay Hall, DitaThesis about Computerized Payroll System for Barangay Hall, Dita
Thesis about Computerized Payroll System for Barangay Hall, DitaAcel Carl David O, Dolindo
 
HBase Vs Cassandra Vs MongoDB - Choosing the right NoSQL database
HBase Vs Cassandra Vs MongoDB - Choosing the right NoSQL databaseHBase Vs Cassandra Vs MongoDB - Choosing the right NoSQL database
HBase Vs Cassandra Vs MongoDB - Choosing the right NoSQL databaseEdureka!
 
Computerized payroll system
Computerized payroll systemComputerized payroll system
Computerized payroll systemFrancis Genavia
 
Payroll Management System
Payroll Management SystemPayroll Management System
Payroll Management SystemDheeraj Jha
 
Database Design Slide 1
Database Design Slide 1Database Design Slide 1
Database Design Slide 1ahfiki
 
Computer science project work
Computer science project workComputer science project work
Computer science project workrahulchamp2345
 

Destacado (20)

J2EE - Practical Overview
J2EE - Practical OverviewJ2EE - Practical Overview
J2EE - Practical Overview
 
Wso2 con 2014 event driven architecture Publish/Subscribe Pubsub
Wso2 con 2014 event driven architecture Publish/Subscribe PubsubWso2 con 2014 event driven architecture Publish/Subscribe Pubsub
Wso2 con 2014 event driven architecture Publish/Subscribe Pubsub
 
database slide 1
database slide 1database slide 1
database slide 1
 
Database slide
Database slideDatabase slide
Database slide
 
database slide
database slidedatabase slide
database slide
 
Evolving the Web into a Global Database - Advances and Applications.
Evolving the Web into a Global Database - Advances and Applications. Evolving the Web into a Global Database - Advances and Applications.
Evolving the Web into a Global Database - Advances and Applications.
 
Writing High Quality Code in C#
Writing High Quality Code in C#Writing High Quality Code in C#
Writing High Quality Code in C#
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - English
 
RMAN best practices for RAC
RMAN best practices for RACRMAN best practices for RAC
RMAN best practices for RAC
 
14. Defining Classes
14. Defining Classes14. Defining Classes
14. Defining Classes
 
REST vs. Messaging For Microservices
REST vs. Messaging For MicroservicesREST vs. Messaging For Microservices
REST vs. Messaging For Microservices
 
Payroll system
Payroll systemPayroll system
Payroll system
 
0. Course Introduction
0. Course Introduction0. Course Introduction
0. Course Introduction
 
Oracle database 12c new features
Oracle database 12c new featuresOracle database 12c new features
Oracle database 12c new features
 
Thesis about Computerized Payroll System for Barangay Hall, Dita
Thesis about Computerized Payroll System for Barangay Hall, DitaThesis about Computerized Payroll System for Barangay Hall, Dita
Thesis about Computerized Payroll System for Barangay Hall, Dita
 
HBase Vs Cassandra Vs MongoDB - Choosing the right NoSQL database
HBase Vs Cassandra Vs MongoDB - Choosing the right NoSQL databaseHBase Vs Cassandra Vs MongoDB - Choosing the right NoSQL database
HBase Vs Cassandra Vs MongoDB - Choosing the right NoSQL database
 
Computerized payroll system
Computerized payroll systemComputerized payroll system
Computerized payroll system
 
Payroll Management System
Payroll Management SystemPayroll Management System
Payroll Management System
 
Database Design Slide 1
Database Design Slide 1Database Design Slide 1
Database Design Slide 1
 
Computer science project work
Computer science project workComputer science project work
Computer science project work
 

Similar a Public Cloud Platforms for .NET Developers

Cloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarbor
Cloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarborCloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarbor
Cloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarborSvetlin Nakov
 
Microsoft on AWS - AWS Summit SG 2017
Microsoft on AWS - AWS Summit SG 2017Microsoft on AWS - AWS Summit SG 2017
Microsoft on AWS - AWS Summit SG 2017Amazon Web Services
 
Azure Cloud Dev Camp - App Platform
Azure Cloud Dev Camp - App PlatformAzure Cloud Dev Camp - App Platform
Azure Cloud Dev Camp - App Platformgiventocode
 
Developing Social Games in the Cloud
Developing Social Games in the CloudDeveloping Social Games in the Cloud
Developing Social Games in the CloudJurriaan Persyn
 
Architecting for the Cloud: Best Practices
Architecting for the Cloud: Best PracticesArchitecting for the Cloud: Best Practices
Architecting for the Cloud: Best PracticesAmazon Web Services
 
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh VariaAWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh VariaAmazon Web Services
 
So There’s This Amazon Thing
So There’s This Amazon ThingSo There’s This Amazon Thing
So There’s This Amazon ThingJared Faris
 
Using Azure cloud and Firebird to develop applications easily
Using Azure cloud and Firebird to develop applications easilyUsing Azure cloud and Firebird to develop applications easily
Using Azure cloud and Firebird to develop applications easilyMind The Firebird
 
Developing Java Applications in AWS
Developing Java Applications in AWSDeveloping Java Applications in AWS
Developing Java Applications in AWSNemanja Kostic
 
AWS Enterprise Workloads on AWS IP Expo 2013
AWS Enterprise Workloads on AWS IP Expo 2013AWS Enterprise Workloads on AWS IP Expo 2013
AWS Enterprise Workloads on AWS IP Expo 2013Amazon Web Services
 
Comparison and mapping between various cloud services 2019
Comparison and mapping between various cloud services 2019Comparison and mapping between various cloud services 2019
Comparison and mapping between various cloud services 2019jones4u
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesAmazon Web Services
 
Microsoft Azure: Opção de Nuvem para Todo o Desenvolvedor
Microsoft Azure: Opção de Nuvem para Todo o DesenvolvedorMicrosoft Azure: Opção de Nuvem para Todo o Desenvolvedor
Microsoft Azure: Opção de Nuvem para Todo o DesenvolvedorOsvaldo Daibert
 
Introduction to Windows Azure Platform
Introduction to Windows Azure PlatformIntroduction to Windows Azure Platform
Introduction to Windows Azure PlatformSergejus Barinovas
 
Modernizing existing .NET applications with Windows Containers and Azure cloud
Modernizing existing .NET applications with Windows Containers and Azure cloudModernizing existing .NET applications with Windows Containers and Azure cloud
Modernizing existing .NET applications with Windows Containers and Azure cloudMicrosoft Tech Community
 

Similar a Public Cloud Platforms for .NET Developers (20)

Cloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarbor
Cloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarborCloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarbor
Cloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarbor
 
Microsoft on AWS - AWS Summit SG 2017
Microsoft on AWS - AWS Summit SG 2017Microsoft on AWS - AWS Summit SG 2017
Microsoft on AWS - AWS Summit SG 2017
 
Azure Cloud Dev Camp - App Platform
Azure Cloud Dev Camp - App PlatformAzure Cloud Dev Camp - App Platform
Azure Cloud Dev Camp - App Platform
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
 
Developing Social Games in the Cloud
Developing Social Games in the CloudDeveloping Social Games in the Cloud
Developing Social Games in the Cloud
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
 
Architecting for the Cloud: Best Practices
Architecting for the Cloud: Best PracticesArchitecting for the Cloud: Best Practices
Architecting for the Cloud: Best Practices
 
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh VariaAWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia
 
So There’s This Amazon Thing
So There’s This Amazon ThingSo There’s This Amazon Thing
So There’s This Amazon Thing
 
Azure Web Jobs
Azure Web JobsAzure Web Jobs
Azure Web Jobs
 
Using Azure cloud and Firebird to develop applications easily
Using Azure cloud and Firebird to develop applications easilyUsing Azure cloud and Firebird to develop applications easily
Using Azure cloud and Firebird to develop applications easily
 
Developing Java Applications in AWS
Developing Java Applications in AWSDeveloping Java Applications in AWS
Developing Java Applications in AWS
 
AWS Enterprise Workloads on AWS IP Expo 2013
AWS Enterprise Workloads on AWS IP Expo 2013AWS Enterprise Workloads on AWS IP Expo 2013
AWS Enterprise Workloads on AWS IP Expo 2013
 
Comparison and mapping between various cloud services 2019
Comparison and mapping between various cloud services 2019Comparison and mapping between various cloud services 2019
Comparison and mapping between various cloud services 2019
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Microsoft Azure: Opção de Nuvem para Todo o Desenvolvedor
Microsoft Azure: Opção de Nuvem para Todo o DesenvolvedorMicrosoft Azure: Opção de Nuvem para Todo o Desenvolvedor
Microsoft Azure: Opção de Nuvem para Todo o Desenvolvedor
 
Introduction to Windows Azure Platform
Introduction to Windows Azure PlatformIntroduction to Windows Azure Platform
Introduction to Windows Azure Platform
 
Cloud PaaS with Java
Cloud PaaS with JavaCloud PaaS with Java
Cloud PaaS with Java
 
Modernizing existing .NET applications with Windows Containers and Azure cloud
Modernizing existing .NET applications with Windows Containers and Azure cloudModernizing existing .NET applications with Windows Containers and Azure cloud
Modernizing existing .NET applications with Windows Containers and Azure cloud
 
OpenCms Days 2012 - OpenCms on open clouds
OpenCms Days 2012 - OpenCms on open cloudsOpenCms Days 2012 - OpenCms on open clouds
OpenCms Days 2012 - OpenCms on open clouds
 

Más de Svetlin Nakov

BG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учителиBG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учителиSvetlin Nakov
 
Programming World in 2024
Programming World in 2024Programming World in 2024
Programming World in 2024Svetlin Nakov
 
AI Tools for Business and Startups
AI Tools for Business and StartupsAI Tools for Business and Startups
AI Tools for Business and StartupsSvetlin Nakov
 
AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)Svetlin Nakov
 
AI Tools for Entrepreneurs
AI Tools for EntrepreneursAI Tools for Entrepreneurs
AI Tools for EntrepreneursSvetlin Nakov
 
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023Svetlin Nakov
 
AI Tools for Business and Personal Life
AI Tools for Business and Personal LifeAI Tools for Business and Personal Life
AI Tools for Business and Personal LifeSvetlin Nakov
 
Дипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин НаковДипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин НаковSvetlin Nakov
 
Дипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООПДипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООПSvetlin Nakov
 
Свободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТСвободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТSvetlin Nakov
 
AI and the Professions of the Future
AI and the Professions of the FutureAI and the Professions of the Future
AI and the Professions of the FutureSvetlin Nakov
 
Programming Languages Trends for 2023
Programming Languages Trends for 2023Programming Languages Trends for 2023
Programming Languages Trends for 2023Svetlin Nakov
 
IT Professions and How to Become a Developer
IT Professions and How to Become a DeveloperIT Professions and How to Become a Developer
IT Professions and How to Become a DeveloperSvetlin Nakov
 
GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)Svetlin Nakov
 
IT Professions and Their Future
IT Professions and Their FutureIT Professions and Their Future
IT Professions and Their FutureSvetlin Nakov
 
How to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a JobHow to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a JobSvetlin Nakov
 
Призвание и цели: моята рецепта
Призвание и цели: моята рецептаПризвание и цели: моята рецепта
Призвание и цели: моята рецептаSvetlin Nakov
 
What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?Svetlin Nakov
 
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)Svetlin Nakov
 
Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)Svetlin Nakov
 

Más de Svetlin Nakov (20)

BG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учителиBG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учители
 
Programming World in 2024
Programming World in 2024Programming World in 2024
Programming World in 2024
 
AI Tools for Business and Startups
AI Tools for Business and StartupsAI Tools for Business and Startups
AI Tools for Business and Startups
 
AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)
 
AI Tools for Entrepreneurs
AI Tools for EntrepreneursAI Tools for Entrepreneurs
AI Tools for Entrepreneurs
 
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
 
AI Tools for Business and Personal Life
AI Tools for Business and Personal LifeAI Tools for Business and Personal Life
AI Tools for Business and Personal Life
 
Дипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин НаковДипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин Наков
 
Дипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООПДипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООП
 
Свободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТСвободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТ
 
AI and the Professions of the Future
AI and the Professions of the FutureAI and the Professions of the Future
AI and the Professions of the Future
 
Programming Languages Trends for 2023
Programming Languages Trends for 2023Programming Languages Trends for 2023
Programming Languages Trends for 2023
 
IT Professions and How to Become a Developer
IT Professions and How to Become a DeveloperIT Professions and How to Become a Developer
IT Professions and How to Become a Developer
 
GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)
 
IT Professions and Their Future
IT Professions and Their FutureIT Professions and Their Future
IT Professions and Their Future
 
How to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a JobHow to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a Job
 
Призвание и цели: моята рецепта
Призвание и цели: моята рецептаПризвание и цели: моята рецепта
Призвание и цели: моята рецепта
 
What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?
 
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
 
Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)
 

Último

ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 

Último (20)

ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 

Public Cloud Platforms for .NET Developers

  • 1. Public Cloud Platforms for .NET Developers Svetlin Nakov | Telerik www.devreach.com Sofia, 4-5 October 2012
  • 2. 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 www.devreach.com
  • 3. Public Cloud Platforms Overview, IaaS, SaaS, PaaS www.devreach.com
  • 4. 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 www.devreach.com
  • 5. 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) www.devreach.com
  • 6. 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, … www.devreach.com
  • 7. Typical Cloud Architecture  The typical cloud architecture is multi-tier, SOA, highly-scalable and highly-available Load Balancer Administration Monitoring Computing Computing … Computing Node Node Node Data- Storage Back-End Other bases Services Services Services  At each tier different managed services, technologies and languages can run www.devreach.com
  • 8. 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, … www.devreach.com
  • 9. Public .NET Clouds Develop and Run .NET Apps in the Cloud www.devreach.com
  • 10. 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? www.devreach.com
  • 11. 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 www.devreach.com
  • 12. 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, … www.devreach.com
  • 13. Windows Azure Hosting .NET Projects in Azure www.devreach.com
  • 14. 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 www.devreach.com
  • 15. Windows Azure – Architecture Azure Load Balancer Visual Studio + Azure Tools Management Portal Compute Compute Compute Windows Azure (Web role) (Worker role) (VM role) VM running IIS7 Windows VM Windows VM ASP.NET / PHP / C# / .NET code / Custom other Java code software SQL Tables Blobs Queues CDN Azure Other Azure / external services www.devreach.com
  • 16. 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 www.devreach.com
  • 17. 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 www.devreach.com
  • 18. 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) www.devreach.com
  • 19. 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 www.devreach.com
  • 20. Amazon Web Services (AWS) Hosting .NET Projects in AWS Beanstalk .NET www.devreach.com
  • 21. 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 EC2)  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! www.devreach.com
  • 22. AWS Architecture Elastic Load Balancing (ELB) Python + VS / Eclipse Plugins AWS SDK for Java, C#, PHP, AWS Management Console EC2 Instances + Storage (EBS) Any OS and development platform C# / Java / PHP / Python / Ruby / … Any development framework (.NET / Java EE / Symfony / Zend / Django / Rails / Node.js) RDB DynamoDB S3 EBS SQS SWF Other AWS / external services (ElastiCache, CloudFront CDN, SES, …) www.devreach.com
  • 23. 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 www.devreach.com
  • 24. 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, ... www.devreach.com
  • 25. 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 www.devreach.com
  • 26. 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) www.devreach.com
  • 27. AppHarbor Hosting .NET Projects in AppHarbor www.devreach.com
  • 28. 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 www.devreach.com
  • 29. AppHarbor Architecture Load Balancer (Nginx) AppHarbor Applications Management Console Visual Studio + Git Web worker instances Background workers Managed Windows Managed IIS environment environment C# / ASP.NET MVC / C# code Web Forms / WCF Managed SQL MongoDB, IronMQ, Server / MySQL CouchDB RabitMQ Other AppHarbor Add-On Services www.devreach.com
  • 30. 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) www.devreach.com
  • 31. 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) www.devreach.com
  • 32. 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 www.devreach.com
  • 33. AppHarbor: Live Demo ASP.NET MVC Project Deployment www.devreach.com
  • 34. Uhuru AppCloud Hosting .NET Projects in Uhuru www.devreach.com
  • 35. 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 www.devreach.com
  • 36. Uhuru AppCloud Architecture Load Balancer (Nginx on Ubuntu Linux) UhuruCloud.com Web Interface Uhuru Cloud Manager Linux / Windows Linux / Windows App Servers App Servers Managed IIS Managed Apache / environment Tomcat environment C# / ASP.NET MVC / Apache + PHP / Ruby / Web Forms / WCF Node.js / Tomcat + Java Managed SQL MongoDB RabitMQ Server / MySQL Other Uhuru Add-On Services www.devreach.com
  • 37. 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) www.devreach.com
  • 38. 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 www.devreach.com
  • 39. Uhuru: Live Demo ASP.NET MVC Project Deployment www.devreach.com
  • 40. Other .NET Clouds  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  .NET support still unavailable (as of 09/2012)  Heroku  Claim to support Mono apps on a Linux cloud  Moncai  .NET (Mono) cloud – not very active project www.devreach.com
  • 41. 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 www.devreach.com
  • 42. Public Cloud Platforms for .NET Developers Thank you! @svetlinnakov nakov.com bg.linkedin.com/in/nakov Svetlin Nakov | Telerik www.devreach.com
  • 43. Free Trainings @ Telerik Academy  “Cloud Development" course @ Telerik Software Academy  clouddevcourse.telerik.com  Telerik Software Academy  academy.telerik.com  Telerik Academy @ Facebook  facebook.com/TelerikAcademy  Telerik Software Academy Forums  forums.academy.telerik.com www.devreach.com