A History of Tech Sprawl

Here’s a little story about how things are all the same but different…

Software Sprawl

Let’s cast our minds back to the bad old days, where x86 machines were so underpowered, the thought of using them for a server was almost laughable. In those days the only option for something serious was to use UNIX on kit from one of the “Big Iron” vendors.

The problem was they were very expensive, so we ended up having loads of software installations on a single box. In some cases we would have many versions of Oracle installed on a single machine, running databases of many different versions. In some cases those same machines also ran middle tier software too.

It may have been a small number of servers, but it was a software sprawl. To try and add some isolation to the sprawl we may have resorted to things like LPARs or Zones, but we often didn’t.

Physical Server Sprawl

Fast forward a few years and x86 kit became a viable alternative to big iron. In some cases a much better alternative. We replaced our big iron with many smaller machines. This gave us better isolation between services and cleaned up our software sprawl, but now we had a physical server sprawl, made up of loads of underutilized servers. We desperately needed some way to consolidate services to get better utilization of our kit, but keep the isolation we craved.

Virtual Machine (VM) Sprawl

Along comes virtualization to save the day. Clusters of x86 kit running loads of VMs, where each VM served a specific purpose. This gave us the isolation we desired, but allowed us to consolidate and reduce the number of idle servers. Unfortunately the number of VMs grew rapidly. People would fire up a new VM for some piddling little task, and forget that operating system and software licenses were a thing, and each virtualized OS came with an overhead.

Before we knew it we had invented VM sprawl. If ten VMs are good, twenty must be better, and put all of them on a physical host with 2 CPUs and one hard disk, because that’s going to work just fine! 🙁

Container Sprawl

Eventually we noticed the overhead of VMs was too great, so we switched to containers, which had a much lower overhead. That worked fine, working almost like lightweight virtualization, but it wasn’t special enough, so we had to make sure each container did as little as possible. That way we would need 50 of them working together to push out a little “Hello World” app. Managing all those containers was hard work, so we had to introduce new tools to cope with deploying, scaling and managing containerised applications. These tools came with there own overhead of extra containers and complexity.

We patted ourselves on the back, but without knowing it we had invented container sprawl, which was far more complicated than anything we had seen before.

Cloud Sprawl

Managing VM and container sprawl ourselves became too much of a pain. Added to that the limits of our physical kit were a problem. We couldn’t always fire up what we needed, when we needed it. In came the cloud to rescue us!

All of a sudden we had limitless resources at our fingertips, and management tools to allow us to quickly fire up new environments for developers to work in. Unfortunately, it was a bit too easy to fire up new things, and the myriad of environments built for every developer ended up costing a lot of money to run. We had invented cloud sprawl. We had to create some form of governance to control the cloud sprawl, so it didn’t bankrupt our companies…

What next?

I’m not sure what the next step is, but I’m pretty sure it will result in a new form of sprawl… 🙂

Cheers

Tim…

PS. I know there was a world before UNIX.

PPS. This is just a fun little rant. Don’t take things too seriously!

Life Update : Dude, what’s wrong with your face? (Episode 2)

A couple of years ago I wrote the following post, where I detailed my journey through some skin cancer treatments.

Life Update : Dude, what’s wrong with your face?

Fast forward a couple of years and here we are again. Fortunately I didn’t need anything chopped off this time, but I did need to repeat the treatment on my face.

In case you can’t be bothered to read the first post, this involves putting a chemo therapy cream on your face twice a day for 4 weeks. Anything that is cancerous or pre-cancerous will effectively get burnt off and scab. Nice. This is what I look like after 4 weeks of treatment this time.

2024 Treatment

Of course, this was nowhere near as bad as it was last time. I looked more like Deadpool in these photos. 🙂

2022 Treatment

Last time it was in the middle of the pandemic, so I hardly saw anyone, and I was wearing a mask when I was outside. This time I’ve been out in public, which is kind-of embarrassing. I get some funny looks at the gym. I feel like I want to tell people it’s not contagious. 🙂

So now it is just moisturizing about 4 times a day for a few weeks. Last time it took a couple of weeks for the scabs to drop off, then a couple of months for most of the redness to go. I’m hoping that will be a bit quicker this time, as it’s not as bad. Fingers crossed…

Once it’s healed I’ve got to treat a couple of patches again, but I won’t be doing my whole face, so it shouldn’t be quite so bad.

My next check up will be in a year, so I might be writing another post much sooner…

Cheers

Tim…

PS. I forgot to mention, there is nothing life threatening about this, so it’s not real drama.

The Dunning–Kruger Effect 

I’m starting to feel like the Dunning-Kruger Effect should be mentioned in every piece of media.

What is it?

“The Dunning–Kruger effect is a cognitive bias in which people with limited competence in a particular domain overestimate their abilities.”

Wikipedia

I see examples of this all the time and it drives me crazy.

Uneducated People

We have the stereotypes of drunk and lazy students, but the process of deep-diving a subject teaches you a lot more than just that subject. If education is done well it teaches you how to learn. I must admit my undergraduate degree didn’t really teach me to learn. That all happened during my PhD.

I think higher education also gives you a different perspective. At each level of education I realized how simple the previous level was. If I had never experienced the next level, I would never have had this realization. It also made me question what more I might be missing.

Aristotle wrote, “The more you know, the more you realize you don’t know.” The converse of this seems to be true also.

You don’t have to go to university of have this perspective, but it’s rare I see it from people who haven’t.

Educated Idiots

Even educated people can fall prey to the Dunning–Kruger effect. Being educated in one subject doesn’t qualify you as an expert in every other subject. You may have the tools to research a new subject area better than someone with limited education, but have you really done the research, or have you just read the headlines?

In the UK an undergraduate degree is 3 years, and a PhD is a minimum of 3 years. Did you really commit 3-6 years to this new subject you are claiming expertise at? I’m not saying every topic of conversation needs that amount of time and rigor, but you should have enough self awareness to know you have not done the time, so you don’t know what you don’t know.

Despite this some educated people seem to think their PhD qualifies them to speak on any subject as an expert. You see these people doing the rounds on popular podcasts talking like they are a world leading expert on something they have no background in. It drives me nuts.

Critical Thinking

Unfortunately it all comes back to critical thinking, which seems to be sadly lacking in many people. I wrote about this here.

Conclusion

Please just engage your brain. If the people speaking are not self-aware enough to realize they are talking crap, at least you can be self-aware enough to fact check their rubbish.

Cheers

Tim…

Social Battery

For years I’ve mentioned my issues with social gatherings. I used to come back from conferences or large social gatherings and crash for a few days/weeks. When trying to describe it, it would often sound much more serious than it was. The term “social battery” is so much better for explaining things, as it doesn’t sound like I’m trying to self-diagnose some deep seated problem. 🙂

I have talked about being different people in different contexts, like “conference Tim”, “work Tim” and “home Tim”, which can sound a little schizophrenic, but I’m really just describing coping mechanisms most of us have when dealing with situations. Introverted people don’t all act in the same way. Some people are really quiet, but some people, like me, become almost hyper when they are in a group setting. I think the term “extroverted introvert” is possibly what I am. That behaviour comes with a cost. It’s so unnatural for me that it drains my social battery, and it takes a long time for that to recharge. I know other people who seem to charge their social battery by being in group situations, and their battery drains when they are alone. Everyone is different in this respect.

The pandemic made me even more aware of how my social battery works. The switch to working from home and the break from conferences was a game changer for me. I had never spent so much time alone, and it was fantastic. So much so that I still work from home, and have stopped doing conferences permanently (probably).

This is one of the reasons I rant so much about company attitudes to working from home. We are all different, and if you want to get the most out of people, you have to recognise that and use it to your advantage. I think companies that value diversity in all its forms, including neurodiversity, have a long term advantage. That’s just my opinion, and maybe I have a vested interest in believing that, but that’s how I feel. 🙂

Cheers

Tim…

Business As Usual (BAU) vs Project Work

I’ve had this conversation so many times over the years, and I’m sure I’ve written about elements of it several times, but I’m not sure I’ve written about it specifically before, so here goes…

In every organisation there are conflicting demands from project work and business as usual (BAU) tasks. In case you’ve not heard the term BAU, here’s a definition.

Business as usual (BAU), the normal execution of standard functional operations within an organisation, forms a possible contrast to projects or programmes which might introduce change. BAU may also stand in contradistinction to external events which may have the effect of unsettling or distracting those inside an organisation.

Wikipedia

Swimming to stay still

I’ve written about this before in a rather angry post here. Working in tech is like swimming upstream. As soon as you stop swimming, you’re moving backwards. Let’s say today I have fully patched, secure and supported systems. How long can I do nothing before that is no longer the case?

  • Patches: For the operating system we may be talking days. For the database or an application server it may be months.
  • Support: Depending on where we are in the product support cycle, this is likely to be years, but we are fast approaching some important deadlines for Oracle Linux 7 and Oracle Database 19c, so we can’t wait much longer before we have a lot of work on our hands.

Standing still takes effort. If you are not putting in that effort, you are moving backwards, even if you don’t realise it.

BAU is invisible. Project work is shiny!

The problem with BAU is it is invisible to the users. Often you patch or upgrade a system and what they get after all that work is “exactly” what they had before. Of course, it’s not exactly the same, but from their perception it is. That can seem like a lot of time and effort for no perceivable gain, especially if you are asking for their resources to test things.

In comparison, project work often gives them something new and shiny to play with. It has perceivable value.

Faced with allocating resources between the two, you know there is going to be a lot of pressure to deliver new and shiny stuff over keeping the lights on…

Automation doesn’t solve all BAU tasks

Automation can certainly help with a lot of BAU work, but not everything. Even if you could magically upgrade a system without any downtime, somebody still needs to test the systems against it. Automation also brings with itself some additional BAU. Here are some examples I’ve seen recently.

Terraform: Providers change on a regular basis, which means you might be provisioning your kit using an old version of a provider. Over time you will start to see deprecation warnings, and have to update your provider. In some cases this will break your builds and you will have to do some refactoring. You need to revisit your Terraform builds on a regular basis, or put your automation at risk. Even the updates of the Terraform executable can introduce issues. One upgrade desupported a backend provider, which broke our project.

TeamCity: We use TeamCity for some on-prem automations. There are regular updates to this tool, usually because of security issues in some of the components such as Java or Tomcat. We have similar issues with Jenkins.

GitHub Actions: Have you seen that list of warnings and deprecation notices for those actions that are currently working fine? You are going to have to revisit those, or your lovely automations will break!

Cloud Platforms: If done well, cloud platforms can alleviate a lot of the operational BAU work, but they are not immune to issues around upgrades and deprecations. Many of us have lived through the desupport of previous generations of cloud architectures, and upgrades of underlying tech still have to happen, and require your systems to be tested when they are.

This is not meant to be an exhaustive list. Just examples.

BAU as internal projects

Just process your BAU as internal projects, and then they can be scheduled like any other project, right? That sounds fine, but someone still has to prioritise the projects, and BAU is not shiny! It’s still going to come in second place.

Education is the key

The only answer to this is education. The business has to understand that BAU is not negotiable. You have to be strong enough to push back on unrealistic demands, to make sure that systems remain up to date and safe. This can only be successful if you educate everyone on the importance of this boring and often invisible stuff…

A word about Oracle

It would seem wrong to finish this post without a mention of Oracle.

Most of the database upgrades I’ve done in my life have only happened because of the pressure of needing to stay in support. They have not been because people want the shiny features that are offered by the new release. That’s not to say they won’t end up being used down the line, but that is not the driving force a lot of the time. Stable and bug free beats new features every time!

In Oracle, just like any other company, there are competing pressures. I think most of us customer need to have 23c available so we can start the upgrade process to stay in support long term. There are no doubt a small number of important customers demanding features that will delay the release, and probably introduce bugs that affect all of us. There are also features that would sound cool for the sales teams and in keynote presentations. Who wins? Probably not me as I’m not working for an important customer, and I’m not in sales and marketing. 🙂

Conclusion

BAU is boring and often invisible, but it has to be done!

Cheers

Tim…

Life Update : A new member of the family…

I’ve been conspicuous by my absence of late, so I thought I would tell you a little story…

The Trigger

I’m a cat person. I don’t dislike dogs, but I prefer cats. I’m a sucker for a Rottweiler or an American Akita, but really cats are my thing.

I’ve been toying with the idea of getting a cat for ages, but it never seemed fair. I used to travel a lot, and worked long hours in the office. I’m now working from home and only work 4 days a week, so things have changed…

With the change in working conditions, I thought now was the time, but that meant decluttering my house. For the last couple of months I’ve been clearing all the crap from the house that I’ve accumulated over the last 20+ years. I gave myself until the end of the year to complete it, but things escalated pretty quickly…

The Cat

I mentioned to a friend I was going to adopt a senior cat. A couple of days later he rang me and asked if I wanted a kitten his friend was trying to rehome. I panicked and said yes. Yesterday he arrived.

This image has an empty alt attribute; its file name is klaus.jpg

I’m still trying to figure out a name, but I’m thinking it’s going to be Klaus.

He’s four months old. I’m told you can see Bengal markings on him in the right light, but he looks jet black to me. He’s really confident and will happily occupy himself. When I’m in the office he pops in, says hello, then goes out and starts playing with his toys.

I now have some furniture for the first time, but it’s cat furniture… 🙂

I’m not sure how many photos/videos I’ll post in future, because it’s hard to take a photo that doesn’t show you my house, and you will definitely judge me. 🙂

Cheers

Tim…

Update: I registered him with the vet, so he is definitely called Klaus now…

Writing Tips : Don’t get blocked by a post you don’t want to write

I’ve written previously about writing and motivation, but I wanted to say something about self-inflicted demotivation, which is something I’ve been guilty of a number of times.

As you will probably know, I write a lot of posts about Oracle technology, but I’m not equally interested in every feature of the Oracle database. Sometimes this is because I just don’t see the point of a feature, and sometimes it is because I simply don’t get to use a feature very much, even if I think it is cool. It can be hard to be motivated to write about something that isn’t jumping out and screaming at you…

Baiting the trap with stupid goals

I often set myself little goals, and sometimes these are my undoing. I might make a list of topics to write about, and the “completionist” part of my brain adds things into the list that I don’t really care about.

For example, I might decide I want to write about all of the SQL new features in version X of the database, but there is something that I’m not interested in, so writing that post is a grind. I want to complete the list, but that one item on the list is not inspiring me…

Now the sensible thing to do it to just miss that post out, and move on, but my stupid head gets locked into finishing the list, and I kind-of cripple my progress by forcing myself to do something I don’t really want to.

A quick example

Something very similar happened to me this week. I had recently written four new posts, which I can’t publish until 23c is out of beta, and I had one more post to complete my list. The subject itself was OK, but there was a lot of setup involved, for very little payback. It felt like hours of work to prove a single sentence. Needless to say I was not highly motivated.

I kept telling myself to move on and do something different, but in the back of my mind I kept thinking about that final tick on the list…

So what did I do? I wasted the week playing Raft on peaceful mode. Just cruising round the sea picking up junk and gathering resources from reefs. I’ve completed the game about 15 times on harder difficulties, but I wanted something mindless to do, rather than face writing that post.

The solution

This is a case of “do as I says, not as I do”, but you really need to avoid situations that you know will block you. Each of us will have different blockers, and different displacement activities we use to distract us, but I bet most of us can spot a pattern that triggers us…

If you find yourself working on a post that is killing you, just walk away. You can always come back to it later…

Check out the rest of the series here.

Cheers

Tim…

Your company doesn’t have your best interests at heart!

I’ve been toying with writing this post a few times over recent years, but each time I’ve backed off. Recent events have brought it to the fore again, so I thought I would give it a shot…

In the beginning

I guess when I was first starting out in the working world I was a little naive and felt like work was my extended family, and they cared about me. Over the years a number of events brought me to the realization that I am just a commodity. I am selling my time for cash. The company wants to get as much of my time as they can, for as little money as possible. We are sold a story that the harder we work, the bigger the returns will be, but that’s not always true and you have to ask yourself what you are willing to give up for a chance at a possible return in the future that might never come.

The pandemic and quiet quitting

The pandemic caused a really big shift in the way many people perceived work. Prior to the pandemic many of us were lost in the grind. Once we started working from home we realized there was such a thing as work-life balance. That was one of the factors that lead to “quiet quitting”, which is an unhelpful name for what is essentially setting boundaries.

If you are hired to work a normal working day, let’s say 9 to 5, why would you start earlier or work later for no extra benefits? Why not disconnect from work as soon as the clock strikes 5 and live your life? If there is a pressing deadline, is that really your problem, or was the project not staffed properly? If there is a problem at the weekend, shouldn’t the company hire people to provide support over the weekend, rather than expecting you to chip in and help?

You as an individual have to set boundaries and stick to them. I’ve been terrible at this over the years, seeing myself get sucked in to doing more and more.

If you are being paid to do a job, it is only right that you do it to the best of your ability, but that doesn’t mean working excessive hours, and spending your free time thinking about it.

Productivity and pay

Another thing that can cause consternation is the relationship between productivity and pay, or the lack of it. I’ve worked for some companies where people get paid different amounts of money for the same job, based on their perceived productivity. I say “perceived” as some people are really good at faking productivity (see Visibility vs Results). If productivity is tracked and managed properly, I have no problem with people being paid different amounts of money for the same job. People are being paid based on the value they provide to the company.

There are companies where the pay scales are quite rigid. Everyone doing job X gets paid the same money, regardless of productivity. What happens if Jayne is twice as productive as Janet? Effectively Jayne is being paid half the amount of money per unit work delivered. That begs the question should Jayne work less hours, so she completes the same units of work as Janet over the week? I’m pretty sure many companies would say no, because they want the most out of the workers for the least amount of money, but if there is no incentive to be more production, why bother?

Working from home

Working from home has become another bone of contention. Before the pandemic I could never have imagined working from home full time. Now it is one of my requirements for any future job. I see no reason why I should be stressed out by a commute ever again. I speak to colleagues who are saving massive amounts of time and money by not having to commute. Forcing people into an office when they don’t want to be there is a very negative situation…

The view of business types

I keep seeing stories by business types complaining people aren’t willing to put in the effort these days. Why is it a problem? They want you to work harder so they can employ fewer people and make bigger profits. They don’t care about the impact on the people or their work-life balance. It’s just a meat grinder.

Here’s a quote from Jeff Bezos.

“When I interview people I tell them, ‘You can work long, hard, or smart, but at Amazon.com you can’t choose two out of three,” 

Bezos wrote in the 1997 letter.

More recently we’ve had Elon Musk coming out with phrases like these.

“extremely hardcore”
“long hours at high intensity”
“only exceptional performance will constitute a passing grade”

Elon Musk during the Twitter debacle.

They are both seeking something for nothing, and they don’t give a crap about the people they burn out and discard along the way…

You scratch my back, I’ll scratch yours

Companies have to understand that jobs are a balancing act. Some people want more money, while others place more value on their free time. What’s more, that balance changes over time. I’ve seen this shift in myself over the years.

Conclusion

It’s not up to me to decide how you should live your lives, but don’t for one moment think companies care about you. Sure, some individuals in the company might, but ultimately you are a cog in a money making machine, and when it suits them, they will turn on you.

Know what you are worth, and understand what you value in life!

Cheers

Tim…

Life Update : The first rule of Oracle Games Console…

Life has been a little quiet on the publishing front recently. You may have noticed I’ve not posted many new articles or blog posts of late. This situation is likely to continue for some time, and I thought I would drop a post to let you know why…

I’m currently spending most of my time playing with a certain beta product, and all of that is covered by a non disclosure agreement (NDA). Over the last few weeks I’ve written a bunch of articles, but I can’t hit the publish button on them yet. Over the coming months I’ll continue to write new articles and give feedback to Oracle, but of course you will not be seeing any of this.

Once the product goes live I’ll be able to release all this stuff, with the obligatory edits/rewrites to take account of the changes between the beta and live versions of course. The total amount of content will be no different in the long run, but there will be a baron period for a few months followed by a glut of content. I suspect this situation will be similar for a number of folks in the Oracle community.

The rules are a bit different for Oracle employees, so you will be seeing teasers for new functionality from them, but not from the rest of the community…

Over the next few months I’ll mostly be posting memes and “from the vault” links on social media, just so you don’t forget I exist, but it is going to be a relatively quiet time…

Cheers

Tim…

Stupid is as stupid does! Outsourcing, Agile, DevOps and Cloud.

Outsourcing From Hell

Many years ago, when outsourcing first became a thing, you would often see phrases like, “you can’t outsource a problem”. That can be interpreted in several ways, but one which comes to mind is the idea that if you can’t properly define what you need, how can you expect someone to deliver the solution to your prayers?

During the early days of outsourcing there were many horror stories, but in my opinion many of them were self-inflicted. Companies with terrible project management believed that a load of cheap offshore workers would somehow make up for the fact the project manager didn’t know their ass from their elbow. Companies not putting in the effort up front to understand their requirements, then moaning about what was delivered. Companies who had no understanding of the product/development stack had no way to judge the competence of the offshore team they hired. These sort of problems caused internal development teams to fail, so of course they would also cause outsourced teams to fail.

If you are having problems with internal development teams, outsourced teams and external vendor relationships, how can you not turn this around and ask yourself the question, “could I/we be the problem?”

Fragile, not Agile

How many times have you heard people/companies talk about agile, while insisting on doing everything possible to make sure agile becomes fragile? Those same people/companies will then insist that agile is not all it’s cracked up to be. This sort of nonsense lead a group of us to come up with this, mocking what we were seeing…

There is no framework or methodology you can’t screw up if you are an idiot.

DevOops, not DevOps

Much like Agile, DevOps has been one of those things people love to talk about without even doing some basic reading. Either they are quick to point out the limitations of DevOps, or even outwardly promote it, while sabotaging it from within to protect their silos.

If you have totally dysfunctional silos, the chances are you are not going to save yourself with DevOps, because the people that allowed those silos to become dysfunctional will want to wield control over DevOps, thereby guaranteeing it will fail.

Dark Clouds on the Horizon

In a repeat of the “you can’t outsource a problem” issue, the cloud isn’t magic. There is a lot of stuff you need to understand before you can do something successfully on the cloud. Stuff like pricing, security, network topology, platform offerings, “best practices”, hybrid (cloud + on-prem) systems all need to be considered before you start building anything. Just because you can fire up a VM in the cloud in 30 seconds, it doesn’t mean it is sound to build your business around that…

There have been numerous stories over the years where companies have turned cloud hype into cloud hell. It’s not because there is something inherently wrong with the cloud. It’s because the company has a broken approach to everything, so of course they failed when they launched into their cloud initiative…

Conclusion

Before you launch into a tirade about how X is crap and Y is much better, just make sure it’s not you that’s the problem. Stupid is as stupid does!

Cheers

Tim…