How to make my IoT home automation project accessible anywhere in the world ?

I have create Iot based home automation project. I operate all the appliances from my mobile app which is connected with the same network , with which my Arduino project is connect.
Now I want to operate from anywhere in the world and not only limited to same network. What are the available options ?

You need to configure your router to forward requests to a particular network port and pass them on to the IP address of your home automation system

Take a look at Blynk.

Other option

One possible way to do the thing. I send my local MCU device data to a MQTT Broker running on a RPi, the RPi communicates with a database on my website. I can make adjustments to my home MCU’s through my web page.

I have used AWS which allows each of the MCU’s to connect directly to the Amazon Web Services. My concern was about how well could the ESP32 stand up against an attack.

I, instead, opted for a scheme where the MCU’s remain on a local net, keeping the MCU’s behind some protection.

Otherwise than denial of service attacks, I don't see any security issue for an ESP32 - there's no O/S to attack. Is it possible to reprogram it over Ethernet?

Is it possible to reprogram it over Ethernet?

Yes. Over The Air (OTA) updates are quite possible but as far as I know only if the ESP32 has been set up to use them