|
|
Line 72: |
Line 72: |
| <span style="font-size: 1.5em;">[[GC_Application_Enterprise_Architecture | 3. Application Architecture]]</span> <br><br> | | <span style="font-size: 1.5em;">[[GC_Application_Enterprise_Architecture | 3. Application Architecture]]</span> <br><br> |
| | | |
− | <b><I><u>Use Open Source Solutions hosted in the Cloud</b> | + | <b><I><u>Use Open Source Solutions hosted in Public Cloud</b> |
| * Select existing solutions that can be reused over custom built | | * Select existing solutions that can be reused over custom built |
| * Contribute all improvements back to the communities | | * Contribute all improvements back to the communities |
Line 78: |
Line 78: |
| <br> | | <br> |
| | | |
− | <b>Use SaaS hosted in the Cloud</b> | + | <b>Use Software as a Service (SaaS) hosted in Public Cloud</b> |
− | * Choose SaaS that are extendable | + | * Choose SaaS that best fit for purpose based on alignment with SaaS capabilities |
− | * Align with SaaS capabilities; extend as Open Source modules | + | * Choose a SaaS solution that is extendable |
− | * Configuration over customization
| + | * Configure SaaS and if customization is necessary extend as Open Source modules |
| <br> | | <br> |
| | | |
| <b>Design for [https://www.gcpedia.gc.ca/wiki/En/GCinterop Interoperability]</b> | | <b>Design for [https://www.gcpedia.gc.ca/wiki/En/GCinterop Interoperability]</b> |
− | * Design systems to be highly modular, loosely coupled and aligned to Business Capability Model 2.0 | + | * Design systems as highly modular and loosely coupled services |
− | * Use micro services scoped to a single purpose and API-led connectivity
| + | * Expose services through APIs |
− | * Expose functionality as services, make services available through APIs and make the APIs discoverable | + | * Make the APIs discoverable to the appropriate stakeholders |
| <br> | | <br> |
| | | |
Revision as of 10:35, 7 January 2020
This is a DRAFT STREAMLINED COPY of the proposed updates to the GC EA standards
In the past few weeks, the GC EA team has re-reviewed and streamlined all the inputs received from the various SMEs and departments and came up with the below proposed streamlined copy. The remaining input will be placed into an upcoming GC EA Playbook/Guidelines. This proposed streamlined updates will be going another iteration of reviews with the SMEs.
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.
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
Fulfill the Government of Canada stakeholder's needs
- Clearly identify internal and external stakeholders and their needs for each business service including user centric design
- Include policy requirement applying to specific stakeholder groups, such as accessibilities, gender based+ analysis, and official languages in the creation of the service
- Model end-to-end business service delivery to provide quality, maximize effectiveness and optimize efficiencies across all channels (e.g lean process)
Architect to be Outcome Driven and Strategically Aligned to the Department and to the Government of Canada
- Identify which departmental/GC business services, outcomes and strategies will be addressed
- Establish metrics for identified business outcomes throughout the lifecycle of an investment
- Translate business outcomes and strategy into business capability implications in the GC Business Capability Model to establish a common vocabulary between business, development, and operation
Promote Horizontal Enablement of the Enterprise
- Identify opportunities to horizontally enabled business services and provide cohesive experience to stakeholders
- Reuse common business capabilities and processes from across government and private sector
- Publish in the open reusable common business capabilities and processes (in the Open Government portal) for others to develop cohesive horizontal enterprise services
|
2. Information Architecture
Collect data to address the needs of the stakeholders
- Adopt a needs-based approach to data collection
- Collect only the minimum set of data needed to fulfill the business service
- Reuse existing data assets and only acquire new data if required
- Ensure collection methodology, including third party sources, yields high quality data
Manage data strategically and responsibly
- Define and establish clear roles, responsibilities, and accountabilities for data management
- Identify and document the lineage of your data assets.
- Define retention and disposition schedule and perform regular disposition activities
- Ensure information and data are managed to enable interoperability, reuse and sharing to the greatest extend possible within and with other departments across the government to avoid duplication and maximize utility, while respecting security and privacy requirements
- Contribute and/or aligned to Enterprise Data taxonomy and classification structure to manage, store, search and retrieve information and data in all formats
Use and share data openly in an ethical and secure manner
- Ensure data formatting aligns to existing enterprise and international standards. Where none exist, develop standards in the open with key subject matter experts, in consultation with the Enterprise Data Community of Practice.
- Data should be shared openly by default as per the Directive on Open Government and adheres to existing enterprise and international standards, including on quality or fitness for purpose.
- Ensure that combined data does not risk identification or re-identification of sensitive or personal information
|
3. Application Architecture
Use Open Source Solutions hosted in Public Cloud
- Select existing solutions that can be reused over custom built
- Contribute all improvements back to the communities
- Register Open Source software to the Open Resource Exchange
Use Software as a Service (SaaS) hosted in Public Cloud
- Choose SaaS that best fit for purpose based on alignment with SaaS capabilities
- Choose a SaaS solution that is extendable
- Configure SaaS and if customization is necessary extend as Open Source modules
Design for Interoperability
- Design systems as highly modular and loosely coupled services
- Expose services through APIs
- Make the APIs discoverable to the appropriate stakeholders
Use DevOps / Continuous Integration to ensure maintainability and AB Testing
- Work with multidisciplinary teams
- Ensure testing and QA is completed
- Work in the open; Release source code developed via GC website and GC services
|
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
- 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
Build Security into the Full System Life Cycle, Across All Architectural Layers
- Identify and classify risks associated to the service’s business objectives, goals, and strategy
- Design security measures according to business and user needs, risks identified, and security categorization of the information and assets; integrate security across all architectural layers (BIAT)
- Design systems to not be susceptible to common security vulnerabilities; resilient and can be rebuilt quickly in the event of compromise; and fail secure if the system encounters an error or crashes
- Ensure that data received from external parties is profiled and validated prior to its use
Ensure Secure Access to Systems and Services
- Identify and authenticate individuals, processes and/or devices to an appropriate level of assurance before granting access to information and services
- Constrain service interfaces to authorized entities (users and devices), with clearly defined roles
- Make use of modern password guidance, and prioritizing length over complexity, eliminating expiry, and blacklisting common passwords
Maintain Secure Operations
- Integrate aggregate outputs from security assessment and authorization activities into security architecture lifecycle processes, to ensure reference artefacts remain relevant and valid
- Design processes to operate and manage services securely, and continuously monitor system events and performance in order to detect, prevent, and respond to attacks
- Establish processes to monitor security advisories, and apply security-related patches and updates to reduce exposure to vulnerabilities. Apply appropriate risk-based mitigations when patches can’t be applied
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.
|