Azure for Android Developers
https://mobile.azure.com
Physical
Machines
Virtual
Machines
Cloud
Infrastructure
201620001990 2010
The changing world of app development
Mainframe
Monolithic
Client/Server
3 Tier
Component
RAD
Distributed
SOAP
SOA
Web
REST
Mobile
Microservices
Containers
Serverless
…you can own and operate
your own car
…you can rent a car …you can take a taxiCut to the code - create
innovative apps using an
application platform
Someone else
looks after the
car
You’re
responsible for
the car
Less cost and
responsibility
Greater
freedom and
flexibility
Someone else
looks after the
platform
You’re
responsible for
platform
Less cost and
responsibility
Greater
freedom and
flexibility
Cut to the code -
create innovative apps
using an application
platform
Microsoft Application Platform
Build the next generation of intelligent apps with an open, comprehensive solution for any
developer and any platform
 Custom or template based solutions
 Multiple languages, frameworks,
tools, and databases
 iOS, Android, Windows, and Linux
 Integrated cloud platform, DevOps,
and tools
 Build, deploy, manage apps faster
 Work across teams and disciplines
 Target on-premises, hybrid, cloud,
and multi-cloud
 Write once, run anywhere
 Leverage 60+ enterprise grade services














IaaS vs. PaaS
Focus on the application, not the infrastructure
IDC estimates that PaaS will
grow at a faster rate than
IaaS and SaaS with a 5 year
CAGRs over 30%.
“PaaS is important because
it's the focus at many
companies for rapid
application development
and mobile app
development, using the
DevOps approach.”
IDC Worldwide Semiannual Public Cloud Services
Spending Guide, Jan 2016
Build on the OS (IaaS)
Build on a Developer Platform (PaaS)
Cloud ServicesService FabricApp Service Functions
Custom monolithic
3-tier stateless apps
Cloud native,
microservices based apps
Web, mobile, API,
and logic apps
Serverless,
event driven functions
StorageVirtual Machines
and Containers
Networking
Azure Application Platform
Cloud Foundry, OpenShift,
Apprenda, Jetlastic, etc.
Web and mobile Microservices
Serverless
Compute
Existing
Frameworks
Third-party
Frameworks
Other PaaS
Azure App Service
An cloud app platform for delivering modern
enterprise apps across cloud and mobile devices.
An integrated offering that delivers features and
capabilities from a number of existing Azure services
Enterprise
grade apps
Fully
managed
platform
High
productivity
development
Azure App Service
RESTAPI
API Apps
Hybrid connections
VPN/VNET
Traffic manager
Continuous deployment
Logic Apps
Functions
Mobile Apps
Web Apps
Facebook Twitter Microsoft Google Azure Active
Directory
WindowsAndroidApple
iOS
OSX
In-AppKindle
Azure
SQL
Database
Mongo
DB
Document DB
Office
365 Azure
Tables
Offline
sync
Windows
iOS
Android
HTML
5/JS
Xamarin
PhoneGap
Sencha
Data Connections
Offline sync
SQL
User Authentication
Push notifications
iOS
Why Azure App Service for MBaaS?
• Continuous Integration/Deployment
• Site Staging Slots
• Site Resiliency, HA, and DR
• Auto Scale
• Traffic Routing
• App & Site Diagnostics
• Scheduled Backups
• Role Base Access Control
• VNET support
• IP Restrictions/ SSL
Complex ecosystem
(multiple combinations
of devices and
operating systems)
Business demands
(rapidly release
high-quality apps)
Multi-stage development
(just one app involves
many stages)
Design &
Develop
TestMonitor
App
delivery
lifecycle
1000+ devices100+ apps App delivery
A/B Testing
Live Update
Storage
Push Notifications
Crash Reporting
Remote Config
Identity
Tables
A/B Testing
Live Update Storage
Push Notifications
Crash Reporting Remote Config. Identity
Tables
Visual Studio Mobile Center
Mission control for mobile apps
https://mobile.azure.com
Azure for Android Developers
Azure for Android Developers

Azure for Android Developers

  • 1.
  • 2.
  • 4.
    Physical Machines Virtual Machines Cloud Infrastructure 201620001990 2010 The changingworld of app development Mainframe Monolithic Client/Server 3 Tier Component RAD Distributed SOAP SOA Web REST Mobile Microservices Containers Serverless
  • 5.
    …you can ownand operate your own car …you can rent a car …you can take a taxiCut to the code - create innovative apps using an application platform
  • 6.
    Someone else looks afterthe car You’re responsible for the car Less cost and responsibility Greater freedom and flexibility
  • 7.
    Someone else looks afterthe platform You’re responsible for platform Less cost and responsibility Greater freedom and flexibility Cut to the code - create innovative apps using an application platform
  • 8.
    Microsoft Application Platform Buildthe next generation of intelligent apps with an open, comprehensive solution for any developer and any platform  Custom or template based solutions  Multiple languages, frameworks, tools, and databases  iOS, Android, Windows, and Linux  Integrated cloud platform, DevOps, and tools  Build, deploy, manage apps faster  Work across teams and disciplines  Target on-premises, hybrid, cloud, and multi-cloud  Write once, run anywhere  Leverage 60+ enterprise grade services
  • 9.
                  IaaS vs. PaaS Focuson the application, not the infrastructure IDC estimates that PaaS will grow at a faster rate than IaaS and SaaS with a 5 year CAGRs over 30%. “PaaS is important because it's the focus at many companies for rapid application development and mobile app development, using the DevOps approach.” IDC Worldwide Semiannual Public Cloud Services Spending Guide, Jan 2016
  • 10.
    Build on theOS (IaaS) Build on a Developer Platform (PaaS) Cloud ServicesService FabricApp Service Functions Custom monolithic 3-tier stateless apps Cloud native, microservices based apps Web, mobile, API, and logic apps Serverless, event driven functions StorageVirtual Machines and Containers Networking Azure Application Platform Cloud Foundry, OpenShift, Apprenda, Jetlastic, etc. Web and mobile Microservices Serverless Compute Existing Frameworks Third-party Frameworks Other PaaS
  • 11.
    Azure App Service Ancloud app platform for delivering modern enterprise apps across cloud and mobile devices. An integrated offering that delivers features and capabilities from a number of existing Azure services Enterprise grade apps Fully managed platform High productivity development
  • 12.
  • 13.
    RESTAPI API Apps Hybrid connections VPN/VNET Trafficmanager Continuous deployment Logic Apps Functions Mobile Apps Web Apps Facebook Twitter Microsoft Google Azure Active Directory WindowsAndroidApple iOS OSX In-AppKindle Azure SQL Database Mongo DB Document DB Office 365 Azure Tables Offline sync Windows iOS Android HTML 5/JS Xamarin PhoneGap Sencha Data Connections Offline sync SQL User Authentication Push notifications iOS
  • 14.
    Why Azure AppService for MBaaS? • Continuous Integration/Deployment • Site Staging Slots • Site Resiliency, HA, and DR • Auto Scale • Traffic Routing • App & Site Diagnostics • Scheduled Backups • Role Base Access Control • VNET support • IP Restrictions/ SSL
  • 15.
    Complex ecosystem (multiple combinations ofdevices and operating systems) Business demands (rapidly release high-quality apps) Multi-stage development (just one app involves many stages) Design & Develop TestMonitor App delivery lifecycle 1000+ devices100+ apps App delivery
  • 16.
    A/B Testing Live Update Storage PushNotifications Crash Reporting Remote Config Identity Tables
  • 17.
    A/B Testing Live UpdateStorage Push Notifications Crash Reporting Remote Config. Identity Tables Visual Studio Mobile Center Mission control for mobile apps https://mobile.azure.com

Editor's Notes

  • #5 [Speaker Guidance: This section is a history lesson. Don’t spend much time here. Key message is that PaaS moves beyond cloud-hosted VMs, because the underlying OS doesn’t need to be managed, nor does scalability, most security, and other key attributes.] Objective: Illustrate the computing “eras” that have led to the cloud overlaid with some of the common app design paradigms that developers have employed to constantly strive for greater speed, efficiency and productivity. Key talking points: In the beginning, there were physical machines. They were expensive and developers loaded them up with multiple applications to save costs. This caused no end of conflicts and unexpected bugs, yet effective machine utilization was still low. Developers struggled to make sure changes to one application didn’t break an unrelated application. Next up: virtual machines. Since multiple VMs could be run on a single physical box, developers installed their applications in contained VMs, which reduced conflicts and improved utilization, but welcome to shared memory and unpredictable performance. And since provisioning had to be made for the largest loads, “scaling in” wouldn’t really save money. Enter the cloud. Companies could rent the virtual machines they needed, when they needed them. They could scale applications up and down on demand. You still needed to install and configure OS level patches and updates, and you still had to contend with low-level networking. But most of the benefits of this model accrued to operations and infrastructure, not app development.
  • #6 [Speaker Guidance: Most of your audience will own a car, and likely be happy with that ownership. This is an analogy to help understand the differences, but don’t try to push the analogy too far. ] Objective: Illustrate the differences between IaaS, PaaS and Saas in a simplistic, easy to understand way. Key talking points: So what differentiates a developer platform from an infrastructure platform? It’s pretty simple, there are tiers of responsibility with benefits and tradeoffs between them. For example, to use a car analogy, if you own a car you have to go through the purchase process, buy insurance, maintain and service it over a long period of time, provide parking or garaging (you get the idea). If you’re renting a car, you get the benefit of a car at your disposal for a fixed time period without any of the overhead of ownership – like maintenance and insurance. An Uber or a taxi is likely to be the most affordable option, but can have limits on flexibility—you might have to wait five minutes, or maybe stand out in the rain waiting for a ride. Likewise, building apps on IaaS is a perfectly valid approach. It gives you maximum control and flexibility to run whatever you want—but with added responsibilities. Conclusion: If your primary business function isn’t running compute infrastructure, you can get more from your scarce developer time by using an application platform that removes complexity and maintenance responsibility. There might be some trade-off considerations around flexibility, but overall, you can get more done faster and with lower total cost of ownership building on platform as a service (PaaS).
  • #7 Virtual machines are like your first car. You are responsible for maintenance and upkeep. I would rather drive in a limo or uber. This way I can focus on the task at hand, getting from point A to point B There is still a car, but it's a car that I don't have to think about, I'm focused on the business problem of reaching my destination.
  • #8 Virtual machines are like your first car. You are responsible for maintenance and upkeep. I would rather drive in a limo or uber. This way I can focus on the task at hand, getting from point A to point B There is still a car, but it's a car that I don't have to think about, I'm focused on the business problem of reaching my destination.
  • #9 [Speaker Guidance: Consider casting back a few comments to the innovation graphic in the earlier slides. These three things are built to allow you to innovate rapidly and get that innovation into the hands of as many people as possible, as quickly as possible.] Objective: Define the value proposition of the Microsoft application platform (tools + platform + data) Key talking points: Flexible and open: Highly customized apps or template based web and mobile PaaS solutions Create born in the cloud apps on scalable, distributed architectures The broadest range of languages, frameworks, tools, databases, and architectures Services and tools for iOS, Android, Windows, and Linux Start small and grow (“least case scenario”) Leverage 60+ enterprise grade services to build highly functional apps Transform data into intelligent actions Add artificial intelligence and predictive analytics into your applications Leverage security services like Azure Security Center, anomaly/threat detection etc. Productive: Integrated cloud platform, DevOps, and development tools Build, deploy, manage, and run applications faster 4.7x return on investment over IaaS (Forrester) Work effectively across teams and disciplines Up to 80% reduction in IT administration time (Forrester) Reach: Maximize the reach for your applications Target on-premises, hybrid, cloud, and multi-cloud environments The best of all worlds with more options, less complexity, and cost Write once, run anywhere Integration with SaaS providers
  • #10 [Speaker Guidance: You may get IaaS questions here. Provide short answers or defer to the IaaS section (if you’re going to deliver it). Keep the momentum on PaaS for now.] Objective: Let’s examine some of the advantages of PaaS over IaaS Key talking points: PaaS provides a platform allowing customers to develop, run, and manage applications without the complexity of building and maintaining the underlying infrastructure. PaaS enables organizations to build and run applications without focusing on the infrastructure. It provides automatic OS and service patching, built-in network load balancing, and resiliency against hardware failure. It supports a deployment model that enables customers to upgrade applications without downtime. Microsoft Azure services like App Service, Service Fabric, Azure Functions, and Cloud Services provide customers with a comprehensive PaaS application platform for building, deploying and managing apps of all kinds, from the simplest website to the most complex business solution. IDC: In the recent Worldwide Semiannual Public Cloud Services Spending Guide, IDC estimated that PaaS will grow at a faster rate than Infrastructure as a Service (IaaS) and Software as a Service (SaaS) with a five-year CAGRs of 30.6%. IDC states that “PaaS is important because it's the focus at many companies for rapid application development and mobile app development, using the DevOps approach.” Today over 50% of Azure customers use both IaaS and PaaS and this number continues to grow.
  • #11 [The 1,000ft View - PaaS services drill down] Objective: Define what constitutes the Azure application platform. What are the main services developers need to think about. Key talking points: App Service: is a set of services that has everything you need to build apps that target both web and mobile clients from a single app back end. Supporting a range of language options—.NET, Node.js, Java, PHP, and Python—it consists of Web Apps, Mobile Apps, Logic Apps, and API Apps. Service Fabric: is a platform that developers and ISVs can use to build and manage custom microservice-based applications at cloud scale and with 24x7 availability. Microservices are an architectural approach based on fine-grained, loosely coupled services that can enable advanced developer agility Functions: provides serverless, compute for event-driven solutions that extends the existing Azure application platform with capabilities to implement code triggered by events occurring in other Azure services, SaaS products (like Office365 and Salesforce.com), and on-premises systems. Cloud Services: was the original Microsoft platform as a service (PaaS) service launched in 2010. Inspired by the needs of developers, Cloud Services enabled them to easily deploy .NET applications, taking advantage of cloud infrastructure like Virtual Machines and Virtual Networks without having to manage the low-level details and configuration of Windows Server and the underlying infrastructure. Other PaaS: all PaaS runs great on Azure! Azure supports the leading third-party PaaS framework providers like Cloud Foundry and OpenShift.
  • #15 App Service is the preferred option for building web or mobile back ends because it provides the productivity, scale, performance, and deployment options for most requirements. Use App Service when you want to focus on building unique features for your app and need the infrastructure to just work. Additionally, it’s great for building an API layer which can be exposed to customers, partners and employees securely using the related API Management service. You can use App Service in conjunction with the many other Azure services (Redis Cache or Azure Traffic Manager, for instance) to quickly build and deploy powerful apps. You can monitor all aspects of your apps in real time and historically with detailed operational logs. App Service handles the underlying infrastructure, removing the need for you to maintain and patch your infrastructure.