10. DevOps is not all about automation
DevOps is the confluence of development and
operations.
11. Developers
Developers are living in an abstract world of Design
Patterns and perfect IDE.
App Classes are well ranged into MVC containers.
Code is very structured.
12. SysAdmins
SysAdmins touches reality.
They need to think more about limits of current
servers, about versions and compatibility of
heterogeneous software.
They don’t knows how Your App is working.
For somebody it’s a cloud, for somebody it’s
complex interconnected server infrastructure.
13. And ... Integrators !
DevOps terminology was created for companies with
simple traditional structure.
TYPO3 has Integrators !
Guys, who installs and configures TYPO3 on real
servers, who adapts the system and extensions to
current infrastructure (often they communicates
with Admins).
23. Developing tools to help the project team
● Runtime control and services management
● Automated functional tests
● Automated visual tests
● Deployment hooks
24. Dedicated interfaces
● QA / PM - Web control panel with tests summary
and the access to statistics logs
● SysAdmin - CLI (scriptable), automatically
controllable
25. Self-tested & self-controllable systems
Delivered product (site, extension) delivers not only
desired functionality, but QA and SA interfaces
● Tests
○ Unit
○ Visual
○ Functional
○ Performance
● Deployment hooks
32. What is special in TYPO3
● TYPO3 CMS is used for large projects, usually
developer centred
● TYPO3 has lot’s of data in the database
● TYPO3 has multiple cache systems
● TYPO3 uses external applications
● TYPO3 supports automating testing
33. TYPO3 project team specific roles
● Extension Developer
● Site integrator
● Content manager
● Server Administrator
● QA Tester
As TYPO3 model uses
roles separation,
between developer and
integrator, an additional
level of exchange should
be provided
36. FE testing aspects
● Multichannel projections
● Using the full spectrum of FE roles
● Checking functionalities by module
● Automatic checking for HTML and CSS validity
● Accessibility
37. The next step : BE Users & Groups test
Does Your user could make all available operations
Does Your user could make forbidden operations
Errors control
Activity statistics
44. How to ship the site and transfer
● Scriptable environment to automate instances
○ Ansible
○ Puppet
○ Chef
● TYPO3 Flow base + extending by Your app
● git + hooks
○ files
○ dB
○ content projections
45. Application redeployment
● Flush all if You can and redeploy (backups)
or ...
● Merge it
○ Files content
○ Databases
○ Indexing
○ Cache
46. Content components and projections
● Resource-costly projections of the content also
could be synchronised
47. Content merge
● SearchEngine API
● Using caching framework
● EXT:t3xutils
48. Content automated merge
● UUID
● Database fixtures
● EventSourcing implementation
TYPO3 Neos goes right way !
49. Projections : should it be versioned ?
● Physical limits of repositories
● Time of synchronisation
● Granularity
● Ability to be merged
● Relation to versioned content