Deployment (Elastic Beanstalk, Cloud Formation, Code Deploy, Code Pipeline)) Flashcards
What does elastic beanstalk do?
like a wizard that helps manage your applications (consists of apps, environments, versions)
What are use cases of Elastic Beanstalk?
Picture a helpful assistant handling routine tasks for you. Elastic Beanstalk is used for deploying, scaling, and managing web applications seamlessly without worrying about the underlying infrastructure.
How is elastic beanstalk related to EC2 instances?
It is one layer of abstraction away from EC2 instances because Elastic Beanstalk sets up the environment for you to contain multiple EC2 instances
What are the pros and cons of blue-green deployment?
Pro: Ensures zero downtime during updates, easy roll back
Con: Requires additional resources for duplicate environments.
What are the pros and cons of in-place deployment
Pro: Quick and simple with minimal setup.
Con: May result in downtime during updates.
Will the security group be removed when removing the stack with elastic beanstalk
No the security group WON’T be removed because it might be shared across multiple resoures
When should you use the elastic beanstalk worker environment?
for long running tasks because the worker environment can process tasks asynchronously
What is Elastic Beanstalk Launch Configuration used for?
Elastic Beanstalk Launch Configuration is used for modifying instance types, key pairs, elastic block storage and other settings that can only be configured when launching an instance
You are deploying an update for an app and don’t mind if it is offline for the duration of the update. Which deployment strategy do you use?
All at once
You are deploying an update for an app that needs to stay online, but can handle a reduction in capacity. Which deployment strategy do you use?
Rolling
You are provisioning new servers for deploying a new app in Elastic Beanstalk. What 2 deployment options do you have?
- Rolling with Additional Batch (Deploys the new version in batches while launching a separate batch of instances. Useful when you want to minimize the risk of downtime)
- Immutable (Deploys the new version to a fresh group of instances, allowing a quick rollback if issues arise (you need the ability to quickly and reliably roll back to the previous application version if any issues arise during the deployment process))
Describe 2 common ways to implement blue green deployment?
- Use DNS Switching
(when a new version of the software is ready for deployment, the DNS settings are updated to redirect the traffic from the blue environment to the green one) - Use load balancer
(By updating the load balancer configuration, traffic can be smoothly redirected from one environment to another during the deployment process. This ensures a smooth transition for users without interrupting the service)
What open-source tool can you use to create your own Elastic Beanstalk platform and why would you need to create your own Elastic Beanstalk platform
You could use Packer to create your own Elastic Beanstalk platform
You might need to do this because you have specific software dependencies or configurations that are not available by default in the standard Elastic Beanstalk platform.
For instance, consider an application that requires a specific version of a software library or package that is not readily available in the default Elastic Beanstalk environment. By using Packer, you can create a custom machine image that includes the necessary software dependencies, configurations, and libraries required by your application.
Furthermore, if your application requires specific security settings or compliance requirements that need to be consistently applied across different environments, creating a custom Elastic Beanstalk platform using Packer can ensure that these configurations are included in the machine image, guaranteeing consistency and security across various deployment environments.
By leveraging Packer to create a customized Elastic Beanstalk platform, you can ensure that your application’s specific requirements are met, providing a tailored environment that supports the unique needs of your application, including specific software versions, configurations, and security settings. This can help streamline the deployment process and ensure that your application runs smoothly and securely within the Elastic Beanstalk environment.
In Elastic Beanstalk are the appspec.yaml and appspec.json the same thing?
Yes
In Elastic Beanstalk are the cron.yaml or cron.config the same thing?
Yes