Difference between revisions of "GC Enterprise Architecture/Standards/Technology Architecture"

From wiki
Jump to navigation Jump to search
m (Use template header/footer)
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<!-- NAV -->
+
{{OCIO_GCEA_Header}}
{| class="FCK__ShowTableBorders" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px; background-color: #3C6D9E" width="100%" align="center"
 
|-
 
|-
 
| style="border-right: white 1px ridge; padding-right: 0px; padding-left: 0px; padding-bottom: 2px; padding-top: 2px; text-align: center; font-family: (Cooper black); font-size: 13pt" width="6%" | '''[[GC_Enterprise_Architecture|<span style="color: snow">'''Home'''</span>]]'''
 
 
 
| style="border-right: white 1px ridge; padding-right: 0px; padding-left: 0px; padding-bottom: 2px; padding-top: 2px; text-align: center; font-family: (Cooper black); font-size: 13pt" width="11%" | '''[[Government_of_Canada_Architectural_Standards|<span style="color: Snow">'''EA standards'''</span>]]'''
 
 
 
| style="border-right: white 1px ridge; padding-right: 0px; padding-left: 0px; padding-bottom: 2px; padding-top: 2px; text-align: center; font-family: (Cooper black); font-size: 13pt" width="13%" | '''[[Past_Endorsed_Architectural_Decisions|<span style="color: Snow">'''EARB Endorsements'''</span>]] '''
 
 
 
| style="border-right: white 1px ridge; padding-right: 0px; padding-left: 0px; padding-bottom: 2px; padding-top: 2px; text-align: center; font-family: (Cooper black); font-size: 13pt" width="11%" | '''[[Enterprise_Architecture_Artifacts|<span style="color: Snow">'''EA Artifacts'''</span>]] '''
 
 
 
| style="border-right: white 1px ridge; padding-right: 0px; padding-left: 0px; padding-bottom: 2px; padding-top: 2px; text-align: center; font-family: (Cooper black); font-size: 13pt" width="12%" | '''[[Architecture_Discussions|<span style="color: Snow">'''Working Groups'''</span>]] '''
 
 
 
| style="border-right: white 1px ridge; padding-right: 0px; padding-left: 0px; padding-bottom: 2px; padding-top: 2px; text-align: center; font-family: (Cooper black); font-size: 13pt" width="11%" | '''[[GC EARB|<span style="color: Snow">'''GC EARB'''</span>]] '''
 
 
 
| style="border-right: white 1px ridge; padding-right: 0px; padding-left: 0px; padding-bottom: 2px; padding-top: 2px; text-align: center; font-family: (Cooper black); font-size: 13pt" width="9%" | '''[[Monitoring_Architectural_Implementation|<span style="color: Snow">'''Other References'''</span>]] '''
 
 
 
|}
 
 
 
<!-- NAV end -->
 
  
 
<i>{{Translation to follow}}</i>
 
<i>{{Translation to follow}}</i>
Line 28: Line 8:
  
 
| width="50%" style="color: blue;" |
 
| width="50%" style="color: blue;" |
 
+
<!-- COLUMN 1 STARTS: --><span style="font-size: 1.5em;">[https://wiki.gccollab.ca/GC_Application_Enterprise_Architecture <b><<Application Architecture</b>]</span>
<!-- COLUMN 1 STARTS: -->  
 
<span style="font-size: 1.5em;"><b><<Application Architecture</b></span>
 
 
<!-- COLUMN 1 ENDS: -->  
 
<!-- COLUMN 1 ENDS: -->  
  
 
| width="50%" style="color: blue;" |
 
| width="50%" style="color: blue;" |
 
+
<!-- COLUMN 2 STARTS: --><span style="font-size: 1.5em;">[https://wiki.gccollab.ca/GC_Security_and_Privacy_Enterprise_Architecture <b>Security Architecture>></b>]</span>
<!-- COLUMN 2 STARTS: -->  
 
<span style="font-size: 1.5em;"><b>Security Architecture>></b></span>
 
 
<!-- COLUMN 2 ENDS: -->  
 
<!-- COLUMN 2 ENDS: -->  
  
Line 46: Line 22:
  
 
==Use Cloud first==
 
==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)
 
* 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
 
* 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
 
* 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 Performance, Availability, and Scalability==
 +
 
* Design for resiliency
 
* Design for resiliency
 +
** [https://principlesofchaos.org/?lang=ENcontent Chaos Engineering]
 
* Ensure response times meet user needs, and critical services are highly available
 
* Ensure response times meet user needs, and critical services are highly available
 +
** <nowiki>https://royal.pingdom.com/page-load-time-really-affect-bounce-rate/</nowiki>
 
* Support zero-downtime deployments for planned and unplanned maintenance
 
* 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
 +
** [https://martinfowler.com/bliki/BlueGreenDeployment.html Green Blue deployment]
 
* Use distributed architectures, assume failure will happen, handle errors gracefully, and monitor actively
 
* Use distributed architectures, assume failure will happen, handle errors gracefully, and monitor actively
 +
** Today much of the distributed architectures rely on the [https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/ Kubernetes (k8s)] architectures
 +
** <nowiki>https://opentracing.io/</nowiki>
 +
* ''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?
 +
 +
{{OCIO_GCEA_Footer}}

Latest revision as of 15:30, 24 July 2020


<<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?