GC Enterprise Architecture/Framework/TechnologyGuide
< GC Enterprise Architecture | Framework
Revision as of 11:11, 24 February 2021 by Gita.nurlaila (talk | contribs) (Created page with " <multilang> @en| == Technology architecture == Technology architecture is an important enabler of highly available and adaptable solutions that must be aligned with the chos...")
Technology architecture
Technology architecture is an important enabler of highly available and adaptable solutions that must be aligned with the chosen application architecture. Cloud adoption provides many potential advantages by mitigating the logistical constraints that often negatively impacted legacy solutions hosted “on premises.” However, the application architecture must be able to enable these advantages.
Use cloud first
- adopt the use of the GC Accelerators to ensure proper security and access controls
- enforce this order of preference: software as a service (SaaS) first, then platform as a service (PaaS), and lastly infrastructure as a service (IaaS)
- fulfill cloud services through SSC Cloud‑Brokering Services
- enforce this order of preference: public cloud first, then hybrid cloud, then private cloud, and lastly non‑cloud (on‑premises) solutions
- design for cloud mobility and develop an exit strategy to avoid vendor lock‑in
Design for performance, availability and scalability
- ensure response times meet user needs, and critical services are highly available
- support zero‑downtime deployments for planned and unplanned maintenance
- use distributed architectures, assume failure will happen, handle errors gracefully, and monitor performance and behaviour actively
- establish architectures that supports new technology insertion with minimal disruption to existing programs and services
- control technical diversity; design systems based on modern technologies and platforms already in use
Follow DevSecOps principles
- use continuous integration and continuous deployments
- ensure automated testing occurs for security and functionality
- include your users and other stakeholders as part of the DevSecOps process, which refers to the concept of making software security a core part of the overall software delivery process