Design a comprehensive cloud infrastructure for a rapidly growing tech company, focusing on scalability, reliability, and security. Address challenges like multi-region deployment, disaster recovery, cost optimization, and implementing infrastructure as code. Consider strategies for efficient resource allocation, automated scaling, and robust monitoring and alerting systems.