Mick Badran (Azure MVP, Insider, Advisor) Breeze [email protected] (@mickba) Offline Operations Remote Debug Tag Expressions Site to Site Virtual Network Xamarin integration Stop without Billing Traffic Manager Large Memory SKU Hyper-V.

Download Report

Transcript Mick Badran (Azure MVP, Insider, Advisor) Breeze [email protected] (@mickba) Offline Operations Remote Debug Tag Expressions Site to Site Virtual Network Xamarin integration Stop without Billing Traffic Manager Large Memory SKU Hyper-V.

Mick Badran (Azure MVP, Insider, Advisor)
Breeze
[email protected] (@mickba)
Offline Operations
Remote Debug Tag Expressions
Site to Site Virtual Network
Xamarin integration
Stop
without
Billing
Traffic Manager Large Memory
SKU
Hyper-V Recovery
SQL, SharePoint, BizTalk
Cloud
Services
SDK
2.0
Images
HDInsight
Mercurial Deployment
Windows Phone Support
Distributed Cache Scheduler
Partitioned Queues/Topics
Per Minute Billing Dynamic Remote Desktop Log Streaming
AutoScale
Android Support IaaS
HTML 5/CORS
Active Directory
IP and SNI SSL
Custom Mobile API
BizTalk Services
Hyper-V Disaster Recovery Support
2013
http Logs to Storage
IP/DDOS Protection
Multi-Factor Auth
http Logs to Storage
MSDN Dev/Test
Dynamic Remote Desktop
Storage
Analytics
Integration
Delete Disks
WebSockets AMQP Support
iOS Notification SupportVIP ACLs
New VM Gallery
PowerBI
Read-Only Secondary Storage Windows Server Backup Queue Geo Replication
Cloud Data Manager
Mobile Services
Manage Azure in AD
Notification Hubs
Windows 8
Git Source Control
B2B/EDI
AD Management Portal CORS/JSON Storage Support AD Directory
and EAI Adapters
VOD Streaming + Encoding
AutoScale/Monitoring
Web Sites
Point to Site
Media Services
Message Pump Programming Model
Sync
Notification Support
Software VPN
VS Online
Import/Export Hard Drives
Price Reductions across the board
Static Internal IP for VM
New Tooling from VS
Agent Injection in VM’s
Support for Chef and Puppet
Snapshot VM
Traffic Manager Support for Web Sites
Supporting Java backend for Web Sites
Web Site Backup
Staging Slot for Web Sites
AutoScale GA
VM Remote Debugging
Web Site IP/SNI SSL for Free
Mobile Services .NET support
Mobile Offline Data Sync
Mobile AD integration
SQLDB 500 GB increase
SQLDB SLA to 99.95%
SQLDB Active Geo-Failover
SQLDB backup/restore
New Azure Portal Preview
Azure Resource Groups
WebJobs in WebSites
Azure in China Open for Business
HD Insights Hadoop 2.2 Support
GA of Oracle Software in
Windows Azure
Azure in Japan DC’s Open for
Business
Windows Azure ExpressRoute
preview
PCI/DSS Compliance and
Expanded ISO cert
Read Access GEO Redundant
Storage
Azure Region in Brazil
announced
GA Biztalk Services
Azure AD Premium Preview
16 regions worldwide in 2014
Azure
footprint
>57% >250k
Fortune 500 using Azure
>20
>2
TRILLION
storage
objects
MILLION
requests/sec
Active websites
>300
>13
MILLION
AD users
BILLION
authentication/wk
Greater than
1,000,000
SQL Databases in Azure
>1
MILLION
Developers
registered with
Visual Studio
Online
Titanfall
Iaas
Paas
• VMs/Templates
• Virtual Networks
• Traffic Manager
•
•
•
•
•
•
AutoScale
Service Bus Event Hubs
Application Insights
Document DB
Machine Learning
Azure Search
Programming languages + tools
.NET, Visual Studio, TFS + Git, Java, NodeJS, PHP, Python, Ruby, C++
IaaS
PaaS
Windows VMs
Linux VMs
Storage
Networking
Web
Mobile
Gaming
Cloud services
Microsoft cloud infrastructure
Data
Analytics
Machine Learn
Identity
Virtual Networking
 Point-to-site VPN
 Dynamic routing
 Subnet migration
 Static internal IP
Intelligent customer routing with Traffic Manager
www.yourapp.com
www.yourapp.com
Programming languages + tools
.NET, Visual Studio, TFS + Git, Java, NodeJS, PHP, Python, Ruby, C++
IaaS
PaaS
Windows VMs
Linux VMs
Storage
Networking
Web
Mobile
Gaming
Cloud services
Microsoft cloud infrastructure
Data
Analytics
Machine Learn
Identity
Web announcements
Web Sites
 Autoscale
 Traffic manager
 Webjobs
 Backup
 Java support
.NET updates
Visual Studio Tooling
 ASP.NET MVC 5.1
 “New project” integration
 ASP.NET Web API 2.1
 Powershell automation
 ASP.NET Identity 2.0
 Node.js project support
 ASP.NET Webpages 3.1
CDN
 Generally available
Develop apps with…
.NET
Node.js
Python Java
PHP
AutoScale
AutoScale
AutoScale
Check the pulse
of your
application
Get 360 degree
view to
application’s
health with
relevant metrics to
help you detect
issues in
production.
Set up a view of
your application
health with
metrics that you
care
Identify issues
and patterns with
your application
in production
Code change
Application Usage
Non-invasive
A NoSQL document database-as-a-service, fully managed by Microsoft Azure.
For cloud-designed apps when query over schema-free data; reliable and predictable
performance; and rapid development are key. First of its kind database service to offer native
support for JavaScript, SQL query and transactions over schema-free JSON documents.
Data Services in Azure - vTomorrow
fully featured RDBMS
fully managed, scalable, queryable, schemafree JSON
document database service for modern applications
transactional processing
rich query
managed as a service
elastic scale
schema-free data model
internet accessible http/rest
arbitrary data formats
URL based JSON-Database as a Service
https://<docdb-servicename>.documents.azure.com:443/
e.g. https://micksdb.documents.azure.com:443/
.NET & JS SDK libraries
Microsoft.Azure.Document.Client
Example Connection from .NET SDK…
_client = new DocumentClient(new Uri(Globals.DocDBUri), Globals.DocDBKey);
Query and Create a Database
var db = _client.CreateDatabaseQuery().Where(d => d.Id == this.DatabaseName).AsEnumerable().FirstOrDefault();
if (db == null)
{
db = await _client.CreateDatabaseAsync(
new Database{
Id = this.DatabaseName
});
Console.WriteLine("Created Database");
}
Store a Document
public async Task StoreDocument(DocumentCollection coll,dynamic doc)
{
await _client.CreateDocumentAsync(coll.DocumentsLink, doc);
}
Sample Document Class – My Sample.
public class DocDBDocument
{
[JsonProperty("id")]
public string Id { get; set; }
public string DocumentType { get; set; }
public string Version { get; set; }
}
public dynamic DocContent { get; set; }
Get a Document Collection
coll = await _client.CreateDocumentCollectionAsync(db.CollectionsLink,
new DocumentCollection
{
Id = this.CollectionName
});
Query a Document Collection
public async Task<List<DocDBDocument>> GetDocuments(DocumentCollection coll,string docType)
{
var docs = _client.CreateDocumentQuery<DocDBDocument>(coll.DocumentsLink,
"SELECT * FROM SwimDocuments sDocs WHERE sDocs.DocumentType='" + docType + "'");
foreach (var doc in docs)
{
Console.WriteLine(doc.Id);
}
return (docs.ToList());
}
Publishers
Consumers
Reference – Microsoft.ServiceBus 2.2+ - this has EventHub classes.
Getting Started.
Trace.WriteLine("Connecting to ServiceBus EventHub");
//We can create alot of other things here - such as AMQP messages etc.
_recvClient = EventHubClient.CreateFromConnectionString(Globals.SB_EH_ConnString,"mickdemo");
_sendClient = EventHubClient.CreateFromConnectionString(Globals.SB_EH_Sender_ConnString,"mickdemo");
_sender = _sendClient.CreatePartitionedSender(this._partitionKey);
_grp = _recvClient.GetDefaultConsumerGroup();
//_receiver = _grp.CreateReceiver(_partitionKey,0); //receives ALL messages on the queue
_receiver = _grp.CreateReceiver(_partitionKey,DateTime.UtcNow.AddHours(-2)); //receives RECENT messages
on the queue
Trace.WriteLine("Connected");
Enter – THE LIGHTHOUSE…….
Web Apps
Mobile Apps
ML API service
PowerBI/Dashboards
Developer
Azure Portal &
ML API service
ML Studio
Azure Ops Team
Data Scientist
HDInsight
Azure Storage
Desktop Data
Data I/O
Taking Data & preparing for Analysis
Dimensionality reduction. E.g. Kinect measures 1000 points, 6 are relevant
Fitting Model selection; calibration; assessment
R – free scripts/graphics, many packages based on Vector Data.
Metrics to allow us to describe the data. E.g. Mean, Correlation…
Tools used for Text Input. E.g. ‘What is the theme of this essay?’
• Azure Search is a new managed search service
It serves a different set of use cases than SharePoint Search
Highly scalable with guaranteed throughput and storage.
API-based controls makes it simple to manage
Powerful search features with highly differentiated features on the roadmap
• Initial Functionality
Simple HTTP/JSON API for creating indexes, pushing documents, searching
Keyword search with user-friendly operators (+, -, *, “”, etc.)
Hit highlighting
Faceting (histograms over ranges, typically used in catalog browsing)
Suggestions (auto-complete)
Rich structured queries (filter, select, sort) that combines with search
Scoring profiles to model search result relevance
Geo-spatial support integrated in filtering, sorting and ranking
Azure Search REST API
http://msdn.microsoft.com/library/azure/dn798935.aspx
Create Index (Azure Search API)
POST https://[servicename].search.windows.net/indexes?api-version=2014-07-31-Preview
Add or Update Documents (Azure Search API)
POST https://[service name].search.windows.net/indexes/[index name]/docs/index?api-version=2014-0731-Preview
Search Documents (Azure Search API)
GET https://[service name].search.windows.net/indexes/[index name]/docs?api-version=2014-07-31-Preview&
[query parameters]
search=[string]
$filter=[string]
$orderby=[string]
$top=#
POST https://micksearch.search.windows.net/indexes?api-version=2014-07-31-Preview
Content-Type: application/json
api-key: CA52E9EFAF506EF0C8DD521DDA5A1C87
{
"name": "micksearchindex",
"fields": [
{"name": "beach", "type": "Edm.String", "key": true, "searchable": true},
{"name": "location", "type": "Edm.GeographyPoint"},
{"name": "tags", "type": "Collection(Edm.String)"}
]
}
POST https://micksearch.search.windows.net/indexes/micksearchindex/docs/index?api-version=201407-31-Preview
Content-Type: application/json
api-key: CA52E9EFAF506EF0C8DD521DDA5A1C87
{
"value": [
{
"@search.action": "upload",
"beach": "Pambula Beach",
"tags": [ "beach", "NSW" ],
"location": {
"type": "Point", "coordinates": [ -36.57, 149.54 ]
}
},
…]
}
GET https://micksearch.search.windows.net/indexes/micksearchindex/docs?api-version=2014-07-31Preview&search=bondi
Accept: application/json
api-key: CA52E9EFAF506EF0C8DD521DDA5A1C87
{
}
"@odata.context": "https://micksearch.search.windows.net/indexes('micksearchindex')/$metadata#docs(beach,location,tags)",
"value": [
{
"@search.score": 2.4077828,
"beach": "Bondi Beach",
"location": {
"type": "Point",
"coordinates": [-33.53, 151.17 ],
"crs": { "type": "name", "properties": { "name": "EPSG:4326"} }
},
"tags": [ "beach", "NSW" ]
},...
]
GET https://micksearch.search.windows.net/indexes/micksearchindex/docs?api-version=2014-07-31Preview&search=*&$filter=geo.distance(location,geography'POINT(151.17 -33.53)') le 10
Accept: application/json
api-key: CA52E9EFAF506EF0C8DD521DDA5A1C87
{
}
"@odata.context": "https://micksearch.search.windows.net/indexes('micksearchindex')/$metadata#docs(beach,location,tags)",
"value": [
{
"@search.score": 2.4077828,
"beach": "Bondi Beach",
"location": {
"type": "Point",
"coordinates": [-33.53, 151.17 ],
"crs": { "type": "name", "properties": { "name": "EPSG:4326"} }
},
"tags": [ "beach", "NSW" ]
},...
]