Transcript

Applica'on  Development    in  the  Cloud  Era  

Adrian  Colyer  CTO,  SpringSource  -­‐  VMware  

Everything        changes  

90’s  =  web  rush    10’s  =  ?  

• The  New  Requirements  

• The  New  Applica'on  Architecture    • The  New  PlaLorm  

mobile  first  

user  centric  

web-­‐app  &  browser  

users  &  services  

in  real-­‐'me  

what  happened    last  month?  

what’s  happening    now?  

on  modern  infrastructure  

SSD  

SaaS  App  

SaaS  App  

SaaS  App  

IaaS  

PaaS  

PaaS  

Corporate  Data  Centers  

SaaS  App  

SaaS  App  

SaaS  App  

IaaS  

PaaS  

PaaS  

Corporate  Data  Centers  

SaaS  App  

SaaS  App  

SaaS  App  

IaaS  

PaaS  

PaaS  

Corporate  Data  Centers  

Apps   Data  

THE  NEW  APPLICATION  ARCHITECTURE  

Building  apps  in  the  2010s:  

Client  

Server  

View  Genera'on   Controllers  

Service  Layer  

Repositories  Channels   RDBMS  

CRUD  

Applica'on  Server  

Browser  

Browser-­‐based  HTML  Rendering  (progressive  enhancement)  

HTML   HTTP  

Browser-­‐based  HTML  Rendering  (progressive  enhancement)  

Client  

Server  

Controllers  View  Genera'on  

Service  Layer  

Repositories  Channels   RDBMS  

CRUD  

Applica'on  Server  

Browser  

HTML   HTTP  

Client  

Server  

Service  Layer  

Repositories  Channels   RDBMS  

CRUD  

Browser  app  or  embedded  in  na've  

JSON   HTTP  &  websockets  

HTML5  &  JS  Engine  

Controllers  DOM  

Client-­‐side  model  

events  &  

 no'fica'ons  

web  stg  

Client  

PaaS  

Service  Layer  

Repositories  Channels   RDBMS  

CRUD  

Browser  app  or  embedded  in  na've  

JSON   HTTP  &  websockets  

HTML5  &  JS  Engine  

Controllers  DOM  

Client-­‐side  model  

events  &  

 no'fica'ons  

web  stg  

Service   Service   Service  business  /    domain  services  

Client  

PaaS  CRUD  

Repositories  Channels   RDBMS  

Browser  app  or  embedded  in  na've  

JSON   HTTP  &  websockets  

HTML5  &  JS  Engine  

Controllers  DOM  

Client-­‐side  model  

events  &  

 no'fica'ons  

web  stg  

Service   Service   Service  business  /    domain  services  

Client  

PaaS  

Browser  app  or  embedded  in  na've  

JSON   HTTP  &  websockets  

HTML5  &  JS  Engine  

Controllers  DOM  

Client-­‐side  model  

events  &  

 no'fica'ons  

web  stg  

Service   Service   Service  business  /    domain  services  

Service   Service   Service   plaLorm  services,  web  APIs  

SQL   NoSQL   Other  

HTML5  (&  na've)  

PaaS  

JSON   HTTP  &  websockets  

HTML5  &  JS  Engine  

events  &  

 no'fica'ons  

Applica'ons  

Services  

Follow  the  user…  

wire.js  

Fabrics  extend  to  the  client  

“this  is  a  great  'me    to  be  a  server-­‐side  developer  :)”  

grails-app/conf/UrlMappings.groovy static mappings = { "/product/$id?" (resource:"product") }    

Method   Ac6on  GET   show  PUT   update  POST   save  DELETE   delete  

C  reated  R  eplicated  A  ppended  P  rocessed  

credit:  Charles  Fan,  VMware  

The  New  Data…  

CRAP  data  

Ingest  touch    stream  

logs  

ac'vity  Batch  

Analy'cs  

Spring  Data  Hadoop  

•  MapReduce,  Hive,  Pig  •  HDFS  and  Hbase  

•  Integra'on  into  Spring  Batch  •  Spring  Integra'on  adapters  

Spring  Hadoop  

CRAP  data  

Ingest  touch    stream  

logs  

ac'vity  Batch  

Analy'cs  

service  instance  

service  instance  

service  instance  

IMDG   IMDG  IMDG  

CEP  

THE  NEW  PLATFORM  Deploying  apps  in  the  2010s:  

applica'on  server  

service  plaLorm  (aaS)  

Private    Clouds    

Public  Clouds  

Data  Services  

Other  Services  

Msg  Services  

Micro  Clouds  

Grails   STS   Spring  Roo  

CONCLUDING  REMARKS  

The  New  Applica'on  Architecture  

• Mobile  first,  real-­‐'me,  contextual  • Applica'ons  and  Services  • Alchemy  (CRAP  -­‐>  Gold)  • PlaLorm  as  a  Service  

THANK  YOU  Adrian  Colyer,  CTO  SpringSource  -­‐  VMware  

top related