DOP-C01 Exam QuestionsBrowse all questions from this exam

DOP-C01 Exam - Question 84


A DevOps engineer is planning to deploy a Ruby-based application to production. The application needs to interact with an Amazon RDS for MySQL database and should have automatic scaling and high availability. The stored data in the database is critical and should persist regardless of the state of the application stack.

The DevOps engineer needs to set up an automated deployment strategy for the application with automatic rollbacks. The solution also must alert the application team when a deployment fails.

Which combination of steps will meet these requirements? (Choose three.)

Show Answer
Correct Answer: BCE

For deploying a Ruby-based application that interacts with an Amazon RDS for MySQL database while ensuring automatic scaling, high availability, and data persistence, it is essential not to tie the RDS database lifecycle to the application stack. Therefore, deploying a separate Amazon RDS for MySQL DB instance outside of Elastic Beanstalk ensures the database remains independent and persists regardless of the state of the application stack. Configuring a notification email address in the AWS Elastic Beanstalk configuration to alert the application team is necessary to keep the team informed about deployment failures. Lastly, using the immutable deployment method to deploy new application versions ensures that if a deployment fails, it can automatically roll back to the previous version without manual intervention, as immutable deployments create a completely new set of instances, thus enhancing the reliability and stability of the deployment process.

Discussion

17 comments
Sign in to comment
SmileyCloudOptions: BDE
Dec 1, 2022

B and not A because the RDS data is critical. Move RDS out of Beanstalk. D and not C, because D constantly monitors the Beanstalk health. See https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.eventbridge.html E and not F because immutable creates another environment. If rolling deployment fails, you need to redeploy it again. They ask for automated healing. https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.rolling-version-deploy.html#environments-cfg-rollingdeployments-method

BelloMio
Feb 17, 2023

D uses elastic beanstalk events as source. It does not use Health. Therefore C is correct

Piccaso
Feb 18, 2023

In a table of the link: Environment update failed ERROR Failed to deploy configuration.

Piccaso
Feb 18, 2023

It means C is involved by D

USaloOptions: BCE
Dec 3, 2022

B: and not A because the RDS data is critical. Move RDS out of Beanstalk. C: not D, because AWS Health monitor health status of AWS services, not deployments. E: This was tricky one. We should pay attention that we need automatic rollback, not rolling update. Failed rolling update required manual work to deploy new good version. Failed immutable update will rollback all unhealthy instances automatically, no manual work is needed https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.rolling-version-deploy.html#environments-cfg-rollingdeployments-method

benjl
Dec 19, 2022

Yes, BCE looks correct to me. You can set sns notification in elastic beanstalk console. https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.managing.sns.html

benjl
Dec 19, 2022

I mean notification email address, not the sns.

saggy4Options: BCE
Dec 28, 2022

A -- RDS is critical and should not be clubbed with AWS Beanstalk ENV. B -- Correct as RDS should be created separately independent of the BeanStalk ENV. C -- Correct -- You can send alerts for your ENV via adding email address in config https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.managing.sns.html#configuration-notifications-namespace D -- Health monitor will give alerts for all the environments and also not related to Deployments E -- Correct and D -- Incorrect --> Rolling == No automatic Rollback, Immutable == Automatic Rollback.

daburahjailOptions: BCE
Feb 21, 2023

Not D, as AWS Health is for service-level faults, not deployment issues.

Bulti
Jan 22, 2023

Correct answer is B,C and E. B because RDS data is critical, C because that's the way to send notifications on failed deployment to your email address using Elastric BeanStalk which uses SNS to send notification to your email address abd E because of the ability to rollback to the previous version after a failed deployment

Mark1000
Feb 15, 2023

BCE B and E seem to be uncontroversial Regarding C or D, I'll go with C, the reason is that when you generate the beanstalk environment and define in the Notifications section an email, AWS automatically takes care of creating the associated SNS topic and that email as a subscription in pending confirmation status. Once confirmed, when a deployment is done it notifies you of status changes, so if after a deployment or rollback it fails it notifies you of any changes.

saeidpOptions: BDE
Jan 6, 2023

I vote for BDE

speedsterOptions: BDE
Feb 4, 2023

B and E are obvious. D not C because "To configure which notifications are sent under certain circumstances, you also have other options available. You can use Amazon EventBridge to set up event-driven rules , which notify you when Elastic Beanstalk emits events that meet certain criteria. Alternatively, you can configure your environment to publish custom metrics and set up Amazon CloudWatch alarms to notify you when those metrics reach unhealthy thresholds." Here requirement is only deployment fails https://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/using-features.managing.sns.html#:~:text=To%20configure%20which,reach%20unhealthy%20thresholds.

USalo
Feb 6, 2023

Why do you need to monitor AWS Health ??? I agree, that you need EventBridge, but why to monitor AWS Health? Even in you link there is no mentioning of AWS Health. AWS Health is completely different service that does not show the deployment status of EB

Mark1000
Feb 15, 2023

BCE B y E parece que no tienen discusión Con respecto a C o D, me quedo con C, la razón es que cuando generas el entorno de beanstalk y le defines en la sección Notificaciones un correo electrónico, AWS se encarga automáticamente de crear el topic SNS asociado y ese correo como subscripción en estado pending confirmation. Una vez confirmado, cuando se realiza implementación te notifica de los cambios de estado, así que si tras una implementación o rollback falla te notifica

daburahjailOptions: BDE
Feb 21, 2023

AWS Health is for monitoring service-level faults, and should not alert anything related to failed deployments

Arnaud92Options: BCE
Mar 5, 2023

https://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/using-features.managing.sns.html

okm1997_2Options: BCE
Mar 5, 2023

B - RDS data is critical C - For notification E - rollback

asfsdfsdfOptions: BCE
Mar 6, 2023

BCE Why not D? 1) D uses health which is not related. 2) Beanstalk already creates a SNS topic just need to update the email address in order to subscribe to it. https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.managing.sns.html

scottytoohottyOptions: BCE
Apr 20, 2023

Originally thought BDE, but seen this link below so it's BCE, I got confused with CW Events when using codedeploy https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.managing.sns.html

easytoo
May 29, 2023

bce-bce-bce

failexamonlyOptions: BCE
Jan 18, 2024

See USalo

auxwwwOptions: BCE
Jul 9, 2024

B C - https://docs.aws.amazon.com/sns/latest/dg/sns-configure-dead-letter-queue.html . D is incorrect because it says Event bridge and AWS Health integration. E - https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.rolling-version-deploy.html#environments-cfg-rollingdeployments-method