DevOps is different from the traditional process of:
- The developer creates the code
- Operations then deploys the code and manages the application.
The main benefit of DevOps is developers and operations working much closer together. This means the line – if indeed there is one between developers and operations is far more blurred.
Traditionally these are very different roles and often sit in different parts of an IT organization. This has made DevOps more about culture, skills and organizational change than just a tool.
Like a lot of things, there’s no one way to do a DevOps project – it’s different for everyone.
What is CloudOps?
The topic of CloudOps is in tandem with DevOps – the Cloud comes “DevOps Ready”.
The cloud comes with a suite of tools which make transitioning to or adopting DevOps a far simpler task from a technical and tool perspective.
Many services are exclusively available in the cloud, particularly those surrounding PaaS. These tools lend themselves to DevOps and hence CloudOps is about making use of those “DevOps Ready” services.
While it is of course possible to achieve DevOps using IaaS – CloudOps promotes the use of PaaS and may include the migration of existing applications to the appropriate PaaS Platforms.
The Cloud also has capabilities and scale that simply can’t be achieved on premise – so CloudOps is about understanding how to best utilize those services and make the best of the services available.
What mind-set is needed for DevOps?
1. Organizational change
Pushing things over the fence is not the DevOps way. Organizational change is almost certainly required to start working in a DevOps environment. Otherwise it will just become one, of many attempted new philosophies that never stick.
2. Be prepared to learn new skills
Ops engineers need to learn about source control and things like continuous integration. Developers need to learn about things like desired state configuration and firewall rules.
3. Be in it for the long game
DevOps/CloudOps won’t happen overnight.
Start small and build, but keep at it and keep learning. DevOps is a continually changing environment. The old “do it in 3 months” – “sweat it for 5 years” ways don’t work anymore.
DevOps is about continually evolving. Once the team is off and running they will grow and so will what they do.
When there is a critical mass of expertise and automation in the environment, DevOps starts to pay for itself, and the more you do – the more it pays.
4. Make your own mistakes, but not on your own.
There are lots of people who’ve “done DevOps” – whatever they have done may or may not fit your needs – don’t do things just because others have. Make your own choices and your own mistakes – it’s all part of learning.
That said – there are lots of people who’ve “done DevOps” – so use what people have learned and find people who can help accelerate/guide your journey.
Why should I use DevOps, why change?
The rate of change of IT has increased exponentially over the last 10 years.
The Facebook generation wants it today – not tomorrow. If your developers can service that need – then the next task is how to make that available to the users in the least amount of time with the least risk of introducing issues.
Once you can remove human interaction from Code Check-in – to production deployment you can develop more, test more, release more. You can release with confidence, and rollback if there are issues, and utilizing the Cloud you can scale more.
DevOps promotes group ownership and group learning meaning there are no single points of knowledge and no one person “owns” a given process. Everyone should understand how to conduct a DevOps project so anyone in the team can modify it.