Instructions for your draft Apply activity
Your task is to create a full pipeline that utilises cloud services alongside key DevOps tools. You should discuss the most appropriate piece of work with your team and employer. This could be a small project or part of a larger one, an existing project or something brand new; but whatever you choose, it should be something you can complete within the timescale allowed for this Apply activity. It must also have a real business function; a simulated task doesn’t count.
Your submission should include the following steps:
Introduction
- Explain the context of the project you are working on.
- Write in the first person, clearly stating your own personal input.
Building your application
You will need to show that you can:
- manage source code and build application through pipelines/build jobs with the use of a cloud vendor (i.e., the cloud vendor’s service rather than a 3rd party tool).
- automate the installation and configuration of safe and immutable cloud infrastructure through IaC and Configuration Management – this should be done through an independent tool (such as Terraform & Ansible).
- manage the containerisation and orchestration – this should be done through an independent tool (such as Docker & Kubernetes).
- build and deploy multiple projects through the pipeline.
Please evidence the below:
Cloud Services
- Design architecture of the pipeline
- Storage, access management, networking, and security configuration
- Monitoring configuration
- Source code management, application build management, pipeline creation, deploying of an application
- Use of APIs through cloud service
- Virtual machine creation (automation of creation)
Configuration Management
Note: the below will discuss Ansible as the Configuration Management tool; your company’s Configuration Management tool may differ.
- Created/Updated a configuration file (e.g., an Ansible playbook)
- Created/Updated a Role
- Installed/Removed/Updated software on a Linux/Windows machine using the configuration management tool
- Worked with Static and/or Dynamic data
- Developed and Maintained Roles
- Demonstrated how to secure manage secrets with the configuration management tool
Cloud Provider and IaC
Note: the below will discuss Terraform as the IaC tool; your company’s IaC tool may differ
- Create/Update/Maintain/Delete resources from a cloud vendor with an IaC tool
- Create/Update/Maintain/Use Terraform Modules
- Show how you have used Terraform within a team (emphasis on state management and how issues were circumvented, i.e., state locking with multiple engineers working with a certain environment)
- Deploy and destroy environments using Terraform (may be company specific)
- Automate with CI/CD solution such as Jenkins
- Modularise existing Terraform code where possible
- Demonstrate how to secure manage secrets with Terraform
- Showcase how you’ve used Data Sources in the workplace
- Demonstrate working with Terraform for multiple environments (focus on state file management and variable files)
- Migrate and import current AWS infrastructure to Terraform (may be company specific)
Docker
- Create a Docker Image
- Push an image to an image repository
- Pull an image from an image repository
- Run a Docker container
- Maintain Docker images
- Convert a legacy application/new app to a Docker Image
Kubernetes
- Create a Pod/ReplicaSet/Deployment
- Deploy a Kubernetes Resource
- Delete a Kubernetes Resource
- Update a Pod/ReplicaSet/Deployment/Service or other Kubernetes Resource
- Troubleshoot issue with Kubernetes resource (i.e., pod not starting, how was it diagnosed and resolved)
When you’re ready, select Next to continue.
This Course provides you with information about how to create, structure, and submit the first draft of your work.