Happy to Announce Our New Discussion Forum | Join Now

WhizQuiz Nov 22nd, 2018

A company is planning to adopt Infrastructure as Code (IaC) since the priority from senior management is to achieve as much automation as required.

Which of the following components would help them achieve this purpose?

  • A. AWS Beanstalk
  • B. AWS CloudFormation
  • C. AWS CodeBuild
  • D. AWS CodeDeploy

0 voters

Hi All,
Correct answer for this question is Option B - AWS CloudFormation.
Now, let’s see what each of the service is and why the other 3 options are wrong.

AWS Beanstalk

  • is an easy-to-use service for deploying and scaling web applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, Go and Docker on familiar servers such as Apache, Nginx, Passenger, and IIS. Developer has to upload his code, and Elastic Beanstalk automatically handles the deployment. So here we are talking about application(s), not infrastructure - hence it’s wrong service for IaC.
    https://aws.amazon.com/elasticbeanstalk/

AWS CloudFormation

  • is a service that gives developers and businesses an easy way to create a collection of related AWS resources and provision them in an orderly and predictable fashion. It allows us to use a simple text file to model and provision, in an automated and secure manner, all the resources needed for your applications across all regions and accounts. Here, we are building our infrastructure and hence it’s the correct answer.
    https://aws.amazon.com/cloudformation/

AWS CodeBuild

  • is a fully managed continuous integration service that compiles source code, runs tests, and produces software packages that are ready to deploy. With CodeBuild, you don’t need to provision, manage, and scale your own build servers. Here it works for continuous integration of code. Hence, wrong option for our question.
    https://aws.amazon.com/codebuild/

AWS CodeDeploy

  • is a fully managed deployment service that automates software deployments to a variety of compute services such as Amazon EC2, Lambda, and your on-premises servers. It makes easier for you to rapidly release new features, helps you avoid downtime during application deployment, and handles the complexity of updating your applications. Here its used for continuous deployment of our application, hence its a wrong option for our question.
    https://aws.amazon.com/codedeploy/

Thanks
Viswanath

Correct Answer is B

The AWS Documentation mentions the below on AWS CloudFormation. This supplements the requirement in the question by allowing consultants to use their architecture diagrams to construct cloudFormation templates.

AWS CloudFormation is a service that helps you model and set up your Amazon Web Service resources so that you can spend less time managing those resources and more time focusing on your applications that run on AWS. All you have to do is create a template that describes all the AWS resources that you want (Amazon EC2 instances or Amazon RDS DB instances), and AWS CloudFormation takes care of provisioning and configuring those resources for you.

For more information on AWS CloudFormation, please visit the following URL:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html

So, The correct answer is: AWS CloudFormation