Section 26.254 Automating Application Development Flashcards
Objective 4.7 Explain the importance of automation and orchestration related to secure operations
Automating Application Development
Enhances efficiency, consistency, and the quality of software products
■ Automation: In application development, it involves using technology to manage, test, and deploy applications with minimal human intervention
Continuous Integration and Continuous Deployment (CI/CD) significantly improve software efficiency, consistency, and quality
Continuous Integration (CI)
● Developers merge code changes frequently in a central repository
● Automated build process verifies each check-in and detects problems during integration
● Automation tools manage code integration, provide notifications for conflicts or errors
● Automated tests ensure software quality after integration
● Developers receive feedback on detected issues to make necessary
corrections
● Release: Process of finalising, preparing new software or updates Enabling software installation and usage
● Deployment: Involves automated process of software releases to users. Actual installation of software in a new environment
Continuous Integration and Continuous Delivery (CI/CD)
CI/CD includes continuous integration
● Continuous Delivery (CD) ensures code is always deployable after every change
○ Automated testing and build processes
○ CD stops short of automatic production deployment
○ CD is part of the release process
○ Full deployment process is automated only to a certain stage:
■ Doesn’t deploy into the production environment automatically
○ Deployment to production environment is a manual business decision
○ Allows flexibility in timing, market conditions, and stakeholder readiness
Continuous Deployment
● Takes CI/CD further by automatically deploying code changes to testing and production environments
● All changes passing through the production pipeline are fully released with no human intervention
● Automation ensures consistent deployments, faster releases, and offers rollback capabilities
● Requires a paradigm shift, more developer involvement in the
deployment process
● Promotes increased communication and collaboration within teams for collective responsibility
Benefits of CI/CD
● Adapting to changing market demands more quickly
● Efficient workflow from development to deployment
● Improves code quality, streamlines deployment processes, and allows
flexible production release
● Reduces deployment risks and enhances software reliability