Intro to Windows Azure
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Intro to Windows Azure

  • 6,638 views
Uploaded on

MSDN presentation for developers on Windows Azure Cloud Computing

MSDN presentation for developers on Windows Azure Cloud Computing

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
6,638
On Slideshare
6,537
From Embeds
101
Number of Embeds
7

Actions

Shares
Downloads
272
Comments
0
Likes
4

Embeds 101

http://blogs.msdn.com 64
http://www.slideshare.net 22
http://manan.posterous.com 8
http://www.techgig.com 4
http://posterous.com 1
http://weblog.chrisricard.net 1
http://www.linkedin.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Welcome everyone my name is <name> and I’m here today to introduce you to one of the most important new developer technologies starting off our new decade… Microsoft Windows Azure
  • You may have heard the term “Software as a Service” or SaaS. There are several “as a service” terms associated with cloud computing: Infrastructure as a Service, or IaaS, is where you pay for infrastructure resources such as servers, storage devices, and network equipment. Platform as a Service, or PaaS, is where you pay for a platform that includes an operating system and application stack. PaaS is inclusive of IaaS. Software as a Service, or SaaS, is where you pay to use an application. SaaS is inclusive of both PaaS and IaaS.An example of PaaS is Windows Azure.An example of SaaS is Microsoft Exchange Online.
  • You may have heard the term “Software as a Service” or SaaS. There are several “as a service” terms associated with cloud computing: Infrastructure as a Service, or IaaS, is where you pay for infrastructure resources such as servers, storage devices, and network equipment. Platform as a Service, or PaaS, is where you pay for a platform that includes an operating system and application stack. PaaS is inclusive of IaaS. Software as a Service, or SaaS, is where you pay to use an application. SaaS is inclusive of both PaaS and IaaS.An example of PaaS is Windows Azure.An example of SaaS is Microsoft Exchange Online.
  • Many of us have been working with software for years, and some of us even decades. As such, we have an implicit understanding of our environment… we know what kind of architectural patterns to apply and what kind of code to write for our environments that will work. We are delighted that we don’t have to involve ourselves in the nitty-gritty details of how a network load balancer is configured or what kind of firewall is required. We are happy that there are other non-application developers taking care of these details for us so that we can focus on the architectural design of our software and writing code to implement those designs.All this having been said… we certainly would all agree that our software environment has an influence on the style of code that we write… without understanding our environment (at least at the macroscopic level)… we would likely make many missteps in the design and coding of our software. It is for this reason that I am spending a brief amount of time telling you a little more about your environment… to help us design and write applications better for the cloud.Microsoft Data Centers are a big part of the Azure story. Microsoft is building large, sophisticated cloud data centers around the world to complement its existing data centers. Two cloud data centers are in operation in the U.S. in Chicago and San Antonio. In 2010 we’ll see European data centers in Dublin and Amsterdam and Asian data centers in Hong Kong and Singapore.
  • Let’s look at a few examples of cloud computing to get the idea. If you have an online application meant for consumers—such as a web site or an e-store—you could host that in the cloud. If you have a corporate application meant for your employees—such as an HR benefits management portal—you could host that in cloud and secure it to your enterprise. If you need to electronically integrate with customers or vendors—such as a shipping partner—you can use the cloud for shared applications, data, or messaging between organizations.There are lots of other ways to use the cloud. We’ll look at more scenarios later on.
  • This reference chart may help us to recognize opportunities for using cloud computing within our own organizations or our vendors or customers.A new social networking sight may need a massive amount of scalability…A 911 call center may require that last “9” of reliability…A tax preparation package may require varying amounts of computational power, storage, and bandwidth…A hurricane relief site may need to launch on a moment’s notice and be available for a duration that is hard to predict at the onset of the disaster.A genome sequencing project or perhaps a search for extraterrestrial planets to live on in our future might require massive amounts of parallel processing power.A new online startup may need to begin business with little or no capital investment and fail fast with little or no financial lossSo with the terrific list of “great fits” … are there any “bad fits”? Well… yes… there are a few… at the present time…Frequently updated applications are not very good candidates. Primarily I say this because as a developer … the time that it takes to deploy is longer than if you had your own local on premise or hosted servers; however, you must take this with a grain of salt as you’ll have to compare it against the level of effort the you presently invest to make deployments in order to gauge the applicability of this advice.Applications needing external data storage are also not very good candidates at the present time.Of course, this is a moving target… and as cloud computing evolves further… even these bullets (and others like them) may move from the not-so-good list to the good-list. We are entering a new era of software development where we will once again be inspired and excited about our profession as software developers!
  • The Windows Azure Cloud Fabric is what provides all of this…We get multiple virtual server instances provisioning on-the-fly.We get failure detection when one or more of these virtual server instances fails. Failures are rare, but when they happen, the Windows Azure Cloud Fabric will automatically spin up new server instances to replace failing ones.It’s the Windows Azure Cloud Fabric that controls how many instances are created and what role each instance plays. Of course it takes its queues from the configuration data that we supply.The Windows Azure Cloud Fabric also automatically configures load balancing for multiple service instances… and it does so in a very dynamic and flexible manner… allowing quick increases and decreases in available service capacity.
  • There are two core roles that server instances play in Windows Azure.The first role is the Web Role. A web role is used for web application programming in ASP.NET or PHPThe second role is the Worker Role. A worker role is used for performing work on behalf of the web role.In addition to the .NET languages, Worker Roles may be written in Ruby or Java.Worker Roles are used to improve scalability by increasing parallelism and asynchronicity.They are often used for background work.
  • Windows Azure provides hosting and storage and management.The Windows Azure data center infrastructure is called the Fabric and manages instances of your applications. The Fabric detects if something goes wrong and allocates replacement resources if necessary.You can host HTTP-accessed software such as web applications and web services in Windows Azure. You can also host background worker software.Windows Azure also provides non-database storage. This comes in 3 forms: blobs, queues, and data tables. Blobs are similar to files, queues are similar to enterprise queues, and data tables are record-based storage.The Windows Azure management portal allows you to create projects, deploy software, change number of instances, upgrade software, and promote between Staging and Production environments.
  • AppFabric is what makes theAzure platform enterprise-ready.Windows Server AppFabric and Windows Azure platform AppFabric enable users to build and manage applications more easily both on-premises and in the cloud.Windows Azure platform AppFabric, formerly called “.NET Services”, helps developers connect applications and services in the cloud or on-premises. This includes applications running on Windows Azure, Windows Server and a number of other platforms including Java, Ruby, PHP and others. It provides a Service Bus for connectivity across network and organizational boundaries, and Access Control for federated authorization as a service. Windows Azure platform AppFabric is in CTP now.Service Bus helps to provide secure connectivity between loosely-coupled services and applications, enabling them to navigate firewalls or network boundaries and to use a variety of communication patterns. Services that register on Service Bus can easily be discovered and accessed, across any network topology.The Microsoft® Access Control helps you build federated authorization into your applications and services, without the complicated programming that is normally required to secure applications that extend beyond organizational boundaries. With its support for a simple declarative model of rules and claims, Access Control rules can easily and flexibly be configured to cover a variety of security needs and different identity-management infrastructures.Management of the Service Bus and the Access Control Service is done through the web portal. The Windows Azure Platform AppFabric is still in CTP, and at the time of this video some of the specifics were in transition.
  • So that’s what the Windows Azure Cloud Fabric is all about… We’re developers… and we want to write software that targets the Windows Azure Platform… but we don’t have all of this incredible infrastructure on our development machines. It’s unclear for example, just exactly how we might go about building an application that required Blob Storage without actually having Blob Storage.Microsoft create a Windows Azure Cloud Fabric simulation environment just for that purpose… to give the .NET developer a familiar environment to work in that simulates all of the environmental characteristics of the actual Windows Azure Cloud Fabric.The “DevFabric” as it is called, runs locally on our boxes and interfaces with Visual Studio to give us an interactive debugger, simulated data storage, and other cloud services.
  • As was hopefully evident, the Azure developer experience leverages what you’re already familiar with.If you’re a .NET developer and your favorite technologies are ASP.NET, Silverlight, Windows Communication Foundation, or SQL Server you’re going to be able to use those same technologies in the cloud.You also continue to use familiar tools including Visual Studio and SQL Server Management Studio.Azure isn’t just for .NET developers, however. Most of the services in the cloud are accessible as RESTful HTTP calls. That means Java developers, PHP developers, Python developers can also use Azure.For .NET developers, the Windows Azure SDK and tools for Visual Studio gives you a cloud simulator. The Development Fabric simulates the hosting environment and Developer Storage along with SQL Express simulate cloud data storage. This means you can develop cloud applications locally, even when offline.
  • Here is a list of resources that will allow you to follow up on many of the features you’ve seen today, as well as become part of our development community!

Transcript

  • 1. Introduction to Microsoft Windows Azure
    Lynn Langit
    @llangit
    http://blogs.msdn.com/SoCalDevGal
  • 2. It’s an Operating System
    In the Could.
    Simple Answer?
  • 3. IaaS, PaaS and IaaS
    Infrastructure as a Service
    Platform as a Service
    Software as a Service
    SaaS
    ApplicationsPackaged Software
    PaaS
    PlatformOS & Application Stack
    PlatformOS & Application Stack
    IaaS
    InfrastructureServers · Storage · Network
    InfrastructureServers · Storage · Network
    InfrastructureServers · Storage · Network
  • 4. IaaS, PaaS and SaaS
    Infrastructure as a Service
    Platform as a Service
    Software as a Service
    SaaS
    ApplicationsPackaged Software
    PaaS
    PlatformOS & Application Stack
    PlatformOS & Application Stack
    IaaS
    InfrastructureServers · Storage · Network
    InfrastructureServers · Storage · Network
    InfrastructureServers · Storage · Network
  • 5. Lets Start from the Ground up
  • 6.
  • 7. Data Centers
    http://tinyurl.com/ChicagoDataCenter
  • 8. Microsoft Data Centers
    Vision
    Go Inside
    Energy Efficient
    Containers
    North American Data Centers
    European Data Centers
    Asian Data Centers
    Dublin
    Chicago
    Amsterdam
    San Antonio
    Hong Kong
    Singapore
  • 9. Demo
    • Live Windows Azure Applications In The Cloud
    • 10. http://lynntest.cloudapp.net/
    • 11. http://lynnguestbook.cloudapp.net/Default.aspx
    • 12. http://lynnsqlazure.cloudapp.net/Default.aspx
  • Network
    Upgrades
    Installing OS
    Routers
    Zero downtime
    Patching
    Hard drive failure
    Memory
    Storage
    Server acquisition
    Load balancers
    Environments
  • 13. Enterprise to Cloud
    Corporate &Departmental Applications
    Consumer to CloudPublicly Accessible
    Web Sites, e-Stores & ISV SaaS Applications
    Cloud Computing Examples
    Cloud as a Hub Between Multiple Companies
    Enterprise to Enterprise
    Company A
    Company B
    Company
  • 14. Where the Cloud is Compelling
  • 15. Main Components
    • Cloud Fabric
    • 16. Web Roles
    • 17. Worker Roles
    • 18. Storage (Including SQL Azure)
    • 19. Dev Fabric
    • 20. App Fabric (Access Control, Service Bus)
  • Windows Azure Cloud Fabric
    Multiple virtual instances
    Easy provision of applications
    Detect failures
    Spin up new instances to replace the failed ones
    How many instances and what role they will play
    Load balances and DNS
    Elasticity of the service… scaling up/down number of instances
  • 21. Windows Azure Roles
  • 22. Storage
    Blobs – Large Data Store
    Queues – Background work processing
    Tables – Very Fast / Scalable Storage
    Drives – NTFS Formatted Page Blobs
    SQL Azure – Relational SQL in the Cloud
  • 23. Windows Azure AppFabric
    Service Bus
    Access Control Service
    Management
    Compute
    Storage
    Management
    Management
    Relational data
    Connectivity
    Access control
  • 24. Windows Azure DevFabricLocal Developer Simulation of AppFabric
    Simulated “Cloud Experience” for Development
    Routes cloud requests to local machine
    Simulates data storage with local SQL server database
    Azure SQL simulated with local SQL Server database
    Compute
    Storage
    Management
    Management
    Relational data
    Connectivity
    Access control
  • 25. Developer Experience
    Leverage Existing Skills in .NET, SQL Server, WCF
    Use Familiar tools – Visual Studio, SSMS
    RESTful HTTP cloud services, supports PHP, Python
    Cloud apps can be developed locally / offline
    SDK Cloud Simulator – Dev Fabric, Dev Storage
    Other tools (CodePlex)
    Azure Storage Manager
    SQL Azure Explorer Add in for VS2010
    Azure Table Query
  • 26. MSDN / BizSpark Offer
  • 27. Demo
    Building Our First Cloud Application
    With Microsoft Windows Azure
  • 28. Summary
    • What is Azure
    • 29. Infrastructure
    • 30. Web Roles
    • 31. Worker Roles
    • 32. Storage (Including SQL Azure)
    • 33. Cloud Fabric, Dev Fabric, App Fabric
  • Resources – Windows Azure Platform
    Windows Azure Developer Platformhttp://www.microsoft.com/windowsazure/developers/
    Channel 9 videoshttp://channel9.msdn.com/azure
    Windows Azure Platform Training Kithttp://www.azure.com
    Microsoft PDC 2009http://microsoftpdc.com/
    Windows Azure SDKhttp://www.microsoft.com/windowsazure/developers/