Guest Post: An Introduction to Amdatu, An Open Cloud Platform Powered By Apache
The ApacheCon NA 2011 conference is rapidly approaching. The event takes place November 7 to 11 at the Westin Bayshore in Vancouver, Canada. Registration for the event is now open, with discounts available. In conjuction with ApacheCon NA 2011, OStatic is running a series of guest posts from movers and shakers in the Apache community. In this latest post, Marcel Offermans (shown), a Fellow at Luminis and Member at Apache and committer of the Apache ACE and Felix projects, introduces Amdatu, an open source, dynamic cloud platform that builds on many different Apache projects.
Amdatu, An Open Dynamic Cloud Platform Powered By Apache
By Marcel Offermans
Apache is known for its many excellent frameworks, libraries, and other building blocks that have become de-facto standards and are reused in many different applications and contexts.
Amdatu is a new open source community project that is building an application platform for dynamically composed, service oriented applications in the cloud. It is overseen by the Amdatu Foundation, governed by an Apache 2.0 license, and leverages numerous Apache projects to provide PaaS benefits with rich SaaS services.
The Amdatu Platform, built on ApacheFelix and ACE, is capable of running on most proprietary, public and private infrastructure (IaaS) environments, as well as in-house servers or a combination of these. Based on open standards, its architecture provides an OSGi based foundation that is cluster-ready, multi-tenant aware, provisionable and can be accessed via a comprehensive set of RESTful services. Using ApacheWink, which implements the JAX-RS standard, these facilitate the easy creation and incorporation of RESTful cloud services. Typically, deployments are quick, where new cloud nodes are provisioned and operational in under a minute.
Within the Java ecosystem, an OSGi based architecture is becoming the preferred approach for creating service oriented, highly modular and dynamically extensible applications. Its component model is very powerful and allows you to build your applications out of reusable building blocks that naturally fit together. Apache Felix, one of the leading open source implementations of the OSGi specification, used amongst others in the Glassfish application server, provides Amdatu with a run-time container.
This modular approach has many advantages. It keeps the development and evolution of complex systems manageable, encourages reuse and allows for very flexible deployments and a seamless migration path towards the cloud. It does all of this without creating a tight coupling between components, allowing you to easily change implementations without breaking dependencies.
Deployment is handled by Apache ACE, a software distribution framework that allows you to centrally manage and distribute software components, configuration data, and other artifacts to target systems. ACE builds on jclouds to manage the life cycle of compute nodes and deploy software to various different cloud providers.
On top of the platform, Amdatu provides a growing portfolio of software services, that can be used as building blocks for cloud applications.
An Identity service covers authorization and authentication and includes protocols like oAuth and OpenID. You can use it to keep track of users, their roles and permissions.
For building web based user interfaces that can both integrate with other systems and the other way round, we have a dashboard that supports gadgets and contains an OpenSocial implementation that allows these gadgets to interface with a the profile of a user, his friends and activities. Here we leverage ApacheShindig, which provides us with an implementation and has been integrated in the OSGi environment.
On top of the profile that OpenSocial provides, we have a more advanced profile service, that allows you to plug in different domain specific profile extensions and reason over the data using semantic technology. One of these extensions links back to the Identity service as well.
With an ever expanding web, being able to discover and add semantic data becomes crucial when building “connected” applications. For storing our own semantic data, a triple store is available. This allows us to reason over the data in various ways. Using the Sesame implementation, Amdatu adds a type-safe Java API that simplifies querying much in the same way as object relational mappers do for relational databases.
Another important component is our Search and Recommendation engine. Extending the well proven ApacheSolr and Lucene, which have been discussed in earlier articles in this series, by adding configurable enricher pipelines to the queries, responses and the crawling and indexing process itself.
No cloud platform would be complete without big data storage. Here we currently offer ApacheCassandra and an abstraction of the various blob stores that are offered by cloud providers.
Finally, we have components to do performance monitoring and management, license management and elastic scalability.
At ApacheCon, Marcel teams up with Karl Pauls, Luminis Fellow and Apache Member, for a twodaytrainingthat covers the basics of Apache Felix, Apache ACE and deploying applications in the cloud. Featuring many hands-on exercises, participants learn the concepts of OSGi, modularity and creating dynamic applications using bundles and services.
Later in the week, Bram de Kruijff and Marcel have a session that gives an in-depth overview of Amdatu and shows it in action.
 Apache ACE and Wink are efforts undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC. 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.