Does anyone care about enterprise application servers anymore?

A few years ago it seemed like everywhere you turned there was a vendor extolling the virtues of their enterprise application server. The message was very much “big is beautiful”. The more complicated the better. The more features the better. Fast forward to present time and is that message still the same?

In a recent conversation I was asked about my thoughts on this and my response was I don’t think these “do it all” application servers matter anymore. This post outlines my feelings on the matter.

Full disclosure

Because of my job I was forced to learn WebLogic, and I’ve always disliked it. I think it’s over-complicated, a pig to manage, and every quarter the list of vulnerabilities look like a horror show. Keep this in mind when reading the rest of this post. Basically, I’m saying this is my biased opinion and you don’t have to agree with me. I’m not throwing shade at any particular company. In my opinion, the mindset at the time was different to now, which resulted in similar products from multiple companies.

Also, it’s worth saying I’m not an application server guru, so that probably affects my views on the subject.

Third-party application vendors

The company I work for at the moment uses a lot of third party apps. From what I can see, the 3rd party application vendors that were previously looking to offer solutions on products like Websphere and WebLogic are quite happily getting rid of them in favour of more streamlined solutions. They are quite happy to forgo the additional features, or implement them with additional libraries in their code.

Maybe that’s just the application vendors I come into contact with. Maybe your experience is different. I would be interested to know, in case I’m totally off the mark here.

Containers

With the rise of containers we’ve become accustomed to small and lightweight pieces of infrastructure that focus on doing one thing well, rather than trying to be all things to all people.

I know you can run these enterprise application servers in containers and on Kubernetes, but it just feels like trying to force monoliths into containers. That’s not my idea of progress.

When I talk about lightweight, I’m not just thinking about the size of the footprint, but the complexity of it also.

Administration

The administration of the monoliths is too complicated. Given the choice of training up a new person on WebLogic or Tomcat, I know which I would pick.

Even after all these years, when we get an issue on a WebLogic server a piece of me dies because I know I’ll be rooting around for ages to get the answers. In comparison, Tomcat is so much simpler.

We go back to my definition of the size of the footprint again. The complexity of some of these products comes at a cost.

But what about product X?

I realise that some products still need these enterprise application servers. If you use a product that needs them, that’s fine. Continue doing so. I just wouldn’t be looking to buy new products that require that much investment in time and money. It’s just my opinion though.

Moving to the cloud

One of the things I’ve mentioned several times is the move to the cloud changes things significantly. To a certain extent, I don’t care about the underlying technology used by a cloud service. I just care that it meets my requirements. Does it perform well enough? Does it have the required availability? Does it come at a reasonable price? Is it really easy to administer, or preferably need no real administration? Does it support the programming language/framework I care about? At no point am I really thinking about the underlying tech.

If a cloud provider builds out there service using an enterprise application server, that’s fine. I just don’t want to pay those licensing fees, and I don’t want to see any of the management. I want the most streamlined experience I can get.

What do you think?

I’m really interested to know what you think. I come to this conversation with a lot of bias, so I understand if a lot of people don’t agree with me. Are you looking to simplify this layer of your infrastructure, or do you still lean on the side of “big is beautiful”?

Cheers

Tim…

Video : APEXExport : Export APEX Applications and Workspaces From the Command Line

In today’s video we’ll give a quick demonstration of using the APEX command-line export utility.

The video is based on this article, which includes more examples, and Windows-based examples also.

The star of today’s video is my daughter Heli “Hell-Squirel” Helskyaho. Make sure you check out the cloud forming a Pikachu tail above her head! 🙂

Cheers

Tim…

Do you know how to use the software you write?

During a discussion about Artificial Intelligence (AI) a colleague said he was listening to someone on the radio speaking about AI research, and their comments could be summed up by the classic Jurassic Park quote.

“Your scientists were so preoccupied with whether or not they could, they didn’t stop to think if they should.”

We could easily have a similar discussion about the developers of software products aimed at DBAs and developers. I’m guessing the developers of feature X in the database aren’t DBAs or database developers in the sense that we usually use the term. Sounds kind-of obvious, but I think it’s important. When those developers are working on the new whizz-bang feature, are they really thinking about the knock-on effect of that? I don’t mean that in a bad way. I’m just saying the focus of those developers may be very different to that of the DBAs and developers the resulting product is being used by.

I’ve said it a bunch of times, but Oracle Cloud means Oracle has becoming the single biggest consumer of their own products. That continues to have a profound impact on the products. Call it, “eating your own dog food”, or “drinking your own champagne”, the result is the same. I’m hoping the feedback loop is more efficient and “louder” now than it was. 🙂

I look after the infrastructure of a bunch of systems I know nothing about. I build them, deploy software to them, and in some cases I can log into them, but there are very few I actually know how to use. I sometimes get calls about things and I’m super honest about what I can and can’t do. I say things like, “I can turn it off and on, but I don’t have a clue how to use the application!” I think that’s quite common. Once a product grows above a certain size, there’s no way someone will be able to understand all of it. If you are managing multiple products, there is no way you can understand them all.

So when the next version of product X is released and you say to yourself, “Why the heck have they done that?”, the answer may be the team thought it was a good idea, even though you as the user of their product think it’s pointless… 🙂

Cheers

Tim…