large factories lifetime story: to production and beyond
DESCRIPTION
Instructions for controlling your IT architecture when it starts to grow in sizeTRANSCRIPT
![Page 1: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/1.jpg)
Large factories LifeTime story
To production and beyond
Francisco Menezes Lúcio Ferrão
http://bit.ly/largefactories
www.outsystems.com
![Page 2: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/2.jpg)
Life is perfect when you are small!
![Page 3: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/3.jpg)
But with OutSystems you grow very fast
What happens when
your factory reaches…
![Page 4: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/4.jpg)
10 Teams ≈ 50 Developers
![Page 5: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/5.jpg)
500 eSpaces
![Page 6: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/6.jpg)
1000 DB Tables
![Page 7: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/7.jpg)
Don’t loose control …
… good parenting is a must!
![Page 8: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/8.jpg)
Avoid long deployments …
… that don’t fit in any opportunity window!
![Page 9: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/9.jpg)
Deploying one app …
… should not mess with other apps!
![Page 10: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/10.jpg)
Prevent unforeseen impacts …
… to reduce costs and ease deployment prep!
![Page 11: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/11.jpg)
1. Keep a sound architecture
Don’t loosen up…
layer applications without cyclic dependencies
Application 1 Application 2
X Core Service 1
Application 1 Application 2
Core Service 2
Infrastructure modules
Core Service 3
![Page 12: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/12.jpg)
Don’t loosen up… 1. Keep a sound architecture
2. Promote ownership ???
Team B App B
Team A App A
Core App
Anyone changes… • Unexpected
impacts; • Uncontrolled
deployments of Applications.
![Page 13: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/13.jpg)
Team B App B
Team A App A
Core App
Don’t loosen up… 1. Keep a sound architecture
2. Promote ownership Team Core A owner adds:
• Accountability; • Change control; • Code stability.
![Page 14: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/14.jpg)
Don’t loosen up… 1. Keep a sound architecture 2. Promote ownership
3. Coordinate deployments by ≠ teams
Teams with different paces making Quality look like Development.
Dev Teams
Development Quality Production
Operations
![Page 15: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/15.jpg)
Execute without control on impacts
Don’t loosen up… 1. Keep a sound architecture 2. Promote ownership
3. Coordinate deployments by ≠ teams
Development Quality Production
Dev Teams Operations
![Page 16: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/16.jpg)
Don’t loosen up… 1. Keep a sound architecture 2. Promote ownership
3. Coordinate deployments by ≠ teams
Dev Teams
Development Quality Production
Release Manager Role
• Reduce risk • Faster and fewer deployments
Validate Deploy Consolidate Plan Consistency
Operations
![Page 17: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/17.jpg)
Let the tools help you!
Development
Quality
Production
LifeTime Discovery tool
![Page 18: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/18.jpg)
Configure your Infrastructure
![Page 19: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/19.jpg)
Promote control and ownership
Release Manager
Operations
![Page 20: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/20.jpg)
Release Manager
Operations
Promote control and ownership
Operations Users
![Page 21: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/21.jpg)
Tag a version Got new version ready to QA. Can you deploy it?
Got it!
![Page 22: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/22.jpg)
Impact analysis
What will happen if I deploy the requested version?
CRM Services version in QA will be incompatible!!!
Customer Portal Owner
What will happen if I deploy Customer Portal?
![Page 23: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/23.jpg)
Now What???
CRM Services Team
Go ahead!
Scenario 1
Can I also push CRM Services 1.1 to QA?
Scenario 2
CRM Services Team
Not ready!
Great! I’ll deploy it along with Customer Portal
Customer Portal Team
Make it compatible with CRM Services 1.0
No problem!
![Page 24: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/24.jpg)
Monitor environments consistency
We can’t have this !!!
![Page 25: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/25.jpg)
1st Stage prepare work in advance
LifeTime 2-step deployment Deploy in a short deployment window
• Compile code • Generate SQL Script • Upload binaries to destination
• Update database
• Switch running versions
2nd Stage
short deployment window
![Page 26: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/26.jpg)
How to compose LifeTime applications?
That will:
• Minimize impacts between applications
• Simplify deployments
• Cope with different paces
![Page 27: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/27.jpg)
5 Steps for composing LifeTime applications
![Page 28: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/28.jpg)
Recall Executive Store Manager Supplier Supplier Auditor Store Auditor
Product Services
Store Services Supplier Services
Look&Feel UI Patterns Goodies ERP
Connector
Backoffice Intranet Supplier portal
Recall Store Audit Supplier
Audit
No side dependencies
No upward dependencies
No cyclic dependencies
Step #1 Layer modules
![Page 29: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/29.jpg)
Application composition Layered module architecture
Step #2 Layer applications w/o cycles
Application 1
Composite
App 1
Core
service A
Infrastruct.
service A
Core
service B
Infrastruct.
service B
Application 2
Composite
App 2
Core
service C
Infrastruct.
service C
Core
service D
Infrastruct.
service D
Composite
App 1
Core
service A
Core
service B
Infrastruct.
service A
Infrastruct.
service B
1st project
Composite
App 2
Core
service C
Infrastruct.
service C
Core
service D
Infrastruct.
service D
2nd project
3rd project
![Page 30: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/30.jpg)
Application composition
Layered module architecture
Step #2 Layer applications w/o cycles
Composite
App 1
Core
service A
Core
service B
Infrastruct.
service A
Infrastruct.
service B
Composite
App 2
Core
service C
Infrastruct.
service C
Core
service D
Infrastruct.
service D
Application 1
Composite
App 1
Core
service A
Infrastruct.
service A
Common app
Core
service B
Infrastruct.
service B
Core
service C
Infrastruct.
service C
Application 2
Composite
App 2
Core
service D
Infrastruct.
service D
![Page 31: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/31.jpg)
Unecessary impacts
Core components
Stable
module 2
New
module
Stable
module 1
App 1 App 2 App n … App 3
Young module with high change frequency
Step #3 Don’t mix change paces
![Page 32: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/32.jpg)
New Service
New
molule
Core components
Stable
module 2
Stable
module 1
No longer affected
Split
App 1 App 2 App n … App 3
Step #3 Don’t mix change paces
![Page 33: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/33.jpg)
Common application
Module 3 Module 1 Module 2
Owner 2 Owner 1
Who is responsible?
Step #4 Don’t mix owners
![Page 34: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/34.jpg)
Owner 1
Application 1
New
molule
Owner 2
Application 2
Stable
module 2
Stable
module 1
Promote ownership
Split
Step #4 Don’t mix owners
![Page 35: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/35.jpg)
Simulators Simulation
Portal
Engines Policies
… Auto
… Life
… Property
Different project dates
Step #5 Don’t mix business sponsors
Auto Business
Life Business
Property Business
![Page 36: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/36.jpg)
Step #5 Don’t mix sponsors
Simulators Simulation
Portal
Core
Engines Policies
Property Suite
… Property
Life Suite
… Life
Auto Suite
… Auto
Each LOB can be deployed independently
Auto Business
Life Business
Property Business
![Page 37: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/37.jpg)
#1 Validate layered architecture
#2 Find cycles
#3 Analyze application composition
Discovery tool can help!
![Page 38: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/38.jpg)
![Page 39: Large Factories Lifetime Story: To Production and Beyond](https://reader033.vdocuments.mx/reader033/viewer/2022052823/5551d9aeb4c90501638b4696/html5/thumbnails/39.jpg)
Thank you!
Q?
A! &
http://bit.ly/largefactories www.outsystems.com