We are planning to build a online ticket sales system which needs to archieve 500 checkout transactions per second but we do not have a inhouse IT team to provide consulting on scalability.
The online ticketing system will need to achieve scalability (able to process increasingly more checkout transactions as we rollout to more countries). The software development will be performed by an offshore company, the platforms will be Open source (Redhat Linux, MySQL, JBoss, Apache) and Intel servers (Dell, iSCSI sans, DLink load balancers etc).
In terms of architectural design to achieving scalability (in my simplistic understanding) it is to have the work load shared across many servers i.e. each service performed by a dedicated server e.g. payment gateway, email service, web, JBoss, MySQL. Is there any other approaches to achieving application scalability?