what is the fundamental difference between elastic beanstalk and cloudformation?
Elastic Beanstalk is intended to make developers' lives easier. CloudFormation is intended to make systems engineers' lives easier. Elastic Beanstalk is a PaaS-like layer ontop of AWS's IaaS services which abstracts away the underlying EC2 instances, Elastic Load Balancers, auto scaling groups, etc.