SlideShare ist ein Scribd-Unternehmen logo
1 von 33
1
Power Your Mobile
Applications via
the Cloud
Romin Irani
Xoriant
2
Agenda
 Cloud Computing
 Google App Engine
 Writing Mobile Applications – Powered by
the Cloud
3
What is Cloud Computing?
• An application that you can use
• A computer that you can use
• A network peripheral that you can use
• Storage
• Applications like Gmail, SalesForce, etc
4
What is the ‘Computing’ part?
Servers
Networks
Applications
Storage
Services
5
Define Cloud Computing?
• Cloud computing is a pay-per-use model
for enabling available, convenient, on-
demand network access to a shared pool
of configurable computing resources
(e.g., networks, servers, storage,
applications, services) that can be rapidly
provisioned and released with minimal
management effort or service provider
interaction.
6
5-4-3 Formula
Cloud Computing comprises of
• 5 key characteristics
– On Demand Self Service, Ubiquitous Network Access,
Location Independent Resource Pooling, Elasticity & Pay
Per Use
• 3 delivery models
– SaaS, PaaS, IaaS
• 4 deployment models
– Public, Private, Hybrid & Community
7
Another view!
8
IaaS, PaaS and SaaS - Summary
IaaS PaaS SaaS
I will give you a virtual
machine
in the cloud which you can
provision any time you want
I will give you a software
platform which you can use
to build and deploy
application in the cloud
I will provide you with ready
to use applications
You pay for what you use You pay based on usage You just need to log in and
use
You can scale it up or down
whenever you wish
You do not need to pay for
any additional software
You not need to buy
anything
You continue to use the
same set of software
You have no administrative
hassles
You pay only for what you
use
9
Who are the providers?
• Amazon [IaaS]
• SalesForce [SaaS, PaaS]
• Google [SaaS, PaaS]
• Microsoft [SaaS, PaaS]
• Zoho [SaaS]
• And many more …
10
Amazon – Web Services (IaaS)
• Elastic Compute Cloud (EC2)
– Rent computing resources by the hour
– Basic unit of accounting = instance-hour
– Additional costs for bandwidth
• Simple Storage Service (S3)
– Persistent storage
– Charge by the GB/month
– Additional costs for bandwidth
• Several Other services : Virtual Private Cloud,
etc
11
For the Developer - PaaS
• Java (Google App Engine)
• .NET (Azure)
• Python (Google App Engine)
• PHP (Rackspace)
• Ruby (Heroku)
• Other Platforms (Force.com, etc)
12
Advantages
• Increase the speed at which application can be
deployed.
• Organizations can respond to change much
faster.
• IT Management is taken care of and you focus
on the application.
• By paying only for what you use - it shifts the
burden of planning for something that you are
not very sure of.
• IT is being delivered as a service via APIs.
13
Disadvantages
• Traditional IT methods are not going to work
• Architectural decisions are in the hands of the
developers
• Programming models/APIs need to be learnt (PaaS)
• Coding needs to be done so as to get maximum value
for what you are paying
• Cloud Interoperability is suspect at this point in time
• Cloud standards/tools are still evolving
• Still need to separate out the hype from the
substance
14
PaaS Walkthrough
• Google App Engine
15
Google App Engine
• It is a PaaS, been around for 2.5 years
• It provides a software stack to develop
web applications
• Python and Java
• Downloadable SDK & Tools
– Eclipse Plugin, Local Server, Local Dashboard
• Specialized Services
• Scalable, Generous Free Quota … more.
16
Google App Engine - Services
17
App Engine Architecture
17
Python /
Java
VM
process
stdlib
app
memcache
datastore
Mail
urlfetch
Services R/O FS
req/resp
Images
XMPP
Cron Jobs
Task Queue
Blob Store
User Service
18
Advantages
• Development without worrying about the deployment
infrastructure
• Single development environment – end to end [Eclipse
based tools]
• Instant deployment, cloud scalability [Eclipse based tools]
• Excellent Monitoring Tools
• Billing : Pay as you use. Generous free quotas that get you
started immediately
• In short: An affordable, efficient and scalable
environment for your web applications.
19
Google App Engine - Quotas
• ~5M pageviews/month
• 6.5 CPU hrs/day
• 1 GB storage
• 650K URL Fetch calls/day
• 2,000 recipients emailed
• 1 GB/day bandwidth
• 100,000 tasks enqueued
• 650K XMPP messages/day
20
How to use Google App engine
• Download Java 6
• Download Eclipse and Google plug in
• Register a user account in Google
• Register an application
• Create an application (Java) and deploy the
application
• Your app is ready !!
• Monitor Usage & (Modify-Test-Deploy)
21
Sample Application
• Reminder Service
– Monthly Reminders
– Example : FEB – Mom/Dad Anniversary, JUN –
Wife Birthday, JULY – Pay Tax .
– Simple REST like API to fetch details
22
Lets get started!!
Download Java 6
Download Eclipse and Google plug in
Register a user account in Google
Register an application
Create an application (Java) and deploy the
application
Your app is ready !!
Monitor Usage & (Modify-Test-Deploy)
23
Mobile Applications - Development
• Various Mobile OS
• Plenty of Tools / IDEs
• Possible to write many more apps – all
served by a Service Layer powered by the
Cloud
• Native or Web Mobile Applications
24
Mobile Applications
25
Web Mobile Applications
26
• On the Server side, a 2-step procedure is used
to deliver the content.
– Identify the Device Capabilities and thereby its
group
• Use of WURFL Device Database
– Server side adaption to deliver the content
accordingly
Thin Client Architecture – Key Points
27
WURFL
• http://wurfl.sourceforge.net,
spearheaded by Luca Passani
• WURFL = Wireless Universal Resource
File
• XML Configuration File
• Information about capabilities and
features of many mobile devices
28
Native Mobile Development – (Thick Client)
29
• Build a common REST layer that will expose
functionality over XML/HTTP
• The REST functionality will contain all methods
required i.e. login, get account summary, report data,
payment transactions
• This common REST layer will be used by all Thick
Client applications and Thin Clients
• Thick client applications will use the features available
on the respective handsets.
Thick Client Architecture – Key Points
30
Key to bringing it all together
• Cloud Application -> Service Enablement
• Glue : HTTP, REST , JSON/XML
• One Service layer -> Multiple Mobile
Applications (various platforms)
31
Demos
• Cloud application and Service Layer
• Android Native application
• Web Mobile application
• WURFL Integration for Device detection
– http://wurfl.sourceforge.net/help_doc.php
32
References

Google App Engine:
http://appengine.google.com/
 Google App Engine Experiments
http://gaejexperiments.wordpress.com
 WURFL
http://wurfl.sourceforge.net/
33
Thank You
 Q & A
romin.k.irani
@
gmail.com
iRomin

Weitere ähnliche Inhalte

Was ist angesagt?

Grails in the Cloud (2013)
Grails in the Cloud (2013)Grails in the Cloud (2013)
Grails in the Cloud (2013)Meni Lubetkin
 
Openstack - Enterprise cloud management platform
Openstack - Enterprise cloud management platformOpenstack - Enterprise cloud management platform
Openstack - Enterprise cloud management platformNagaraj Shenoy
 
[Webinar] AWS Monitoring with Site24x7
[Webinar] AWS Monitoring with Site24x7[Webinar] AWS Monitoring with Site24x7
[Webinar] AWS Monitoring with Site24x7Site24x7
 
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...Tony Erwin
 
Platform as a service standard for hadoop environment
Platform as a service standard for hadoop environmentPlatform as a service standard for hadoop environment
Platform as a service standard for hadoop environmentAbhay Pai
 
Serverless Architecture - introduction + AWS demo
Serverless Architecture - introduction + AWS demoServerless Architecture - introduction + AWS demo
Serverless Architecture - introduction + AWS demoJan van Zoggel
 
Leveraging ApsaraDB to Deploy Business Data on the Cloud
Leveraging ApsaraDB to Deploy Business Data on the CloudLeveraging ApsaraDB to Deploy Business Data on the Cloud
Leveraging ApsaraDB to Deploy Business Data on the CloudOliver Theobald
 
IBM SoftLayer - overview of Cloud Infrastructure
IBM SoftLayer - overview of Cloud Infrastructure IBM SoftLayer - overview of Cloud Infrastructure
IBM SoftLayer - overview of Cloud Infrastructure Avinaba Basu
 
Cloud computing From Iaas to PaaS to SaaS
Cloud computing From Iaas to PaaS to SaaSCloud computing From Iaas to PaaS to SaaS
Cloud computing From Iaas to PaaS to SaaSChris Sparshott
 
Discovering Cloud Networking: VPC, VPN, Express Connect & Server Load Balancer
Discovering Cloud Networking: VPC, VPN, Express Connect & Server Load BalancerDiscovering Cloud Networking: VPC, VPN, Express Connect & Server Load Balancer
Discovering Cloud Networking: VPC, VPN, Express Connect & Server Load BalancerAlibaba Cloud
 
How Applications Manager helps with application performance monitoring
How Applications Manager helps with application performance monitoringHow Applications Manager helps with application performance monitoring
How Applications Manager helps with application performance monitoringManageEngine, Zoho Corporation
 
It security for libraries part 3 - disaster recovery
It security for libraries part 3 - disaster recovery It security for libraries part 3 - disaster recovery
It security for libraries part 3 - disaster recovery Brian Pichman
 
SoftLayer Cloud Services
SoftLayer Cloud ServicesSoftLayer Cloud Services
SoftLayer Cloud ServicesAnna Landolfi
 
Building Serverless Microservices Using Serverless Framework on the Cloud
Building Serverless Microservices Using Serverless Framework on the CloudBuilding Serverless Microservices Using Serverless Framework on the Cloud
Building Serverless Microservices Using Serverless Framework on the CloudSrini Karlekar
 
Creating Microservices Application with IBM Cloud Private (ICP) - ICP Archite...
Creating Microservices Application with IBM Cloud Private (ICP) - ICP Archite...Creating Microservices Application with IBM Cloud Private (ICP) - ICP Archite...
Creating Microservices Application with IBM Cloud Private (ICP) - ICP Archite...PT Datacomm Diangraha
 
IOT15_Unit6.pptx
IOT15_Unit6.pptxIOT15_Unit6.pptx
IOT15_Unit6.pptxsuptel
 

Was ist angesagt? (20)

Grails in the Cloud (2013)
Grails in the Cloud (2013)Grails in the Cloud (2013)
Grails in the Cloud (2013)
 
Openstack - Enterprise cloud management platform
Openstack - Enterprise cloud management platformOpenstack - Enterprise cloud management platform
Openstack - Enterprise cloud management platform
 
[Webinar] AWS Monitoring with Site24x7
[Webinar] AWS Monitoring with Site24x7[Webinar] AWS Monitoring with Site24x7
[Webinar] AWS Monitoring with Site24x7
 
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
 
Platform as a service standard for hadoop environment
Platform as a service standard for hadoop environmentPlatform as a service standard for hadoop environment
Platform as a service standard for hadoop environment
 
AMIS OOW Review 2012 - Deel 5 Coherence - Paco van der Linden
AMIS OOW Review 2012 - Deel 5 Coherence - Paco van der LindenAMIS OOW Review 2012 - Deel 5 Coherence - Paco van der Linden
AMIS OOW Review 2012 - Deel 5 Coherence - Paco van der Linden
 
vm provisioning
vm provisioningvm provisioning
vm provisioning
 
Serverless Architecture - introduction + AWS demo
Serverless Architecture - introduction + AWS demoServerless Architecture - introduction + AWS demo
Serverless Architecture - introduction + AWS demo
 
Leveraging ApsaraDB to Deploy Business Data on the Cloud
Leveraging ApsaraDB to Deploy Business Data on the CloudLeveraging ApsaraDB to Deploy Business Data on the Cloud
Leveraging ApsaraDB to Deploy Business Data on the Cloud
 
IBM SoftLayer - overview of Cloud Infrastructure
IBM SoftLayer - overview of Cloud Infrastructure IBM SoftLayer - overview of Cloud Infrastructure
IBM SoftLayer - overview of Cloud Infrastructure
 
Cloud computing From Iaas to PaaS to SaaS
Cloud computing From Iaas to PaaS to SaaSCloud computing From Iaas to PaaS to SaaS
Cloud computing From Iaas to PaaS to SaaS
 
Discovering Cloud Networking: VPC, VPN, Express Connect & Server Load Balancer
Discovering Cloud Networking: VPC, VPN, Express Connect & Server Load BalancerDiscovering Cloud Networking: VPC, VPN, Express Connect & Server Load Balancer
Discovering Cloud Networking: VPC, VPN, Express Connect & Server Load Balancer
 
How Applications Manager helps with application performance monitoring
How Applications Manager helps with application performance monitoringHow Applications Manager helps with application performance monitoring
How Applications Manager helps with application performance monitoring
 
It security for libraries part 3 - disaster recovery
It security for libraries part 3 - disaster recovery It security for libraries part 3 - disaster recovery
It security for libraries part 3 - disaster recovery
 
SoftLayer Cloud Services
SoftLayer Cloud ServicesSoftLayer Cloud Services
SoftLayer Cloud Services
 
AMIS OOW 2012 Review - Deel 4 ADF - Paco van der Linden
AMIS OOW 2012 Review - Deel 4 ADF - Paco van der LindenAMIS OOW 2012 Review - Deel 4 ADF - Paco van der Linden
AMIS OOW 2012 Review - Deel 4 ADF - Paco van der Linden
 
Building Serverless Microservices Using Serverless Framework on the Cloud
Building Serverless Microservices Using Serverless Framework on the CloudBuilding Serverless Microservices Using Serverless Framework on the Cloud
Building Serverless Microservices Using Serverless Framework on the Cloud
 
Creating Microservices Application with IBM Cloud Private (ICP) - ICP Archite...
Creating Microservices Application with IBM Cloud Private (ICP) - ICP Archite...Creating Microservices Application with IBM Cloud Private (ICP) - ICP Archite...
Creating Microservices Application with IBM Cloud Private (ICP) - ICP Archite...
 
Eecp cloud
Eecp cloudEecp cloud
Eecp cloud
 
IOT15_Unit6.pptx
IOT15_Unit6.pptxIOT15_Unit6.pptx
IOT15_Unit6.pptx
 

Ähnlich wie Power Your Mobile Applications On The Cloud [IndicThreads Mobile Application Development Conference]

A Complete Guide Cloud Computing
A Complete Guide Cloud ComputingA Complete Guide Cloud Computing
A Complete Guide Cloud ComputingSripati Mahapatra
 
Cloud Computing E-Lect.ppt
Cloud Computing E-Lect.pptCloud Computing E-Lect.ppt
Cloud Computing E-Lect.pptarunimaarunima1
 
Cloud computing by Luqman
Cloud computing by LuqmanCloud computing by Luqman
Cloud computing by LuqmanLuqman Shareef
 
Cloud description
Cloud descriptionCloud description
Cloud descriptionthanuambika
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud ComputingBharat Kalia
 
CSE2013-cloud computing-L3-L4.pptx
CSE2013-cloud computing-L3-L4.pptxCSE2013-cloud computing-L3-L4.pptx
CSE2013-cloud computing-L3-L4.pptxMadhura Arvind
 
Introduction to Google Cloud & GCCP Campaign
Introduction to Google Cloud & GCCP CampaignIntroduction to Google Cloud & GCCP Campaign
Introduction to Google Cloud & GCCP CampaignGDSCVJTI
 
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...Jack-Junjie Cai
 
Cloud computing-2 (1)
Cloud computing-2 (1)Cloud computing-2 (1)
Cloud computing-2 (1)JUDYFLAVIAB
 
在小學有效運用雲端電腦以促進電子學習(第一節筆記)
在小學有效運用雲端電腦以促進電子學習(第一節筆記)在小學有效運用雲端電腦以促進電子學習(第一節筆記)
在小學有效運用雲端電腦以促進電子學習(第一節筆記)Tsz Wing Chu
 
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
Migrating Java EE applications to IBM Bluemix Platform-as-a-ServiceMigrating Java EE applications to IBM Bluemix Platform-as-a-Service
Migrating Java EE applications to IBM Bluemix Platform-as-a-ServiceDavid Currie
 
Introduction of cloud computing
Introduction of cloud computingIntroduction of cloud computing
Introduction of cloud computingSuman Sharma
 
lect15_cloud.ppt
lect15_cloud.pptlect15_cloud.ppt
lect15_cloud.pptAjit Mali
 
cloudintroduction.ppt
cloudintroduction.pptcloudintroduction.ppt
cloudintroduction.pptAhmedRebai8
 
Introduction to Azure fundamentals of cloud.pptx
Introduction to Azure fundamentals of cloud.pptxIntroduction to Azure fundamentals of cloud.pptx
Introduction to Azure fundamentals of cloud.pptxNadir Arain
 

Ähnlich wie Power Your Mobile Applications On The Cloud [IndicThreads Mobile Application Development Conference] (20)

A Complete Guide Cloud Computing
A Complete Guide Cloud ComputingA Complete Guide Cloud Computing
A Complete Guide Cloud Computing
 
Salesforce - classification of cloud computing
Salesforce - classification of cloud computingSalesforce - classification of cloud computing
Salesforce - classification of cloud computing
 
Cloud Computing E-Lect.ppt
Cloud Computing E-Lect.pptCloud Computing E-Lect.ppt
Cloud Computing E-Lect.ppt
 
Cloud computing by Luqman
Cloud computing by LuqmanCloud computing by Luqman
Cloud computing by Luqman
 
Cloud description
Cloud descriptionCloud description
Cloud description
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud Computing
 
CSE2013-cloud computing-L3-L4.pptx
CSE2013-cloud computing-L3-L4.pptxCSE2013-cloud computing-L3-L4.pptx
CSE2013-cloud computing-L3-L4.pptx
 
Introduction to Google Cloud & GCCP Campaign
Introduction to Google Cloud & GCCP CampaignIntroduction to Google Cloud & GCCP Campaign
Introduction to Google Cloud & GCCP Campaign
 
Cloud ppt
Cloud pptCloud ppt
Cloud ppt
 
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Akhil518
Akhil518Akhil518
Akhil518
 
Cloud computing-2 (1)
Cloud computing-2 (1)Cloud computing-2 (1)
Cloud computing-2 (1)
 
在小學有效運用雲端電腦以促進電子學習(第一節筆記)
在小學有效運用雲端電腦以促進電子學習(第一節筆記)在小學有效運用雲端電腦以促進電子學習(第一節筆記)
在小學有效運用雲端電腦以促進電子學習(第一節筆記)
 
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
Migrating Java EE applications to IBM Bluemix Platform-as-a-ServiceMigrating Java EE applications to IBM Bluemix Platform-as-a-Service
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
 
Introduction of cloud computing
Introduction of cloud computingIntroduction of cloud computing
Introduction of cloud computing
 
lect15_cloud.ppt
lect15_cloud.pptlect15_cloud.ppt
lect15_cloud.ppt
 
cloudintroduction.ppt
cloudintroduction.pptcloudintroduction.ppt
cloudintroduction.ppt
 
Introduction to Azure fundamentals of cloud.pptx
Introduction to Azure fundamentals of cloud.pptxIntroduction to Azure fundamentals of cloud.pptx
Introduction to Azure fundamentals of cloud.pptx
 
lect15_cloud.ppt
lect15_cloud.pptlect15_cloud.ppt
lect15_cloud.ppt
 

Mehr von IndicThreads

Http2 is here! And why the web needs it
Http2 is here! And why the web needs itHttp2 is here! And why the web needs it
Http2 is here! And why the web needs itIndicThreads
 
Understanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
Understanding Bitcoin (Blockchain) and its Potential for Disruptive ApplicationsUnderstanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
Understanding Bitcoin (Blockchain) and its Potential for Disruptive ApplicationsIndicThreads
 
Go Programming Language - Learning The Go Lang way
Go Programming Language - Learning The Go Lang wayGo Programming Language - Learning The Go Lang way
Go Programming Language - Learning The Go Lang wayIndicThreads
 
Building Resilient Microservices
Building Resilient Microservices Building Resilient Microservices
Building Resilient Microservices IndicThreads
 
App using golang indicthreads
App using golang  indicthreadsApp using golang  indicthreads
App using golang indicthreadsIndicThreads
 
Building on quicksand microservices indicthreads
Building on quicksand microservices  indicthreadsBuilding on quicksand microservices  indicthreads
Building on quicksand microservices indicthreadsIndicThreads
 
How to Think in RxJava Before Reacting
How to Think in RxJava Before ReactingHow to Think in RxJava Before Reacting
How to Think in RxJava Before ReactingIndicThreads
 
Iot secure connected devices indicthreads
Iot secure connected devices indicthreadsIot secure connected devices indicthreads
Iot secure connected devices indicthreadsIndicThreads
 
Real world IoT for enterprises
Real world IoT for enterprisesReal world IoT for enterprises
Real world IoT for enterprisesIndicThreads
 
IoT testing and quality assurance indicthreads
IoT testing and quality assurance indicthreadsIoT testing and quality assurance indicthreads
IoT testing and quality assurance indicthreadsIndicThreads
 
Functional Programming Past Present Future
Functional Programming Past Present FutureFunctional Programming Past Present Future
Functional Programming Past Present FutureIndicThreads
 
Harnessing the Power of Java 8 Streams
Harnessing the Power of Java 8 Streams Harnessing the Power of Java 8 Streams
Harnessing the Power of Java 8 Streams IndicThreads
 
Building & scaling a live streaming mobile platform - Gr8 road to fame
Building & scaling a live streaming mobile platform - Gr8 road to fameBuilding & scaling a live streaming mobile platform - Gr8 road to fame
Building & scaling a live streaming mobile platform - Gr8 road to fameIndicThreads
 
Internet of things architecture perspective - IndicThreads Conference
Internet of things architecture perspective - IndicThreads ConferenceInternet of things architecture perspective - IndicThreads Conference
Internet of things architecture perspective - IndicThreads ConferenceIndicThreads
 
Cars and Computers: Building a Java Carputer
 Cars and Computers: Building a Java Carputer Cars and Computers: Building a Java Carputer
Cars and Computers: Building a Java CarputerIndicThreads
 
Scrap Your MapReduce - Apache Spark
 Scrap Your MapReduce - Apache Spark Scrap Your MapReduce - Apache Spark
Scrap Your MapReduce - Apache SparkIndicThreads
 
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & DockerIndicThreads
 
Speed up your build pipeline for faster feedback
Speed up your build pipeline for faster feedbackSpeed up your build pipeline for faster feedback
Speed up your build pipeline for faster feedbackIndicThreads
 
Unraveling OpenStack Clouds
 Unraveling OpenStack Clouds Unraveling OpenStack Clouds
Unraveling OpenStack CloudsIndicThreads
 
Digital Transformation of the Enterprise. What IT leaders need to know!
Digital Transformation of the Enterprise. What IT  leaders need to know!Digital Transformation of the Enterprise. What IT  leaders need to know!
Digital Transformation of the Enterprise. What IT leaders need to know!IndicThreads
 

Mehr von IndicThreads (20)

Http2 is here! And why the web needs it
Http2 is here! And why the web needs itHttp2 is here! And why the web needs it
Http2 is here! And why the web needs it
 
Understanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
Understanding Bitcoin (Blockchain) and its Potential for Disruptive ApplicationsUnderstanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
Understanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
 
Go Programming Language - Learning The Go Lang way
Go Programming Language - Learning The Go Lang wayGo Programming Language - Learning The Go Lang way
Go Programming Language - Learning The Go Lang way
 
Building Resilient Microservices
Building Resilient Microservices Building Resilient Microservices
Building Resilient Microservices
 
App using golang indicthreads
App using golang  indicthreadsApp using golang  indicthreads
App using golang indicthreads
 
Building on quicksand microservices indicthreads
Building on quicksand microservices  indicthreadsBuilding on quicksand microservices  indicthreads
Building on quicksand microservices indicthreads
 
How to Think in RxJava Before Reacting
How to Think in RxJava Before ReactingHow to Think in RxJava Before Reacting
How to Think in RxJava Before Reacting
 
Iot secure connected devices indicthreads
Iot secure connected devices indicthreadsIot secure connected devices indicthreads
Iot secure connected devices indicthreads
 
Real world IoT for enterprises
Real world IoT for enterprisesReal world IoT for enterprises
Real world IoT for enterprises
 
IoT testing and quality assurance indicthreads
IoT testing and quality assurance indicthreadsIoT testing and quality assurance indicthreads
IoT testing and quality assurance indicthreads
 
Functional Programming Past Present Future
Functional Programming Past Present FutureFunctional Programming Past Present Future
Functional Programming Past Present Future
 
Harnessing the Power of Java 8 Streams
Harnessing the Power of Java 8 Streams Harnessing the Power of Java 8 Streams
Harnessing the Power of Java 8 Streams
 
Building & scaling a live streaming mobile platform - Gr8 road to fame
Building & scaling a live streaming mobile platform - Gr8 road to fameBuilding & scaling a live streaming mobile platform - Gr8 road to fame
Building & scaling a live streaming mobile platform - Gr8 road to fame
 
Internet of things architecture perspective - IndicThreads Conference
Internet of things architecture perspective - IndicThreads ConferenceInternet of things architecture perspective - IndicThreads Conference
Internet of things architecture perspective - IndicThreads Conference
 
Cars and Computers: Building a Java Carputer
 Cars and Computers: Building a Java Carputer Cars and Computers: Building a Java Carputer
Cars and Computers: Building a Java Carputer
 
Scrap Your MapReduce - Apache Spark
 Scrap Your MapReduce - Apache Spark Scrap Your MapReduce - Apache Spark
Scrap Your MapReduce - Apache Spark
 
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 
Speed up your build pipeline for faster feedback
Speed up your build pipeline for faster feedbackSpeed up your build pipeline for faster feedback
Speed up your build pipeline for faster feedback
 
Unraveling OpenStack Clouds
 Unraveling OpenStack Clouds Unraveling OpenStack Clouds
Unraveling OpenStack Clouds
 
Digital Transformation of the Enterprise. What IT leaders need to know!
Digital Transformation of the Enterprise. What IT  leaders need to know!Digital Transformation of the Enterprise. What IT  leaders need to know!
Digital Transformation of the Enterprise. What IT leaders need to know!
 

Kürzlich hochgeladen

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
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
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Kürzlich hochgeladen (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

Power Your Mobile Applications On The Cloud [IndicThreads Mobile Application Development Conference]

  • 1. 1 Power Your Mobile Applications via the Cloud Romin Irani Xoriant
  • 2. 2 Agenda  Cloud Computing  Google App Engine  Writing Mobile Applications – Powered by the Cloud
  • 3. 3 What is Cloud Computing? • An application that you can use • A computer that you can use • A network peripheral that you can use • Storage • Applications like Gmail, SalesForce, etc
  • 4. 4 What is the ‘Computing’ part? Servers Networks Applications Storage Services
  • 5. 5 Define Cloud Computing? • Cloud computing is a pay-per-use model for enabling available, convenient, on- demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
  • 6. 6 5-4-3 Formula Cloud Computing comprises of • 5 key characteristics – On Demand Self Service, Ubiquitous Network Access, Location Independent Resource Pooling, Elasticity & Pay Per Use • 3 delivery models – SaaS, PaaS, IaaS • 4 deployment models – Public, Private, Hybrid & Community
  • 8. 8 IaaS, PaaS and SaaS - Summary IaaS PaaS SaaS I will give you a virtual machine in the cloud which you can provision any time you want I will give you a software platform which you can use to build and deploy application in the cloud I will provide you with ready to use applications You pay for what you use You pay based on usage You just need to log in and use You can scale it up or down whenever you wish You do not need to pay for any additional software You not need to buy anything You continue to use the same set of software You have no administrative hassles You pay only for what you use
  • 9. 9 Who are the providers? • Amazon [IaaS] • SalesForce [SaaS, PaaS] • Google [SaaS, PaaS] • Microsoft [SaaS, PaaS] • Zoho [SaaS] • And many more …
  • 10. 10 Amazon – Web Services (IaaS) • Elastic Compute Cloud (EC2) – Rent computing resources by the hour – Basic unit of accounting = instance-hour – Additional costs for bandwidth • Simple Storage Service (S3) – Persistent storage – Charge by the GB/month – Additional costs for bandwidth • Several Other services : Virtual Private Cloud, etc
  • 11. 11 For the Developer - PaaS • Java (Google App Engine) • .NET (Azure) • Python (Google App Engine) • PHP (Rackspace) • Ruby (Heroku) • Other Platforms (Force.com, etc)
  • 12. 12 Advantages • Increase the speed at which application can be deployed. • Organizations can respond to change much faster. • IT Management is taken care of and you focus on the application. • By paying only for what you use - it shifts the burden of planning for something that you are not very sure of. • IT is being delivered as a service via APIs.
  • 13. 13 Disadvantages • Traditional IT methods are not going to work • Architectural decisions are in the hands of the developers • Programming models/APIs need to be learnt (PaaS) • Coding needs to be done so as to get maximum value for what you are paying • Cloud Interoperability is suspect at this point in time • Cloud standards/tools are still evolving • Still need to separate out the hype from the substance
  • 15. 15 Google App Engine • It is a PaaS, been around for 2.5 years • It provides a software stack to develop web applications • Python and Java • Downloadable SDK & Tools – Eclipse Plugin, Local Server, Local Dashboard • Specialized Services • Scalable, Generous Free Quota … more.
  • 16. 16 Google App Engine - Services
  • 17. 17 App Engine Architecture 17 Python / Java VM process stdlib app memcache datastore Mail urlfetch Services R/O FS req/resp Images XMPP Cron Jobs Task Queue Blob Store User Service
  • 18. 18 Advantages • Development without worrying about the deployment infrastructure • Single development environment – end to end [Eclipse based tools] • Instant deployment, cloud scalability [Eclipse based tools] • Excellent Monitoring Tools • Billing : Pay as you use. Generous free quotas that get you started immediately • In short: An affordable, efficient and scalable environment for your web applications.
  • 19. 19 Google App Engine - Quotas • ~5M pageviews/month • 6.5 CPU hrs/day • 1 GB storage • 650K URL Fetch calls/day • 2,000 recipients emailed • 1 GB/day bandwidth • 100,000 tasks enqueued • 650K XMPP messages/day
  • 20. 20 How to use Google App engine • Download Java 6 • Download Eclipse and Google plug in • Register a user account in Google • Register an application • Create an application (Java) and deploy the application • Your app is ready !! • Monitor Usage & (Modify-Test-Deploy)
  • 21. 21 Sample Application • Reminder Service – Monthly Reminders – Example : FEB – Mom/Dad Anniversary, JUN – Wife Birthday, JULY – Pay Tax . – Simple REST like API to fetch details
  • 22. 22 Lets get started!! Download Java 6 Download Eclipse and Google plug in Register a user account in Google Register an application Create an application (Java) and deploy the application Your app is ready !! Monitor Usage & (Modify-Test-Deploy)
  • 23. 23 Mobile Applications - Development • Various Mobile OS • Plenty of Tools / IDEs • Possible to write many more apps – all served by a Service Layer powered by the Cloud • Native or Web Mobile Applications
  • 26. 26 • On the Server side, a 2-step procedure is used to deliver the content. – Identify the Device Capabilities and thereby its group • Use of WURFL Device Database – Server side adaption to deliver the content accordingly Thin Client Architecture – Key Points
  • 27. 27 WURFL • http://wurfl.sourceforge.net, spearheaded by Luca Passani • WURFL = Wireless Universal Resource File • XML Configuration File • Information about capabilities and features of many mobile devices
  • 28. 28 Native Mobile Development – (Thick Client)
  • 29. 29 • Build a common REST layer that will expose functionality over XML/HTTP • The REST functionality will contain all methods required i.e. login, get account summary, report data, payment transactions • This common REST layer will be used by all Thick Client applications and Thin Clients • Thick client applications will use the features available on the respective handsets. Thick Client Architecture – Key Points
  • 30. 30 Key to bringing it all together • Cloud Application -> Service Enablement • Glue : HTTP, REST , JSON/XML • One Service layer -> Multiple Mobile Applications (various platforms)
  • 31. 31 Demos • Cloud application and Service Layer • Android Native application • Web Mobile application • WURFL Integration for Device detection – http://wurfl.sourceforge.net/help_doc.php
  • 32. 32 References  Google App Engine: http://appengine.google.com/  Google App Engine Experiments http://gaejexperiments.wordpress.com  WURFL http://wurfl.sourceforge.net/
  • 33. 33 Thank You  Q & A romin.k.irani @ gmail.com iRomin

Hinweis der Redaktion

  1. Everyone has an opinion on what it is In this session, you will see what my opinion is! Actually not, what you will be given is a non-opinionated journey into what Cloud Computing is today minus the hype Along the way, we will do the following: Demonstrate a real Cloud Computing environment looks at from a developer perspective Code an application from scratch and deploy it See how you can write mobile applications that are driven by the services in your cloud application
  2. On Demand Self ServiceA consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed without requiring human interaction with each service's provider. Ubiquitous network access Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs). Location independent Resource PoolingThe provider's computing resources are pooled to serve all consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. The customer generally has no control or knowledge over the exact location of the provided resources. Examples of resources include storage, processing, memory, network bandwidth, and virtual machines. Rapid ElasticityCapabilities can be rapidly and elastically provisioned to quickly scale up and rapidly released to quickly scale down. To the consumer, the capabilities available for rent often appear to be infinite and can be purchased in any quantity at any time. Pay Per UseCapabilities are charged using a metered, fee-for-service, or advertising based billing model to promote optimization of resource use. Examples are measuring the storage, bandwidth, and computing resources consumed and charging for the number of active user accounts per month. Clouds within an organization accrue cost between business units and may or may not use actual currency. Cloud Software as a Service (SaaS)The capability provided to the consumer is to use the provider's applications running on a cloud infrastructure and accessible from various client devices through a thin client interface such as a Web browser (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure, network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings. Cloud Platform as a Service (PaaS)The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created applications using programming languages and tools supported by the provider (e.g., java, python, .Net). The consumer does not manage or control the underlying cloud infrastructure, network, servers, operating systems, or storage, but the consumer has control over the deployed applications and possibly application hosting environment configurations. Cloud Infrastructure as a Service (IaaS)The capability provided to the consumer is to rent processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly select networking components (e.g., firewalls, load balancers).
  3. IaaS  PaaS  SaaS
  4. Last Point :You have to understand that what has happened is that via a credit card, you can now purchase compute cycles, create virtual machines and so on. And you do not need a full time service contract or plan for it in advance
  5. Disadvantages: Learning a new programming model Constant monitoring, tweaking, etc as per your usage.
  6. Free Quota : Set by System Billing : Depends on the User Free Quota should be enough for most applications to get started Monitor the application usage to understand how much resources your application is using
  7. Current approach is built using HTML5/JavaScript for high end mobile browsers. This approach can be extended for lower category of mobiles using XHTML-MP with multiple CSS for different mobiles. Approach plans to leave the older generation of mobiles using WML.
  8. Single code base approach (except multiple CSS for XHTML-MP approach) For smart phones, CSS and JavaScript is used to perform Ajax like calls, thereby improving the application responsiveness.
  9. The native application has been built on iPhone OSv3.2 and Android v1.6 for demo purposes. This would be required to be built on all target devices. In this approach we could use the different mobile related features using the same server side code.
  10. Support is there for HTTP APIs in all Mobile OS.