Project Murano is the OpenStack Application Catalog project — originally pioneered by Mirantis and developed as an OpenStack community effort. Murano provides tools for defining and packaging applications on preconfigured Windows and Linux VMs — IT (or in principle, end-users) can then ‘shop’ for these applications in an online catalog, and deploy them automatically, ready for use.
Applications can be arbitrarily complex: from individual VMs equipped for software development, testing or small-scale website deployments, to multi-tier applications that auto-scale onto many VMs, self-heal and provide robust support for Big Data analysis and other critical work.
Installing third party services and applications can be difficult in any environment, but the dynamic nature of an OpenStack environment can make this even more challenging. Murano solves this problem by providing an additional integration layer between third party components in an OpenStack infrastructure. Applications are defined in Murano with all the information the system needs for reliable, automated deployment. This eliminates the need for users to work through various IT departments and recruit different skill-sets to provision an application on the cloud — they just provide business and organizational requirements.
From the third-party tool developer’s perspective, the Murano application catalog offers a way to publish applications, including deployment rules and requirements, suggested configurations, output parameters and billing rules, and to track billing and usage information. From the end-user’s perspective, the application catalog is a place to find and self-provision applications, integrate them into their environment, and track usage information and costs. Third party developers can thus enrich the OpenStack ecosystem, making it more attractive for users; and users can get more out of OpenStack more easily, fostering adoption of OpenStack itself.
Learn about new features in Murano 0.5, including the new Application Catalog UI; and see how easy Murano is to use: first, creating and uploading an Apache Tomcat application package, then finding it in the catalog, configuring it to work with a database, and deploying it on OpenStack.
Murano features a very simple user interface, integrated with OpenStack’s standard Horizon web dashboard. The Application Catalog UI lets users find the applications they need based on category, tags and other attributes. For example, Apache Tomcat, a Java Servlet Container, can be found by searching for the tags: application service, java, servlet.
Once the desired application is found, it can be deployed immediately, or added to a Murano environment defining a multi-tier application, like a LAMP stack for web development.
Application creators can define and specify the form users fill out when an application is provisioned. The form is defined in a YAML-based file, describing UI entry fields, labels, hints and validation rules.
If you don’t want to use the Horizon UI, you also have the option of using an HTTP REST API service to create and use Windows and Linux environments, define services within them, and begin deployment. Any third-party service can use Murano to automatically deploy and dynamically update services on demand.
After you have selected the services and configured their properties, just push a button and Murano automatically takes care of the rest:
After your Applications are ready, use the logs to check events from any deployment attempt for a particular environment.
For example, if you are hosting a web application farm, you can check node creation, web server installation, domain controller creation, web application deployment, and other details.
With Murano version 0.6 (Juno release), it is possible to upload applications written in the HOT (Heat Orchestration Template) format. This format is supported by the Murano CLI tool, which automatically generates a proper Murano application package from the HOT template supplied by the user.
Watch a video about Murano integration with Heat Orchestration Templates (HOT).
Learn about HA and Auto-Scaling with Murano.
The Murano 0.6 release introduces the ability to define special workflows as part of a Murano application definition, exposing application-specific actions which should be performed as part of lifecycle management. Examples might include:
Project Murano is tightly integrated with core OpenStack services, including Keystone, Glance, Heat, and Horizon.