Codestrong 2012 breakout session using appcelerator cloud services in your apps

Preview:

Citation preview

Using Appcelerator Cloud Services in Your Apps

Michael GoffDirector of Engineering, Cloud Services

Appcelerator@mikegoff

mgoff@appcelerator.com

Designing and implementing cloud-connected apps

• Top-down

• Pain points

• End users

• User interfaces

• User experience

How are apps designed?

Developers rarely start designing

their app by defining the data

structures or backend services.

They think of their goals and work

top-down to define the use cases

and flow.

The required backend services and

data models fall out of this.

Popular social apps

• Users

• Photos

• Checkins

• Status

• Friends

• Likes

• Reviews

What do they have in common?

Do it yourself client & server coding

• Design client app

• Write client app

• Test client app

• Deploy client app

• Design client/server API• Write server code• Resize photos• Provision servers• Store data reliably• Deploy code to servers• Test server code• Maintain servers• Scale servers• Manage SSL certificates

Build your app with ACS

• Design client app

• Write client app

• Test client app

• Deploy client app

• Use ACS APIs

• Manage your app data

20 cloud services that will rock your world (and make your apps successful)

20 predefined services

• Key-value store simple data

• Custom fields to supplement predefined data types

• Custom objects for defining your own data types

• Custom code allows you to write your own server-side components

Need more? Use custom data & code!

{ "meta": { "status": "ok", "code": 200, "method_name": "showUsers” }, "response": { "users": [{ "id":"4e8b8e627818261d1d0003a8", "first_name":”Cloud", "last_name":”User", "created_at":"2011-10-04T22:53:22+0000", "updated_at":"2012-05-08T17:12:43+0000", "email":”clouduser@cocoafish.com", "custom_fields": { ”age”:28, ”show_size":”8", ”favorite_color":”blue” }

}] }}

ACS public cloud architecture

ACS API Server

NoSQL Database Search Engine

Amazon EC2

Amazon S3

File File

Photo Photo

ACS Network Layer

ACS Titanium & Native Client SDKs

ACS Push Server for iOS & Android

Using Appcelerator Cloud Services

• Create a Ti Studio project

• Add ACS features

• Manage data from the ACS admin console

• Refer to the Ti SDK & ACS documentation

Ti + ACS

• Create an ACS app on my.apcelerator.com

• Install the ACS iOS SDK

• Configure keys

• Add ACS features

• Manage data from the ACS admin console

• Refer to the ACS documentation

iOS + ACS

• We provide six predefined sizes, but you can specify your own with photo_sizes[]

• Photo resizing can be synchronous using photo_sync_sizes[]

• Photo processing extracts exif data

• Photos are downloaded from S3

• Retry uploads in your app

• Preload photo downloads

Handling Photos

• Use this to define your own types of objects (video, car, book)

• Fields are indexed and efficiently queryable

• Upcoming relational objects feature will allow inclusion of other predefined & custom objects

Custom Objects

Checkout the Building Custom Cloud Services talk @ 5pm today in Nob Hill!

Thanks!

Michael GoffDirector of Engineering, Cloud Services

Appcelerator@mikegoff

mgoff@appcelerator.com

iOS + ACS Apps

Ti + ACS Apps

Deployment options

ACS Public CloudACS Virtual

Private CloudACS Private Cloud

Hosted, managed by Appcelerator in the Cloud

Hosted, managed by Appcelerator in the Cloud

with dedicated infrastructure

Hosted, managed by the customer at their

premises or data center