2. Session Objectives and Takeaways
What is Mobile Services?
What are the components?
Where to get the tools
How to get started
3. Why Mobile Services?
• Apps are everywhere
• Where’s the Data
• Who’s using it
• Minimize custom code
• Speed to market
4. Where does it run?
• Web
• Windows
• Android
• iOS
• Windows Phone
• etc…
Data
Svc
Data
Identity
5. Connected Patterns
• Create a Data Store
• Add services
• Host it somewhere
• Make it work
Data
Svc
Data
Identity
6.
7. Scenarios
• Modern Mobile Applications
Windows Store, Windows Phone, iOS, Android, HTML
• Common Scenarios
Reduce the friction and work required by providing solutions to
patterns to work with authentication, push notification,
structured storage and more
• Rapid Development
Provision and deploy solutions in minutes rather than days or
weeks
9. To get started…
• Windows Azure subscription
• Database for storing information
– SQL Azure for rapid provisioning and
deployment
– Dynamic Schema
• Service configuration and scaling
– Scripting on data
– Identity and notifications
• SDK to enable identity and notifications
10.
11. Code to instantiate Mobile Services
• In Application object add code to create
an instance of your Mobile Service
• Call methods to operate on the
service…i.e.
public static MobileServiceClient MobileService = new MobileServiceClient(
"https://demoapp123.azure-mobile.net/",
"OxxAAAAbbbCCCCCddEEEfffGGGh12345"
);
private void ButtonSave_Click(object sender, RoutedEventArgs e)
{
var todoItem = new TodoItem { Text = TodoInput.Text };
InsertTodoItem(todoItem);
}
12. Storage
• SQL Database partitioned by schema
– Appx.ToDoItem
– Appy.ToDoItem
• Manage data by standard SQL tools
– SQL Management Studio
– Portal
– REST API
– CLI Tools
13. Work with SQL
• Tables created in portal
• Dynamic SQL Enabled
• Create poco classes and persist as
tables
14.
15. Identity
• Use existing identity providers like Oauth
– Microsoft, Twitter, Facebook, Google, etc.
• Authorize to work with data
• Table options
– Everyone
– With application key
– Authenticated users
– Admins
16. Add code to trigger
authentication
private MobileServiceUser user;
private async System.Threading.Tasks.Task Authenticate()
{
while (user == null)
{
string message;
try
{
user = await App.MobileService
.LoginAsync(MobileServiceAuthenticationProvider.Facebook);
message =
string.Format("You are now logged in - {0}", user.UserId);
}
catch (InvalidOperationException)
{
message = "You must log in. Login Required";
}
MessageBox.Show(message);
}
}
19. Diagnostics, Logging and
Scale
• Diagnostics
– API calls
– CPU Time
– Data Out
• Logging
– console.error(…)
– console.log(…)
– …
Scale - Compute
Scale out instance count
Scale up VM size
Scale - Storage
Scale out mobile service tenant to
dedicated SQL DB
Scale up SQL DB
20. Pricing during Preview
reserved mode
service level
agreements
Preview
No availability SLA*
General Availability
99.9%
Private VM - Small instance
is the only size available
Free - unlimited inbound
data. 165MB outbound
data/day, excess charged.
Pay - SQL Database,
Compute same reduced rate
as Web Sites i.e 33%
discount, excess outbound
transfers starting at
$0.12/GB
Up to 100 applications
shared mode
21. Summary
• Learn and understand the patterns for
connected applications
• Use available tools and technologies to
make it simpler
• Try Azure Mobile Services today for FREE!
http://aka.ms/AzureTrialMB
• More info on my site
http://www.Benkotips.com
Editor's Notes
Slide Objectives:Detail what Mobile Services provides as far as Diagnostics, Logging and Scale is concernedSpeaking Points: Note when moving a Mobile Service from a multi-tenant DB to its own. Currently data is not automatically migrated.
Notes:More Details here - http://www.windowsazure.com/en-us/pricing/details/#header-0 SLAWhile Mobile Services is in preview, it can be used with apps in production, if customers ask for SLA and support, both can be provided by the product team upon request as part of the early adopters program, contact zumosla@microsoft.com for details.