Important: The GCConnex decommission will not affect GCCollab or GCWiki. Thank you and happy collaborating!

GC Enterprise Architecture/Standards

From wiki
Jump to navigation Jump to search

Please note that we are currently updating our Architecture Standards. To view the updates, please click here

The GC Enterprise Architecture standard is part of the Directive on Management of Information Technology. It is listed as Appendix C - Mandatory Procedures for Enterprise Architecture Assessment in the Directive.

To view more detailed info on each point listed below, you can click on the top title for each of the Architecture layer, OR any of the blue link below.

1. Business Architecture

Align to the GC Business Capability model

  • Define program services as business capabilities to establish a common vocabulary between business, development, and operation
  • Identify capabilities that are common to the GC enterprise and can be shared and reused
  • Model business processes using Business Process Model and Notation (BPMN) to identify common enterprise processes

Design for Users First and Deliver with Multidisciplinary Teams

  • Focus on the needs of users, using agile, iterative, and user-centred methods
  • Conform to both accessibility and official languages requirements
  • Include all skillsets required for delivery, including for requirements, design, development, and operations
  • Work across the entire application lifecycle, from development and testing to deployment and operations
  • Ensure quality is considered throughout the Software Development Lifecycle
  • Ensure accountability for privacy is clear
  • Encourage and adopt Test Driven Development (TDD) to improve the trust between Business and IT

Design Systems to be Measurable and Accountable

  • Publish performance expectations for each IT service
  • Make an audit trail available for all transactions to ensure accountability and non-repudiation
  • Establish business and IT metrics to enable business outcomes
  • Apply oversight and lifecycle management to digital investments through governance

2. Information Architecture

Data Collection

  • Ensure data is collected in a manner that maximizes use and availability of data
  • Ensure data collected aligns to existing enterprise and international standards
  • Where enterprise or international standards don't exist, develop Standards in the open with key subject matter experts
  • Ensure collection of data yields high quality data as per data quality guidelines
  • Ensure data is collected through ethical practices supporting appropriate citizen and business-centric use
  • Data should only be purchased once and should align with international standards
  • Where necessary, ensure collaboration with department/agency data stewards/custodians, other levels of government and indigenous people

Data Management

  • Demonstrate alignment with enterprise and departmental data governance and strategies
  • Ensure accountability for data roles and responsibilities
  • Design to maximize data use and availability
  • Design data resiliency in accordance with GC policies and standards
  • Use Master Data Management to provide a single point of reference for appropriate stakeholders

Data Storage

  • Ensure data is stored in a secure manner in accordance with the National Cyber Security Strategy and the Privacy Act
  • Follow existing retention and disposition schedules
  • Ensure data is stored in a way to facilitate easy data discoverability, accessibility and interoperability

Data Sharing

  • Data should be shared openly by default as per the Directive on Open Government
  • Ensure government-held data can be combined with data from other sources enabling interoperability and interpretability through for internal and external use
  • Reduce the collection of redundant data
  • Reduce existing data where possible
  • Encourage data sharing and collaboration

3. Application Architecture

Use Open Standards and Solutions by Default

  • Where possible, use open source standards, and open source software first
  • If an open source option is not available or does not meet user needs, favour platform-agnostic COTS over proprietary COTS, avoiding technology dependency, allowing for substitutability and interoperability
  • If a custom-built application is the appropriate option, by default any source code written by the government must be released in an open format via Government of Canada website and services designated by the Treasury Board of Canada Secretariat
  • All open source code must be released under an appropriate open source software license
  • Expose public data to implement Open Data and Open Information initiatives

Maximize Reuse

  • Leverage and reuse existing solutions, components, and processes
  • Select enterprise and cluster solutions over department-specific solutions
  • Achieve simplification by minimizing duplication of components and adhering to relevant standards
  • Inform the GC EARB about departmental investments and innovations
  • Share code publicly when appropriate, and when not, share within the Government of Canada

Enable Interoperability

  • Expose all functionality as services
  • Use microservices built around business capabilities. Scope each service to a single purpose
  • Run each IT service in its own process and have it communicate with other services through a well-defined interface, such as a HTTPS-based application programming interface (API)
  • Run applications in containers
  • Leverage the GC Digital Exchange Platform for components such as the API Store, Messaging, and the GC Service Bus

4. Technology Architecture

Use Cloud first

  • Enforce this order of preference: Software as a Service (SaaS) first, then Platform as a Service (PaaS), and lastly Infrastructure as a Service (IaaS)
  • 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

  • Design for resiliency
  • 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 actively

5. Security Architecture and Privacy

Design for Security and Privacy

  • Implement security across all architectural layers
  • Categorize data properly to determine appropriate safeguards
  • Perform a privacy impact assessment (PIA) when personal information is involved
  • Balance user and business needs with proportionate security measures