colony, modularity the easy way

23
Colony Framework Modularity, the easy way João Magalhães 2010 [email protected] @joamag

Upload: hive-solutions

Post on 06-Apr-2017

6.947 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Colony, modularity the easy way

Colony FrameworkModularity,  the  easy  way

João  Magalhães

2010

[email protected]

@joamag

Page 2: Colony, modularity the easy way

Love  at  first  sightModularity

Page 3: Colony, modularity the easy way

. Single problem found in 2008

. OSGi was too complex and heavy

. Started replicating OSGi functionality,

avoiding complexity and promoting pragmatism

Colony FrameworkThe  beginning

data  migration

.  no  dynamic  language.  not  fun  to  develop.  not  like  rails

Page 4: Colony, modularity the easy way

Colony Framework

this  isthe  logo

the  rebolution

Page 5: Colony, modularity the easy way

Colony Framework Goals

. Modularity and re-­usage

. Easy to use and easy to develop

. Fun to develop

. Truly open platform in every sense

. Sustained development, research oriented

just  like  rails

.  Open  standards.  Opem  sourcecode.  Community  driven  

thisis  true

not  guided  by  customer  demands

Page 6: Colony, modularity the easy way

The research numbers

 months  of  pure  researchand  prototyping6

Lines  of  code  and  70  person  years(someone  should  haveretired  by  now)

300kColony  plugins  developed400

years  of  research  and  development1 1/2

Page 7: Colony, modularity the easy way

Colony Framework Structure

. It’s a specification and not an implementation

. 2 reference implementations . Python, Javascript

. 2 different flavours . Standard and Web

. Runtime Plugin model (OSGi and MEF inspired)

. Distributed model (OSGi inspired)

. Easy Viral deployment

Page 8: Colony, modularity the easy way

Colony Framework How  it  works?

the  core.  Dependency  managem

ent.  Life  cycle  managemen

t.  Inversion  of  control

Console  Plugin.  Command  line  processing.  Minimal  set  of  commandsfor  controlling  the  core.  Allows  command  extemsions

Translation  Console  Plugin.  Provides  a  console  translation  service.  Allows  translation  extensions

Page 9: Colony, modularity the easy way

Colony Framework How  it  works?

the  core

Console  Plugin

Translation  engine  plugins

Translation  Console  Plugin

Page 10: Colony, modularity the easy way

Small tech demo

Page 11: Colony, modularity the easy way

Services  Set.  HTTP.  SMTP.  XMPP.Etc

Distribution  Set.  Serialization.  Discovery.  Balancing

Business  Logic.  Data  pool  managing.  Load  balancing

Data  Set.  ORM.  Storage.  Compression

Colony Framework the  big  picture

Page 12: Colony, modularity the easy way

.Grid of colony instances

. Federation of colony grids

. Automatic instance discovery (UPnP, bonjour)

. Transient plugins

. Viral distribution

Colony Framework Distribution

Optimized  resource  usage

Page 13: Colony, modularity the easy way

Colony Framework Distribution

Optimized  resource  usage

+

+

+ C+++ C++ +

Page 14: Colony, modularity the easy way

just  plug  the  cable

explore  the  power  of  millions

Colony  is  defined  bystandard  specificationsnot  technologiesjust  like  a  normal  plugin

Colony Framework Distribution  possibilities

. Easy scaleout

. Simple development model

. Crowd sourcing ready

. No technology commitment

Page 15: Colony, modularity the easy way

Why Colony?

Page 16: Colony, modularity the easy way

. Parallel development

. Natural division of work

. Easy introduction to new work

Why Colony?Development  process

less  collisions,less  conflicts  inmerges

boundaries  are  definedby  plugin  specificationa  plugin  is  a  small  codebase300k  of  code  VS  2k  of  code

Page 17: Colony, modularity the easy way

. Open source code under GPL v3

. Open standards

. Community driven

Why Colony?Open  source

a  plugin  can  usewhatever  licence

we  love  ’em:.  OpenID.  Oauth

Community  isthe  boss

Page 18: Colony, modularity the easy way

. Easy development model

. Zero downtime

. Modularity on the web

. Open to extension, ready for the future

. many more...

Why Colony?Extras

it’s  painless

for  real!something  new

think  colony!

Page 19: Colony, modularity the easy way

Build your personalized applications

from existing components...

Why Colony?Why  not?

...from open source plugins

...from proprietary plugins

...deploying to a personal cloud

...using any technology and being

platform independent

Page 20: Colony, modularity the easy way

Colony Applications

Business  software

Scientific  computing E-­Government

Web  consumer  productsHealth  Care

Energy  Management

Page 21: Colony, modularity the easy way

. A simple rails-­like MVC application,

that expands functionality over time

.An extension to the SMTP plugin to

provide automatic mail handling

Start using ColonyWhat  can  I  do  with  Colony?

Simple

Complex. A distributed system to process

scientific computing

. An enterprise application driven

by modules (pay by module)

many  more

Page 22: Colony, modularity the easy way

more  geekslike  us

they  can  benefit  fromcolony  distributed

remember  it’s  fun

. People to drive colony community

. Partners to develop new plugins for colony

. Deployment of colony in scientific environments

. Hobbyist usage of colony

Call to ActionJoin  us

Page 23: Colony, modularity the easy way

Get Colonygetcolony.com

@colonyframework

hive.pt

@hivesolutions