For several decades, the world of computing was one of custom operating systems, languages and applications. With the advent of Unix, things improved quite a bit, and it became possible for end-users to write applications that would be portable across different computers. This started the quest for developers and adminstrators to be able to reuse existing code and libraries that has been the goal of many computing trends.
Not so long ago, creating websites was similar to creating applications for the early computers–you had to start from scratch. Over time, reusable libraries and frameworks started to emerge and entire ecosystems were created around popular open source Content Management Systems (CMS) such as Drupal, Joomla! and even WordPress, a blogging engine increasingly used to build and manage entire web sites. As a result, today, most websites are not started from scratch, with just a text editor and a blank PHP file. Instead, developers take an existing CMS application as a starting point and extend it to meet their needs.
From there, developers can pick and choose from thousands of modules (20,000 modules in Drupal’s case for example) or write their own. Modules range from e-commerce add-ons to administrative tools to analytics and reporting extensions. Many modules tend to be used together, and a number of niche-specific distributions have emerged. They provide collections of modules and configuration that make it easy to get started with content publishing for a wide range of verticals such as education, news sites, HR portals or photography portfolios.
Where Website Setup Is Changing
CMS systems and plugins have certainly eased development for many web teams. But setup has not really changed. Dev teams either have to use the vendor installers, or if they use a public clouds to host their site, many of these vendors provide a catalog of ready to install applications that are image-based. The images are static and often provided by different third party vendors, which makes it difficult to modify or integrate them with each other. In many cases, customization of the images is a manual process that is hard to automate or replicate. End users sometimes end up having to become specialists in the product to really even get going, defeating the purpose of having the images in the first place.
The rise of Platform as a Service (PaaS) environments has simplified the task of launching web apps by standardizing how applications get deployed and providing a set of common APIs. However, usually public PaaS vendors are somewhat restrictive in that they limit the versions, operating systems and generally do not assist in moving your application across cloud environments, including moving dev efforts from a public sandbox to a more affordable in-house private cloud.
Application Director is a new approach to this old problem. It provides an application provisioning service that runs without restrictions while also standardizing setup and deployment of web apps using blueprints, including mainstream applications that require filesystem persistence.
But what is it going to do for me?
In short, it’s going to accelerate IT. Even the most seasoned experts, will be able to get technology installed and set up to use it faster, as evidenced by a new VMware employee recording his experience setting up a clustered Oracle WebLogic setup in just 20 minutes. This same concept applies for those not familiar with the technology that they are deploying. Even if they know nothing about the software, they can still have it set up in 20 minutes. And, when they are done, they will have a best practice reference point to start their project and accelerate their learning curve.
It is also going to save IT departments money. First, by nature, this method creates web solutions that can be deployed by IT on in-house infrastructure (thus keeping the CIO happy!) and later on customized as needed. It also will help IT to manage catalogs of virtual machines and the software installed on them separately, avoiding maintenance to many permutations of software and operating systems involved. In fact, many of the software options will be easier to manage, as VMware and their partners are publicly managing a library of best practice deployments on the Marketplace.
Freely available, users can find all the components used to build their website, from PHP servers, to web and application servers, to data stores and content management systems such as the ones BitNami provided for Drupal, Joomla! and WordPress. Generally speaking, these application components are set up for the general usage needs, including ready-to-run installations with up-to-date patches, added plugins for security, manageability, analytics or other important functionality. They also have the appropriate permissions and settings in place to allow installing modules through the admin console as well as updating the core libraries themselves. The blueprints can be mixed and matched—allowing dev teams to easily integrate with existing Apache, PHP and MySQL components. This has a number of advantages:
- Integrating with native Apache and PHP environments means that CMS installations deployed on vFabric can co-exist with existing applications and easily apply security patches and updates using the system package management software.
- The ability to integrate with local or external MySQL databases means that it is easier to scale deployments as needed by distributing the load.
- Create repeatable, well-defined deployment processes that can be reused from development to production
Thanks to the point-and-click vFabric interface, developers and end-users do not need to be expert sysadmins to launch and manage these installations. All the configuration logic is encapsulated and can easily be reused and combined with other components through an intuitive web-based GUI.
Finally, Drupal, Joomla! and WordPress are just one of dozens of applications freely available in the BitNami library for VMware on the Marketplace, which includes popular document management systems, portal software, wikis, bug tracking and software development tools. Thanks to VMware vFabric, you are a couple of clicks away from installing any of them, and much closer to delivering your next website in the cloud than ever before.
|About the Author: Daniel Lopez is the founder and CTO of BitRock, developers of the popular Bitnami Cloud Application Library and management tools. Previously, he was part of the original engineering teams at Covalent technologies and Devicescape. He holds a Ms. of Sc. in Telecommunications from Escuela Superior de Ingenieros de Sevilla and Danmarks Tekniske Universitet, with a focus on optical networking. Daniel has contributed to various web infrastructure open source projects, published multiple technical books.|