I created AWS CloudFormation template to save time to deploy stack with a set of AWS resources, VPC, EC2 Instance, ELB, EBS and some packages including Apache, PHP, MySQL. The templates are single pattern with EC2 Instances for WEB and DB server in the same AZ and redundant pattern with Multi-AZ.
As the official says, it is essentially important for every developers or system administrators to deploy stack on AWS. I am one of the them who recognized its importance as I learned CloudFormation in the past months.
I was considering to install LAMP packages and provisioning MySQL replication configuration on EC2 Instance with UserData property of AWS::EC2::Instance and Cloud-init (AWS::CloudFormation::Init) at first, but I recognized that it would make it hard to maintain the templates in the future because the templates would be more complicated to achieve it by using those functions.
I'm thinking of trying OpsWorks to progress deployment and provisioning at the next step.