Comment Meetic opère son changement technologique sur son SI. De la création d’API jusqu’à la mise en place d’une démarche qualité tout en passant par l'adoption du Behavior Driven Development, vous saurez tout sur notre parcours, sur les problématiques que nous avons rencontrées, les solutions que nous avons mises en place ainsi que sur le chemin qu'il nous reste à parcourir afin d’appréhender l’avenir avec la plus grande des sérénités. Les thèmes abordés seront : - Comment aborder des changements majeurs sur notre SI sans impacter notre performance globale ? - Migration d'un code monolithique vers des API REST en Sf2, - Exemple de microservices : AB Test, GEO, Permission, Configuration. - Déploiement avec Composer, Satis, Sf2 et Capistrano sur des centaines de serveurs, - Démarche Qualité (Back, Front, App) : nos métriques, outils du marché, outils interne, gestion aux changements. - Méthodologie : Agilité, DevOps, TDD, BDD. - Next steps : Kafka, Continuous Delivery.
10. Need to change something ?
A. Ask 400 people
B. Read all the code, understand
everything then notify everyone
C. Break everything
D. Add a dirty “if” for your
specific case
D. Add a dirty “if” for your
specific case
19. And, If we want to add automated tests?
A. Chuck Norris develops
without bug
B. Only test get_next_week()
C. Mock 200 global variables
and 35 functions
D. I will do it when I have timeD. I will do it when I have time
35. Inside Exposure Layer
Use Guzzle with batch calls
FOSRESTBundle
Orchestrate API calls
Assemble results from APIs
Controller
Manager
API Client
36. Android application
Example to display a list of members
GET /members
Get a list of
user ids using
Location search
Fetch user data
Exposure Layer
Configuration:
group B
uses location search
AB Tests Search Profile
user is from
group B
1 2
3
43. Product Centric
• Kept a good Knowledge
• Share Product Vision
• Share a same vocable
Behavior Driven Development
44. Testing Strategy: Behavior Test
Android application
GET /members
Exposure Layer
AB Tests Search Profile
1 2
3
Given I am a user of the B group
And my geoloc position is Paris
When I launch a search on the online
Then I see a list of profile
And the first profiles are
near of my position
45. Docker Focus
• Allow the dev to automated testing all technical stack
• 50 instances to launch in parallel
• Different scope and context for the automated tests