Use Case: LAMP and complex application provisioning

Context: SME, NGO and Enterprise

User: Clara the DevOps Engineer, Alice the App Store User

The current cloud landscape is busy with solutions that allow users to manage virtual machine life cycles. While this is an important building block, it falls short in terms of delivering on the full cloud potential. What most organisations want is the ability to reason in terms of application or even sets of interrelated applications working together to deliver certain functionality, or value. For example, a stateful web application, CRM system, WordPress or management application. Several of these applications are built on a n-tier architecture, such as a LAMP stack.

In most cases, such deployment will require the involvement of several hosts, which in cloud terms translates to different virtual machines. Deploying such an application is complex and error prone, calling for an automated solution. Indeed, being able to automate the installation, configuration and start of the different components, clients and services would deliver significant value in the software development and operations pipeline. Furthermore, such deployment should be as representative as possible of (pre-)production conditions, to avoid rollout issues. This automation capability is key and enables several higher level use cases, such as the ability for:

  1. End-users to provision applications in 1-click from the Enterprise App Store / Self-Service IT capabilities of SlipStream.
  2. IT experts to deploy applications on several clouds at once, taking advantage of Hybrid Cloud Provisioning SlipStream feature.
  3. DevOps engineers to deploy more often to more easily test, break and stress their applications, knowing that they can easily reset the application if broken by a set of tests. This feature is detailed in the DevOps use case.

To illustrate the ability of SlipStream to manage complex deployments, we have created a demo LAMP model. This model includes the following layers:

By default these layers run in the same cloud, but users can assign each layer to a different cloud. Further, the number of VMs assigned to each layer is parameterised, such that users can define the number of VMs forming, for example, the MongoDB database cluster or the Apache/PHP servers. Best of all, this is only an example. Any user can create its his/her own configuration, using the LAMP example as a starting point.

Another interesting feature included in this example is SlipStream’s ability to provision extra disks. In the case of the database layer, this means that users can define at provisioning time the size of data assigned to each cluster node. The MongoDB cluster in the LAMP example can also be used in a stand-alone mode or used in other deployments, encouraging sharing and re-use.

What's next?

Interested and want to know more? We'd be pleased to provide you with further information. Get in touch.

Contact us »