How would you design an automation framework from scratch to support a complex microservices architecture?