-
1.
DECEMBER 14, 2011 | SLIDE 1
-
2.
www.realdolmen.com
WINDOWS AZURE AND THE CLOUD
WHAT IT’S ALL ABOUT
DECEMBER 14, 2011 | SLIDE 2
-
3.
WHO AM I?
Maarten Balliauw
Antwerp, Belgium
www.realdolmen.com
Focus on web
ASP.NET MVC, PHP, Azure, SignalR, …
MVP Windows Azure (formerly ASP.NET)
Co-founder of AZUG
http://blog.maartenballiauw.be
@maartenballiauw
DECEMBER 14, 2011 | SLIDE 4
-
4.
AGENDA
Why Cloud Computing?
Windows Azure
The datacenters
The products
Developing for the cloud
Conclusion
Q&A
DECEMBER 14, 2011 | SLIDE 5
-
5.
Why
CLOUD COMPUTING
DECEMBER 14, 2011 | SLIDE 6
-
6.
INEFFICIENCIES IN TRADITIONAL IT…
Allocated Load
IT-capacities Forecast
“Under-supply“
of capacities
IT CAPACITY
“Waste“ of Fixed cost of
capacities IT-capacities
Barrier for
innovations Actual Load
TIME
DECEMBER 14, 2011 | SLIDE 7
-
7.
HOWEVER, IN A CLOUD VIEW
Load
Allocated IT Forecast
capacities
No “under-supply“
IT CAPACITY
Reduction of Possible
“over-supply“ reduction of
IT-capacities
in case of
Reduction reduced load
of initial
investments
Actual Load
Time
DECEMBER 14, 2011 | SLIDE 8
-
8.
INSTANT WINS
Average
Compute
Compute
Compute
Usage
Inactivity
Period Average
Average Usage Usage
Time Time Time
On and off Scale fast, fail fast Burst scenarios
DECEMBER 14, 2011 | SLIDE 9
-
9.
… AS A SERVICE
On Premises Location Off Premises
Heterogeneous Infrastructure Homogeneous
CapEx (invest) Business model OpEx (cost)
Choices
Choices
Own Ownership Lease/Rent
Self Management Third Party
Self Responsibilities Third Party
Customized Standardization Standardized
DECEMBER 14, 2011 | SLIDE 10
-
10.
HORSELESS CARRIAGE SYNDROME
Early 20th century: “car”
Long standing paradigm: “horse and carriage”
Initial failure to comprehend the new paradigm
“The horse is here to stay
but the automobile is only a novelty“
High cost and shortage of capable drivers
Engineers kept designing the whip holder
First cars looked alike
However... Technology evolved
Faster time to “market” (horses get tired)
Reduction in complexity and cost
No need to care for a horse
DECEMBER 14, 2011 | SLIDE 11
-
11.
The datacenters
WINDOWS AZURE
http://bit.ly/rJTiVW
DECEMBER 14, 2011 | SLIDE 12
-
12.
North America Region Europe Region Asia Pacific Region
N. Europe
N. Central – US Sub-region
Sub-region
W. Europe E. Asia
Sub-region Sub-region
S. Central - US
Sub-region
S.E. Asia
Sub-region
DECEMBER 14, 2011 | SLIDE 13
-
13.
DECEMBER 14, 2011 | SLIDE 14
-
14.
DECEMBER 14, 2011 | SLIDE 15
-
15.
DECEMBER 14, 2011 | SLIDE 16
-
16.
DECEMBER 14, 2011 | SLIDE 17
-
17.
DECEMBER 14, 2011 | SLIDE 18
-
18.
DECEMBER 14, 2011 | SLIDE 19
-
19.
DECEMBER 14, 2011 | SLIDE 20
-
20.
DECEMBER 14, 2011 | SLIDE 21
-
21.
DECEMBER 14, 2011 | SLIDE 22
-
22.
DECEMBER 14, 2011 | SLIDE 23
-
23.
DECEMBER 14, 2011 | SLIDE 24
-
24.
DECEMBER 14, 2011 | SLIDE 25
-
25.
The products
WINDOWS AZURE
DECEMBER 14, 2011 | SLIDE 26
-
26.
WINDOWS AZURE
Compute Storage SQL Azure Service Bus Connect
BI Marketplace CDN Caching ACS
Application Services Storage Services Foundation Services
DECEMBER 14, 2011 | SLIDE 27
-
27.
AN EXAMPLE: MOBISTAR
Three-day campaign
> 3mio unique visitors
Components used:
Compute
Storage
Caching
CDN
(Content Delivery Network)
Number of servers vs. actual load
DECEMBER 14, 2011 | SLIDE 28
-
28.
AN EXAMPLE: SYNTRA
Only uses the Access Control Service block
Reduces maintenance
No more identity integration issues
Moodle
Hosted Exchange
Other apps
DECEMBER 14, 2011 | SLIDE 29
-
29.
AN EXAMPLE: MYGET
Uses a lot of the Windows Azure components
“Scale fast, fail fast”
DECEMBER 14, 2011 | SLIDE 30
-
30.
QUICK SCENARIO : HOSTED APP, CLOUD STORAGE
Dynamic Content Static Content
Your
Servers
DECEMBER 14, 2011 | SLIDE 31
-
31.
QUICK SCENARIO : CLOUD APP, CLOUD SCALE
DECEMBER 14, 2011 | SLIDE 32
-
32.
DEVELOPING FOR THE CLOUD
DECEMBER 14, 2011 | SLIDE 33
-
33.
IT’S JUST WINDOWS!
Meaning: it runs whatever you want
Official support for
.NET
Node.JS
Java
PHP
DECEMBER 14, 2011 | SLIDE 34
-
34.
WINDOWS AZURE SDK
Visual Studio add-in
Emulates storage & compute
Use SQL Express to emulate SQL Azure
http://www.windowsazure.com/en-us/develop/net/
DECEMBER 14, 2011 | SLIDE 35
-
35.
THE SDK & TOOLS
Deploy
Test
Manage
DECEMBER 14, 2011 | SLIDE 36
-
36.
EMULATOR
Develop Locally
Parity with Cloud
Compute & Storage
DECEMBER 14, 2011 | SLIDE 37
-
37.
GETTING THE TOOLS
Install with WPI
http://aka.ms/WATools
DECEMBER 14, 2011 | SLIDE 38
-
38.
HELLO, WORLD!
DECEMBER 14, 2011 | SLIDE 39
-
39.
TANKSTER
DECEMBER 14, 2011 | SLIDE 40
-
40.
TANKSTER
Sample application by Microsoft
Online game
Uses:
Architecture for Scale
Architecture for Resiliency
Compute, storage, SQL Azure, ACS, CDN
http://www.tankster.net (play)
http://watgames.codeplex.com (code)
DECEMBER 14, 2011 | SLIDE 41
-
41.
CONCLUSION
DECEMBER 14, 2011 | SLIDE 42
-
42.
WHAT TO REMEMBER?
Cloud is here to stay
Windows Azure is
Application services
Storage services
Foundation / integration services
Cloud is not all-or-nothing
Quick wins
On and Off
Scale fast, fail fast
Peak scenarios
Start today – www.azure.com
DECEMBER 14, 2011 | SLIDE 43
-
43.
AZUG.BE – AZURE USER GROUP BELGIUM
Monthly session around a Windows Azure related topic
National & international speakers
Community driven
www.azug.be
DECEMBER 14, 2011 | SLIDE 44
-
44.
Q&A
DECEMBER 14, 2011 | SLIDE 45
-
45.
THANK YOU FOR JOINING
DECEMBER 14, 2011 | SLIDE 46
To build an application or solution in a legacy world, you have to think about network, OS, storage, and scale. But they have little to do with what you really want to build, an application.But what if there were a different way.
Talking points:Some applications are perfect matches for a cloud model.<click> On and off scenarios are typically applications that perfectly fit in a cloud model. Imagine processes that only run for an hour a day, or a day per month, or once a year. We have a client who does school registrations for some schools, ensuring no parents have to stay in tents and have to wait until registration opens. Their engine calculating who gets priority in registering ther children in a school typically runs for 5 hours, twice a year. They use Windows Azure to host that flow and only pay for 10 hours of sever use, yearly. Or, in money terms: just below 2 EUR per year.<click> Scale-fast, fail fast scenarios are also common indicators for working with a cloud platform. By scale fast, we are talking not only about the Facebooks and Twitters in this world, but also incubator ideas. Imagine you have an idea for an application, for example one where users can request an offer for some products. Why not go ahead and build that app, and hosting on Windows Azure? If it works out and gives value, keep it running. If after 2 months nobody used it, simply trash it: fail fast. The idea had a chance to prove itself. In non-cloud scenarios where servers had to be bought, chances are this idea would have never been tested. Scale-fast, fail-fast is all about stimulating innovation: testing ideas, apart from developing them, costs little compared to what they may bring in revenue afterwards.<click> Burst scenarios, predictable and non-predictable, are another scenario. Imagine you run a campaign, you know you’ll have more users at that time. Simply add some resources in the cloud platform and remove them again afterwards. Also unpredictable bursts are a good scenario: if you sometimes have peak usage on your apps, host them in a cloud. Windows Azure can scale up when needed and scale back when no longer needed.Do remember other scenarios are possible as well. These are just three scenarios where, if you recognize your app in one of them, the cloud will be a perfect match and you will benefit in terms of stability, scalability and cost reduction.Note to speaker: if people ask about “autoscaling”: this is not supported out of the box but can easily be added. The new version of EntLib contains a ready to use block. Also, RealDolmen has developed a component that takes care of this.
Talking points:Let’s first look at where your application may live when hosted in Windows Azure.Windows Azure and its services are hosted in 6 datacenters accross 3 regions. This means if you have an application or data that should reside in a specific data center, you can do that. For example, keep your data in the Amsterdam datacenter (West Europe).Data centers are always mirrored within the same region. This means your data stored in Amsterdam always has a copy in Dublin (Northern Europe). Note that this behaviour can be disabled if required by legislation.Windows Azure is designed for failure: if a server fails, your data and app are available on another server and fail-over between servers automatically happens. The same with racks: one rack fails over to another rack when needed. One server oom to another server room. One data center to another data center.
Talking points:This is Microsoft’s Northern Europe Datacenter (also known as Dublin). It is a so-called generation 3 datacenter, which means no “containerized” servers are in there. Instead, a large amount of racks are in the datacenter.Within RealDolmen, 2 persons have had the luck of being able to visit this datacenter on different times. Both came back, impressed, and could not stop talking about many of the environmental and security measures being taken. Unfortunately, those things are covered by an NDA. Some non-NDA items are, for example the fact that no one can enter the datacenter alone. Every room requires authentication, often with biometric scans. No human in the datacenter knows where which workload and thus your app resides within the datacenter. The datacenter decides this for itself based on security, privacy and load constraints.
Talking points:The Chicago datacenter is double the size of the Dublin datacenter.It is a generation 4 datacenter, which means: containerized and more efficient.
Talking points:When extra capacity is required in the datacenter, containers are “plugged” into the giant “USB ports” you see on this picture.
Talking points:- No cooling is required: containers are cooled, not the empty space in between. A container typically is either compute (servers) or cooling. The ones inb the picture probably always are servers below, cooling in the upper container.
Another view.
Talking points:The amount of servers in a typical Microsoft datacenter is enormous. Imagine a few thousand server racks, stuffed with 1 U or ½ U servers all running a couple of virtual machines. Nobody but large companies like Microsoft can provide that amount of power in a central location.
Talking points:Windows Azure is Microsoft’s cloud platform. It is designed to be a “menu” of cloud services required for your applications, as you will see.<click> It consists of a series of application services. If you decide your application hosting should no longer be in your own datacenter or you have certain applications you want to host externally, these components may be of use. <click> The Compute service offers you load balanced IIS servers that can host your applications. <click> If you want to externalize some “number crunching” and reporting, Windows Azure offers a set of tools similar to SQL Server Reporting Services that you can use at will. <click> Finally, you can offer your applications in an app-store model known as the Marketplace.<click> All applications, whether hosted in your own datacenter or in Windows Azure will require storage services. Be it under the form of <click> simple file storage (that is scalable by default, so no need for extra servers when disks run full), a <click> SQL Azure relational database or a <click> Content Delivery Network. All data is stored securely, in threefold spread accross multiple datacenters. You can also encrypt data using your own certificates.Last but not least, some <click> foundation services are offered. The <click> service bus enables you to connect API’s in different locations without opening a firewall. For example, your cloud-hosted application can use the service bus feature to connect to a service in your company without any direct communication between both parties, ever. <click> The Connect feature goes beyond that and will tunnel any network traffic between Windows Azure and your datacenter. Consider it like A secure VPN service. <click> Some applications require a form of (distributed) caching, offered by the caching service. Finaly, the <click> Access Control Service enables you to have a cloud hosted application where users can login through your Active Directory, relayed through the Access Control Service. Yes, even single sign-in between the cloud and your datacenter will work.(eventueel kan je hier de login op http://realdolmen.customer.myget.org demo-en)
Talking points:To give you an example on how to combine blocks, look at a project we did with Mobistar. They had a campaign running for only 3 days with > 3mio unique visitors. After these 3 days, the app was still live for 14 days just showing a thank you page.To handle that load, a series of Compute instances on Windows Azure were used, a virtual server farm with a large number of services used on demand. For example, during nights we only had 2 servers running, at peak moments we scaled to > 50 servers. This resulted in an average consumption of compute resources which was a lot lower than having to buy or rent 50+ servers the whole time. I can not disclose the actual # of servers, but the total Windows Azure invoice (just the resources used) was only USD 580. Including VAT. FOR 50+ SERVERS!!!Next, we of course required storage. Some GB were used, but at USD 0.12 per month those were not expensive.Caching was used: session state for users had to be distributed over multiple servers, the caching block offers this functionality.CDN, the Content Delivery Network, was used to host images, CSS and JavaScript. Why bother the compute instances with static file hosting?
Talking points:Not only scaling out can be a reason to move to Windows Azure. For Syntra, we have a solution which uses the Access Control component to have users authenticate on their Active Directory from different applications like a hosted Exchange, a PHP-based Moodle installation, ...This solution does not require open firewall ports, minimal maintenance.This solution costs them 30 EUR per year. Including VAT.
Talking points:Another example is MyGet.MyGet uses a lot of the components in Windows Azure. It is a software-as-a-service, meaning anyone out there can use this application and eventually pay for using it.The business model was uncertain: would it work? Would people like it and use it? Or was it doomed from the start?To cover that uncertainty, Windows Azure was the platform of choice: it provides a rich set of services (compute, storage, access control, database, a global deployment on 2 continents, ...).Running in 2 datacenters globally, MyGet only costs 150 EUR incl. VAT in pure computational resources. Or 5 EUR per day. This means, if the application would have proven not to work, letting it “fail” and taking it offline would be possible at any time, without the risk of having a few servers that were bought or leased for three years sitting idle.