Continuous Integration/Continuous Development (CI/CD) recommendations for building a new Web Application
Project scope
Categories
Operations Project management Product or service launch Information technologySkills
software development research and analysis continuous integration cloud computingThe 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:
- Distributed, stateless software architecture, combining multiple micro services that can scale up and out
- Expected underlying technology stack is Elixir, Typescript, React, HTML5, CSS, PostgreSQL, on Linux servers
- The infrastructure is cloud-based (AWS) and containerized (Docker)
- Development tools include Visual Studio Code
- The application source code will be open source hosted in a GitHub public repository.
- The build packages will be proprietary / possibly closed source hosted in a second, private GitHub repository
- Wherever possible we'd like to use open source CI/CD tools
- 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.
About the company
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.