Load Balancer with Oracle APEX in the Amazon Cloud (AWS)

We provide multiple products related to Oracle APEX in the AWS Amazon Marketplace. One of this product allows you to run Oracle APEX and ORDS on top of Oracle Standard Edition with license provided by Amazon in Pay-As-you-Go model. Our product: Oracle APEX 19c with ORDS 19.1 for Amazon Oracle RDS on CentOS 7 bundles ORDS, Tomcat, APEX 19c and other software components in single AMI pre-configured for usage with external Amazon RDS for Oracle

Due to fact that database instance is external to ORDS/APEX/Tomcat instance there is possibility to run multiple ORDS linked to single database. It allows you to serve your APEX application by multiple ORDS instances connected to single database. There are dedicated Amazon AWS settings in EC2 dashboard called Load Balancer that can cooperate with multiple instances of
Oracle APEX 19c with ORDS 19.1 for Amazon Oracle RDS on CentOS 7 to leverage traffic.

At the end architecture for load balancing would look like that:

With that configuration there is possibility to add or remove ORDS instances during predicted high load because AWS Load Balancer allows you to start and stop Oracle APEX 19c with ORDS 19.1 for Amazon Oracle RDS on CentOS 7 instances on the fly. It means that when you expect high traffic you can start multiple instances and in low trafic period just shut-down some of them (for example to reduce cost 🙂 ). That gives you great scalability for your application written in Oracle APEX.

If you want to achieve that result by yourself:
1. Order Oracle database offered by Amazon (Amazon RDS for Oracle)
2. Configure this database according to instruction in “Adding the Amazon RDS APEX Options” section
3. Order multiple instances of ”Oracle APEX 19c with ORDS 19.1 for Amazon Oracle RDS on CentOS 7”
4. For each instance configure it as described in Usage Instruction
of ”Oracle APEX 19c with ORDS 19.1 for Amazon Oracle RDS on CentOS 7” using Instances assigned public IP – please use the same APEX schema and APEX ADMIN password for each instance
5. Configure Application Load Balancer in AWS (see more at https://aws.amazon.com/elasticloadbalancing/) and add all instances created in point 3 to target
6. Connect with your browser to the address provided by Load Balancer

Depending on expected workload only couple of instances or over a dozen of APEX instances is needed. To be more precise in specific case you can perform workload tests of your APEX application running with AWS Load Balancer. To do that you can try JMeter tool (or similar). It lets you to generate test workload and review results. Analysis of your cloud infrastructure response time in conjunction with number of Oracle APEX 19c with ORDS 19.1 for Amazon Oracle RDS on CentOS 7 instances running allow you to determine what is your target instance number.

About Przemysław Kantyka

LinkedIn Profile I am a Consultant with 15 years of professional experience in Forms, Oracle, PL/SQL and APEX. I am a participant in the Oracle ACE program. As a Snowflake Data Engineer, I also work with data warehouse systems and perform analysis, ETL and tuning activities. I am also a co-organizer of Snowflake Meetup Group Poland and a speaker at international conferences (DOAG, Oracle Open World, APEX World). I am co-founder and developer of Oracle-Snowflake Connector. Visit dataconsulting.pl website
This entry was posted in Amazon AWS Marketplace, AWS, Oracle APEX, Oracle APEX Advanced, Oracle DBA and tagged , , , , , , . Bookmark the permalink.