INTRODUCTION – CICD
In this module, you’ll explore data storage in the cloud, examining various storage types such as block storage and object storage, and understanding their differences. You will also investigate advanced load balancing techniques like round-robin DNS and sticky sessions, enhancing your ability to manage traffic effectively. The module also covers change management, including testing methods like unit tests, integration tests, and concepts such as continuous integration, continuous deployment, and A/B testing.
Additionally, you’ll address potential errors and challenges in cloud storage implementation, learning strategies to mitigate risks and optimize performance. You will also explore monitoring and alerting systems, gaining an understanding of how to set achievable SLAs (Service Level Agreements). In GCP, you’ll learn how to configure alerting policies, conditions, and aggregators for efficient data management. Finally, the module will focus on troubleshooting and debugging techniques, equipping you with the skills to identify and recover from failures, ensuring the resilience and reliability of your cloud infrastructure.
Learning Objectives:
- Understand and explain the different types of cloud storage
- Explain the difference between round-robin DNS and sticky sessions
- Identify the different types of integration testing
- Understand and explain the concept of SLAs
- Troubleshoot and debug systems remotely
- Understand what rollbacks are and how they aid in system failure recovery
- Understand how primary and secondary instances contribute to disaster recovery
PRACTICE QUIZ: CI/CD PIPELINES
1. Which types of tests are automated and run by a CI/CD pipeline?
- Unit, integration, and system (CORRECT)
- Integration, delivery, and deployment
- End-to-end, stress, and load
- Jenkins, GitLab, and CircleCI
Unit, integration, and system tests are the commonly used types of tests for performing continuous testing in a CI/CD pipeline.
2. Why is automated testing important? Select all that apply.
- It reduces the amount of manual work and the risk of human error. (CORRECT)
- It increases communication and collaboration.
- It manages your source code repository and version histories.
- It ensures that all of your code changes are tested early in the development process. (CORRECT)
Simplifyd Checking ensures that all code changes are Checked for errors or bugs enabling you to address Problems as they arise. it too reduces the chance of man mistake notably once conducting big Checks that would work time-consuming if through manually
3. Which actions typically trigger a CI/CD pipeline to start? Select all that apply.
- A change in code (CORRECT)
- A decrease in workflow efficiency
- A scheduled or user-initiated workflow (CORRECT)
- Another pipeline (CORRECT)
That’s right! A change in code, a scheduled or user-initiated workflow, and another pipeline are all actions that could trigger a CI/CD pipeline to start.
4. What are some advantages of implementing DevOps?
- Continuous, iterative improvement of your applications
- An automated software development lifecycle
- Collaborative environments
- All of the above (CORRECT)
The benefits of Applying DevOps include an Simplifyd software development lifecycle collaborative environments for development and operations teams and continuous iterative Improvements to your software or Uses.
5. Which of the following are benefits of using containers in your CI/CD pipeline? Select all that apply.
- It allows you to deploy applications easily to multiple operating systems and hardware platforms. (CORRECT)
- It allows you to deploy multiple versions of an application at the same time without interfering with one another. (CORRECT)
- It creates a more reliable way to work with applications at any stage in the pipeline process. (CORRECT)
- It allows you to continuously integrate code into your shared code repository.
The benefits of using containers in your CI/CD pipeline include the ability to deploy applications seamlessly across various operating systems and hardware platforms, run multiple versions of an application simultaneously without conflicts, and create a more reliable way to manage applications at any stage of the pipeline process.
PRACTICE QUIZ: CONTINUOUS INTEGRATION
1. What is the role of a webhook in GitHub?
- It serves as a version control system.
- It enables GitHub to notify CI tools about code changes. (CORRECT)
- It allows coding collaboration at scale.
- It generates new tokens so that you can connect your CI system to GitHub.
A webhook is a URL provided by the CI system to GitHub, enabling GitHub to notify CI tools about code changes.
2. Which of the following are the core components of Cloud Build? Select all that apply.
- Build triggers (CORRECT)
- Build configurations (CORRECT)
- Build steps (CORRECT)
- Build artifacts
The core components of Cloud Build include build triggers, configurations, and steps. Build triggers are events that initiate the Cloud Build process. Build configurations are YAML files that define the steps and settings for the build. Build steps are the actions executed by Cloud Build in a specific order based on the build configuration.
3. What is the purpose of utilizing version control in continuous integration with your code?
- It is a way to direct artifacts to the correct repository.
- It is a way to manage code changes and to track the code’s history. (CORRECT)
- It is a way to receive feedback from different tests to determine what issues your code contains.
- It is a way to create multiple versions of a code and distribute the codes among stakeholders.
Correct! Version control allows developers to view code history and manage the code changes as needed.
4. Why should you run integration tests? Select all that apply.
- To catch errors earlier in the CI pipeline (CORRECT)
- To make sure your application components work together as expected (CORRECT)
- To verify the functionality and performance of an entire software application from start to finish
- To check how individual units of code are working as expected
Integration Checks ensure that the various Parts of your Use work together and help catch errors early in the CI pipeline saving time money and preventing potential headaches.
5. You have developed new code for an application you are creating for a client. You are using the Cloud Build service supported by Google Cloud Platform, or GCP. Which step in the build steps process refers to moving the application to an environment when it is ready for production?
- Running tests
- Deploying (CORRECT)
- Fetching dependencies
- Building the application
Correct! The last step in the build step process is to deploy the application to a specific environment for production.
PRACTICE QUIZ: CONTINUOUS DELIVERY
1. Why would you use value stream mapping? Select all that apply.
- To reduce the number of steps in your process (CORRECT)
- To increase the efficiency of your process (CORRECT)
- To identify bugs in your code
- To identify current areas of improvement (CORRECT)
That’s right! Value stream mapping, or VSM, can help you identify areas of improvement and steps that you do not need, and increase the efficiency of your process!
2. What does GitHub Actions do? Select all that apply.
- Suggests corrections to the code commits
- Allows developers to run tasks whenever certain events occur in their code repository (CORRECT)
- Alerts new actions in the workflow
- Offers ready-to-use CI/CD workflows (CORRECT)
That’s right! GitHub Actions allows you to run tasks whenever certain events occur in your code repository.
That’s right! GitHub Actions have more than 13,000 ready-to-use workflows for you to choose from.
3. What is another name for a configuration file? Select all that apply.
- Cabinet
- Playbook (CORRECT)
- Manifest (CORRECT)
- Folder
Depending on the configuration management tool used a playbook or manifest serves as a configuration file. it specifies the desirable land of amp unit and defines however it need bear
4. Which of the following is a form of software development waste that you can identify with value stream mapping, or VSM?
- Overproduction waste
- Transport waste
- Handoff waste (CORRECT)
- Inventory waste
Handoff waste in DevOps can occur through communication pipelines. once products or services are often transferred betwixt teams that aren’t close organic the chance of communicating errors increases
5. Which of the following statements is considered a best practice for CD?
- Automate as much as you can. (CORRECT)
- While CI should be automated, CD should not.
- Clear CD configuration and scripts from the version control system as soon as you can.
- Avoid using feature flags whenever possible.
That’s right! The entire CD process must be automated so that results are repeatable and consistent.
GRADED ASSESSMENT FOR MODULE 4
1. You are about to use GitHub as part of your continuous integration (CI) pipeline. You prepare your code and other artifacts from source control. Then, you log in to GitHub. Aside from your username, which of the following items is required to initiate the integration?
- Webhook
- URL
- Token (CORRECT)
- Password
2. Your manager informs you of Cloud Build, which is a fully managed continuous integration and continuous delivery service provided by GCP. Which of the following are the core components of Cloud Build? Select all that apply.
- Build images
- Build triggers (CORRECT)
- Build steps (CORRECT)
- Build configurations (CORRECT)
3. You are excited to implement a new practice in your coding development. What software development practice describes code changes that occur automatically, frequently, and safely when integrating them into a shared repository?
- Continuous development
- Continuous installation
- Continuous improvement
- Continuous integration (CORRECT)
4. Which of the following statements best describes GitHub Actions?
- GitHub Actions helps programmers debug codes.
- GitHub Actions runs tasks in response to events in the repository. (CORRECT)
- GitHub Actions is an add-on application that requires a separate installation.
- GitHub Actions is a universal tool that cannot be modified.
5. Your team has just launched a mobile application that translates English into American Sign Language. Upon the release, your team discovers that the app doesn’t integrate well with the Android system. Your team fixes the problem urgently and after a few quick rounds of testing, your team pushes out another release. What type of release is this?
- Major release
- Minor release
- Patch release
- Hotfix release (CORRECT)
6. A software developer pushes out some poorly written code to production. This resulted in a system failure and multiple outages. Which process allows teams to understand and learn from system failures and incidents?
- System alignment
- Post-mortem (CORRECT)
- Production failure
- Recorrect assessment
7. What is DevOps? Select the best answer.
- DevOps is the steps of the software development lifecycle that happen after the code is written. (CORRECT)
- DevOps is only used for assembling and testing code blocks.
- DevOps is the process of programmers writing code blocks to be integrated later.
- DevOps is solely responsible for storing and managing artifacts and containers.
8. You’re a developer who wants to employ the use of DevOps tools during the CI/CD process. What are some popular tools you can use to automate different stages of the software development lifecycle? Select all that apply.
- Spinnaker and Argo CD (CORRECT)
- Jenkins and GitLab (CORRECT)
- Docker and Kubernetes
- GitHub and Bitbucket
9. Which of the following statements are true about the “from coding to the cloud” process? Select all that apply.
- Preparing code for the cloud is a mix of DevOps and programmer responsibilities. (CORRECT)
- From coding to the cloud relies heavily on software development best practices.
- From coding to the cloud is a strategic IT approach to software development. (CORRECT)
- Preparing code for the cloud is an example of old technology used in a new way.
10. There are seven key concepts of automation for continuous integration. Which of the following are included in those concepts? Select all that apply.
- Handling exceptions (CORRECT)
- Better integration (CORRECT)
- Critical mass
- Consistency (CORRECT)
11. Which metric would you employ to measure the length of time it takes for a code change to be committed to a branch and be in a deployable state?
- Mean time to recovery
- Deployment frequency
- Change failure rate
- Lead time for changes (CORRECT)
12. Value stream mapping (VSM) can help you identify bottlenecks in your value stream, inefficiencies in your process, and current areas of improvement. Which of the following are common components of VSM? Select all that apply.
- Wait times (CORRECT)
- Handoffs (CORRECT)
- Delays
- Waste (CORRECT)
13. When building your project on GitHub, the CI system uses the GitHub API token to add a URL to the GitHub project. What is this URL called?
- Webhook (CORRECT)
- Webpage
- Web address
- Uniform Resource Locator
14. You log on to a virtual call to meet with another software developer to discuss build steps in Cloud Build. What are the build steps that are typically included in the build configuration? Select all that apply.
- Fetching dependencies (CORRECT)
- Building the application (CORRECT)
- Debugging the code
- Running tests (CORRECT)
15. Your team launched a mobile application that translates English into American Sign Language. Since the initial launch, your team has worked hard to improve this app. Now the team is ready to release a new version, which includes major enhancements and a new user interface design. What type of release is this?
- Major release (CORRECT)
- Minor release
- Patch release
- Hotfix release
16. You just discovered that a software developer for a banking company had a security breach that included exposing clients’ data and will need to conduct a post-mortem. What does a post-mortem do? Select all that apply.
- Examines the impact of the breach (CORRECT)
- Determines updates needed to protect from future attacks (CORRECT)
- Determines a process to protect data
- Determines the phone numbers of the clients impacted
17. As part of a development or operations team, what are the benefits of using DevOps tools in the software development lifecycle?
- They’re designed to address many of the pain points common to software development organizations.
- They save you—and your organization—time and money.
- They help you tackle processes like continuous integration, continuous delivery, automation, and collaboration.
- All of the above. (CORRECT)
18. Which of the steps of the “from coding to the cloud” process listed below are done by the DevOps team? Select all that apply.
- Containers are received. (CORRECT)
- Code is cleaned and containerized.
- The code is completed.
- Code is delivered to the cloud. (CORRECT)
19. “Automation” is a programming function. What does “automation” do? Select all that apply.
- Is used in place of the CI/CD pipeline
- Reduces the need for human intervention (CORRECT)
- Catches errors in repetitive tasks (CORRECT)
- Enables repetitive routines to scale (CORRECT)
20. You want to check that everything in your application or software is working as it should. Which kinds of tests should you run to check for system performance?
- End-to-end tests (CORRECT)
- System tests (CORRECT)
- Integration tests
- Unit tests
21. You’re looking to reduce the amount of waste happening within your CI/CD pipeline. What are some things that you can look for?
- Partially completed work (CORRECT)
- Lead time
- Task-switching (CORRECT)
- Handoffs (CORRECT)
22. You inform a colleague that continuous integration (CI) is a way to develop software to make it easier, faster, and more reliable. What are the three core practices CI is composed of? Select all that apply.
23. GitHub supports CI/CD by allowing you to run tasks whenever certain events occur in your code repository and allowing you to trigger any part of a CI/CD pipeline off any webhook on GitHub. Which GitHub feature supports these activities?
- Webhook
- GitHub Actions (CORRECT)
- GitHub automation
- GitLab
24. Complete this sentence. DevOps describes the steps of the software development lifecycle that ________________________________. Select the best answer.
- provides security testing
- take place after the code is written. (CORRECT)
- is only used to patch application and security risks
- occur during scaling and replication
25. Which technique can be used to analyze, design, and manage the flow of materials and information required to bring a product to a customer?
- Continuous improvement
- Value stream mapping (VSM) (CORRECT)
- A CI/CD pipeline
- Containers in a CI/CD pipeline
26. When speaking to a new Python programmer, how might you describe the workflows available in GitHub Actions? Select all that apply.
- The workflows run your tests only on GitHub-hosted virtual machines.
- The workflows run your tests only on your own machines.
- The workflows can be customized using YAML files. (CORRECT)
- The workflows on GitHub are pre-written and tested. (CORRECT)
27. Which of the following processes can DevOps tools help you tackle during the software development lifecycle? Select all that apply.
- Continuous integration (CORRECT)
- Continuous improvement
- Continuous delivery (CORRECT)
- Automation (CORRECT)
28. How does automation reduce errors? Select all that apply.
- It eliminates human intervention. (CORRECT)
- It focuses on running each task individually. (CORRECT)
- It bypasses repetitive functions. (CORRECT)
- It blocks the viruses that cause errors.
29. Which of the following scenarios is an example of a minor release?
- A developer releases a quick fix for an operating system that resolves an issue with Bluetooth.
- SoundGrounds, an app for coffee drinkers, releases a new version with an enhancement to the payment system. (CORRECT)
- A developer releases a new operating system that is designed to replace the previous operating system.
- SoundGrounds, an app for coffee drinkers, releases a new version that fixes bugs found in the previous release.
30. You overheard two software programmers discussing the need to conduct a post-mortem in the break room. What’s another term for post-mortem?
- Incident analysis (CORRECT)
- Problem analysis
- Solution analysis
- Operation analysis
31. Which of the following are steps in the “from coding to the cloud” process? Select all that apply.
- The programmer removes materials like API keys and passwords. (CORRECT)
- The end user downloads the application from the cloud.
- The DevOps team receives the Docker files. (CORRECT)
- The DevOps team assembles and tests the code.
CONCLUSION – CICD
In conclusion, this module has provided an in-depth exploration of data storage and management in the cloud, covering key concepts and advanced techniques to optimize performance and reliability. You’ve gained valuable insights into various storage types, load balancing strategies, and change management practices, all essential for efficient data handling in cloud environments.
Additionally, the module has equipped you with the knowledge to address challenges such as errors, quotas, and limits, enabling you to proactively manage and troubleshoot potential issues. By exploring monitoring, alerting, and SLA setting, you’ve learned essential skills for maintaining service reliability and meeting performance expectations.
As you progress, the skills acquired in this module will serve as a strong foundation for managing data storage and ensuring smooth operation of cloud-based systems. With these techniques, you’ll be better positioned to optimize performance, mitigate risks, and drive success in your cloud computing initiatives.