Continuous Integration/Continuous Development (CI/CD) recommendations for building a new Web Application

Closed
Deploy Solutions
Ottawa, Ontario, Canada
Nicholas Kellett
Founder & CEO, Deploy Solutions
(7)
3
Project
Academic experience
120 hours of work total
Learner
Anywhere
Advanced level

Project scope

Categories
Operations Project management Product or service launch Information technology
Skills
software development research and analysis continuous integration cloud computing
Details

The Goal

We wish to determine the Continuous Integration/Continuous Deployment processes and tool(s) we should use to support the development & deployment of a new web application.

We need your help to research and explore, and finally recommend how we should implement CI/CD.

The Details

Our application development will have the following characteristics:

  1. Distributed, stateless software architecture, combining multiple micro services that can scale up and out
  2. Expected underlying technology stack is Elixir, Typescript, React, HTML5, CSS, PostgreSQL, on Linux servers
  3. The infrastructure is cloud-based (AWS) and containerized (Docker)
  4. Development tools include Visual Studio Code
  5. The application source code will be open source hosted in a GitHub public repository.
  6. The build packages will be proprietary / possibly closed source hosted in a second, private GitHub repository
  7. Wherever possible we'd like to use open source CI/CD tools
  8. Daily release cycle

Your considerations should include:

  • What/how many deployment environments are needed
  • what steps are needed to automatically build, package, test, and deploy code;
  • what development branching and check-in strategy to use;
  • how & when to automatically spin up/spin down temporary environments for dev & test;
  • how to version, rollout, and backout updates;
  • what kind of CI/CD reporting and metrics are needed to keep an eye on the process;
  • a budget estimate for 12 months of your recommended CI/CD pipeline / tools (assumptions are fine but should be documented)

In addition to your chosen recommendations, we are interested in understanding how you reached your final conclusion.

Your Contribution

Your recommendations will be put to use as we build our web application, and make an immediate difference to our development, testing, and deployment efforts.

Deliverables
No deliverables exist for this project.

About the company

Company
Ottawa, Ontario, Canada
2 - 10 employees
Government, It & computing, Business & management, Environment, Airlines, aviation & aerospace

Deploy Solutions connects Earth observation data with the needs of organisations and businesses by providing innovative Space Apps — software applications which use data from space.

We are streamlining the software development process using a software factory —a standardised approach with unique outcomes. This allows us to reduce development costs, risks, and the total cost of ownership, empowering organisations to take advantage of space data.

Find out how Deploy Solutions can help your organisation benefit from space data using a software factory approach.