Development and Operations
There’s a new approach to web application deployment that’s winning over a host of new fans in the development community. It’s called devops (development and operations). The idea is to assist developers working with Ruby on Rails, Python Django, Java or .Net with an area that all too often falls between the cracks.
Web application deployment, for these popular web frameworks, is a complex business. Programmers are often unsure of how to manage the process. That’s because their main focus of operations is programming the application itself. They know how the application works because it’s their job but they’re less certain of the wider environment in which it will be used. That can lead to compatibility issues or even straight deployment failure in certain operating environments.
In contrast - the traditional IT team, who would once have had control over web application deployment, is now struggling to keep up with the range of applications falling within its sphere of operations. It doesn’t matter how hard they run to catch up with software evolution – there’s just too much for them to have a handle on. That means they face problems when it comes to the precise nature of a given application. This can also lead to issues during the roll out phase where assumptions can cause features to be lost or broken.
Devops is a specialist consulting function that fills the breach. With a focus on web application deployment they’re the people to use when you’re moving from the application creation phase and into production. They examine the entire deployment approach, taking into account functionality, interoperability, the platform for deployment and the requisite levels of monitoring to ensure effective web application deployment.
The main aim from a user perspective of any web application is up-time. If your application’s not online, it has no value to the user. There are plenty of application monitoring services out there that can deliver reporting when there’s a problem. However, experience shows that in practice there are no truly holistic tools.
That means that developers are forced to try and stich-together multiple monitoring tools, such as Nagios, Collectd, Munin, Monit, Graphite, etc., to deliver a cohesive level of application monitoring efficiency. That’s not a developer’s job – they are there to specialize in crafting code for Ruby on Rails or Python Django.
This can mean that in the final deployment, application monitoring is either not as effective as it could be or worse - it causes major delays in releases. Devops can cut the time required to deliver this kind of monitoring and they have the experience to ensure it’s right for the job at release.
New Language for Web Application Deployment - #monitoringsucks
Ruby on Rails and Python Django are open source tools, making them attractive to developers because they’re reliable and low cost. Unfortunately there’s a problem with open source crafted code compared to some of the proprietary languages out there – the application monitoring packages that exist are a pain to install. That’s led to the appropriation of a new industry term - “#monitoringsucks”.
“Monitoring sucks”? It can if you’re trying to go at it alone, but using development & operations means that it doesn’t have to suck. If you’re working with professionals with the experience in deploying open source monitoring and alerting applications – they take the hassle out of the job. They ensure that your deployment is clean and effective just by looking at the graph. In worst case scenarios, you always have the “rollback“ button to bring it all back as it was.
Infrastructure as Code
Another area that development and operations can assist with is “infrastructure as code”. Traditional IT infrastructure places a huge resource demand on IT departments. Essentially every time you want to increase the size and complexity of the equipment housing the application – you had to configure your additional infrastructure by hand. That’s time consuming and expensive, and in the days where a web application can go from zero users to millions in days, for example Pinterest, Facebook, Instagram, etc. - it’s also impractical.
Infrastructure as code is a new term for automating that process. In essence, this enables you to rapidly scale up your infrastructure, much like putting air into a balloon, to handle any size of challenge. It also allows you to rapidly scale it down when you no longer need to maintain that size – now think putting a pin into that balloon.
When it comes to effective web application deployment, for Ruby on Rails and Python Django releases, there’s no better option to managing work than devops. This type of approach allows for trouble free implementation and monitoring that can be scaled quickly in either direction.