Why devops?

admin's picture

Early web development was about HTML and images. Very quickly websites evolved to include animations, javascript interactions, server-side form handling and data processing. The rollercoaster plunged onwards and now a website is less a collection of pages than a database to store and serve data through a variety of customised, often device-optimised interfaces. As the sites we build have grown more complicated, so have the environments that host them. Those environments are made of many components that need to work seamlessly together to deliver a coherent whole. Open source components often evolved independently of one another and, without a single overarching technical infrastructure. What's more, as they continue to co-evolve, some grow to share underlying requirements while others diverge.

This means that design decisions, made by developers in the process of producing code, can have a profound impact on the operations team responsible for providing an infrastructure to run it. Development influences operations. Similarly different infrastructure decisions influence how code runs. A highly optimised database infrastructure may be able to run several thousand queries per second, facilitating the multiple-queries-per-page architecture of modern content management systems (CMS), but the end user experience may still be slow. Bottlenecks in one area can invalidate raw speed in another and undermine the performance of the system as a whole.

For example a site may have a highly optimised PHP application server, capable of compiling and caching in memory many thousands of PHP scripts, but if that same site doesn't have the database throughput to back it up then the site crawls. Increasingly it is the integration between dev and ops (devops) that allows knowledge sharing and co-designing to deliver fast, scalable web sites. One team can no longer work in isolation.

With an ever-changing landscape in both server, platform and code, successful site delivery becomes about collaboration and speed of reaction. Light-footedness fuels successful web businesses.

Where in the past deployment meant uploading HTML pages and site assets to a live server, now a deploy could contain:

  • new packages or new versions of existing packages
  • new server configuration, settings or cron tasks
  • database changes
  • versioned code changes affecting many sections of many files
  • client-side and server-side script changes

If any one of these is 'left behind' the site may at best generate errors and at worst just dump users onto a blank page. That white screen of death (WSOD) is itself a dev-op compromise: if it publicly displays any debugging information to facilitate it being fixed, it may give away crucial security information to a would be hacker.

Devops requires a unified approach: a single, consistent infrastructure throughout the development process (dev, staging and live) and a robust, efficient process to manage the changes (all of them!)

Devopera is focussed on giving development and operation teams a set of tools to manage and improve the development process while giving you te flexibility to maximise the value of the code you create and integrate. We maintain a set of virtual machines available for download free of charge. We install and build production servers on almost any infrastructure, inexpensively and we advise and support on the whole process, if you'd like.

Recent Articles

published 2 years 6 months ago

Site

Follow Us

Twitter icon
Facebook icon
LinkedIn icon
SlideShare icon
YouTube icon
RSS icon