Line 87: |
Line 87: |
| | | |
| ==Enable Interoperability== | | ==Enable Interoperability== |
− | * Expose all functionality as services | + | * '''Expose all functionality as services''' |
− | * Use microservices built around business capabilities. Scope each service to a single purpose | + | ** Do not hide services under assumptions that someone would not find value in a service - often innovation can be bred from exposed services beyond it's original plan. |
− | * 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 [https://www.canada.ca/en/government/publicservice/modernizing/government-canada-standards-apis.html application programming interface (API)] | + | ** Follow the 'eat your own dogfood' mantra - in that all functionality should be a service that you consume. |
− | * Run applications in containers | + | * '''Use microservices built around business capabilities. Scope each service to a single purpose''' |
− | * Leverage the [[gccollab:groups/profile/1238235/engovernment-of-canada-digital-exchangefru00c9change-numu00e9rique-du-gouvernement-du-canada|GC Digital Exchange Platform]] for components such as the API Store, Messaging, and the GC Service Bus | + | ** Focus on smallest unit of purpose, and developing a single function. |
| + | * '''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 [https://www.canada.ca/en/government/publicservice/modernizing/government-canada-standards-apis.html application programming interface (API)]à''' |
| + | ** Ensure that services are accessible via common methodologies, and follow the [https://www.canada.ca/en/government/system/digital-government/modern-emerging-technologies/government-canada-standards-apis.html Government of Canada Standards on APIs] |
| + | * '''Run applications in containers''' |
| + | ** Ensure containers contain a single application, and build the smallest image possible. |
| + | ** Ensure containers are properly versioned and tagged. |
| + | * '''Leverage the [[gccollab:groups/profile/1238235/engovernment-of-canada-digital-exchangefru00c9change-numu00e9rique-du-gouvernement-du-canada|GC Digital Exchange Platform]] for components such as the API Store, Messaging, and the GC Service Bus''' |
| + | ** Ensure APIs are discoverable on the API Store. |