blob: a09f97477fd4d09aab2e1b576433814be153778a [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>About ARIA TOSCA • Apache ARIA TOSCA</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
<!-- CSS -->
<link rel="stylesheet" href="/css/owl.carousel.css">
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" href="/css/font-awesome.min.css">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/ionicons.min.css">
<link rel="stylesheet" href="/css/animate.css">
<link rel="stylesheet" href="/css/responsive.css">
<!-- Js -->
<script src="/js/vendor/modernizr-2.6.2.min.js"></script>
<script src="/js/vendor/jquery-1.10.2.min.js"></script>
<script>window.jQuery || document.write('<script src="/js/vendor/jquery-1.10.2.min.js"><\/script>')</script>
<script src="/js/bootstrap.min.js"></script>
<script src="/js/owl.carousel.min.js"></script>
<script src="/js/plugins.js"></script>
<script src="/js/min/waypoints.min.js"></script>
<script src="/js/jquery.counterup.js"></script>
<script src="/js/main.js"></script>
<script src="/js/plugins/jquery.mixitup.min.js"></script>
</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 Start -->
<header>
<div class="container">
<div class="row">
<div class="col-md-12">
<!-- header Nav Start -->
<nav class="navbar navbar-default">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">
<img src="/images/aria-logo.png" alt="Apache ARIA TOSCA">
</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<nav role="navigation" class="menu top-menu">
<ul class="nav navbar-nav navbar-right">
<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="/getting-started/" >Docs</a></li>
<li><a href="/roadmap/" >Roadmap</a></li>
</ul>
</nav>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
</div>
</div>
</div>
</header><!-- header close -->
<div id="page-wrapper">
<div id="main" role="main">
<article class="wrap" itemscope itemtype="http://schema.org/Article">
<section id="global-header">
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="block">
<h1>About ARIA TOSCA</h1>
<p></p>
</div>
</div>
</div>
</div>
</section>
<div class="inner-wrap">
<div id="content" class="page-content" itemprop="articleBody">
<section id="intro">
<div class="container">
<div class="row">
<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" class="center-image" /></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" class="center-image" /></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-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>
<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>
</div>
</div>
</section>
<hr />
<footer class="page-footer">
</footer><!-- /.footer -->
<aside>
</aside>
</div><!-- /.content -->
</div><!-- /.inner-wrap -->
</article><!-- ./wrap -->
</div><!-- /#main -->
<!-- Wrapper Start -->
<section id="intro" style="padding-top:30px; padding-bottom:30px">
<div class="container">
<div class="row">
<div class="col-md-10 col-sm-12">
<div class="block">
<p>
Apache ARIA TOSCA is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
</p>
</div>
</div><!-- .col-md-7 close -->
<div class="col-md-2 col-sm-12">
<div class="block" valign="middle" style="vertical-align: middle;">
<img src="/images/incubator_power_ring.png" alt="ARIA Podling" >
</div>
</div><!-- .col-md-5 close -->
</div>
</div>
</section>
<footer>
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="footer-manu">
<ul class="menu-item">
<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>
</div>
<p> Copyright © 2017 The Apache Software Foundation. Licensed under the Apache License, Version 2.0. <br />
Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache Software Foundation.</p>
</div>
</div>
</div>
</footer>
</div>
<script src="/js/vendor/jquery-1.10.2.min.js"></script>
<script src="/js/plugins/jquery.mixitup.min.js"></script>
<script src="/js/owl.carousel.min.js"></script>
<script src="/js/jquery.counterup.js"></script>
<script src="/js/main.js"></script>
</body>
</html>