blob: 3a09a099b36068c345ece07b159103983cbe1ca1 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>About ARIA TOSCA • Apache ARIA TOSCA</title>
<!-- Twitter Cards -->
<meta name="twitter:title" content="About ARIA TOSCA">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="/images/aria-icon.png">
<!-- Open Graph -->
<meta property="og:locale" content="en">
<meta property="og:type" content="article">
<meta property="og:title" content="About ARIA TOSCA">
<meta property="og:url" content="/about/">
<meta property="og:site_name" content="Apache ARIA TOSCA">
<link rel="canonical" href="/about/">
<link href="/atom.xml" type="application/atom+xml" rel="alternate" title="Apache ARIA TOSCA Atom Feed">
<link href="/sitemap.xml" type="application/xml" rel="sitemap" title="Sitemap">
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="cleartype" content="on">
<link rel="stylesheet" href="/css/main.css">
<!-- HTML5 Shiv and Media Query Support for IE -->
<!--[if lt IE 9]>
<script src="/js/vendor/html5shiv.min.js"></script>
<script src="/js/vendor/respond.min.js"></script>
<![endif]-->
</head>
<body id="js-body">
<!--[if lt IE 9]><div class="upgrade notice-warning"><strong>Your browser is quite old!</strong> Why not <a href="http://whatbrowser.org/">upgrade to a newer one</a> to better enjoy this site?</div><![endif]-->
<header id="masthead">
<div class="inner-wrap">
<a href="/" class="site-title">Apache ARIA TOSCA</a>
<nav role="navigation" class="menu top-menu">
<ul class="menu-item">
<li class="home"><a href="/">Apache ARIA TOSCA</a></li>
<li><a href="/about/" >About</a></li>
<li><a href="/community/" >Community</a></li>
<li><a href="/getting-started/" >Getting Started</a></li>
<li><a href="/roadmap/" >Roadmap</a></li>
</ul>
</nav>
</div><!-- /.inner-wrap -->
</header><!-- /.masthead -->
<nav role="navigation" id="js-menu" class="sliding-menu-content">
<h5>Apache ARIA TOSCA <span>Table of Contents</span></h5>
<ul class="menu-item">
<li>
<a href="/about/">
<div class="title">About</div>
<p class="excerpt">About ARIA TOSCA</p>
</a>
</li><li>
<a href="/community/">
<div class="title">Community</div>
<p class="excerpt">Joing the ARIA TOSCA Community</p>
</a>
</li><li>
<a href="/getting-started/">
<div class="title">Getting Started</div>
<p class="excerpt">Getting started with ARIA TOSCA</p>
</a>
</li><li>
<a href="/roadmap/">
<div class="title">Roadmap</div>
<p class="excerpt">Roadmap Features of ARIA TOSCA</p>
</a>
</li>
</ul>
</nav>
<button type="button" id="js-menu-trigger" class="sliding-menu-button lines-button x2" role="button" aria-label="Toggle Navigation">
<span class="nav-lines"></span>
</button>
<div id="js-menu-screen" class="menu-screen"></div>
<div id="page-wrapper">
<div id="main" role="main">
<article class="wrap" itemscope itemtype="http://schema.org/Article">
<div class="page-title">
<h1>About ARIA TOSCA</h1>
</div>
<div class="inner-wrap">
<div id="content" class="page-content" itemprop="articleBody">
<p>ARIA is a vendor neutral and technology independent implementation of the OASIS TOSCA specification. ARIA offers a Command Line Interface(CLI) to develop and execute TOSCA templates, and an easily consumable Software Development Kit(SDK) for building TOSCA enabled software. ARIA is an open source, and open governance python project, Apache Software Foundation Incubation, offering an implementation library of the OASIS TOSCA specification.</p>
<p>ARIA was formed to advance adoption of the TOSCA standard and accelerate the industry’s journey towards application orchestration in cloud environments.</p>
<p>ARIA, and TOSCA alike, were born out of the market need for a completely vendor / cloud / technology neutral orchestration that allows for portability and interoperability. ARIA is expected to accelerate the development around the TOSCA specification, advance its adoption, demonstrate simplified portability of TOSCA orchestration, and increase agility through more rapid community contributed iterations.</p>
<p>ARIA it is a framework for implementing orchestration software based on “Topology and Orchestration Specification for Cloud Applications(TOSCA)” a leading cloud-agnostic templating model formulated by the OASIS Foundation.</p>
<p>ARIA offers a library with a programmable interface that allows embedding ARIA into collaborative projects, to enable organizations looking to incorporate TOSCA orchestration capabilities into their solutions.</p>
<p><img src="/images/aria-architecture.png" alt="ARIA Architecture" /></p>
<p>Through ARIA, application vendors will be able to test and run their applications easily, from blueprint to deployment, without the former hassle of developing the orchestration engine themselves, simplifying TOSCA certification and validation exponentially.</p>
<p><img src="/images/aria-tosca-workflow.png" alt="ARIA Architecture" /></p>
<h2 id="aria-tosca-parser">ARIA TOSCA Parser</h2>
<p>ARIA includes a TOSCA DSL parser, the parser’s role is to interpret the TOSCA template, create an in-memory graph of the application and validate template correctness. TOSCA provides a typing system with normative node types to describe the possible building blocks for constructing a service template, as well as relationship types to describe possible kinds of relations. Both node and relationship types may define life-cycle operations to implement the behavior an orchestration engine can invoke when instantiating a service template. The template files are written in declarative YAML language using TOSCA normative types. Technology specific types can be introduced via ARIA Plugins without any modifications of the parser code. ARIA natively supports TOSCA Simple Profile 1.0, and TOSCA Simple Profile for Network Function Virtualization.</p>
<h4 id="tosca-templates-include">TOSCA Templates include:</h4>
<ul>
<li>YAML Topology Template</li>
<li>Plugins</li>
<li>Workflows</li>
<li>Resources such as scripts and others</li>
</ul>
<h2 id="aria-plugins">ARIA Plugins</h2>
<p>ARIA Plugins allow extending the TOSCA normative types dynamically by adding new technology specific node types and relationship types, without changing the code of the ARIA TOSCA Parser. The plugins introduce new node types and the implementation that realizes the logic behind every new node type. The plugin based types are isolated, allowing to use different versions of the same plugin in a single blueprint - for example support OpenStack Kilo and OpenStack Juno in the same template. It also allows combining types of different technologies - for example OpenStack nodes with VMware, Amazon, or other types such as Router, Firewall, Kubernetes and others. The work of interacting with IaaS APIs, running scripts, Configuration Management tools, Monitoring tools and any other tools used when managing applications is done by the ARIA Plugins. Plugins can be included as part of the application template package and loaded dynamically. ARIA includes set of plugins that can be used as is or as reference for implementing for new plugins.</p>
<h2 id="aria-workflows">ARIA Workflows</h2>
<p>ARIA Workflows are automated process algorithms that allow dynamic interaction with the graph described by the application topology template. ARIA Workflows describe the flow of the automation by determining when which tasks will be executed. A task may be an operation, optionally implemented by a plugin, or other actions, including arbitrary code or scripts. ARIA Workflows can be embedded within the TOSCA Template to be able to access the graph dynamically. Workflows are implemented as Python code using dedicated APIs and a framework to access the graph and the runtime context of the application, the context provide access to the object graph described in the TOSCA template.</p>
<p>ARIA comes with a number of built-in workflows - these are the workflows for install, uninstall, scale and heal. Built-in workflows are not special in any way - ARIA supports creating custom workflows that use the same APIs build-in workflows are using.</p>
<hr />
<footer class="page-footer">
</footer><!-- /.footer -->
<aside>
</aside>
</div><!-- /.content -->
</div><!-- /.inner-wrap -->
</article><!-- ./wrap -->
</div><!-- /#main -->
<footer role="contentinfo" id="site-footer">
<nav role="navigation" class="menu bottom-menu">
<ul class="menu-item">
<li><a href="/about/" >About</a></li>
<li><a href="/Community/" >Community</a></li>
<li><a href="/start/" >Getting Started</a></li>
<li><a href="/docs/" >Roadmap</a></li>
</ul>
</nav><!-- /.bottom-menu -->
<p class="copyright">ARIA is an agile reference implementation of automation based on OASIS TOSCA Specification. It is a framework for implementing orchestration software and a command line tool to execute TOSCA based application blueprints.</p>
<p class="copyright">&#169; 2017 <a href="">Apache ARIA TOSCA</a>.</p>
</footer>
</div>
<script src="/js/vendor/jquery-1.9.1.min.js"></script>
<script src="/js/main.js"></script>
</body>
</html>