Why Automation Matters : Continuous Improvement and Buying Time For Yourself

In previous a post I talked about lost time associated with manual processes and hand-offs between teams, but in this post I want to look at time from a different perspective…

One of the big arguments I hear against automation is, “We don’t have time to work on automation!” If you don’t think you have time now, how are you going to make time when you have to deal with another 10, 100, 1000 servers? I don’t know about you, but every week I have to deal with more stuff, not less. If I waited for a convenient opportunity to work on automation, it would never happen.

I think a lot of this comes from a flawed mindset as far as automation is concerned. There seems to be this attitude that we have to get from where we are now to a full blown private cloud solution in a single step/project. Instead we should be trying to incrementally improve things. This idea of continuous improvement has been part of agile and DevOps for years. It doesn’t have to be great leaps. It can be small incremental changes, that over time amount to something big.

As a DBA we might think of these baby steps along the path.

  1. Stop doing GUI software installations. Instead focus on silent installations of software. This is probably the easiest thing a DBA can automate because Oracle have done all the hard work for you. Silent installations of most Oracle products are really easy. What’s more you can put your scripts into Git and you have a proper record of what you did. It’s surprising how many people have no record of what they did and how they did it!
  2. Stop doing GUI database creation. Just like the silent installations, Oracle has done all the hard work for you here. You can use the DBCA in silent mode and once again put your scripts into Git.
  3. Once you’ve got 1 & 2 sorted you can start thinking about scripting post installation and post DB creation tasks including patching and other operational tasks.
  4. Once that’s all running, you have some basic automation in place, which you can improve over time, you might want to try out some alternatives, like switching from shell scripting to something like Ansible.
  5. Once you’ve got some stable and reliable automation, you can start trying to integrate it with your System Administrator’s build and patching processes.
  6. At some point you might want to make some of these operations self-service, so users/developers don’t even have to ask you anymore, they initiate the automation themselves. You will still be responsible for creating and maintaining the automation, but you don’t have to be there 24×7 to manually run the scripts.

If all you have time to do is steps 1 & 2, you will still have saved yourself some time, as you can start a script and do something else until it finishes. That could be working on improving your automation. Added to that you’ve improved the reliability of those steps of the process, so you won’t have to redo things if you’ve made mistakes, or live with those mistakes forever.

I understand that company politics or internal company structure can make some things difficult. Believe me, I run into this all the time. I can build whole systems with a single command at home, but at work I have to break up some of my automation processes into separate steps because other teams have to perform certain tasks, and they haven’t exposed their work to me as a service. As frustrating as that can be, it doesn’t stop you improving your work, and maybe trying to gently nudge those around you to join in.

Remember, each time you save some time by automating something, invest some of that “saved” time into improving your automation, and automation skill set. Over time this will allow you to take on more work with the same number of staff, or even branch out into some new areas, so you aren’t left out on a limb when everything becomes autonomous. 🙂

Cheers

Tim…

Birmingham City University (BCU) Talk #7

Yesterday I went to Birmingham City University (BCU) to do a talk on “Graduate Employability” to a bunch of second year undergraduate IT students. I’ve done this a few times at BCU, and also at UKOUG for a session directed at students.

The session is what originally inspired the my series of blog posts called What Employers Want.

I’ve mentioned before, these sessions are a little different to your typical conference sessions. Perhaps you should try reaching out to a local college or university to see if they need some guest speakers, and try something outside your comfort zone.

Thanks to Jagdev Bhogal and BCU for inviting me again. See you again soon.

Cheers

Tim…

Why Automation Matters : Keep Your Auditors Happy

We were having some of our systems audited recently. I’ve been part of this sort of things a few times over the years, but I was pleasantly surprised by a number of the questions that were being asked during this most recent session. I’ll paraphrase some of their questions and my answers.

  • How do you document your build processes? We have silent build scripts (where possible). The same build scripts are used for each build, with the differences just being environment variables. If a silent build is not possible, we do a semi-silent build, and use screen grabs for the manual bits.
  • How do you keep control of your builds and configuration? Everything goes into a cloud-based Git repository, and we have a local git server as a backup of the cloud service.
  • How do you manage change through your systems? Requests, Incidents, Enhancements, Tasks are raised and placed in a Task Board, which is kind-of like a Kanban board, in Service Now. Progression of changes to production require a Change Request (CR), which may need to be agreed by the Change Advisory Board (CAB), depending on the nature of the change.
  • Are changes applied manually, or using automation? This was followed by a long discussion about what we can and can’t automate because of our internal company structure and politics. It also covered the differences between automation of changes to infrastructure and in the development process. 🙂

There was a lot more than this, but this is enough to make my point.

The reactions to the answers can be summarised as follows.

  • When we had a repeatable automated process we got a thumbs up.
  • When we had a process that was semi-automated, because full automation was impractical (because of additional constraints), we got a thumbs up.
  • When we had a manual process, we got a thumbs down, because maintaining consistency and preventing human error is really hard when using manual processes.

In a sentence I guess I could say, if you are using DevOps you pass. If you are not using DevOps you fail. 🙂

Now I am coming to this with a certain level of bias in favour of DevOps, and that bias may be skewing my interpretation of the situation somewhat, but that is how it felt to me.

As I said earlier, I was pleasantly surprised by this angle. It’s nice to see the auditors giving me some extra leverage, and it certainly feels like automation is a good way to keep the auditors happy! 🙂

Cheers

Tim…

PS. This is just one part of the whole auditing process.

The Future of Single-Discipline User Group Conferences

It’s just my opinion, but I think the days of the single discipline user group conference are numbered…

The big company flagship conferences will still happen, as they are more about hype and marketing, but I’m not sure what the future holds for regular user groups that want to stay with a single focus.

I don’t know many people who work on a single technology anymore. I certainly don’t know many people who would be allowed to go to a separate conference per technology they work on. That means they need to pick a subset of events, or not get involved. Either way they are being sold short.

I’m starting to think multi-discipline events like Riga Dev Days make a lot more sense. Even Oracle have gone this route with the Oracle Code events, which are multi-discipline, with an Oracle spin of course. These types of events are not without their issues too, as there has to be a limit on the content for each discipline and there can be scheduling clashes, but I think it makes it a lot easier for people to cover their bases with less conference visits per year.

There are some really strong user groups out there, but for those that are struggling, I wonder if widening the net would help? This could affect the enthusiasm of some sponsors, but it may open new opportunities too.

What do you think?

Cheers

Tim…

Update: As per comments and twitter discussion, people have cited successful “single-discipline” conferences. There will always be winners and losers, and I think many of these probably do have quite a diverse range of material, with a common thread running through them. This is how I think of Oracle Code, a diverse collection of subjects loosely woven together by an Oracle thread.

If someone has hit upon a winning formula that is still specialist, I’m not suggesting they change what is currently working for them. For those that are struggling, maybe now is the time for something different?

Community participation is not cheap!

I’m in a really privileged position where I’ve spent over a decade speaking at events all over the world. That has been made possible by being part of the Oracle ACE Program, and more recently the Oracle Developer Champion program, who have provided funding for some of the events I’ve participated in.

I guess it’s easy for someone on the outside looking in to think this is a really cushy number, but after my latest trip I started to think about the true cost of all this, so I started to check and got a bit of a shock.

Money

  • I’ve paid for a number of trips this year myself, and I’ve got some more to come which I’m paying for.
  • I regularly buy additional holidays from work, as I need more days away from work that I get by default. I don’t go on holiday. I go to conferences.
  • Even when I’m on a funded trip, I end up spending a lot of extra money. This includes some transport that is not covered, some hotel nights that are not covered, washing, visas and vaccinations etc. You also end up spending a lot of money on food, as you are often having to buy hotel or restaurant food, which is kind-of expensive. I don’t do that at home. 🙂 There are often miscellaneous expenses that just come out of nowhere, and you are in a different country, so you just buy your way out of the inconvenience…
  • I’ve also spent my own money on upgrading some flights. This is not strictly necessary, but when you have a long flight and know tomorrow you will be on stage it can be kind-of daunting. Once again you are just buying your way out of a potential problem.

You can get involved in the community for free by blogging and getting involved in social media, but once you start to travel to conferences the costs start to mount up pretty quickly. I get it really easy compared to a lot of people, but it’s still surprising how much it comes to. For this year alone it’s several thousand pounds. It’s great if your company helps you with this. Mine doesn’t.

Time

I’ve already mentioned about having to buy back extra holidays. The travel time is obvious, but there are other things that are not so obvious.

  • If you are doing new talks, you have to prep them.
  • Even existing talks require some rehearsal.
  • Depending on potential audience, you have to prepare alternatives, or at least plan for how you will deal with different types of crowds.
  • Organising the travel can be a real pain. It’s not always as simple as going to the website of your choice and booking a flight. It can take literally hours dealing with “a certain travel company” before you have your flights and hotels sorted. Even for comparatively easy trips. Once you start talking tours it really starts to sap your time and will to live.
  • There are a stream of emails before, during and after events for you to deal with. It’s quite surprising how much effort goes into just working through this stuff.
  • If you are like me you get the post conference/tour zombie syndrome, where you pretty much have no productivity for a couple of weeks.

It all adds up to be a big drain on your time, which makes me paranoid about how unproductive I am…

Conclusion

Doing this stuff is good fun and I would encourage everyone to try it. It’s great meeting people and seeing how they use technology. It’s a great way to widen your experience, by adding their experience to your own. Just remember it comes at a price, and it might not be so obvious when you’ve not been part of it.

So now I’ve scared you off, give it a go… 🙂

Cheers

Tim…

Why Automation Matters : You’re only a tweak away!

Once you start on the automation path it becomes progressively easier to automate new things because you will build up a collection of stuff you can tweak to create the new stuff. Here’s an example…

A little while ago I did a hands-off build of 18c RAC using VirtualBox and Vagrant (here). I had to solve a few little problems, but for the most part it was piecing together a bunch of stuff I already had, like silent installations and database creations, so no big drama. Probably the most complicated thing was deciding how I wanted to organise things, which I’m sure will change over time…

Fast forward to a few days ago when I wanted to play around with 18c Data Guard. I actually took the RAC build and used that as the basis of this little project. Obviously some things were chopped out and some things were added, but a lot of it was just reused, which saved a bunch of thinking and hassle.

Once I had the 18c build working, a couple of changes in the config files and I had a 12cR2 build up and running (here). Some config file changes and a couple of minor scripting changes and I had a 12cR1 build up and running. You get the picture.

Of course you will occasionally have to do something that constitutes a step change, or you will decide to take a completely new approach* and have to go back to basics, but a lot of the time you are only a tweak away from the next automation.

Cheers

Tim…

* I’m playing around with Ansible at the moment, so maybe I’ll end up redoing these using Ansible. Maybe not. We’ll see. 🙂

Technology Snobbery

We are constantly told there is a shortage of people coming into the tech industry, and those that do don’t show the diversity we would like to see. At the same time I see a lot of snobbery in the technology industry, and I wonder how much of that has an impact on the number of people coming into the industry.

The tech industry is all about fads. Everyone wants to work with the coolest tech, the most job-worthy tech, or the tech that will survive the longest. There is some snobbery about this, but that’s not really what I’m thinking of. I’m thinking more about the snobbery associated with job roles. I’m going to list a few job roles.

  • Web Designer
  • Developer
  • Helpdesk
  • Database Administrator
  • Product Manager
  • System Administrator
  • Project Manager
  • Business Analyst
  • PC Support
  • Sales

I could go on, but let’s leave it there. As you were reading down that list were you classifying the type of job role relative to how technical you think it is? Were there any that made you think, that’s “not really IT”? If you weren’t I would be really surprised.

I’ve had conversations about this a few times over the years. In many cases the attitude I’m met with is, you’re not really in IT unless you write code, or something to that effect. I’ve certainly been guilty of this at times. I thought I’d got past it, then in a recent conversation two people mentioned they had never had the desire to be developers, but had built careers in the tech industry and I found myself rather surprised. Part of me still holds on to that idea that everyone in technology has at some point been interested in development, yet this is clearly not the case.

The fact the tech industry is made up of so many diverse roles means there is something for everyone, but somehow not everyone sees a home for themselves in the tech industry. I wonder if this tech snobbery is part of the problem. If we promoted the wider aspects of the tech industry, perhaps it would be attractive to more people.

Just a thought…

Cheers

Tim…

Technology evangelist programs won’t suit everybody…

I was reading a thread on Twitter yesterday and at it’s heart was a criticism of technology evangelist programs.

I’ve been part of one of these, the Oracle ACE program, for over twelve years, so I always pay attention to these discussions.  It’s a topic I’ve covered a number of times over the years. See:

Any evangelism program is part of the marketing budget, and ultimately there has to be a return on investment* for the company funding it. If that is a surprise to you, you must be really naive. What does that mean for people wanting to be part of such a program? You will only get selected for the program, and remain on it, if your content and opinions mostly fall in line with the message being pushed by the company sponsoring the program. Go to work for a competitor, or start saying too many negative things about the sponsoring company and you will probably be asked to leave.

In the previous paragraph I emphasised the words “mostly” and “too many” for an important reason. Your value to an evangelist program is that you are not a member of staff, yet you still enjoy using their products. You will not like every product they make, or agree with every decision they make, and that is fine. If people think you are selling out to stay in favour with the sponsoring company, your value to the evangelism program will disappear. Over the years I’ve been “off message” numerous times and never had any comeback from the ACE Program. Why? Because generally what I’ve been doing over the last 18+ years on my website, and through other Oracle community stuff, has been positive. If that changes and I suddenly become an Oracle hater, then I don’t see me being part of an Oracle technology evangelism program for very long. 🙂

If your interests are too broad, you may not be a suitable candidate for any particular technology evangelism program, or you may feel constrained by them. That’s fine. It doesn’t mean you are bad, or the evangelism programs are bad. There just isn’t a good connection between the two of you.

Over the years I’ve been doing this I’ve often seen people on the outside projecting what they want to believe onto these programs. They aren’t a certification of greatness. They are just a pat on the back for being involved in the community. Sometimes you get some expenses paid. Sometimes you don’t. I’m writing this after doing my laundry in a hotel sink, because it would cost me $150 to do it using the hotel laundry service. Last night’s hotel bill came out of my pocket. Nobody is refunding me for the extra holidays I’ve purchased from work. You get the picture. Do it because you love it, or don’t bother… 🙂

Cheers

Tim…

* In a comment thread on LinkedIn it seems my mention of “return on investment” may be seen by some as a straight financial ROI, like a direct relationship to more sales etc. This is not what I mean. I’m talking about winning hearts and minds, which will probably lead to more sales in the long run, but it’s probably not directly measurable. You can’t say, for each talk I do I produce X number of sales for the company. 🙂