How would you design a scalable system for end-to-end development and deployment using Infrastructure as Code?