I am a senior software developer, once also worked for a big consulting house. I have been using various cloud services for many years and DevOps is already in my blood.
Recently I moved into another organization. This organization is very lovely in many ways (that's why I moved), but the IT, its tools and processes, are a bit aged. And the culture is a bit conservative. Basically engineers worked upon commands/requirements from business units, every engineer has clear defined responsibility, and engineers' initiatives were not really encouraged or wanted. Some progressive engineers are not happy about lacking of things such as Git, some business units are not happy about the inagility of the IT. Management saw this and would like a change. I, among other progressive colleagues, were asked to help bring the modern tools / methodologies / processes into my organisation.
Introducing Cloud and DevOps to this org is very different from introducing such things to my ex. clients. In most organizations, it is usually enough to mention some obvious benefits of Cloud / DevOps. My focus at other clients was always execution rather than persuasion. My new org is very, very different. It is not a normal business, it has almost no competition, my peer engineers here worry much less about innovation. For a long while "serving the business units stably" has been the value No.1 in this IT (This is not blame at all. Many of my colleagues here are very diligent. Once a task is defined, they deliver high-quality jobs in the defined context). If one mentions those obvious benefits of modern IT, first peer questions could well be "Well, do our business units really care about these? Do they care how we develop our software? Do they care whether we host our applications on our own server or on an cloud? If the business units don't care, why should we modernize? Why should we learn new techs, learn new tools, and learn new methodologies? We have enough chores to do, we don't have time for those hypes (yes, Cloud and DevOps are often viewed as hypes here)."
I am trying to persuade some of my peers. I have already prepared some example applications, example docker files, some very progressive peers have already been trying out Kubernetes on their private computers and on public clouds. Good examples of code also needs good introduction. My introductory article begins like this:
As the xxxxxxx project launched in xxxxxx, many of us raised good questions such as:
- What is DevOps?
- What is Cloud?
- Do we really need Cloud?
- What organizational impact do DevOps and Cloud have on us?
- How do we approach DevOps and Cloud?
Now let me try to explain.
A brief excursion to the history of development of software engineering during the last 60 years might bring out the rationals behind the current cloud/DevOps movement.
In the acient 1960s to early 1980, software were written with ....
While I am digging into historical literature and constructing a compelling story for my peer engineers, I'd like to humbly ask for your idea of how to introduce Cloud and DevOps (its motivation, essence and roadmap for a conservative org.) under my circumstances. Any suggestion or idea will be highly appreciated.
Please note that I am not asking for opinions about whether we need modern practices such as devops / cloud in my organization. The question is rather: Assume there is a real need, how to approach these given my circumstances?