Jede Änderung ist ein geprüfter Pull Request, der automatische Prüfungen besteht, bevor ein automatisches, umkehrbares Deployment folgt.
01Entwicklungszyklus
- Design: Änderungen, die Authentifizierung, Autorisierung oder personenbezogene Daten betreffen, werden anhand der OWASP-Top-10-Kontrollen entworfen.
- Entwicklung: Der gesamte Quellcode liegt in privaten GitHub-Repositorys. Jede Änderung entsteht auf einem Branch und wird über einen Pull Request gemergt.
- Prüfung: Typprüfungen, Go-Tests und Build-Prüfungen laufen bei jeder Änderung. Die Prüfungen selbst werden getestet, indem ein bekannter Fehler eingeschleust und seine Erkennung bestätigt wird.
- Release: Produktions-Deployments laufen aus einer automatisierten Pipeline auf kurzlebigen Build-Maschinen und nutzen nur den gemergten Commit.
- Beobachtung: Jedes Release wird nach dem Deployment in der Produktion geprüft; die Release-Kennung ist in den Antwort-Headern sichtbar.
02Änderungskontrolle
- Infrastrukturänderungen (Server, Netzwerke, Berechtigungen, Alarme) sind Terraform- und Ansible-Code und durchlaufen denselben Pull-Request-Ablauf, mit einer eigenen Infrastrukturprüfung.
- Zwei Deployments desselben Dienstes laufen nie gleichzeitig.
- Jedes Release ist versioniert; die vorherige Version bleibt auf dem Server, sodass ein Rollback ein Umschalten statt eines Neubaus ist.
03Umgebungen und Daten
Die Entwicklung nutzt Testkonten und Testprogramme. Produktionsdaten werden nicht auf Entwicklerrechner kopiert, und der Zugriff auf Produktionsdaten im Support ist auf das beschränkt, was die Support-Aufgabe erfordert.
04Kontakt
Fragen zu dieser Richtlinie, Sicherheitsfragebögen und Anfragen zum Auftragsverarbeitungsvertrag: privacy@mentornity.com.