<!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="http://localhost:4000/css/owl.carousel.css">
  <link rel="stylesheet" href="http://localhost:4000/css/bootstrap.min.css">
  <link rel="stylesheet" href="http://localhost:4000/css/font-awesome.min.css">
  <link rel="stylesheet" href="http://localhost:4000/css/style.css">
  <link rel="stylesheet" href="http://localhost:4000/css/ionicons.min.css">
  <link rel="stylesheet" href="http://localhost:4000/css/animate.css">
  <link rel="stylesheet" href="http://localhost:4000/css/responsive.css">

  <!-- Js -->
  <script src="http://localhost:4000/js/vendor/modernizr-2.6.2.min.js"></script>
  <script src="http://localhost:4000/js/vendor/jquery-1.10.2.min.js"></script>
  <script>window.jQuery || document.write('<script src="http://localhost:4000/js/vendor/jquery-1.10.2.min.js"><\/script>')</script>
  <script src="http://localhost:4000/js/bootstrap.min.js"></script>
  <script src="http://localhost:4000/js/owl.carousel.min.js"></script>
  <script src="http://localhost:4000/js/plugins.js"></script>

  <script src="http://localhost:4000/js/min/waypoints.min.js"></script>
  <script src="http://localhost:4000/js/jquery.counterup.js"></script>






  <script src="http://localhost:4000/js/main.js"></script>
  <script src="http://localhost:4000/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="http://localhost:4000/">
              <img src="http://localhost:4000/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="http://localhost:4000/about/" >About
			
  
    
    <li><a href="http://localhost:4000/community/" >Community
			
  
    
    <li><a href="http://localhost:4000/getting-started/" >Getting Started
			
  
    
    <li><a href="http://ariatosca.incubator.apache.org/docs/html/index.html" target="_blank">Docs
			
			<i class="fa fa-external-link" aria-hidden="true"></i></a></li> 
			
  
    
    <li><a href="http://localhost:4000/roadmap/" >Roadmap
			
  
</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="http://localhost:4000/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="http://localhost:4000/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="http://localhost:4000/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="http://localhost:4000/about/" >About</a></li>
					
			      
						<li><a href="http://localhost:4000/community/" >Community</a></li>
					
			      
						<li><a href="http://localhost:4000/getting-started/" >Getting Started</a></li>
					
			      
						<li><a href="http://localhost:4000/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="http://localhost:4000/js/vendor/jquery-1.10.2.min.js"></script>
    <script src="http://localhost:4000/js/plugins/jquery.mixitup.min.js"></script>
    <script src="http://localhost:4000/js/owl.carousel.min.js"></script>
    <script src="http://localhost:4000/js/jquery.counterup.js"></script>

    <script src="http://localhost:4000/js/main.js"></script>

  </body>

</html>
