Microsoft Azure intro - common information and blah blah blah about cloud computing, virtual machines - comparing A and D series by numbers ( performance CPU, RAM, storage ) and variability, Web apps ( ex-Web sites ).
9. North Central US
South East Asia/
Singapore
East Asia
/Hong Kong
North Europe/ Dublin
West Europe/
Amsterdam
South Central US
East US
West US
Japan East/
Saitama
Japan West
/ Osaka
Brazil South / San
Paulo (preview)
China South+North/
Vianet21
Microsoft Azure : 13 datacenter locations
13. Global Azure Content Delivery Network
Node locations list on world map
aka.ms/cdn-map
14. Global Azure Content Delivery Network
Node locations list on world map aka.ms/cdn-map
15. FromTo (ms) North-central US South-central US North Europe West Europe East Asia South-East Asia
North-central US 4.2 35.3 97 103.6 190.9 219.7
South-central US 37.8 2.3 111.2 117.5 190 218.6
North Europe 99.8 111.8 2 20.9 283.3 312.3
West Europe 107.5 118.6 21.1 2.3 291.8 320.8
East Asia 194.5 190.8 284.2 291.7 1.6 32.6
South-East Asia 223.1 219.2 312.9 320.1 32.2 1.9
Cross Data center latencies
16. Want to try ?
Free 30 days trials on azure.com
2 year free trial for MSDN members
3 year free trial for BizSpark member
– each BizSpark trial includes 5 MSDN subscriptions
You may try to get Windows Azure Offer $5K/mo for 1 year (
BizSpark+)
25% discount to MSDN members for out-of-limit Azure usage
Discounts via Enterprise Agreements with Microsoft
17. Microsoft program for startups : BizSpark
Easy to register – bizspark.com
3 year free trial for member
– each BizSpark trial includes 5 MSDN subscriptions
You may try to get Windows Azure Offer $5K/mo for 1 year (
BizSpark+)
18. Case studies
Just a few of them is:
• Olympic games 2014 – we developed and host sochi2014.com, provide online streaming
for NBC Sports
• Xbox games – most of games are back-end on Azure – like Titanfall, Xbox team is biggest internal
customer
• The Romanian Ministry of Education via Siveco uses Azure for high school
admission application, ADLIC, which is used to publish high school entry test scores.
aka.ms/azure-cases
19. Azure accounts
• Account administrator – purchase subscription, can see all billing info
• Service administrator – can manage subscription, can’t see billing
• Service co-administrator - the like service admin, but can’t add another co-admin
The Service Administrator is a property of each Azure subscription, and it represents a person
who can login to the Developer Portal and develop against a subscription (e.g. deploy to it or
create new resources). Typically, an Account Administrator purchases an Azure subscription,
makes his or her developer the Service Administrator and now the developer can login to the
Developer Portal. A Service Administrator cannot see the subscription’s billing details in the
Billing Portal. The Service Administrator can only be changed in the Billing Portal.
A Co-Administrator is very similar to the Service Administrator, with a small difference – they
are added from within the Developer Portal and there can be multiple Co-Administrators for a
subscription but only one Service Administrator. Similar to the Service Administrator, a Co-
Administrator cannot see billing details.
25. Task #1 – Have Azure account works
• Register Azure account
• Login into portal – find account administrator, service administrator
• Check billing page
• Switch between two portals – new and old
• Setup command line tools and configure them
• Use publish settings file for configure tools
29. Virtual Machines
ОC: Linux, Windows, vmdepot.msopentech.com
A-series: VM for common usage ( A8-A11 – HPC VMs with high CPU/network requirements )
D-Series: For tasks where we need fast cache-like storage based on SDD
DS-series: When we need SDD persistent storage
G-series: “Godzilla” with huge amount of RAM
30. A Series – Basic and standard tier
•Availability: Basic tier VM is only available on A0-A4
instances, standard tier VM is available on all size instances
•Disk IOPS: Data disk IOPS for basic tier VM is 300, low
than standard tier VM which has 500 IOPS data disk.
•Price: Single tier VM can have up to 27% less in price
than standard tier VM.
•Feature cut: Basic tier VM does not include load
balancing or auto-scaling
•CPU: Standard tier have better CPU performance than
basic tier
31. A Series – Basic
Basic: Limited to 300 IOPS per data disk.
32. A Series – Standart
Standard: Gives you up to 500 IOPS per data disk, but also offers load balancing and auto-scale
33. A Series – Network intensive
10GB Ethernet + 2nd NIC : 32 Gbits RDMA/
The same like A8A9, only 10GB Ethernet
(no 2nd NIC with RDMA)
34. D Series standard
Better processors: 60% faster than A-series hosts
Host-local SSD: The host uses a local SSD volume to place the
temporary drive of the running virtual machines. This provides faster
paging and the ability to (disk) cache app/database data at ultra-high
speeds with low latency.
37. Godzilla series
These machines, like the D-series, make use of a host-local SSD drive to
place the temporary drive for performance. But the G-series virtual
machines are sized to provide much more RAM.
38. Multiple Network Interface Card support
NIC VM size
1 All except below
2 A3,A6,A8,D3,D12,G3
4 A4,A7,A9,D4,D13,G4
39. CPU Types
A-SERIES A0-A7: not officially specified ( may be AMD Optetron 1.6-2 GHz )
A-SERIES A8-A9-A10-A11: Intel® Xeon® E5-2670 2.60 Ghz
D-SERIES: not officially specified
DS-SERIES: not officially specified
G-SERIES: Intel® Xeon® processor E5 v3 family
40. Real life example
D14 / CentOS 6.5 / $1.5 per hour 16 cores
RAM 112 Gb
Persistent storage ( blobs ) 30 Gb
Ephemeral ( SSD cache ) storage 800 GB
42. Azure blob storage – speed up by RAID array
• Combining disks using Storage Spaces gives increase bandwidth in the times- from 2.8 to 9.25 times
depending on the scenario
• If you use 1 drive max speed is achieved when operations read-31,33 MB/s, while the indicator of the IOPS is
equal to its declared Microsoft (500 IOPS per disk data)
• Maximum speed when using 16 discs recorded in the script consistently record – 287,45 MB/swhen IOPS =
4599,34
43. CPU performance
On average, Microsoft Azure’s D-Series VMs outperformed their A-Series counterparts by 58
percent (see chart below). The difference between the A4 and D4 was only 43 percent due to
the considerable performance variation within the D4 instance
44. CPU variability
AMD OpteronTM Processor 4171 HE and the Intel Xeon CPU E5-2660
The AMD-based VMs exhibited a 6 percent performance advantage in integer-related
compute tasks, while the Intel-based VMs exhibited a 3 percent performance advantage in
floating point-related compute tasks
45. Memory bandwidth
Different types of hardware had an impact on the memory bandwidth of the A-Series.
VMs running on an AMD Opteron Processor 4171 HE showed 60% higher memory bandwidth
than VMs running on the Intel Xeon CPU E5-2660. The highest memory bandwidth observed for
the A-Series was 10.9 GB/s, whereas the highest recorded bandwidth for the D-Series was 58 percent
higher, at 17.2 GB/s.
46. Memory bandwidth variations
The A2, A3, D2 and D4 instances had relatively large fluctuations in memory bandwidth. The
Performance Variability for A2, A3, D2 and D4 were 20%, 24%, 27% and 52% respectively, while
the average Performance Variability for the other instances was approximately 4%
47. Storage performace (sequential write)
The D-Series VMs on average had 6.3X greater local sequential write IOPS than their A-Series
counterparts:
48. Storage performace (random write)
The D-Series VMs on average had 13.7x greater local random write IOPS than their A-Series
counterparts:
49. Storage performace (sequential read )
The D-Series VMs on average had 2.7x greater local sequential read IOPS than their A-Series
counterparts:
50. Storage performace (random read)
The D-Series VMs on average had 4.1x greater local random read IOPS than their A-Series
counterparts
51. Performance variability
Compared to the A-Series, whose storage PV ranged from 8 percent to 213 percent, the D-
Series showed significantly less variability. The D-Series’ storage PV mainly ranged from 0
percent to 4 percent, with only two exceptions in the random write tests (see chart below).
The
stability of the D-Series environments, however, may be attributed to a lower number of users,
thereby limiting user contention.
52. Compare A vs D - common information
CPU:
The D-Series’ vCPUs outperformed the A-Series’ vCPUs by 58%. A8-A11 are faster than D-series.
RAM:
The D-Series VMs displayed, on average, 65% more memory bandwidth than their A
The maximum memory bandwidth on the D-Series was 58% more than on the A-Series (17.2 GB/s vs. 10.9 GB/s).
Significant fluctuations on memory throughput were observed on the A2, A3, D2 and D4 instances.
Variability ranged from 20% to 52% of the average across the five-day testing period
Storage:
The D-Series had an average of 6.3x more IOPS than the A-Series for local storage.
The D-Series write IOPS scaled significantly as the VM sizes became larger.
The A-Series showed much more storage performance variability than the D-Series. D-Series
performance variability was under 5% for almost all measurements.
53. Task #2
• Run VM ( Linux or Windows ) - better to use command line tools
• If you can create PS or SH script for that – you’re HERO!
• Check speed of hard disk drive
• Create RAID 0 with 2 blobs
• Check speed disk
• Create RAID 0 with 4 blobs
• Check speed disk
•Share results
54. >375k
Websites Hosted
>2Billion
Requests per Day
>200kUnique
Customers
120%
Yearly Paid
Subscription Growth
%
Yearly Revenue
Growth
Azure Websites
by the Numbers
650%
Yearly Traffic
Growth500
57. Objectives
• Scalable e-commerce
website to sell flights,
both through travel
agencies and directly to
consumers
Tactics
• Built Azure -based
website using
Umbraco and SQL on
Azure for content and
images.
• Using VNET
connecting on-
premise
Results
• Scalable Website with
integration for Flight
booking and Check In
systems
58. Jägermeister
Objectives
• Create brand awareness
and loyalty
• Understand tastes and
preferences of audience
• Connect consumer
through shared
experiences
Tactics
Cloud-based website
and mobile application
for engaging customers
through social media.
video and audio
features.
Results
• Mobile app and Website
JagerBonds allows
posting photos and
videos to Facebook or
Instagram
• Compile posts and pair
them with songs
59. Hogarth - Digital Marketing Platform
Objectives
• Hogarth wanted to
streamline the
development and
management of its
clients websites.
Tactics
Hogarth developed an
innovative Digital Web
platform on Azure
Websites
Results
• Dramatically reduces website
launch times.
• Scales to meet demand—no
matter how high.
• Provides the ability to localize
and update sites quickly and
easily.
60. Azure Websites Features & Capabilities
Designed for secure mission-critical applications Optimized for Availability and Automatic scale Agility through Continuous Deployment
Hybrid Connections / VPN Support
Scheduled Backup
Azure Active Directory Integration
Site Resiliency, HA, and DR
Web Jobs
Role Base Access Control
Audit / Compliance
Enterprise Migration
Client Certs
Redis Caching
IP Restrictions/ SSL
Web Sockets
SQL, MySQL, DocDB, & Mongo
Automated Deployment
AutoScale
Built-in Load Balancing
WW Datacenter Coverage
End Point Monitoring & Alerts
App Gallery
DR Site Support
WildCard Support
Dedicated IP address
HTTP Compression
WebJobs
Sticky Sessions
Remote Debugging w/ Visual Studio
Site Staging Slots
Testing in Production
Continuous Integration/Deployment
Git, Visual Studio Online and GitHub
App & Site Diagnostics
OS & Framework Patching
Site Extensions Gallery
NET, PHP, Python, Node, Java
Framework Installer
Browser-based editing
Auto-Healing
Logging and Auditing
Note: Features to discuss today are in BOLD. Items with a * are to be released
67. Azure Websites Features & Capabilities
Designed for secure mission-critical applications Optimized for Availability and Automatic scale Agility through Continuous Deployment
Hybrid Connections / VPN Support
Scheduled Backup
Azure Active Directory Integration
Site Resiliency, HA, and DR
Web Jobs
Role Base Access Control
Audit / Compliance
Enterprise Migration
Client Certs
Redis Caching
IP Restrictions/ SSL
Web Sockets
SQL, MySQL, DocDB, & Mongo
Automated Deployment
AutoScale
Built-in Load Balancing
WW Datacenter Coverage
End Point Monitoring & Alerts
App Gallery
DR Site Support
WildCard Support
Dedicated IP address
HTTP Compression
WebJobs
Sticky Sessions
Remote Debugging w/ Visual Studio
Site Staging Slots
Testing in Production
Continuous Integration/Deployment
Git, Visual Studio Online and GitHub
App & Site Diagnostics
OS & Framework Patching
Site Extensions Gallery
NET, PHP, Python, Node, Java
Framework Installer
Browser-based editing
Auto-Healing
Logging and Auditing
Note: Features to discuss today are in BOLD. Items with a * are to be released
69. Task #3
• Create simple hello world web site, commit to github /any
repo
• Create web site based on that
• Create production/dev staging configuration
• Compare two techniques of deployment to production:
• Merge dev branch (after QA) with production branch
• Swap production/development staging
• Add domain Simpology.eu for production
• Use KUDU!!!
71. Running Modes
• On Demand
• User or REST API triggers the WebJob to execute
• Scheduled
• Uses the Azure Scheduler to trigger the execution
• Load balanced automatically (execution happens on the least loaded instance)
• Continuous
• Runs all the time (as a service)
• System monitors the state, and restarts if needed
• Singleton or Parallel mode
• Contiguous
• System monitor is only running when the website runs
• Hence, WebJob will only run when the website is up (sites with no traffic, sleep)
• Event triggered
• Can be bound to storage, queues, blob, tables, service bus queues,
• Execute on an event
72. Running Platform
• Inherits from Azure Scheduler
• Inherits from Azure Websites
• All features: Always ON, deployment slots,
• Languages: cmd, bat, exe, ps1, sh, php, py, js, jar…
• Deployment options
• Scalability
• Folder structure
• {site}wwwrootApp_Datajobs{job type}{job name}
• Load Balancing
• Triggered WebJobs are automatically load balanced
• Load Balancer forwards to least loaded instance
73. WebJobs SDK
• Binding
• Azure Storage: Queues, Blobs, and Tables,
• Service Bus: Queues
• Events
• on New: Queues, Blobs, Service Bus
• on Modify: Blobs
• Monitoring
• At the Function level
• Invocation parameters, Execution time, I/O,
• Basic profiling
• Casuality (chaining) between functions
• Parallelism
• Single or multiple Queue items
• Parallel processing of Queue items
• Async functions
73
74. Triggered jobs (Scheduled / On Demand)
System logs and user output
Graceful shutdown
Webhook for triggered job complete
Parameter passing as command line arguments
Run manually or on demand
Scheduled to Run Once
Scheduled Run repeatedly (every 1min - 18mo.)
Advanced schedules via Azure Scheduler
Configurable retry and error actions
Continuous jobs
System logs and user output
Singleton or parallel mode
Graceful shutdown
Always On for continuous (otherwise contiguous)
Settings file (optional)
Configurable restart time and timeouts
History size for triggered (# runs)
Stacks
cmd, bat, exe, ps1, sh, php, py, js (inherited list)
API
REST API via SCM endpoint
CSM endpoint
Triggers (Azure storage and Service bus)
on new for Queues, Blobs, Tables, Service Bus
on modify for Blob, Table
on delete for Blob, Table
Bindings
Blobs, Tables, Queues, Service Bus
Binds to C# primitives
ie. stream, string, TextReader/writer, etc…
Parallelism
Single or multiple Queue items
Parallel processing of Queue items
Poison message handling for Queues
Asynch functions
Monitoring for WebJobs
At the function level, invocation and params.
Logs time, runtime, sizes, etc …
Debugging for WebJobs
Invoke and Replay
Casuality (chaining) between functions
Search blobs
Error handling
Retries
WebJobs shutdown support
Runtime in Azure Websites WebJobs SDK
Publish WebJobs
Publish WebJobs with Web Site
Publish Console Apps directly
Continuous WebJobs
Start & Stop
View Dashboard
Attach Debugger
Triggered WebJobs
Create or Run on demand
View Dashboard
WebJobs new project templates
Scheduled & Continuous
Visual Studio tools
Some inherited features from Azure Websites
Visual Studio Online can edit scripts
Autoscale (monitors CPU, resources or schedule)
Share environment variables with Websites
Remote Debugging (attaching via scm endpoint)
Process explorer shows CPU and other resouces
Azure Traffic Manager for geo-distribution
Other Features
Server Explorer integration
WebJobs is found under the Websites nodes
75. Task #5
• Create simple web job which pack logs
• Create simple web job which restart web server
• Try to run some EXE
77. Use Azure to load
Balancing (round robin)
www.simpology.eu
simpology.trafficmanager.net
Mode: roundrobin
VM – on premise
simpology.azurewebsites.net
( backup replica )
78. Use Azure as disaster
recovery for your site
www.simpology.eu
simpology.trafficmanager.net
Mode: Failover
Linux VM – on premise
Backup web-site
simpology-site.azurewebsites.net
79. First 1 billion DNS
queries /month
$0.75 per million
queries
Over 1 billion DNS
queries / month
$0.375 per million
queries
Health Checks
(Azure)
$0.50 per Azure
endpoint / month
Health Checks
(External)
$0.75 per External
endpoint / month
Traffic Manager - pricing model
80. Hackaton!!!!! TASK #1
• Create some ‘HelloWorld’ site ( PHP or
Java ) on github
• Deploy on Web-sites!
• Do changes in code : check production
staging and development staging
• Do multi-datacenter deployment!
• How to do multi datacenter SQL back-
end ?
• Use traffic manager in different modes
81. Questions for task #1
• In round robin mode how routing
works ? When we go to which end-
point ( check one ip, several ips,
something under proxy )
• Do stress test:
• Kill one website
• Check is it available for end
customers?
• Check timelines when TrafficManager
figure it out. ( check different
scenarios )
82. Hackaton!!!! TASK #2
• Create some ‘HelloWorld’ site with
node.js on github
• Do stress test : run massive requests
and check answers – are we always get
root page ? ( look for bug when we get
200 ok and empty body !)
• Create a graph with response codes,
response time depending on requests
amount
• Check the same stuff with autoscaling!
83. Hackaton!!!! TASK #3
• Create some ‘HelloWorld’ site on
github
• Deploy it : one replica your hosting,
another replica on Azure
• Use TrafficManager for this in round
robin mode and fail-over
• Check response time in both modes for
both replicas
• Shutdown your own hosting
• Check what happened
85. Your own linux in Azure ?
Yes,if HyperV supports this
What you need is to add Linux agent
to your disto.
Linux agent responsible for
interacting with Windows Azure
Fabric Controller
Manual: aka.ms/agent
90. How to Azure : Tips and trick
30 days trials on windowsazure.com
2year trial for MSDN members
3year trial for BizSpark member ( very easy to join! ) – each
BizSpark trial includes 5 MSDN subscriptions
You may try to get Windows Azure Offer $60K for 2y
25% discount to MSDN members for out-of-limit Azure usage
GREAT, BIG DISCOUNTS via Enterprise Agreement!
91. Business support, if you do app based on Azure:
We can do co-marketing
You will have technical and business
persons to contact with
You may have great discounts on cloud
Early access to betas and updates
Participation in Microsoft activities –
events, road-show, campaign, business
and tech trainings
Yes, we have Go-To-Market program
for our partners which run on a global
level and we can help you to open
doors in specified region/industry
92. Online resources
msopentech.com
All questions about Azure in CEE
azure_cee@microsoft.com
CEE Azure user group in Facebook
Latest our twitter
@azure_cee
Open technologies in CEE
@OpennessAtCEE
Open technologies in CEE
opennessatcee.com