Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  • Version Control in mono-repos

  • Use Pull-Request flow

  • Explicitly declare and isolate dependencies (docker, maven, npm, composer)

  • separate config from deployment

  • Centralize deployment workflow and steps (testing, db migration, build, staging, pre-production, production)

  • Use Declarative formats to describe build/deployment

  • containerize with OCI Images (Docker) 

  • Minimize divergence between development and production, enabling continuous deployment for maximum agility.

  • scale up and out without significant changes to tooling, architecture, or development practices.

  • Execute Apps/Deployments as one or more processes, processed should be empheremal

Ingenious technology principles gear towards reliability in all levels, and follows SRE practices:

...

“We can characterize the health of a service from the most basic requirements needed for a system to function as a service at all to the higher levels of function…” – Site Reliability Engineering Book

  • Highly reliable, scalable, and flexible cloud environment using Google Cloud and Kubernetes

  • Unified System and Application Monitoring using PrometheusGrafana and Stackdriver Monitoring

  • Alerting-System, On-Call Duty, and structured incident response using PagerDuty

  • Postmortem analysis for inducing learning cycles

  • Focus on reliable and reproducible release processes

  • Capacity planning leveraging dynamic cloud environment

  • Rigorous focus on software quality, and testing strategies

  • Efficient product & project management and development