Almost 2 weeks ago I wrote about the release of Oracle REST Data Services (ORDS), SQLcl, SQL Developer and SQL Developer Data Modeler 19.4.
I spent the holidays playing around with ORDS quite a bit, so I came back to work today and pushed it out across all Dev and Test installations.
As I’ve mentioned before, at work we run ORDS on Tomcat inside Docker containers. The build we use is very similar to this one I put on GitHub, but with some extra work-related bits added.
What did I have to do for this update?
- Build a new version of our ORDS Docker image with version 19.4 of the ORDS and SQLcl software.
- Remove all the containers based on this image and fire up new containers.
How long did it take to deploy this to all Dev and Test instances?
The build of the new Docker image took about 5 minutes. It’s mostly just unzipping the software. This can be done before we touch any running containers, so there is no downtime associated with this.
The removal and creation of all the containers took about 5 minutes as well. Each container is created in a second, but the first run with a new version of ORDS has to do the ORDS upgrade in the database, which takes a few minutes sometimes. If there were no ORDS upgrade, the containers start really quickly.
So effectively, in 5 minutes we replaced all the “kit” and ran the ORDS upgrade across everything. I could have done production in that same 5 minute span too, but I’m not allowed to yet. 🙂
Why am I talking about this?
It’s just another example of why containers make more sense than conventional app servers for this type of stuff.
To throw away kit and rebuild it from scratch takes an eternity here. I can do the equivalent with containers in seconds.
Once I’ve tested a new image and proved it works, I can roll that same image out across everything with no worries. If it works against one database, it will work against all the others. That’s the great thing about standardising the approach you take!
And another thing!
I’ve enabled SQL Developer Web on every Dev/Test installation too. Now all I’ve got to do is wait for the right opportunity to use it to save the day when someone is waiting for a firewall change, and act all casual like it’s no big thing! 🙂
So in summary
Containers good! ORDS good!
If you are interested in playing with Docker, you can find more information here.
If you want to learn about ORDS, you can find more information here.