Computers are abundant, websites exponentially more so. With the ubiquity of the web and computing, applications residing on hosts typically require many parts to function. A typical deployment will require not only the virtues accustomed to something as common as the LAMP stack (Linux, Apache, MySQL, PHP) but also the dependability and reliability of having a server updated and available 24/7. The server, as a contingency, will also require regular backups and updates with the latest security patches as a means of mitigating would be attack vectors.
The philosophy of modularity in deployment exists as a create once, release anywhere, and as many times as needed solution. When applied as a development principle, the concept of modularity for the web allows for the separation of the application from the server on which it resides. Why is this a good thing? For one, providing a modular approach to website deployment allows for iteration and easy migration between hosting environments. Encapsulation is a cornerstone in development, and in providing it as a built-in approach to the underlying framework of a website, allows for portability of backups, ease in the transfer of ownership, and increased reliability when providing underlying core updates to critical components such as PHP and SQL. Development as a rule should equally consider both the produced application and its functionality just as much as the underlying framework or hardware on which the application resides. Recalling the famous quote by Alan Kay, “People who are really serious about software should make their own hardware.” Similar to how the development and iteration of computers began early on, the focus remaining on hardware development allowed for the proliferation of advances in software. One fuels the other.
Jumping to modern day, in the world of web development and the cloud, the server is the equivalent to the hardware of yesteryear however abstracted away from the bare metal on which it resides is, while the web application remains as the baseline software needed to perform the desired functionality. Without paying attention to one or the other, both the reliability, portability, and reuse dwindle at the sacrifice of not providing basic engineering principles into a web application’s maintainability. At Greyblock, we provide modular approaches to both deployment and development iteration, so results are delivered timely and within budget. Our developed sites offer the benefits of all three cornerstones providing reliability, portability, and reuse with the added security of backups and routine updates. Whether the needs are in the cloud or hosting on premises, the beauty of built-in modularity is ultimately, it doesn’t matter.