16. On Premises
Youscale,makeresilientandmanage
Infrastructure
(as a Service)
Managedbyvendor
Youscale,make
resilient&manage
Platform
(as a Service)
Scale,resilienceand
managementbyvendor
Youmanage
Hosting models
Software
(as a Service)
Business model
Applications
Scale,resilienceand
managementbyvendor
Why the cloud?
17. Microsoft Azure ServicesClientlayer
(on-premises)
Tablet Phone
Games
consolePC
On-premises
databaseBrowserOffice Add-in
On-premises
service
AD
Multifactor
Authentication
AccessControl
Layer
DataLayer
Storage Blobs Tables Queues Data
Machine
Learning HD Insight
Backup and
Recovery
SQL
Database Caching StorSimple
Application
layer
API Mgmt Web Apps
Cloud
ServicesVMMobile Apps
Media
Services
Notification
Hubs Scheduler AutomationAPI Apps
Integration
layer
Service Bus CDN
BizTalk
Services
Traffic
Manager
Virtual
Networks
Express
RouteLogic Apps
18. Microsoft Azure Services
Data
&Storage
Web
&Mobile
Compute
SQL
Database
App
Service
Virtual
Machines
Media&CDN
Media
Services
CDN
Developer
Services
DocumentDB Redis Cache
Cloud
Services Batch Service Fabric
Networking
Virtual
Network ExpressRoute
Traffic
Manager
StorSimpleSearchStorage
Identity
&Access
Azure Active
Directory
Multi-Factor
Authent
API
Management
Notification
Hubs
Mobile
Engagement
Visual Studio
Online
Application
Insights
Management
Scheduler Automation
Operational
Insights Key Vault
Analytics
&IoT
HDInsight
Machine
Learning
Stream
Analytics Data Factory Event Hubs
Hybrid
Integration
BizTalk
Services Service Bus Backup Site Recovery
Web App Mobile App API App Logic App
Blobs Tables Queues Files
Marketplace
…
Data Lake
Data
Warehouse
RemoteApp DNS
Application
Gateway
19. RESTAPI
Offline
sync
Facebook Twitter Microsoft Google Azure Active
Directory
Azure Mobile Apps
WindowsAndroid
Chrome
iOS
OSX
In-AppKindle
Backend code
SQL MongoTables O365 API Apps
Offline Sync
20. Create a Mobile Service
MobileService = new MobileServiceClient(
"https://myapp.azurewebsites.net");
21. Create Tables
IMobileServiceSyncTable<Store> table;
public async Task Init()
{
const string path = "syncstore.db";
var db = new MobileServiceSQLiteStore(path);
db.DefineTable<Store>();
}
var handler = new MobileServiceSyncHandler();
await MobileService.SyncContext.InitializeAsync(db, h);
table = MobileService.GetSyncTable<Store>();
Extremely powerful
You can do almost anything your backend would ever need to do with Azure. Data storage, authentication/authorization, push notifications, custom APIs, blob storage, etc.
Flexible
Need something lightweight? Azure is there.
Need something robust and powerful? Azure is there.
C# clients
I’m a frontend developer, I care a lot about how easy this makes MY job (selfish)
Many C# clients are written by Java developers, etc.
Easy to use C# client
Abstracts away much of pain of using a RESTful API
C# Features
Async / Await / TPL
Uses C# idioms
Properties, Fluent API
Seems obvious, but not always true (first class citizen)
With Xamarin it just isn’t your front end in C# it is your full backend server as well. With Azure or even on Linux running Mono or the CoreCLR your app is fully C# end to end!
This slide is more complete than the previous but is a little busy and overwhelming. You can show it instead of the previous Microsoft Azure Services slide if you prefer.
With Xamarin it just isn’t your front end in C# it is your full backend server as well. With Azure or even on Linux running Mono or the CoreCLR your app is fully C# end to end!
What if a GetAll should only return favorites for that user.
SO Hard!
Azure makes it easy
Huge value in having this integrated with data... you can just say fire a push IF