21
Node.ACS Appcelerator Custom Cloud Services Wei Kong Director of Engineering, Cloud Services Appcelerator Inc. @baobeimm [email protected]

Codestrong 2012 breakout session building your own custom cloud services

Embed Size (px)

Citation preview

Page 1: Codestrong 2012 breakout session   building your own custom cloud services

Node.ACSAppcelerator Custom Cloud Services

Wei KongDirector of Engineering, Cloud Services

Appcelerator Inc.@baobeimm

[email protected]

Page 2: Codestrong 2012 breakout session   building your own custom cloud services

Appcelerator Cloud Services (ACS) as Instant Mobile Backend

Page 3: Codestrong 2012 breakout session   building your own custom cloud services

• Easy to use

• Cross Platform (REST Api based)

• Predefined object models

• Custom Objects and Fields

• No Server Code Needed

The Good

Page 4: Codestrong 2012 breakout session   building your own custom cloud services

• Custom Code

• Web Hosting

• Support of Custom URLs

• Can have extra overhead with the network and battery consumption

What’s Missing

Page 5: Codestrong 2012 breakout session   building your own custom cloud services

Introducing Custom Cloud Services (Node.ACS)

Page 6: Codestrong 2012 breakout session   building your own custom cloud services

• Complete Solution to your Mobile Backend

• JavaScript for both Client and Server

• Fully Integrated with ACS

Node.js + ACS

JS

Page 7: Codestrong 2012 breakout session   building your own custom cloud services

• Use JavaScript to write Web Servers

• Based on Google’s V8 Engine

• Event-driven/None-blocking IO

• Lightweight and efficient

• More at http://nodejs.org

Node.js in a Nutshell

Page 8: Codestrong 2012 breakout session   building your own custom cloud services

• Performance and Scalability

• Easy to Integrate Network Components

• JavaScript

Why Node.js

Page 9: Codestrong 2012 breakout session   building your own custom cloud services

Node.ACS Architecture

Page 10: Codestrong 2012 breakout session   building your own custom cloud services

ACS Network Layer

ACS

Page 11: Codestrong 2012 breakout session   building your own custom cloud services

Test Locally

Create a app

Publish to Node.ACS Cloud

Set Custom CnameEx. http://www.yourapp.com

The Development Flow

Unpublish

Page 12: Codestrong 2012 breakout session   building your own custom cloud services

Multiple Versions

V1

V2

V3

Device (v1)

Device (v2)

Device (v3)

Latest

your app

Page 13: Codestrong 2012 breakout session   building your own custom cloud services

Demo and Sample Code

Page 14: Codestrong 2012 breakout session   building your own custom cloud services

Web Server

Sample web server to display your

app data stored in ACS

Page 15: Codestrong 2012 breakout session   building your own custom cloud services

var user = { session:"",};api.login = function(req, res) {

if(user.session === ""){ ACS.Users.login({login: req.body.un,password: req.body.pw}, function(e) { if(e.success && e.success === true){

user.session = e.meta.session_id;}else{

res.redirect(version+'/index?msg='+e.message); } }, req, res); }else{ res.redirect(version+'/show'); }}

What’s wrong?

Page 16: Codestrong 2012 breakout session   building your own custom cloud services

Websocket

A group chat app

based on websocket

Page 17: Codestrong 2012 breakout session   building your own custom cloud services

websocket.message = function(data, socket) {socket.broadcast.emit('message', data);

};

Group Chat

// Received a message iosocket.on('message', function(message) {

// Display the message});

// User types a message$('#outgoingChatMessage').keypress(function(event) {

iosocket.emit('message', $('#outgoingChatMessage').val());}

Server Code

Client Code

Page 18: Codestrong 2012 breakout session   building your own custom cloud services

Roadmap

Page 19: Codestrong 2012 breakout session   building your own custom cloud services

• One free Node.js Worker/app

• 100M Free disk space/app

• Unlimited API calls

What’s in Preview

Page 20: Codestrong 2012 breakout session   building your own custom cloud services

• Background job workers

• Node.js Monitoring

• More 3rd party services integrations

• Web Console

• Flexible free tier

• Auto sleep and reactivation

Coming Soon

Page 21: Codestrong 2012 breakout session   building your own custom cloud services

Wei Kong@baobeimm

[email protected]