The person who could have saved Oracle has left

Thomas Kurian, who used to be Oracle’s technical no. 2, has just left the company. He said he is taking “extended time off from Oracle,” while Oracle is trying to give the impression that Thomas will return shortly. That’s seriously bad news for the entire Oracle community.

“It is tidings more grievous than any in this land can understand, though it may touch them sorely ere the year is much older”

Aragorn, in The Lord of the Rings

In the good old days, when the Oracle ACE program could still afford to invite all the ACE Directors to a meeting in Redwood Shores before OpenWorld, the meeting with Thomas Kurian was always a highlight. I consistently came away impressed with Thomas’ grasp of the technical details across the Oracle product stack and felt Oracle would be in good hands when he took over from Larry.

The rumor is that Thomas wanted Oracle’s software to run on Amazon and Azure, but Larry won’t allow that. Larry is in love with Oracle’s fancy Exa-this and Exa-that hardware and has spent years bashing Amazon, so it is natural that he wants everybody to run on Oracle hardware. Thomas, on the other hand, is the leader of 35,000 software engineers and wants to see the great software his team has built being used as much as possible.

You would think that Oracle knew better. They watched Sun sticking doggedly to their fancy hardware until they were almost broke and could be bought cheaply, but now Oracle is following the same strategy. I believe Thomas is right, but Larry owns the company.

What does this mean for you as an Oracle professional? It means Oracle has missed yet another an opportunity to become relevant in the cloud, and time is running out as Amazon and Azure pulls further ahead. Do not bet your career as developer, DBA or IT manager on any Oracle Cloud product.

Of course the database will be around for decades yet …

 

This post originally appeared in the Oracle Tool Watch newsletter. Don’t miss the next one, sign up and get an independent opinion on Oracle development in your inbox every two weeks. You also get a free copy of my whitepaper “What Oracle is Doing Wrong (and Right) in the Cloud“.

The Heroic Age of IT

In Greek mythology, the heroic age was one of the five periods of history. In the heroic age, superhuman heroes performed amazing feats. The Greek heroic age ended with the fall of Troy at the end of the Trojan War. The heroic age of IT is not over, even though it should be.

The Greek heroic age gave us great epics like the Iliad. The heroic age of IT is less poetically documented, but the stories are similarly told and re-told, this time over beers at IT conferences.

No organization should depend on heroic feats by superhuman IT administrators or developers. Again and again, I come across important systems maintained by a single person. Naturally, that person does not see this situation as a problem, and often takes his or her responsibility very seriously. However, this situation indicates a low level of IT maturity.

Do not allow responsibility for any system to belong to a group like “Application administrators” or “DBAs.” If you do that, you will find that the group have divided the systems among themselves and each system has only one heroic maintainer.

Instead, take the list of all your systems and make sure you have two specific names listed for every system. Then interview both people to make sure that they would be able to maintain the system on their own. When you have two people for every important system, the age of heroic IT is over in your organization. As it should be.

 

This post originally appeared in the Technology That Fits newsletter. Don’t miss the next one, sign up.

Just answer the question

I just got back from a meeting in a community of experienced IT professionals I’m a member of. I learned about Kotlin, Kafka and React from some very smart people, but I was struck by the one question none of them could answer: What is the business problem you are trying to solve?

It is a common IT problem. Faced with a specific requirement, architects will come up with what they consider a good architecture, and developers will chose what they consider a good tool. The problem is that both architects and developers choose the approach that will answer the maximum number of questions.

IT professionals are enamored with flexibility and will gravitate towards generic architectures and general tools. The thinking is “Why solve only this problem, when we can generalize it and solve a whole class of problems?” Why indeed?

Because IT architects and developers are paid to solve the problem at hand. And the business deserves an answer to their specific question today, not answers some time in the future to hundreds of questions they might eventually have. There is a large cost in time and effort in building more than you need, and the possible, potential, unproven saving from building a very general solution up front rarely makes up for the waste of the ultra-generic solution. Kent Beck, one of the founders of the software discipline known as Extreme Programming put it very succinctly: “You’re not gonna need it”.

If you have the responsibility for providing IT solutions, you first need to make sure the business is asking a clear question. And then you need to make sure your IT people are answering just that question.

 

This post originally appeared in the Technology That Fits newsletter. Don’t miss the next one, sign up.

What’s Hot in Nürnberg This Year

I’ll have to pass on the German Oracle User Group (DOAG) conference this year, but I have been rummaging through their conference agenda to see which topics they have selected. The DOAG conference in Nürnberg is one of the two big Oracle user group conferences in Europe, so it gives some important hints about what tools Oracle developers are actually using.

This year, APEX fills even more of the development agenda. This is especially impressive given the fact that DOAG also puts on a multi-day APEX-only event in the spring.

Forms is still going strong, this year with nine presentations. I especially like the title “Wir hätten gerne das Aschgrau,” which I translate to “we would like it in ash gray, please” 😉

Oracle JET is in third place, followed by the niche tools VBCS and ADF. MAF just makes it onto the list because one speaker included it in an overview, and MAX isn’t represented at all. That was to be expected, as VBCS mobile applications overlap MAX applications significantly.

Among the loyal Oracle customers, APEX is increasingly reigning supreme as the preferred development tool. If you don’t already know how to build APEX applications, it is definitely time you learn.

 

This post originally appeared in the Oracle Tool Watch newsletter. Don’t miss the next one, sign up and get an independent opinion on Oracle development in your inbox every two weeks. You also get a free copy of my whitepaper “What Oracle is Doing Wrong (and Right) in the Cloud>“.

Oracle PL/SQL off the Radar

The Institute of Electrical and Electronics Engineers (IEEE) have published their fifth annual ranking of programming languages. A befits an association of engineers, it is a very thorough work. Their methodology includes Google search data, Google trends, Twitter, GitHub, Stack Overflow, Reddit, CareerBuilder, Dice and the IEEEs own library of conference and journal articles.

I just have one problem with it: PL/SQL isn’t there.

If I take the interactive version and select only Enterprise, I get 36 languages that IEEE considers significant enough to rate. Other venerable languages are there (COBOL at 30th place) and vendor-specific languages are also there (SAP ABAP at 29th place). But it seems PL/SQL has dropped totally off the radar.

One reason for this is that PL/SQL developers keep to themselves inside their enterprises and don’t create many PL/SQL projects on GitHub. Another is that they ask their questions on the Oracle forums, not Stack Overflow. That indicates a future for PL/SQL as an internal language used only by the dwindling number of Oracle database customers.

If you are a young programmer learning PL/SQL, you are probably doing so on company time. Insist that they cross-train you in something else as well, because PL/SQL skills see less and less demand in the marketplace.

If you are an experienced PL/SQL developer, you face the fact that if you lose your PL/SQL developer job, it will be hard to find another. At least learn Oracle APEX so you can use your PL/SQL and database skills to quickly build tactical applications, but preferably supplement with something new.

One of my service offerings is to create personal development plans for IT professionals. Email me if you want to know more.

 

This post originally appeared in the Oracle Tool Watch newsletter. Don’t miss the next one, sign up and get an independent opinion on Oracle development in your inbox every two weeks. You also get a free copy of my whitepaper “What Oracle is Doing Wrong (and Right) in the Cloud“. 

How to beat Murphy’s Law

As I was splitting wood at my summer cottage, I was reminded of Murphy’s Law.

After playing lumberjack with a heavy axe all morning, I was looking for an alternative approach. I had noticed a strange-looking apparatus in a shed, left to me by the previous owner, and decided to investigate. As I suspected, it turned out to be an electric log splitter. As I started working with it, I was struck by how safety was enforced. Notice that the machine has two handles. It won’t move until you press down both of them, thus making it impossible for you to accidentally cut off a few fingers trying to adjust the wood while the splitter is moving.

When you’re splitting wood with an axe, all the safety up to you – a wide-legged stance, making sure nobody is in front of the chopping arc, etc.

Murphy’s law is actually not a simplistic statement of pessimism. What it really says is “if there is a wrong way to something, it will eventually be done in that way.” Chopping wood with an axe will eventually go wrong. The electric wood splitter has eliminated the possibility of doing it wrong.

The same applies to your IT environment. If you have multi-step manual processes to provision a new environment or deploy applications, Murphy’s law says that somebody will do it wrong sooner or later. It doesn’t matter how smart or well-trained your infrastructure people are, it will happen. If you automate your infrastructure processes so there is one command or one button to press, you have eliminated a significant risk. Spend the resources now to automate your processes.

 

This post originally appeared in the Technology That Fits newsletter. Don’t miss the next one, sign up.

Running Oracle WebLogic? Patch now!

If your organization is running Oracle WebLogic, you want to ask your operations people if they have applied the July 2018 Oracle Critical Patch Update.

The most scary vulnerability is CVE-2018-2894, which has a severity score of 9.8 on the CVSS scale that maxes out at 10. From the bug description:

Easily exploitable vulnerability allows unauthenticated attacker with network access via HTTP to compromise Oracle WebLogic Server. Successful attacks of this vulnerability can result in takeover of Oracle WebLogic Server.

As usual, this quarterly patch update sets another record for vulnerabilities fixed – 334 this time. In all fairness, this high number is largely caused by vulnerabilities in open source products Oracle use:

Since these tools are widely used in Oracle applications software, almost all of Oracle’s application products suffer from one or more severity 9.8 bug (remotely exploitable without authentication). If you are running any Oracle application product (E-Business Suite, other Oracle ERP or Oracle industry solutions), you need to update.

The database is not badly hit this time, but CVE-2018-2939 allows an attacker with Local Logon to compromise the database, so you need to patch the DB, too.

If you are running customer-managed Oracle Cloud instances, you will get a notification and a link to apply the patch from the service console, so it is easy to patch. If you are running one of the “Autonomous” or Oracle-managed services, the patch is installed for you, and you don’t need to worry.

There are interesting new risks and trade-offs when running in the cloud, but easier or automatic patching is one of the benefits 😉

 

This post originally appeared in the Oracle Tool Watch newsletter. Don’t miss the next one, sign up and get an independent opinion on Oracle development in your inbox every two weeks. You also get a free copy of my whitepaper “What Oracle is Doing Wrong (and Right) in the Cloud“. 

Using cloud services is a new risk – are you managing it?

Running any system in the cloud means that you are relinquishing control. That adds a risk to your IT landscape that you need to consciously manage.

Recently, I read a post on Medium called “Why you should not use Google Cloud.The author claims his services were shut down without warning and tells a spine-chilling tale. It seems that this exact story cannot be corroborated, but the internet is full of horror stories of people having their cloud-based systems terminated by a machine with no recourse to a human being.

I was running a small system on Oracle’s cloud, and it died. I opened a priority 1 service request with Oracle support, expecting the high-quality 24×7 support effort Oracle is known for from their database products. However, it seems priority 1 on cloud services means something else, and it took them 7 days to find the cause and offer a fix.

You are facing at least two new risks when moving to the cloud:

  • That you can’t get through to a human
  • That you don’t get the timely response you need

To address the first risk, at least make sure you are running important systems on an enterprise account with a support SLA. Don’t let your system be at the mercy of one person’s expiring credit card.

To address the second risk, at least make sure you have an alternative solution in place. It has to be something you can activate yourself, even if your cloud provider has disappeared from the face of the earth, or the FBI has seized their computers.

These are just two risks and possible mitigations – there are many others. Let me know if you need help creating a risk management plan for your cloud systems.

 

This post originally appeared in the Technology That Fits newsletter.
Don’t miss the next one, sign up.

Best JavaScript tool for an Oracle developer

JavaScript development is hot. It is also difficult, which is why there is an ever-increasing number of JavaScript frameworks available to help you. Unfortunately, as Ian Allen described on the stackoverflow blog, JavaScript frameworks don’t live very long.

So what is a JavaScript developer to do? If you don’t want to learn a new framework every few years, you can go with Oracle’s JavaScript offering: Oracle JET.

Oracle JET is an toolkit from Oracle that combines a number of open source libraries with open source code provided by Oracle. Version 5.1.0 was released last month and Oracle continues to improve on Oracle JET. However, the focus is on long-term stability and maintainability, which is why Oracle JET uses a few carefully selected open source frameworks. If you want to work with this month’s hottest JavaScript framework, Oracle JET is not for you.

Hard-core JavaScript developers will want to write a lot of code and not appreciate the help Oracle JET provides. But if you have a bit of JavaScript skills, you can learn Oracle JET in Oracle’s free, three-week course.

Like every other development tool Oracle has ever provided, Oracle JET is not going to be big outside existing Oracle customers. But if your organization is a loyal “red stack” Oracle customer, it makes sense to build your JavaScript applications with Oracle JET.

Let me know if you have questions or need help choosing the right tool for your applications.

 

This post originally appeared in the Oracle Tool Watch newsletter. Don’t miss the next one, sign up and get an independent opinion on Oracle development in your inbox every two weeks. You also get a free copy of my whitepaper “What Oracle is Doing Wrong (and Right) in the Cloud“. 

Don’t move existing systems to the cloud

The scarcest resource in IT is not hardware, software, budget or qualified employees – it’s management attention.

That’s why you should spend your precious time where it makes the biggest impact. Moving an existing system to the cloud might save you some money; people who have done it typically realize a saving of 10-20%. That is not to be sniffed at, but these projects do take enormous effort. Every interface has to be considered and there are security and network considerations. Additionally, both internal IT and the business is likely to question and argue against the decision.

You should therefore be spending your time making sure new systems are built in the cloud. They will be cheaper and faster to get off the ground with modern cloud tools, and you can quickly demonstrate running code to the business. The return on the invested management time is vastly better for new systems. And for many of your legacy applications, it will be easiest to build a new system that provides 80% of the benefit of the old system before you start the discussion about decommissioning your legacy applications.

Calculate the value of new systems and you will see where the return on invested time is greatest. It will not be in projects to migrate legacy to the cloud.

I’d be happy to help you calculate the value of both new and existing systems so you can spend your time where it matters most.

 

This post originally appeared in the Technology That Fits newsletter. Don’t miss the next one, sign up.