Weaver: Language and runtime for software defined environments

Continuous delivery of software and related infrastructure environments is a challenging proposition. Typical enterprise environments, comprising distributed software and its supporting infrastructure, exhibit non-obvious, often implicit dependencies and requirements. Further increasing this challenge is that knowledge about configuration is fragmented and informally recorded. Given this situation, we propose Weaver, a domain-specific language designed to formally specify blueprints, desired state descriptions of environments. An associated runtime executes blueprints to create or modify environments through a set of target-specific platform providers that supply cloud-specific implementations. New and existing automation to implement and maintain the desired state can be associated with a blueprint specified in Weaver. Furthermore, Weaver supports the definition of conditions to validate a blueprint at design time and deployment time, as well as to continuously validate a deployed environment. We demonstrate the use of Weaver to deploy IBM Connections, an enterprise social software platform.

[1]  Paul Anderson,et al.  LCFG: The Next Generation , 2002 .

[2]  Wouter Joosen,et al.  PoDIM: A Language for High-Level Configuration Management , 2007, LISA.

[3]  Michael H. Kalantar,et al.  Automatic Realization of SOA Deployment Patterns in Distributed Environments , 2008, ICSOC.

[4]  W. Taha,et al.  Plenary talk III Domain-specific languages , 2008, 2008 International Conference on Computer Engineering & Systems.

[5]  Alistair N. Coles,et al.  The SmartFrog configuration management framework , 2009, OPSR.

[6]  Jez Humble,et al.  Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation , 2010 .

[7]  Philip J. Guo CDE: Run Any Linux Application On-Demand Without Installation , 2011, LISA.

[8]  Fabienne Boyer,et al.  Self-Configuration of Distributed Applications in the Cloud , 2011, 2011 IEEE 4th International Conference on Cloud Computing.

[9]  Tamar Eilam,et al.  Pattern-based composite application deployment , 2011, 12th IFIP/IEEE International Symposium on Integrated Network Management (IM 2011) and Workshops.

[10]  Martin Fowler,et al.  Domain-Specific Languages , 2010, The Addison-Wesley signature series.

[11]  Gerhard Wickler,et al.  Automated Planning for Configuration Changes , 2011, LISA.

[12]  W. Marsden I and J , 2012 .

[13]  Jose M. Alcaraz Calero,et al.  Towards an architecture for deploying elastic services in the cloud , 2012, Softw. Pract. Exp..

[14]  Andrew D. Gordon,et al.  A Declarative Approach to Automated Configuration , 2012, LISA.

[15]  Rupak Majumdar,et al.  Engage: a deployment management system , 2012, PLDI '12.

[16]  Calton Pu,et al.  AESON: A Model-Driven and Fault Tolerant Composite Deployment Runtime for IaaS Clouds , 2013, 2013 IEEE International Conference on Services Computing.

[17]  Asser N. Tantawi,et al.  Workload orchestration and optimization for software defined environments , 2014, IBM J. Res. Dev..