SlideShare uma empresa Scribd logo
1 de 38
Leveraging the
 Azure cloud for   Dennis      Marcel
                   Vroegop     de Vries
                               Regional Director
your mobile apps   DotNed
                   @dvroegop   @marcelv



      #ISMOB
Thank you!




             Workshop Mobile Development - Introduction
context   Mobile




 Case     Cloud
Context
Trend 1: Mobile
Market research
   # of mobile devices sold now exceeds # of PC’s!




Source:http://www.businessinsider.com/
Market research
   In a few years the number of mobile devices
   will dwarf the
   number of PC’s




Source:http://www.businessinsider.com/
Application types
Application types

Native look & feel             --          --                  ++
Camera Access                  --          +-                  ++
GPS                            ++          ++                  ++
Secure service communication   JSON/REST   JSON/REST           JSON/SOAP
Access to calendar             --          --                  ++
Twitter integration            +-          +-                  +
Distribution                   ++          AppStore presence   AppStore presence
All apps have one thing in common
 They need data!
 Where do you get it from and where do you
 store it?
 – From the device and only on the device?
    • Perhaps 1% of the cases
 – 99% of the apps build need some way to connect
   to backend services
This imposes an important question
 Where does your data live
 How can I connect to the data
 – In your corporate network?
 – Using corporate identity?
 – Using a VPN?
 Almost all classic solutions to today’s business
 apps don’t apply to mobile
 – I connect from anywhere
How do you cope with success?
 So you create an app to draw a doodle and let
 other guess what it is, big deal right?
 – Where do you store the drawing
 – Where do you manage sessions
 – Where do you keep user scores
 – ….
 So you need a backend with services
But how many users will you have?
 Mom and Dad for sure, perhaps your brother,
 sister and their friends, nothing to get excited
 about
 – So where would you host your services?
 – Some old Linux server in your basement?
 What if I prepare for success
 – Need to buy a server farm, big upfront expenses
Now imagine success
 9 Years it took for AOL to hit 1 million users
 9 Months it took for Facebook to reach 1 million users
 9 Days it took for Draw Something to reach 1 million
 users
 – 37 million
   Total downloads of the app
 – 3 billion
   Total drawings users have created since the game was
   released seven weeks ago
 – 2,000
   Drawings created every second
How the cloud creates a level
playing field
Typical Scenario
Cloud implications on architecture
Cloud introduces a new phenomenon
– Pay as you go cost model
This can have major implications on your architecture
– Which cloud specific features do I use
Hard questions
– Pay based on I/O or Compute cycles
    • How many I/O’s to storage of my service?
    • Algorithms can make a difference!
– How much data am I going to store
    • Price differences based on storage models
Windows Azure as your backend
 Very easy to leverage the pay as you go model
 Leverage all the knowledge you already have
 – Building web application
 – Build Soap Services
 – Building Rest Services
 Just publish to azure and you are done
Azure programming model
 Important is that we can scale out our
 application
 – A.k.a. stateless services
 Azure load balances virtual machines for you
 – Nodes are not sticky!
Data communication with mobile
 Be aware that your data transfer can incur
 costs for the device owner
 – Metered networks
 Be aware of latency
 – Good for 1 call get much data
 – Bad for do many small calls with little data
What protocol to use?
•   SOAP
    – Most convenient in terms of programming and productivity
    – Proxy generation based on wsdl
    – Simple an familiar model
•   JSON
    – Better in terms of bandwidth usage
    – Harder in terms of productivity
           • Need to hand code the proxy
•   OData
    – Bandwidth wise almost similar to SOAP, since it uses Atom XML as carrier
    – Same productivity issues as JSON
    – Better for the universal client like Excel, not mobile
Your RAD services options today
 ASP.NET Web API
 – XML/JSON/OData/…
 WCF Data Services
 – JSON/OData
 WCF RIA Services
 – JSON/OData/SOAP
 All share a common programming model, just
 different origin
 All part of .NET FW and there to stay
INTERMEZZO DENNIS
Securing your services




              Securing your services
Securing your service using ACS
 All services technology can leverage security
 from ASP.NET
 But do we want to maintain yet another
 membership database with user information?
 – Another user name and password to maintain for
   the end user
 – So 2005 
 Can’t we outsource identity management?
Introducing Azure ACS
•   Let’s use the same identity most users already have
    – Live ID, Google ID, Facebook, Yahoo, etc.
•   Don’t want to write integration with each one of these
    services yourselves
•   Azure Access Control Service (ACS) does this for you
    – You integrate with ACS and ACS will handle integration
      with other parties
    – Can add any WS-Federation compliant STS like a corporate
      ADFS
ACS terminology
•   STS
     – Security Token Provider
     – Any party that can issue an authentication token
•   Identity provider
     – Party that maintains the user identity, this is Windows Live, Google, Yahoo, Etc.
•   Relying Party
     – This is the party relying on another identity provider to hand over a set of claims about who
       that identity is
          •   Windows live -> Unique id
          •   Google -> Email Address
          •   …
•   In our case we use ACS as our identity provider, who will delegate that to another
    IP
     – So IP token we get is always coming from ACS and we don’t need to worry about all other
       parties
Authentication experience


   Identity
   Providers
   Configured
   in ACS
Overview authentication steps
                                                    Identity     Realm               Your
    Phone App                    ACS
                                                    Provider      page              Service
         GetIdentityProviders()



         Request to login page                           Login           Depending on ACS
                                                                         config for SWT or
                                           IDP Token                     SAML you get a
                                                                         header or a cookie
                                       Map claims

                   ACS Token
                                                                    Cookie
                                                                    (containing ACS
                                                                    token)

         Request (with cookie)
Intercepting the cookie from login
 Used the Azure phone toolkit, to use the standard
 login control
 Extend it to work with cookies
 – Add a default.aspx page to your site that can return
   the cookie as text
 – Catch that from the page by enabling the web
   browser control to accept JavaScript notify calls
 – In default.aspx page, you add script notify call to hand
   over the cookie data
 All subsequent SOAP calls use the cookie
Intercepting the cookie
                                    Get IDP’s           ACS


                                JSON set of IDP’s

                                    Browse to IDP
                                                         IDP
                                                         (e.g. windows Live)
                               Redirect to ACS + token

                              Redirect to ACS + token
                                                         ACS

                              Redirect to return URL
  Return cookie               + SAML token cookie
  using script
  invoke                    Go to login page
                  My Site
Changing the client to use SWT
 When using rest, you can add a custom header to
 your request
 string headerValue = string.Format("WRAP access_token="{0}"", token);
 client.Headers.Add("Authorization", headerValue);


 When using WCF & SOAP, you need to add a custom
 header to the request
 using (var ctx = new OperationContextScope(proxy.InnerChannel))
 {
   HttpRequestMessageProperty httpRequestProperty = new
 HttpRequestMessageProperty();
   httpRequestProperty.Headers[HttpRequestHeader.Authorization] =
                                       String.Format("WRAP access_token="{0}"",
 token);
 OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name]
 = httpRequestProperty;
 }
Changing the client to use SAML
 You need to add a cookie to each service request, for JSON:
 CookieCollection coll =
 App.AuthenticationCookieContainer;
 WebClient webrequest = new WebClient();
 String cookiestring ="" ;
 foreach (Cookie cookie in coll){
   if (count++ > 0){cookiestring += "; ";}
    cookiestring += cookie.Name + "=" + cookie.Value;
 }
 webrequest.Headers[HttpRequestHeader.Cookie] =
 cookiestring;

 For SOAP using WCF stack
 EventsServices.EventsDomainServicesoapClient proxy = new
 EventsServices.EventsDomainServicesoapClient();
 proxy.CookieContainer =
 App.AuthenticationCookieContainer;
DEMO

AUTHENTICATING USING ACS
Announcing…..
 http://www.meetup.com/Dutch-Mobile-NET-
 Developers-Group
Summary
Mobile trend is just taking off
Mobile is nowhere without services
Deliver services at the scale of success with the cloud
New user interface concepts will influence the way we
build apps
Each form factor requires unique interface
Cloud is there to support our massive computing demand
Pay as you go model
 – Game changer for new business models!
Cloud services can ease your development headache
Thank you!                     Dennis         Marcel
                                                    Vroegop        de Vries
                                                    DotNed         Regional Director
                                                    @dvroegop      @marcelv



                      Next session:
                      20:30
Lenni                 Occasionally Connected Systems with Windows Azure
Lobel                 and Windows Phone
Sleek Technologies
@lennilobel

Mais conteúdo relacionado

Mais procurados

현대백화점 리테일테크랩과 AWS Prototyping 팀 개발자가 들려주는 인공 지능 무인 스토어 개발 여정 - 최권열 AWS 프로토타이핑...
현대백화점 리테일테크랩과 AWS Prototyping 팀 개발자가 들려주는 인공 지능 무인 스토어 개발 여정 - 최권열 AWS 프로토타이핑...현대백화점 리테일테크랩과 AWS Prototyping 팀 개발자가 들려주는 인공 지능 무인 스토어 개발 여정 - 최권열 AWS 프로토타이핑...
현대백화점 리테일테크랩과 AWS Prototyping 팀 개발자가 들려주는 인공 지능 무인 스토어 개발 여정 - 최권열 AWS 프로토타이핑...Amazon Web Services Korea
 
더욱 진화하는 AWS 네트워크 보안 - 신은수 AWS 시큐리티 스페셜리스트 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
더욱 진화하는 AWS 네트워크 보안 - 신은수 AWS 시큐리티 스페셜리스트 솔루션즈 아키텍트 :: AWS Summit Seoul 2021더욱 진화하는 AWS 네트워크 보안 - 신은수 AWS 시큐리티 스페셜리스트 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
더욱 진화하는 AWS 네트워크 보안 - 신은수 AWS 시큐리티 스페셜리스트 솔루션즈 아키텍트 :: AWS Summit Seoul 2021Amazon Web Services Korea
 
초보 개발자도 바로 따라할 수 있는 AWS 미디어 서비스를 이용한 Live/VOD 서비스 구축 – 현륜식 AWS 솔루션즈 아키텍트:: A...
초보 개발자도 바로 따라할 수 있는 AWS 미디어 서비스를 이용한 Live/VOD 서비스 구축 – 현륜식 AWS  솔루션즈 아키텍트:: A...초보 개발자도 바로 따라할 수 있는 AWS 미디어 서비스를 이용한 Live/VOD 서비스 구축 – 현륜식 AWS  솔루션즈 아키텍트:: A...
초보 개발자도 바로 따라할 수 있는 AWS 미디어 서비스를 이용한 Live/VOD 서비스 구축 – 현륜식 AWS 솔루션즈 아키텍트:: A...Amazon Web Services Korea
 
Build and Deploy Your Mobile Games
Build and Deploy Your Mobile Games Build and Deploy Your Mobile Games
Build and Deploy Your Mobile Games Amazon Web Services
 
Survey of International and Thai Cloud Providers and Cloud Software Projects
Survey of International and Thai Cloud Providers and Cloud Software ProjectsSurvey of International and Thai Cloud Providers and Cloud Software Projects
Survey of International and Thai Cloud Providers and Cloud Software Projectst b
 
20200714 AWS Black Belt Online Seminar Amazon Neptune
20200714 AWS Black Belt Online Seminar Amazon Neptune20200714 AWS Black Belt Online Seminar Amazon Neptune
20200714 AWS Black Belt Online Seminar Amazon NeptuneAmazon Web Services Japan
 
Getting Started with Cognito User Pools - September Webinar Series
Getting Started with Cognito User Pools - September Webinar SeriesGetting Started with Cognito User Pools - September Webinar Series
Getting Started with Cognito User Pools - September Webinar SeriesAmazon Web Services
 
Build the foundation for Private Cloud
Build the foundation for Private CloudBuild the foundation for Private Cloud
Build the foundation for Private CloudAppZero
 
Codemotion Windows Azure Mobile
Codemotion Windows Azure MobileCodemotion Windows Azure Mobile
Codemotion Windows Azure Mobileantimo musone
 
Delivering Secure OpenStack IaaS for SaaS Products - OpenStack 2012.pptx
Delivering Secure OpenStack IaaS for SaaS Products - OpenStack 2012.pptxDelivering Secure OpenStack IaaS for SaaS Products - OpenStack 2012.pptx
Delivering Secure OpenStack IaaS for SaaS Products - OpenStack 2012.pptxOpenStack Foundation
 
Delivering Secure OpenStack IaaS for SaaS Products
Delivering Secure OpenStack IaaS for SaaS ProductsDelivering Secure OpenStack IaaS for SaaS Products
Delivering Secure OpenStack IaaS for SaaS ProductsCloudPassage
 
(MBL401) Social Logins for Mobile Apps with Amazon Cognito | AWS re:Invent 2014
(MBL401) Social Logins for Mobile Apps with Amazon Cognito | AWS re:Invent 2014(MBL401) Social Logins for Mobile Apps with Amazon Cognito | AWS re:Invent 2014
(MBL401) Social Logins for Mobile Apps with Amazon Cognito | AWS re:Invent 2014Amazon Web Services
 
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트Amazon Web Services Korea
 
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...Amazon Web Services
 
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)Amazon Web Services Japan
 
Best Practices: Microsoft on AWS - Miles Ward - AWS Summit 2012 Australia
Best Practices: Microsoft on AWS - Miles Ward - AWS Summit 2012 AustraliaBest Practices: Microsoft on AWS - Miles Ward - AWS Summit 2012 Australia
Best Practices: Microsoft on AWS - Miles Ward - AWS Summit 2012 AustraliaAmazon Web Services
 
(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...
(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...
(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...Amazon Web Services
 
Angrybirds Magento Cloud Deployment
Angrybirds Magento Cloud DeploymentAngrybirds Magento Cloud Deployment
Angrybirds Magento Cloud DeploymentAOE
 
20190522 AWS Black Belt Online Seminar AWS Step Functions
20190522 AWS Black Belt Online Seminar AWS Step Functions20190522 AWS Black Belt Online Seminar AWS Step Functions
20190522 AWS Black Belt Online Seminar AWS Step FunctionsAmazon Web Services Japan
 

Mais procurados (20)

현대백화점 리테일테크랩과 AWS Prototyping 팀 개발자가 들려주는 인공 지능 무인 스토어 개발 여정 - 최권열 AWS 프로토타이핑...
현대백화점 리테일테크랩과 AWS Prototyping 팀 개발자가 들려주는 인공 지능 무인 스토어 개발 여정 - 최권열 AWS 프로토타이핑...현대백화점 리테일테크랩과 AWS Prototyping 팀 개발자가 들려주는 인공 지능 무인 스토어 개발 여정 - 최권열 AWS 프로토타이핑...
현대백화점 리테일테크랩과 AWS Prototyping 팀 개발자가 들려주는 인공 지능 무인 스토어 개발 여정 - 최권열 AWS 프로토타이핑...
 
더욱 진화하는 AWS 네트워크 보안 - 신은수 AWS 시큐리티 스페셜리스트 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
더욱 진화하는 AWS 네트워크 보안 - 신은수 AWS 시큐리티 스페셜리스트 솔루션즈 아키텍트 :: AWS Summit Seoul 2021더욱 진화하는 AWS 네트워크 보안 - 신은수 AWS 시큐리티 스페셜리스트 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
더욱 진화하는 AWS 네트워크 보안 - 신은수 AWS 시큐리티 스페셜리스트 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
 
초보 개발자도 바로 따라할 수 있는 AWS 미디어 서비스를 이용한 Live/VOD 서비스 구축 – 현륜식 AWS 솔루션즈 아키텍트:: A...
초보 개발자도 바로 따라할 수 있는 AWS 미디어 서비스를 이용한 Live/VOD 서비스 구축 – 현륜식 AWS  솔루션즈 아키텍트:: A...초보 개발자도 바로 따라할 수 있는 AWS 미디어 서비스를 이용한 Live/VOD 서비스 구축 – 현륜식 AWS  솔루션즈 아키텍트:: A...
초보 개발자도 바로 따라할 수 있는 AWS 미디어 서비스를 이용한 Live/VOD 서비스 구축 – 현륜식 AWS 솔루션즈 아키텍트:: A...
 
Amazon Cognito
Amazon CognitoAmazon Cognito
Amazon Cognito
 
Build and Deploy Your Mobile Games
Build and Deploy Your Mobile Games Build and Deploy Your Mobile Games
Build and Deploy Your Mobile Games
 
Survey of International and Thai Cloud Providers and Cloud Software Projects
Survey of International and Thai Cloud Providers and Cloud Software ProjectsSurvey of International and Thai Cloud Providers and Cloud Software Projects
Survey of International and Thai Cloud Providers and Cloud Software Projects
 
20200714 AWS Black Belt Online Seminar Amazon Neptune
20200714 AWS Black Belt Online Seminar Amazon Neptune20200714 AWS Black Belt Online Seminar Amazon Neptune
20200714 AWS Black Belt Online Seminar Amazon Neptune
 
Getting Started with Cognito User Pools - September Webinar Series
Getting Started with Cognito User Pools - September Webinar SeriesGetting Started with Cognito User Pools - September Webinar Series
Getting Started with Cognito User Pools - September Webinar Series
 
Build the foundation for Private Cloud
Build the foundation for Private CloudBuild the foundation for Private Cloud
Build the foundation for Private Cloud
 
Codemotion Windows Azure Mobile
Codemotion Windows Azure MobileCodemotion Windows Azure Mobile
Codemotion Windows Azure Mobile
 
Delivering Secure OpenStack IaaS for SaaS Products - OpenStack 2012.pptx
Delivering Secure OpenStack IaaS for SaaS Products - OpenStack 2012.pptxDelivering Secure OpenStack IaaS for SaaS Products - OpenStack 2012.pptx
Delivering Secure OpenStack IaaS for SaaS Products - OpenStack 2012.pptx
 
Delivering Secure OpenStack IaaS for SaaS Products
Delivering Secure OpenStack IaaS for SaaS ProductsDelivering Secure OpenStack IaaS for SaaS Products
Delivering Secure OpenStack IaaS for SaaS Products
 
(MBL401) Social Logins for Mobile Apps with Amazon Cognito | AWS re:Invent 2014
(MBL401) Social Logins for Mobile Apps with Amazon Cognito | AWS re:Invent 2014(MBL401) Social Logins for Mobile Apps with Amazon Cognito | AWS re:Invent 2014
(MBL401) Social Logins for Mobile Apps with Amazon Cognito | AWS re:Invent 2014
 
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
 
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
 
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
 
Best Practices: Microsoft on AWS - Miles Ward - AWS Summit 2012 Australia
Best Practices: Microsoft on AWS - Miles Ward - AWS Summit 2012 AustraliaBest Practices: Microsoft on AWS - Miles Ward - AWS Summit 2012 Australia
Best Practices: Microsoft on AWS - Miles Ward - AWS Summit 2012 Australia
 
(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...
(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...
(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...
 
Angrybirds Magento Cloud Deployment
Angrybirds Magento Cloud DeploymentAngrybirds Magento Cloud Deployment
Angrybirds Magento Cloud Deployment
 
20190522 AWS Black Belt Online Seminar AWS Step Functions
20190522 AWS Black Belt Online Seminar AWS Step Functions20190522 AWS Black Belt Online Seminar AWS Step Functions
20190522 AWS Black Belt Online Seminar AWS Step Functions
 

Destaque

Inside Microsoft Azure
Inside Microsoft AzureInside Microsoft Azure
Inside Microsoft AzureErnest Mueller
 
The impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves GoelevenThe impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves GoelevenParticular Software
 
Application architecture for cloud
Application architecture for cloudApplication architecture for cloud
Application architecture for cloudMarco Parenzan
 
Pragmatic Security and Rugged DevOps - SXSW 2015
Pragmatic Security and Rugged DevOps - SXSW 2015Pragmatic Security and Rugged DevOps - SXSW 2015
Pragmatic Security and Rugged DevOps - SXSW 2015James Wickett
 
Containers - (Austin Cloud Meetup April 2016)
Containers - (Austin Cloud Meetup April 2016)Containers - (Austin Cloud Meetup April 2016)
Containers - (Austin Cloud Meetup April 2016)Derrick Wippler
 
RSA Conference 2016: Who Are You? From Meat to Electrons and Back Again
RSA Conference 2016: Who Are You? From Meat to Electrons and Back AgainRSA Conference 2016: Who Are You? From Meat to Electrons and Back Again
RSA Conference 2016: Who Are You? From Meat to Electrons and Back AgainMike Schwartz
 

Destaque (6)

Inside Microsoft Azure
Inside Microsoft AzureInside Microsoft Azure
Inside Microsoft Azure
 
The impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves GoelevenThe impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves Goeleven
 
Application architecture for cloud
Application architecture for cloudApplication architecture for cloud
Application architecture for cloud
 
Pragmatic Security and Rugged DevOps - SXSW 2015
Pragmatic Security and Rugged DevOps - SXSW 2015Pragmatic Security and Rugged DevOps - SXSW 2015
Pragmatic Security and Rugged DevOps - SXSW 2015
 
Containers - (Austin Cloud Meetup April 2016)
Containers - (Austin Cloud Meetup April 2016)Containers - (Austin Cloud Meetup April 2016)
Containers - (Austin Cloud Meetup April 2016)
 
RSA Conference 2016: Who Are You? From Meat to Electrons and Back Again
RSA Conference 2016: Who Are You? From Meat to Electrons and Back AgainRSA Conference 2016: Who Are You? From Meat to Electrons and Back Again
RSA Conference 2016: Who Are You? From Meat to Electrons and Back Again
 

Semelhante a Leveraging the azure cloud for your mobile apps

AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...Amazon Web Services
 
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App FabricCTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App FabricSpiffy
 
Dave Carroll Application Services Salesforce
Dave Carroll Application Services SalesforceDave Carroll Application Services Salesforce
Dave Carroll Application Services Salesforcedeimos
 
Using Windows Azure for Solving Identity Management Challenges (Visual Studio...
Using Windows Azure for Solving Identity Management Challenges (Visual Studio...Using Windows Azure for Solving Identity Management Challenges (Visual Studio...
Using Windows Azure for Solving Identity Management Challenges (Visual Studio...Michael Collier
 
Application Services On The Web Sales Forcecom
Application Services On The Web Sales ForcecomApplication Services On The Web Sales Forcecom
Application Services On The Web Sales ForcecomQConLondon2008
 
Put Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzurePut Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzureMaarten Balliauw
 
Memulai Perjalanan Cloud Anda dengan AWS
Memulai Perjalanan Cloud Anda dengan AWSMemulai Perjalanan Cloud Anda dengan AWS
Memulai Perjalanan Cloud Anda dengan AWSAmazon Web Services
 
Gluecon oauth-03
Gluecon oauth-03Gluecon oauth-03
Gluecon oauth-03Paul Madsen
 
DEVNET-1120 Intercloud Fabric - AWS and Azure Account Setup and Utilization
DEVNET-1120	Intercloud Fabric - AWS and Azure Account Setup and UtilizationDEVNET-1120	Intercloud Fabric - AWS and Azure Account Setup and Utilization
DEVNET-1120 Intercloud Fabric - AWS and Azure Account Setup and UtilizationCisco DevNet
 
Oscon anatomy of_os_cloud_ecosystem
Oscon anatomy of_os_cloud_ecosystemOscon anatomy of_os_cloud_ecosystem
Oscon anatomy of_os_cloud_ecosystemhtdvul
 
Moving your Desktops to the Cloud with Amazon WorkSpaces
Moving your Desktops to the Cloud with Amazon WorkSpacesMoving your Desktops to the Cloud with Amazon WorkSpaces
Moving your Desktops to the Cloud with Amazon WorkSpacesAmazon Web Services
 
AWS Core Services Overview, Immersion Day Huntsville 2019
AWS Core Services Overview, Immersion Day Huntsville 2019AWS Core Services Overview, Immersion Day Huntsville 2019
AWS Core Services Overview, Immersion Day Huntsville 2019Amazon Web Services
 
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015Amazon Web Services Korea
 
Consuming Web Services in Microsoft Silverlight 3
Consuming Web Services in Microsoft Silverlight 3Consuming Web Services in Microsoft Silverlight 3
Consuming Web Services in Microsoft Silverlight 3goodfriday
 
Serverless Kafka on AWS as Part of a Cloud-native Data Lake Architecture
Serverless Kafka on AWS as Part of a Cloud-native Data Lake ArchitectureServerless Kafka on AWS as Part of a Cloud-native Data Lake Architecture
Serverless Kafka on AWS as Part of a Cloud-native Data Lake ArchitectureKai Wähner
 
Memulai Perjalanan Cloud Anda dengan AWS
Memulai Perjalanan Cloud Anda dengan AWSMemulai Perjalanan Cloud Anda dengan AWS
Memulai Perjalanan Cloud Anda dengan AWSAmazon Web Services
 

Semelhante a Leveraging the azure cloud for your mobile apps (20)

Net Services
Net ServicesNet Services
Net Services
 
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
 
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App FabricCTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
 
Dave Carroll Application Services Salesforce
Dave Carroll Application Services SalesforceDave Carroll Application Services Salesforce
Dave Carroll Application Services Salesforce
 
Using Windows Azure for Solving Identity Management Challenges (Visual Studio...
Using Windows Azure for Solving Identity Management Challenges (Visual Studio...Using Windows Azure for Solving Identity Management Challenges (Visual Studio...
Using Windows Azure for Solving Identity Management Challenges (Visual Studio...
 
Getting Started with AWS IoT
Getting Started with AWS IoTGetting Started with AWS IoT
Getting Started with AWS IoT
 
Application Services On The Web Sales Forcecom
Application Services On The Web Sales ForcecomApplication Services On The Web Sales Forcecom
Application Services On The Web Sales Forcecom
 
Put Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzurePut Your Existing Application On Windows Azure
Put Your Existing Application On Windows Azure
 
Memulai Perjalanan Cloud Anda dengan AWS
Memulai Perjalanan Cloud Anda dengan AWSMemulai Perjalanan Cloud Anda dengan AWS
Memulai Perjalanan Cloud Anda dengan AWS
 
Gluecon oauth-03
Gluecon oauth-03Gluecon oauth-03
Gluecon oauth-03
 
DEVNET-1120 Intercloud Fabric - AWS and Azure Account Setup and Utilization
DEVNET-1120	Intercloud Fabric - AWS and Azure Account Setup and UtilizationDEVNET-1120	Intercloud Fabric - AWS and Azure Account Setup and Utilization
DEVNET-1120 Intercloud Fabric - AWS and Azure Account Setup and Utilization
 
Oscon anatomy of_os_cloud_ecosystem
Oscon anatomy of_os_cloud_ecosystemOscon anatomy of_os_cloud_ecosystem
Oscon anatomy of_os_cloud_ecosystem
 
Moving your Desktops to the Cloud with Amazon WorkSpaces
Moving your Desktops to the Cloud with Amazon WorkSpacesMoving your Desktops to the Cloud with Amazon WorkSpaces
Moving your Desktops to the Cloud with Amazon WorkSpaces
 
AWS Core Services Overview, Immersion Day Huntsville 2019
AWS Core Services Overview, Immersion Day Huntsville 2019AWS Core Services Overview, Immersion Day Huntsville 2019
AWS Core Services Overview, Immersion Day Huntsville 2019
 
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
 
Consuming Web Services in Microsoft Silverlight 3
Consuming Web Services in Microsoft Silverlight 3Consuming Web Services in Microsoft Silverlight 3
Consuming Web Services in Microsoft Silverlight 3
 
Building mobile apps on AWS
Building mobile apps on AWSBuilding mobile apps on AWS
Building mobile apps on AWS
 
Building mobile apps on aws
Building mobile apps on awsBuilding mobile apps on aws
Building mobile apps on aws
 
Serverless Kafka on AWS as Part of a Cloud-native Data Lake Architecture
Serverless Kafka on AWS as Part of a Cloud-native Data Lake ArchitectureServerless Kafka on AWS as Part of a Cloud-native Data Lake Architecture
Serverless Kafka on AWS as Part of a Cloud-native Data Lake Architecture
 
Memulai Perjalanan Cloud Anda dengan AWS
Memulai Perjalanan Cloud Anda dengan AWSMemulai Perjalanan Cloud Anda dengan AWS
Memulai Perjalanan Cloud Anda dengan AWS
 

Mais de Marcel de Vries

Best practices for using open source software in the enterprise
Best practices for using open source software in the enterpriseBest practices for using open source software in the enterprise
Best practices for using open source software in the enterpriseMarcel de Vries
 
Architecting systems for continuous delivery
Architecting systems for continuous deliveryArchitecting systems for continuous delivery
Architecting systems for continuous deliveryMarcel de Vries
 
Using microsoft application insights to implement a build, measure, learn loop
Using microsoft application insights to implement a build, measure, learn loopUsing microsoft application insights to implement a build, measure, learn loop
Using microsoft application insights to implement a build, measure, learn loopMarcel de Vries
 
Continuous delivery with Release Management for visual Studio
Continuous delivery with Release Management for visual StudioContinuous delivery with Release Management for visual Studio
Continuous delivery with Release Management for visual StudioMarcel de Vries
 
Release management with tfs 2013
Release management with tfs 2013Release management with tfs 2013
Release management with tfs 2013Marcel de Vries
 
Cross platform native mobile app development for iOS, Android and Windows usi...
Cross platform native mobile app development for iOS, Android and Windows usi...Cross platform native mobile app development for iOS, Android and Windows usi...
Cross platform native mobile app development for iOS, Android and Windows usi...Marcel de Vries
 
Release management with tfs 2013
Release management with tfs 2013Release management with tfs 2013
Release management with tfs 2013Marcel de Vries
 
Developing i phone, android and windows phone 7 applications with c#
Developing i phone, android and windows phone 7 applications with c#Developing i phone, android and windows phone 7 applications with c#
Developing i phone, android and windows phone 7 applications with c#Marcel de Vries
 
Cross platform mobile developement introduction
Cross platform mobile developement   introductionCross platform mobile developement   introduction
Cross platform mobile developement introductionMarcel de Vries
 
Mobile en cloud wat is de impact op ons huidige it ecosysteem
Mobile en cloud wat is de impact op ons huidige it ecosysteemMobile en cloud wat is de impact op ons huidige it ecosysteem
Mobile en cloud wat is de impact op ons huidige it ecosysteemMarcel de Vries
 

Mais de Marcel de Vries (10)

Best practices for using open source software in the enterprise
Best practices for using open source software in the enterpriseBest practices for using open source software in the enterprise
Best practices for using open source software in the enterprise
 
Architecting systems for continuous delivery
Architecting systems for continuous deliveryArchitecting systems for continuous delivery
Architecting systems for continuous delivery
 
Using microsoft application insights to implement a build, measure, learn loop
Using microsoft application insights to implement a build, measure, learn loopUsing microsoft application insights to implement a build, measure, learn loop
Using microsoft application insights to implement a build, measure, learn loop
 
Continuous delivery with Release Management for visual Studio
Continuous delivery with Release Management for visual StudioContinuous delivery with Release Management for visual Studio
Continuous delivery with Release Management for visual Studio
 
Release management with tfs 2013
Release management with tfs 2013Release management with tfs 2013
Release management with tfs 2013
 
Cross platform native mobile app development for iOS, Android and Windows usi...
Cross platform native mobile app development for iOS, Android and Windows usi...Cross platform native mobile app development for iOS, Android and Windows usi...
Cross platform native mobile app development for iOS, Android and Windows usi...
 
Release management with tfs 2013
Release management with tfs 2013Release management with tfs 2013
Release management with tfs 2013
 
Developing i phone, android and windows phone 7 applications with c#
Developing i phone, android and windows phone 7 applications with c#Developing i phone, android and windows phone 7 applications with c#
Developing i phone, android and windows phone 7 applications with c#
 
Cross platform mobile developement introduction
Cross platform mobile developement   introductionCross platform mobile developement   introduction
Cross platform mobile developement introduction
 
Mobile en cloud wat is de impact op ons huidige it ecosysteem
Mobile en cloud wat is de impact op ons huidige it ecosysteemMobile en cloud wat is de impact op ons huidige it ecosysteem
Mobile en cloud wat is de impact op ons huidige it ecosysteem
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 

Último (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Leveraging the azure cloud for your mobile apps

  • 1. Leveraging the Azure cloud for Dennis Marcel Vroegop de Vries Regional Director your mobile apps DotNed @dvroegop @marcelv #ISMOB
  • 2. Thank you! Workshop Mobile Development - Introduction
  • 3. context Mobile Case Cloud
  • 6. Market research # of mobile devices sold now exceeds # of PC’s! Source:http://www.businessinsider.com/
  • 7. Market research In a few years the number of mobile devices will dwarf the number of PC’s Source:http://www.businessinsider.com/
  • 8.
  • 10. Application types Native look & feel -- -- ++ Camera Access -- +- ++ GPS ++ ++ ++ Secure service communication JSON/REST JSON/REST JSON/SOAP Access to calendar -- -- ++ Twitter integration +- +- + Distribution ++ AppStore presence AppStore presence
  • 11. All apps have one thing in common They need data! Where do you get it from and where do you store it? – From the device and only on the device? • Perhaps 1% of the cases – 99% of the apps build need some way to connect to backend services
  • 12. This imposes an important question Where does your data live How can I connect to the data – In your corporate network? – Using corporate identity? – Using a VPN? Almost all classic solutions to today’s business apps don’t apply to mobile – I connect from anywhere
  • 13. How do you cope with success? So you create an app to draw a doodle and let other guess what it is, big deal right? – Where do you store the drawing – Where do you manage sessions – Where do you keep user scores – …. So you need a backend with services
  • 14. But how many users will you have? Mom and Dad for sure, perhaps your brother, sister and their friends, nothing to get excited about – So where would you host your services? – Some old Linux server in your basement? What if I prepare for success – Need to buy a server farm, big upfront expenses
  • 15. Now imagine success 9 Years it took for AOL to hit 1 million users 9 Months it took for Facebook to reach 1 million users 9 Days it took for Draw Something to reach 1 million users – 37 million Total downloads of the app – 3 billion Total drawings users have created since the game was released seven weeks ago – 2,000 Drawings created every second
  • 16. How the cloud creates a level playing field
  • 18. Cloud implications on architecture Cloud introduces a new phenomenon – Pay as you go cost model This can have major implications on your architecture – Which cloud specific features do I use Hard questions – Pay based on I/O or Compute cycles • How many I/O’s to storage of my service? • Algorithms can make a difference! – How much data am I going to store • Price differences based on storage models
  • 19. Windows Azure as your backend Very easy to leverage the pay as you go model Leverage all the knowledge you already have – Building web application – Build Soap Services – Building Rest Services Just publish to azure and you are done
  • 20. Azure programming model Important is that we can scale out our application – A.k.a. stateless services Azure load balances virtual machines for you – Nodes are not sticky!
  • 21. Data communication with mobile Be aware that your data transfer can incur costs for the device owner – Metered networks Be aware of latency – Good for 1 call get much data – Bad for do many small calls with little data
  • 22. What protocol to use? • SOAP – Most convenient in terms of programming and productivity – Proxy generation based on wsdl – Simple an familiar model • JSON – Better in terms of bandwidth usage – Harder in terms of productivity • Need to hand code the proxy • OData – Bandwidth wise almost similar to SOAP, since it uses Atom XML as carrier – Same productivity issues as JSON – Better for the universal client like Excel, not mobile
  • 23. Your RAD services options today ASP.NET Web API – XML/JSON/OData/… WCF Data Services – JSON/OData WCF RIA Services – JSON/OData/SOAP All share a common programming model, just different origin All part of .NET FW and there to stay
  • 25. Securing your services Securing your services
  • 26. Securing your service using ACS All services technology can leverage security from ASP.NET But do we want to maintain yet another membership database with user information? – Another user name and password to maintain for the end user – So 2005  Can’t we outsource identity management?
  • 27. Introducing Azure ACS • Let’s use the same identity most users already have – Live ID, Google ID, Facebook, Yahoo, etc. • Don’t want to write integration with each one of these services yourselves • Azure Access Control Service (ACS) does this for you – You integrate with ACS and ACS will handle integration with other parties – Can add any WS-Federation compliant STS like a corporate ADFS
  • 28. ACS terminology • STS – Security Token Provider – Any party that can issue an authentication token • Identity provider – Party that maintains the user identity, this is Windows Live, Google, Yahoo, Etc. • Relying Party – This is the party relying on another identity provider to hand over a set of claims about who that identity is • Windows live -> Unique id • Google -> Email Address • … • In our case we use ACS as our identity provider, who will delegate that to another IP – So IP token we get is always coming from ACS and we don’t need to worry about all other parties
  • 29. Authentication experience Identity Providers Configured in ACS
  • 30. Overview authentication steps Identity Realm Your Phone App ACS Provider page Service GetIdentityProviders() Request to login page Login Depending on ACS config for SWT or IDP Token SAML you get a header or a cookie Map claims ACS Token Cookie (containing ACS token) Request (with cookie)
  • 31. Intercepting the cookie from login Used the Azure phone toolkit, to use the standard login control Extend it to work with cookies – Add a default.aspx page to your site that can return the cookie as text – Catch that from the page by enabling the web browser control to accept JavaScript notify calls – In default.aspx page, you add script notify call to hand over the cookie data All subsequent SOAP calls use the cookie
  • 32. Intercepting the cookie Get IDP’s ACS JSON set of IDP’s Browse to IDP IDP (e.g. windows Live) Redirect to ACS + token Redirect to ACS + token ACS Redirect to return URL Return cookie + SAML token cookie using script invoke Go to login page My Site
  • 33. Changing the client to use SWT When using rest, you can add a custom header to your request string headerValue = string.Format("WRAP access_token="{0}"", token); client.Headers.Add("Authorization", headerValue); When using WCF & SOAP, you need to add a custom header to the request using (var ctx = new OperationContextScope(proxy.InnerChannel)) { HttpRequestMessageProperty httpRequestProperty = new HttpRequestMessageProperty(); httpRequestProperty.Headers[HttpRequestHeader.Authorization] = String.Format("WRAP access_token="{0}"", token); OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestProperty; }
  • 34. Changing the client to use SAML You need to add a cookie to each service request, for JSON: CookieCollection coll = App.AuthenticationCookieContainer; WebClient webrequest = new WebClient(); String cookiestring ="" ; foreach (Cookie cookie in coll){ if (count++ > 0){cookiestring += "; ";} cookiestring += cookie.Name + "=" + cookie.Value; } webrequest.Headers[HttpRequestHeader.Cookie] = cookiestring; For SOAP using WCF stack EventsServices.EventsDomainServicesoapClient proxy = new EventsServices.EventsDomainServicesoapClient(); proxy.CookieContainer = App.AuthenticationCookieContainer;
  • 37. Summary Mobile trend is just taking off Mobile is nowhere without services Deliver services at the scale of success with the cloud New user interface concepts will influence the way we build apps Each form factor requires unique interface Cloud is there to support our massive computing demand Pay as you go model – Game changer for new business models! Cloud services can ease your development headache
  • 38. Thank you! Dennis Marcel Vroegop de Vries DotNed Regional Director @dvroegop @marcelv Next session: 20:30 Lenni Occasionally Connected Systems with Windows Azure Lobel and Windows Phone Sleek Technologies @lennilobel