Table of Contents
The main objective of this project is to apply the knowledge gained from the course to deploy the recommended open source application:
The team will need to plan, design and implement a solution for automating the development workflows and deployments of the application.
To achieve our goal, we have set our sprint planning meeting on every Friday for three weeks to discuss any issues we might have and set tasks for every team member to prepare for the next sprint.
On the final week, we have decided to use common cloud technology and the group has split into two sub-teams to work on their allocated tasks, i.e. Terraform and Kubernetes. We have daily startup meeting to see the progress of the tasks. While it went well with the configuration of Kubernetes, some unforseen issues happened with the configuration of Terraform. The team has digged deep into the literature and the configuration issues have been resolved. For the automation deployment, the original plan was to use Ansible, however the discovery of the same functionality of Terraform make our project progress faster.
- Kanban Board: Trello
- Version Control: Github
- Cloud service: Amazon Web Services (AWS)
- CD server: Jenkins
- Deployment: Kubernetes and Jenkins
- Infrastructure management: Terraform
Jenkins' ability to integrate with Plugins make it a powerful continuous delivery tool. It works with Github and allows the builds to complete in the background automatically.
Kubernetes is an open-source system for automating deployment, scaling and containerised applications management. It is chosen because of its powerful nature, it allows to scale without increasing human resource and it is flexible to run. It won't disappeared forever even if it was deleted accidentally.
Terraform is an open-source tool and its easy to reuse and maintain module structure encouraged us to employ it for creating VMs and install all necessary dependencies.
- Karolina Sura
- Serin Jeon
- Waled Salem
- Sabina Ku
- Irene Chung