GC Enterprise Architecture/Standards/Technology Architecture

From wiki
Jump to navigation Jump to search

<<Application Architecture

Security Architecture>>

4. Technology Architecture

This is a definition for GC Technology Enterprise Architecture

Use Cloud first

  • Adopt the Use of the GC Accelerators to ensure proper Security and Access Controls - Azure, AWS
    • These accelerators provide templates for deploying systems that have been review by ???
    • For the Azure Accelerators, both the ARM (Azure Resource Manager) and Terraform formats are provided
  • Enforce this order of preference: Software as a Service (SaaS) first, then Platform as a Service (PaaS), and lastly Infrastructure as a Service (IaaS)
    • SaaS offers a managed service ...
    • PaaS offers ...
    • IaaS offers quick scalability compared to running your own servers, but leaves it up to you to patch an configure your infrastructure.
  • Enforce this order of preference: Public cloud first, then Hybrid cloud, then Private cloud, and lastly non-cloud (on-premises) solutions
    • Public cloud provides ...
    • Hybrid cloud provides ...
    • Private cloud provides ...
    • On-Premises provides ...
  • Design for cloud mobility and develop an exit strategy to avoid vendor lock-in
    • SaaS and PaaS remove the overhead of maintaining your own infrastructure, but can

Design for Performance, Availability, and Scalability

  • Design for resiliency
  • Ensure response times meet user needs, and critical services are highly available
    • https://royal.pingdom.com/page-load-time-really-affect-bounce-rate/
  • Support zero-downtime deployments for planned and unplanned maintenance
    • As your applications attract additional consumers, being able to introduce changes and patching without negotiating outages becomes more important
    • Green Blue deployment
  • Use distributed architectures, assume failure will happen, handle errors gracefully, and monitor actively
    • Today much of the distributed architectures rely on the Kubernetes (k8s) architectures
    • https://opentracing.io/
  • Establish architectures that supports new technology insertion with minimal disruption to existing programs and services
    • API Gateways???
    • General SOA???
  • Control Technical Diversity - design systems based on technologies and platforms already in use.
    • Technical Debt
    • Best in breed vs. suite?