47
Sviluppare in cloud con M.E.A.N.: il caso Crowdcore. MILAN november 28 th /29 th 2014

Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

Embed Size (px)

Citation preview

Page 1: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

Sviluppare in cloud con M.E.A.N.: il caso Crowdcore.

MILAN november 28th/29th 2014

Page 2: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

MILAN november 28th/29th 2014

BUSINESS CASE Juri di Natale

Page 3: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

LINKME à agile development ENTER CLOUD SUITE à cloud computing CROWDCORE à crowd economy

MILAN november 28th/29th 2014

THE “PROTAGONISTS”

Page 4: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

MILAN november 28th/29th 2014

SOME DEFINITIONS, BEFORE WE START

Page 5: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

•  MongoDB •  ExpressJS •  AngularJS •  NodeJS

MILAN november 28th/29th 2014

WHAT IS M.E.A.N.

Page 6: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

•  Reward crowdfunding •  Equity crowdfunding •  Donation crowdfunding •  Pre-order crowdfunding •  Social lending

MILAN november 28th/29th 2014

CROWDFUNDING

Page 7: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

A framework to develop crowd economy tools and platforms

MILAN november 28th/29th 2014

CROWDCORE

Page 8: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

MILAN november 28th/29th 2014

CROWDCORE: example

Page 9: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

A platform designed to grow, inside the enterprise, innovative projects based on crowdfunding and gamification

MILAN november 28th/29th 2014

CROWDCORE for NTT DATA

Page 10: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

MILAN november 28th/29th 2014

CROWDECONOMY

Customers are creating new business models

Page 11: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

MILAN november 28th/29th 2014

PLATFORM CHARACTERISTICS •  Multiplatform •  Multiproject •  Set of tools specific to different

types of crowdfunding •  Custom application

Page 12: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

How cloud computing and M.E.A.N. supported the development of a framework for a crowd economy platform

MILAN november 28th/29th 2014

BUSINESS CASE

Page 13: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

1. Scalability 2. Agile new feature implementation 3. Component re-use

MILAN november 28th/29th 2014

THE CHALLANGE

Page 14: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

MILAN november 28th/29th 2014

CROWDCORE APPLICATION

Page 15: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

MILAN november 28th/29th 2014

BACKEND Giovanni Lela

Page 16: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

•  I/O intensive REST APIs •  Horizontal scalability •  Leverage existing javascript know-

how •  Huge community

MILAN november 28th/29th 2014

WHY

Page 17: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

•  (mostly) non relational data •  Horizontal scalability (again) •  Mongoose ODM

MILAN november 28th/29th 2014

WHY

Page 18: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

•  Unopinionated •  VERY modular •  Mature

MILAN november 28th/29th 2014

WHY

Page 19: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

MILAN november 28th/29th 2014

6 MONTHS LATER…

Page 20: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

•  You need something to fight the callback hell (Bluebird)

•  Needs static typing •  Too many community packages

are too many

MILAN november 28th/29th 2014

nodeJS IS OK BUT…

Page 21: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

•  Mongoose Schemas are great o  Valida&on  o  Referencing  other  documents  o  Schema  inheritance    o  Plugins  

MILAN november 28th/29th 2014

mongoDB and mongoose ARE OK BUT…

Page 22: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

•  Easy to extend •  Maybe too much unopinionated

MILAN november 28th/29th 2014

EXPRESS IS OK BUT…

Page 23: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

•  Typescript •  ES6 generators - koa

MILAN november 28th/29th 2014

WHAT HAPPENS NEXT

Page 24: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

MILAN november 28th/29th 2014

FRONTEND Matteo Scandolo

Page 25: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

MILAN november 28th/29th 2014 – Speaker's name

Spread, Dependency Injection and Directive

WHY ANGULAR

Page 26: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

Every components is assembled with a Directive and a Service

STANDALONE MODULES

Page 27: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

MILAN november 28th/29th 2014 – Speaker's name

Every Module has some configuration parameters and the possiblity to pick up a custom template

Directive

Template

MODULE CONFIGURATION

Page 28: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

GruntJs let us build portable environment and tailor them to the developer needs.

MILAN november 28th/29th 2014 – Speaker's name

DEV ENVIRONMENT

Page 29: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

Every Module has his own repository, that is importend in the main project as a Git SubTree

MILAN november 28th/29th 2014 – Speaker's name

VERSION CONTROL

Page 30: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

MILAN november 28th/29th 2014

SIX MONTHS LATER…

Page 31: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

MILAN november 28th/29th 2014 – Speaker's name

Modules à Web Components

Page 32: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

MILAN november 28th/29th 2014 – Speaker's name

Grunt à Vagrant

Page 33: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

Subtree à Private Bower Registry

Page 34: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

MILAN november 28th/29th 2014

Q&A

Page 35: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

MILAN november 28th/29th 2014

HOW WE DESIGNED THE INFRASTRUCTURE Giorgio Bonfiglio

Page 36: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

•  Cost effectiveness •  Ability to scale-up

MILAN november 28th/29th 2014

WHAT THE CUSTOMER ASKED FOR…

Page 37: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

•  (Very) short deployment time •  Standardized processes •  Ability to clone the infrastructure

MILAN november 28th/29th 2014

…AND WHAT ABOUT DEVELOPERS?

Page 38: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

•  Designed for the cloud •  Easier distribution of components

MILAN november 28th/29th 2014

NEW FRAMEWORKS, BETTER POSSIBILITIES

Page 39: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

MILAN november 28th/29th 2014

HERE IT IS

Page 40: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

“deploy and scale in seconds easily manageable building blocks”

MILAN november 28th/29th 2014

IT’S ALL ABOUT AGILITY

Page 41: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

•  Easy disaster recovery, replica and versioning: NO limits!

MILAN november 28th/29th 2014

DREAMS… AS A SERVICE

Page 42: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

•  Infrastructure awareness for the application

•  Platform APIs enable it to control the underlying layer

MILAN november 28th/29th 2014

WHAT’S NEXT?

Page 43: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

MILAN november 28th/29th 2014

Q&A

Page 44: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

MILAN november 28th/29th 2014

KEY FINDINGS

Page 45: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

•  Technology supports the crowd economy

•  MEAN provides high scalability and flexibility

•  Cloud native applications do “manage” cloud infrastructures

MILAN november 28th/29th 2014

3 LESSONS

Page 46: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

A social lending platform is also coming!

MILAN november 28th/29th 2014

GOOD NEWS

Page 47: Sviluppare in cloud con M.E.A.N.: il caso Crowdcore

MILAN november 28th/29th 2014

WORK WITH US! [email protected] COME AND MEET US! www.entercloudsuite.com