MIMSY,
Buying different public IPs (Public Subnet option) usually has a higher cost than using just one public IP. I would go with 1 public IP and will use Destination NAT to permit external users to reach the internal servers. Now, this option will only work if the communications are always initiated from the external users. External users will be contacting the SRX's public IP address and based on the destination port of the packets they will be redirected to a specific internal server (Port-Forwarding):
https://rtodto.net/port-forwarding-in-srx/
https://www.fir3net.com/Firewalls/Juniper/juniper-srx-destination-nat-port-forwarding.html
If having multiple Public addresses is not a problem, then you could use Static NAT. This will create a 1-to-1 mapping between your public addresses and your internal servers. In summary, anytime an external user contacts a specific public addresses it will be redirected to a specific internal server, no matter the destination port of the packets. Likewise, when an internal server initiate a connection to an external user, the packets from that server will be translated to the public address related to that server:
https://rtodto.net/static-nat-in-srx/
I hope this helps you.