GC Enterprise Architecture/Framework

From wiki
Jump to navigation Jump to search

This is a DRAFT COPY of the proposed updates to the GC EA standards

Changes from the previous version are marked as underlined and new additions are marked as italic and underlined


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.

1. Business Architecture

Fulfillment to the needs of the stakeholders to the Government of Canada

  • Understand stakeholders well, conduct stakeholder analysis and create stakeholder mapping for each service being delivered
  • Ensure stakeholders' needs are clearly identified and captured for each service
  • Ensure accountability for privacy is clear
  • Ensure gender diversity and inclusion are considered as part of an intersectional approach to designing the service. Consult the Policy Direction to Modernize the Government of Canada’s Sex and Gender Information Practices and best practices for gender inclusive language
  • Adopt a client-centric view of business delivery of service through customer journey maps and end-to-end service decomposition (internal (GC) and external (public))


Focus on Business Outcome and Strategic Alignment to the Department and to the Government of Canada

  • Establish business architecture early, focusing on business services and capabilities to eliminate technological constraints from transformation designs and roadmaps
  • Use tools, such as Value Stream, to ensure business outcomes are achieved through services being delivered
  • Model operation flow for each service being delivered in a business process modeling tool, using departmental chosen standard for business process notation, such as Business Process Modeling Notation (BPMN), and find optimization in the business process first
  • Ensure business requirements collection are completed prior to considering options
  • Conduct option analysis from a business lens and ensure all options are considered prior to select the best solution to achieve business outcomes


Horizontal Enablement

  • Use business processes developed to identify common enterprise processes
  • Optimize common enterprise processes and maximize its re-use
  • Encourage and use a process (for example: Test Driven Development (TDD)) to improve the trust between Business and IT


Align to the GC Business Capability model

  • Define program services as business capabilities to establish a common vocabulary between business, development, and operation
  • Translate business strategy into business capability implications using the GC Business Capability Model
  • Use the GC Business Capability Model as a baseline and refine the capabilities to deeper levels that are applicable to the departmental use
  • Identify frequently used business capabilities to identify area of focus in resource and skills requirement (Resource Management) for the department as well as to guide investments
  • Identify common business capabilities that can be leveraged by the GC enterprise and share it with the community for possible collaboration through a working group

2. Information Architecture

Data Collection

  • Ensure data is collected responsibly and in a manner that maximizes use, reuse and availability of data
  • Align to existing enterprise and international standards, or where none exist, develop standards in the open with key subject matter experts and consultation with Enterprise Data Community of Practice
  • When collecting personal data or information, ensure that your practices are responsible and align with enterprise data ethics standards as well as relevant policy and legislation. The Policy Direction to Modernize the Government of Canada’s Sex and Gender Information Practices is an example of relevant policy that can inform considerations of gender diversity and inclusion.
  • Ensure data is collected only if it cannot be obtained through data-sharing
  • Ensure that data collection methodology yields high quality data in alignment with enterprise data standards
  • Engage with key stakeholders within the federal government, as well as provincial, territorial and other levels of government, including indigenous people
  • Adopt a needs-based approach to data collection and review existing data assets prior to collecting or acquiring new data
  • Ensure access and quality provisions are in place for data collected or acquired through third-party contracting services

Ensure that Data is Managed Responsibly and in a manner that Maximize Use, Reuse and Availability of Data

  • Align with enterprise and departmental policies and standards on data architecture and governance
  • Enable discoverability, accessibility, resiliency and availability of the departmental data assets
  • Asses, control and monitor data quality in alignment with enterprise data standards
  • Define and establish clear roles, responsibilities and accountabilities for data management
  • where possible, use automation to support the management of data
  • Identify and document the lineage of the departmental data assets
  • Regularly assess the value of the departmental data assets and undertake retention and disposition as per existing schedules
  • Only handle data which is essential to your service. Do not store all data that you capture unless absolutely necessary
  • Ensure data is stored in a secure manner in accordance with CSE approved cryptographic algorithms and protocols and legislation such as the Privacy Act
  • Manage departmental data in a way that enables interoperability, not only within the department, but also at the enterprise level
  • Ensure that data is used in an Ethical and Secure manner
  • Ensure that combined data does not risk identification or re-identification of sensitive or personal information
  • Ensure the data is fit for the use it is employed for in accordance with data quality guidelines
  • inform decisions by the appropriate data and information

Data Sharing

  • Data should be shared openly by default as per the Directive on Open Government
  • If data cannot be shared, explicitly state the laws and/or regulations preventing its sharing
  • Ensure that any data you share adheres to existing enterprise and international standards, including on quality or fitness for purpose
  • Encourage data sharing and collaboration
  • Ensure that data received from external parties is profiled and validated prior to its use.
  • Enable internal and external sharing of data and information as appropriate

3. Application Architecture

Use Open Standards and Solutions by Default

  • Where possible, use open source standards, and open source software first
  • When using Open Source remain at the latest and greatest version to ensure any security vulnerabilities are patched
  • Ensure any extension or change to the Open Source item is contributed back to the community
  • 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
  • Ensure valid license and legal requirements are met for use of Open Source items
  • Expose public data to implement Open Data and Open Information initiatives


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 and security is underpinning the Software Development Lifecycle
  • Total Cost of Ownership (TCO) should include the cost for design, construction, operation, and maintenance of a system. For example Training, Support, Disaster Recovery, and Retirement Cost


Design Systems to be Measurable and Accountable

  • Publish performance expectations for each business service and supporting application and technology service(s)
  • 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
  • Complete an Algorithmic Impact Assessment (AIA) for systems automating decisions as per the Directive on Automated Decision-Making.


Maximize Reuse

  • Reduce integration Complexity - design systems to be highly modular and loosely coupled to be able to reuse components.
  • 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
  • Use micro services scoped to a single purpose and made available for cross-business use


Enable Interoperability

  • Expose all functionality as services
  • Make all services available through a well-defined interface, such as a HTTPS-based application programming interface (API)
  • Design APIs according to the Mandatory Procedures for Application Programming Interfaces (Government of Canada API Standards)
  • All APIs with potential for cross-departmental, inter-jurisdictional, or public consumption must be published to | the GC API Store
  • Use the [gccollab:groups/profile/1238235/engovernment-of-canada-digital-exchangefru00c9change-numu00e9rique-du-gouvernement-du-Canada | Canadian Digital Exchange Platform (CDXP)] for data exchange where suitable (e.g. GC Event Broker for asynchronous messaging)


Develop with Security in mind

  • Applications that store, process, handle, or have network access to sensitive information should be developed with security in mind from the start, and should be audited and assessed before use
  • Ensure sensitive data is protected appropriately when stored and transmitted (Duplicate D3)
  • Minimise the opportunity for accidental data leakage across application boundaries
  • Ensure only authorised parties can access sensitive information
  • Log access to facilitate audits and isolate unauthorized behaviour
  • Restrict access to sensitive data to those applications designed to handle such material in a secure manner

4. Technology Architecture

Use Cloud first

  • Adopt the Use of the GC Accelerators to ensure proper Security and Access Controls - Azure, AWS
  • 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 performance and behaviour actively
  • Run applications in containers to enable rapid deployment and scaling
  • 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.

5. Security Architecture and Privacy

Design for Security and Privacy

  • Perform security categorization to identify and categorize information based on the degree of injury that could be expected to result from a compromise of its confidentiality, integrity and availability.
  • Build in security from the outset of design, development, and throughout the system life cycle, across all architectural layers.
  • Implement appropriate and cost-effective security measures and privacy protections, proportionate to user and business needs. Apply graduated safeguards that are commensurate with the security category of the information and assets.
  • Protect data while in transit, in use and at rest using appropriate encryption and protocols. (Duplicate D3)
  • Apply a defense in depth approach to reduce exposure to threats and minimize the degree of compromise.
  • Design services that:
    • Prioritize ease of use in security design to make security simple for users;
    • Protected from common security vulnerabilities;
    • Expose and secure only the interfaces necessary to operate the service;
    • Are resilient and can be rebuilt quickly to a known clean state in the event that a compromise is detected; and
    • Fail secure even if the system encounters an error or crashes.
  • Integrate and automate security testing to validate code and address vulnerabilities prior to deployment
  • Reduce human intervention and maximize automation of security tasks and processes.

Ensure Secure Access to Systems and Services

  • User access to service interfaces should be constrained to authorised individuals, with clearly defined roles.
  • Identify and authenticate individuals, processes, and/or devices to an appropriate level of assurance before being granted access to information and services.
  • Separate and compartmentalise user responsibilities and privileges. Assign the least set of privileges necessary to complete the job.
  • Use GC-approved multi-factor authentication where possible to protect against unauthorized access.

Maintain Secure Operations

  • Design processes to operate and manage services securely in order to impede, detect or prevent attacks.
  • Collect all relevant security events and logs at infrastructure and application levels to support root-cause analysis. Use a trusted time source and protect audit logs from manipulation.
  • Continuously monitor system events and performance, and include a security audit log function in all information systems.
  • Promptly apply security-related patches and updates to reduce exposure to vulnerabilities. Apply a risk-based mitigations when patches can’t be applied.
  • Establish appropriate mechanisms to respond effectively to security incidents. Monitor security advisories and patches.

Privacy by Design

  • Perform a privacy impact assessment (PIA) to support risk mitigation activities when personal information is involved
  • Implement security measures to assure the protection of personal information
  • Take into consideration the 7 Foundational Privacy Design Principles when designing services.

Need help? Contact us.


Envelope icon blue.png
Gccollab icon blue.png
Gcconnex icon blue.png