Every day, IT organizations across the world are looking to implement better management approaches, more consistent IT practices and better processes. The need to leverage IT and development knowledge to improve overall organizational productivity has become critical to compete in the ever-changing data driven economy.
You could say DevOps is a direct response to the interdependence of software development and IT operations. Specifically, the resulting inefficiencies of silo’ing IT and software development can be costly. DevOps aims to help organizations rapidly produce software products and services in a continuous delivery / improvement loop.
In my opinion, the definition really depends on your team. It doesn’t matter if you’re supporting internal or external customers. DevOps is a technical practice, or approach, that is focused on supporting tasks such as application deployment and automation, for the benefit of both internal and external customers. These practices address multiple layers within the environment, including the network, computer systems, database servers, load distribution and others.
This Venn diagram might shed some light on the DevOps approach.
To “do” DevOps well, this check list should get you started on the path to a DevOps oriented team.
- Infrastructure is still crucial! Smart use of cloud and hybrid technologies are critical to staying nimble.
- Destroy your silos. IT, product development, software development and even your design departments need to adapt the DevOps approach to their work and process.
- Process Process Process. DevOps depends on nimble, but precise process to be effective. Build-QA-Push-Iterate-QA-Push and repeat. Develop your cadence and set a schedule for each iteration.
- Be Lean/Use Lean. DevOps teams need to adopt technologies that help them get to market with more velocity. Learning new frameworks, languages and methodologies is crucial to staying ahead.
DevOps in the real world
There are a lot of pressures out there for companies to move quickly. For example, developers are increasingly tasked with taking their applications to market faster. This normally means taking an application to the cloud to build and test your app.
Say your app is living in the cloud or on a hybrid solution and is fully functional and in Beta. Great, right? Chances are, depending on the volume of users you plan to have, your app isn’t ready for the “Reddit effect”, the “Techcrunch bump” or maybe even a moderate load of 1000 users.
This is a big problem organizations face every day. A team using a cross trained DevOps approach is going to be very familiar with the code AND fully understand the operational stack of the application all the way to the hardware running the app!
The DevOps engineers are the ones that will optimize the app AND automate the Cloud or hybrid infrastructure to help scale to the app’s requirements. Ultimately, utilizing a DevOps team is an ongoing effort to continuously QA and improve your projects from the app layer to the infrastructure.
DevOps and the Hybrid Cloud: A Match Made in Heaven
As stated before, the cloud is a tool many DevOps teams rely on to build or prototype quickly. DevOps has emerged as not only a new discipline within the technical organizations, but also as a huge early adopter and enabler of cloud technologies. The cloud not only fits in with DevOps; the cloud critically enables it. When we say ‘cloud’, we should be specific to mention most modern apps incorporating big data require a more ‘hybrid’ approach utilizing both traditional cloud instances and ‘bare metal’.
Today’s business environments are composed of a mix of physical dedicated servers (bare metal), cloud, and application elements, which is what makes hybrid capability critical to your operations. Having the power to gain visibility into, and control your various hosting technologies is what ‘hybrid’ is. “Hybrid” is one of those terms that can take on several meanings, but at the core, it’s having the control to manage your traditional cloud and bare metal elements seamlessly.
This hybrid capability is IDEAL for DevOps teams. Being able to go from a Test/Dev sand box to production using the same hybrid cloud platform. No more having to migrate application from one platform to another after you exit Beta.
DevOps and Codero:
Codero actively uses the methodology of DevOps in our day-to-day business. We have specific teams dedicated to working on projects that will improve not only our developer time to market, but the rock solid stability of Codero’s hosting itself.
Those little bumps in the night that trigger an alarm on most occasions are handled by the DevOps team and are normally resolved within minutes. They immediately take those “bumps” as feedback and quickly incorporate them into the code to make it more robust after every issue that happens. That is the key to the DevOps discipline.
Codero is also very active in the DevOps community. Participation in the community, much like open sourcing technology, is critical to keeping best practices disseminating through organizations. As DevOps is part of our core, so is our participation in the community.
Speaking of the DevOps community, we are the sponsors of KC DevOps Midwest. This week, CoreOS is the topic of discussion at the Cloud KC Meetup. If you’re in KC and want to get deep into cloud and DevOps.. and in particular Core OS, come on out. Drinks are on Codero!
If you want t join our team and push the envelop of DevOps, apply here
Tags: big data