First of all, I would like to make a little introduction about myself, I am not used to writing articles, or even to share my thoughts and experiences outside my work circle. My first experience was at #OracleOpenWorld2017, when I figured out that the fun that we have at “home” or in our lab, should be shared, not only with our coworkers who sometimes (most of the time) think that either I’m a crazy person or that I’m a robot that works 24×7. Fortunately I’m not, I just need challenges and those make me work more than I should and less than I want. By the way, writing this is also a huge challenge, hope to make it a good read.
A few years ago, we were discussing about how to help the development team and how to make some of our tools scalable especially to support one of the most critical periods of the year: Black Friday. After some research we “hit” the Docker door and decided to give it a try. Our first goal was to help developers switch to different projects quickly. We did that easily, but in my mind, I was missing the fun, let’s create some challenges, let’s make it grow like a monster.
First, we needed to be sure about some concepts, specially Immutable Infrastructure, mind this, I would have much more sleep nights, if I had know how to use it so easily as it’s with containers. It’s easy to use it, without knowing it, especially for things that were designed for Docker. Now bringing it to our tools like OracleCommerce, ELK, Jenkins, SonarQube, it needs a huge effort and the right team engaged, but I can assure you, it brings a lot of fun and creates a lot of challenges.
Our journey started with a desire to make OracleCommerce easily scalable to turn our stress level before Black Friday, a lot lower, this consumed a lot of time studying the insides of ATG (a.k.a OracleCommerce), we started the studies with tools that we had a good knowledge and some that we need more knowledge.
To be sure of the right path (at least, for me), I’ve created a huge number of different containers, some with more than one service, some with huge dependencies, some with databases (worst idea ever, if you do, use clusters), but the biggest challenge was ATG, and how to correctly distribute it on layers to take a huge advantage of it.