Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s...

76
s Technology for a better society Towards model-driven provisioning, deployment, monitoring, and adaptation of multi-cloud systems Alessandro Rossini Advanced School on SOC, Hersonissos 4 July 2013

Transcript of Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s...

Page 1: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Towards model-driven provisioning, deployment, monitoring, and

adaptation of multi-cloud systems Alessandro Rossini

Advanced School on SOC, Hersonissos

4 July 2013

Page 2: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

s

Page 3: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

s

Page 4: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

s • Largest research organisation in Scandinavia

Page 5: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

s • Largest research organisation in Scandinavia

• Technology, Medicine, Social Science

Page 6: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

s • Largest research organisation in Scandinavia

• Technology, Medicine, Social Science

• Headquarters in Trondheim and Oslo

Page 7: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

s • Largest research organisation in Scandinavia

• Technology, Medicine, Social Science

• Headquarters in Trondheim and Oslo

• Offices in Norway, Denmark, USA, Brazil, Chile

Page 8: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

s • Largest research organisation in Scandinavia

• Technology, Medicine, Social Science

• Headquarters in Trondheim and Oslo

• Offices in Norway, Denmark, USA, Brazil, Chile

• 2100 employees from 70 countries

Page 9: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

s • Largest research organisation in Scandinavia

• Technology, Medicine, Social Science

• Headquarters in Trondheim and Oslo

• Offices in Norway, Denmark, USA, Brazil, Chile

• 2100 employees from 70 countries

• 1000 employees holding a Ph.D.

Page 10: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

s • Largest research organisation in Scandinavia

• Technology, Medicine, Social Science

• Headquarters in Trondheim and Oslo

• Offices in Norway, Denmark, USA, Brazil, Chile

• 2100 employees from 70 countries

• 1000 employees holding a Ph.D.

• 350 million euros annual turnover

Page 11: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Alessandro Rossini

Page 12: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Alessandro Rossini

Education

Page 13: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Alessandro Rossini

Education • 2004-2006 M.Sc., University of L'Aquila, Italy University of Bergen, Norway

Page 14: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Alessandro Rossini

Education • 2004-2006 M.Sc., University of L'Aquila, Italy University of Bergen, Norway • 2008-2011 Ph.D., University of Bergen, Norway

Page 15: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Alessandro Rossini

Education • 2004-2006 M.Sc., University of L'Aquila, Italy University of Bergen, Norway • 2008-2011 Ph.D., University of Bergen, Norway Employment

Page 16: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Alessandro Rossini

Education • 2004-2006 M.Sc., University of L'Aquila, Italy University of Bergen, Norway • 2008-2011 Ph.D., University of Bergen, Norway Employment • 2007 Software engineer, Integrator, Bergen

Page 17: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Alessandro Rossini

Education • 2004-2006 M.Sc., University of L'Aquila, Italy University of Bergen, Norway • 2008-2011 Ph.D., University of Bergen, Norway Employment • 2007 Software engineer, Integrator, Bergen • 2008-2012 Research fellow, University of Bergen

Page 18: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Alessandro Rossini

Education • 2004-2006 M.Sc., University of L'Aquila, Italy University of Bergen, Norway • 2008-2011 Ph.D., University of Bergen, Norway Employment • 2007 Software engineer, Integrator, Bergen • 2008-2012 Research fellow, University of Bergen • 2012 Lecturer, Bergen University College

Page 19: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Alessandro Rossini

Education • 2004-2006 M.Sc., University of L'Aquila, Italy University of Bergen, Norway • 2008-2011 Ph.D., University of Bergen, Norway Employment • 2007 Software engineer, Integrator, Bergen • 2008-2012 Research fellow, University of Bergen • 2012 Lecturer, Bergen University College • 2012- Research scientist, SINTEF, Oslo

Page 20: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Cloud computing

Page 21: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Cloud computing

A computing model enabling ubiquitous network access to a shared and virtualised pool of

computing capabilities (e.g., network, storage, processing, and memory) that can be rapidly provisioned with minimal management effort

source: NIST

Page 22: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

source: Graviant

Page 23: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

IaaS PaaS SaaS

Page 24: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Applications

Data

Run-time

OS

Virtualisation

Servers

Storage

Network

IaaS PaaS SaaS

Page 25: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Applications

Data

Run-time

OS

Virtualisation

Servers

Storage

Network

Cons

umer

Pr

ovid

er

IaaS PaaS SaaS

Page 26: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Applications

Data

Run-time

OS

Virtualisation

Servers

Storage

Network

Applications

Data

Run-time

OS

Virtualisation

Servers

Storage

Network

Cons

umer

Pr

ovid

er

Cons

umer

Pr

ovid

er

IaaS PaaS SaaS

Page 27: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Applications

Data

Run-time

OS

Virtualisation

Servers

Storage

Network

Applications

Data

Run-time

OS

Virtualisation

Servers

Storage

Network

Applications

Data

Run-time

OS

Virtualisation

Servers

Storage

Network

Cons

umer

Pr

ovid

er

Cons

umer

Pr

ovid

er

Prov

ider

IaaS PaaS SaaS

Page 28: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Benefits

• Scalability

• Performance

• Availability

• Cost

Page 29: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Challenges

• Heterogeneity

• Incompatibility

• Lack of standards

• Lack of methodologies

Page 30: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Page 31: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Amazon AWS Rackspace

IBM SmartCloud Terramark

Page 32: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Amazon AWS OpenStack vCloud

Amazon AWS Rackspace

IBM SmartCloud Terramark

Stacks

Page 33: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

jclouds Simple Cloud Deltacloud

Amazon AWS OpenStack vCloud

Amazon AWS Rackspace

IBM SmartCloud Terramark

Libraries

Stacks

Page 34: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

CloudML

Page 35: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

CloudML

• Domain-specific language (DSL) for modelling the provisioning and deployment of multi-cloud systems at design-time

Page 36: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

CloudML

• Domain-specific language (DSL) for modelling the provisioning and deployment of multi-cloud systems at design-time

• Models@run-time environment for enacting the provisioning and deployment of these systems at run-time

Page 37: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Design-time

Page 38: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Cloud Provider-Independent Model

JSON XMI …

Page 39: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Node type

• Generic virtual machine – a virtual machine running GNU/Linux

Page 40: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Node type

• Provisioning requirements – 2 cores ≤ compute ≤ 4 cores

– 2 GiB ≤ memory ≤ 4 GiB

– storage ≥ 10 GiB

– location = Europe

Page 41: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Node type example (JSON) "nodeTypes": [

{

"id": "SmallGNULinux",

"os": "GNULinux",

"compute": [ 2, 4 ],

"memory": [ 2048, 4096 ],

"storage": [ 10240 ],

"location": "eu",

"provides": [

{ "id": "SSHCapability" }

]

}

]

Page 42: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Artefact types

• Generic component of the application – a Java servlet of an application for document

collaboration

– a Jetty container

– a MongoDB database

Page 43: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Artefact types

• Deployment commands – retrieve the Java servlet from cloudml.org

– configure it

– run it

Page 44: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Artefact types

• Deployment dependencies – the Jetty container and the MongoDB database have

to be deployed before the Java servlet

Page 45: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Artefact types

• Communication channels – a Java servlet communicates with another Java

servlet through Hypertext Transfer Protocol Secure (HTTPS) on port 443

Page 46: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Artefact type example (JSON) "artefactTypes": [

{

"id": "MongoDB",

"retrieval": "wget http://cloudml.org/services/mongodb",

"deployment": "sudo mongodb",

"provides": [

{ "id": "MongoDBCapability" }

]

},

Page 47: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Artefact type example (JSON) …

{

"id": "Jetty",

"retrieval": "wget http://cloudml.org/services/jetty",

"deployment": "sudo jetty",

"provides": [

{ "id": "JettyCapability" }

]

},

Page 48: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Artefact type example (JSON) …

{

"id": "Docs",

"retrieval": "wget http://cloudml.org/apps/docs.war; wget http://cloudml.org/apps/docs_configure; wget http://cloudml.org/apps/docs_deploy",

"configuration": "sudo docs_configure",

"deployment": "sudo docs_deploy",

"requires": [

{ "id": "JettyCapability" },

{ "id": "MongoDBCapability" }

]

}

]

Page 49: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Artefact A Artefact B

Artefact C

Provided applicative capability

Communication channel

Required applicative capability

Provided deployment capability

Required deployment capability

Dependency

Resources (binaries, scripts, etc.)

Page 50: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Run-time

Page 51: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Cloud Provider-Independent Model

JSON XMI …

Page 52: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Cloud Provider-Independent Model

Cloud Provider-Specific Model

Models@run-time

JSON XMI …

Page 53: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Cloud Provider-Independent Model

Cloud Provider-Specific Model

Models@run-time

Provisioning and Deployment

JSON XMI

jclouds

Cloudify …

Page 54: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Cloud Provider-Independent Model

Cloud Provider-Specific Model

Models@run-time

Provisioning and Deployment

JSON XMI

jclouds

Cloudify

Amazon AWS

Rackspace …

Page 55: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Models@run-time

Page 56: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Models@run-time

• CPSM causally connected to the running system

Page 57: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Models@run-time

• CPSM causally connected to the running system

• A change in the CPSM is reflected on-demand in the running system

Page 58: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Models@run-time

• CPSM causally connected to the running system

• A change in the CPSM is reflected on-demand in the running system

• A change in the running system is automatically reflected in the CPSM

Page 59: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Models@run-time

Current CPSM

Page 60: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Models@run-time

Current CPSM

Reasoning

Page 61: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Models@run-time

Current CPSM

Reasoning Target CPSM

Page 62: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Models@run-time

Current CPSM

Reasoning Model Checking

Target CPSM

Page 63: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Models@run-time

Current CPSM

Target CPSM

Reasoning Model Checking

Target CPSM

Page 64: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Models@run-time

Current CPSM

Target CPSM

Reasoning Model Checking

Target CPSM

Diff

Page 65: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Models@run-time

Current CPSM Adaptation

Target CPSM

Reasoning Model Checking

Target CPSM

Diff

Page 66: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Models@run-time

Provisioning and Deployment

Current CPSM Adaptation

Target CPSM

Reasoning Model Checking

Target CPSM

Diff

Page 67: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Models@run-time

Provisioning and Deployment

Current CPSM Adaptation

Target CPSM

Reasoning Model Checking

Target CPSM

Diff

Page 68: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Demo

Page 69: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Related work

Page 70: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Related work

• TOSCA

• Cloudify

• Chef

• Puppet

Page 71: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Summary

Page 72: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

CloudML

• Domain-specific language (DSL) for modelling the provisioning and deployment of multi-cloud systems at design-time

• Models@run-time environment for enacting the provisioning and deployment of these systems at run-time

Page 73: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Resources

• http://cloudml.org

• https://github.com/SINTEF-9012/cloudml/

Page 74: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Literature

Nicolas Ferry, Alessandro Rossini, Franck Chauvel, Brice Morin, Arnor Solberg

Towards model-driven provisioning, deployment, monitoring, and adaptation of multi-cloud systems

In IEEE CLOUD 2013

IEEE Computer Society, 2013

Page 75: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Acknowledgements

Page 76: Towards model-driven provisioning, deployment, monitoring, and - … · 2016. 11. 29. · s Technology for a better society Towards model-driven provisioning, deployment, monitoring,

s Technology for a better society

Thank you!

? Follow me:

twitter.com/alerossini

alessandrorossini.org