Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
IMPLEMENTING AN API TIER TO
ENABLE A NEW MOBILE PLATFORM
Thiago Catoto, Magazineluiza
Magazine Luiza
700+ STORES
8 FULFILMENT CENTERS
20k+ EMPLOYERS
43 MILLION CONSUMERS
MULTI-CHANNEL STRATEGY
The Legacy API
Monolithic
• ~ 150k lines of code
• ~ 1k classes
The Legacy API
Slow deployments
• Deploy affects all API paths
• Hard to scale
The Legacy API
Hard to make new features
• A lot of mixed responsibility
• Poor code coverage
Legacy Architecture
Based on two layers:
•  Legacy Core API
•  Legacy Mobile API (dedicated)
TEAM / API
MOBILE CORE
Legacy API
Legacy API
MOBILE-API
CORE-API
PUSH
Our Challenge
• New API on the way
• Needed a clean transition
• Native app development as mobile
strategy evolution
Native App Development
Premises
• Frictionless
• Multichannel
• Personalization
Frictionless
• Buy with one touch
• Human Interface Guidelines
• Material Design
Multi channel
• Store Lookup
• Store's inventory
Personalization
Recommendations
• Abandoned cart
• Last user actions
• Trends
Edge
Edge
Microservices
•  Separation of Concerns
•  Latency for the win
•  Benefits for all involved
Blue Print
6 SPRINTS
64 STORIES
208 POINTS
4 TEAM MEMBERS
1 APIGEE DEV CONSULTANT
Blue Print
Pros
•  Able to make things on the right way
•  See the Legacy API as micro services
Blue Print
Cons
•  Lack of knowledge
•  Want to do all with JS
Proxies
Stack
• Grunt
•  Use policy where you can
•  Integration test ( chai )
Proxies
• Grouped fully from path
•  Format update
•  Less request for the client
Proxies
oAuth
• Unauthenticated
• Authenticated / Login
•  Integrated with Social Login
• Easy to use
• Well documented
•  Plugins
Grunt
Grunt
Tasks
•  Validate code style
•  Validate swagger
•  Deploy on dev, test and prod
Test
•  Don't mock
•  CI with travis
•  Black box
Test
•  Behavior-Driven Development
•  Test-Driven Development
• More at 11:40 - 12:20 Wednesday
End to End testing: Bug s...
Transition
Migration per group of proxies
•  Basket
• Catalog
•  Customer
Conclusion
• API Management provided the flexibility to
make the architectural transition to
microservices
• When transiti...
Thank you
catoto@luizalabs.com
I Love APIs 2015: Implementing an API Tier to Enable a New Mobile Platform
I Love APIs 2015: Implementing an API Tier to Enable a New Mobile Platform
I Love APIs 2015: Implementing an API Tier to Enable a New Mobile Platform
Próxima SlideShare
Cargando en…5
×

I Love APIs 2015: Implementing an API Tier to Enable a New Mobile Platform

1.369 visualizaciones

Publicado el

I Love APIs 2015
Thiago Catoto, Magazine Luiza
http://luizalabs.com

Magazine Luiza's (one of the largest retail companies in Brazil) presentation at I Love APIs 2015. When Magazine Luiza's legacy service was about to be replaced, the team decided that rather than do double the work, they would implement an API layer for their mobile apps on top of the legacy service. Thiago Catoto, IT Manager of Luiza Labs, the mobile arm of Magazine Luiza will discuss lessons learned in building a mobile platform, including development strategies, test frameworks, and how they managed the service transition between APIs and avoided impacting millions of requests from existing users.

Publicado en: Tecnología

I Love APIs 2015: Implementing an API Tier to Enable a New Mobile Platform

  1. 1. IMPLEMENTING AN API TIER TO ENABLE A NEW MOBILE PLATFORM Thiago Catoto, Magazineluiza
  2. 2. Magazine Luiza 700+ STORES 8 FULFILMENT CENTERS 20k+ EMPLOYERS 43 MILLION CONSUMERS MULTI-CHANNEL STRATEGY
  3. 3. The Legacy API Monolithic • ~ 150k lines of code • ~ 1k classes
  4. 4. The Legacy API Slow deployments • Deploy affects all API paths • Hard to scale
  5. 5. The Legacy API Hard to make new features • A lot of mixed responsibility • Poor code coverage
  6. 6. Legacy Architecture Based on two layers: •  Legacy Core API •  Legacy Mobile API (dedicated)
  7. 7. TEAM / API MOBILE CORE
  8. 8. Legacy API
  9. 9. Legacy API MOBILE-API CORE-API PUSH
  10. 10. Our Challenge • New API on the way • Needed a clean transition • Native app development as mobile strategy evolution
  11. 11. Native App Development Premises • Frictionless • Multichannel • Personalization
  12. 12. Frictionless • Buy with one touch • Human Interface Guidelines • Material Design
  13. 13. Multi channel • Store Lookup • Store's inventory
  14. 14. Personalization Recommendations • Abandoned cart • Last user actions • Trends
  15. 15. Edge
  16. 16. Edge
  17. 17. Microservices •  Separation of Concerns •  Latency for the win •  Benefits for all involved
  18. 18. Blue Print 6 SPRINTS 64 STORIES 208 POINTS 4 TEAM MEMBERS 1 APIGEE DEV CONSULTANT
  19. 19. Blue Print Pros •  Able to make things on the right way •  See the Legacy API as micro services
  20. 20. Blue Print Cons •  Lack of knowledge •  Want to do all with JS
  21. 21. Proxies Stack • Grunt •  Use policy where you can •  Integration test ( chai )
  22. 22. Proxies • Grouped fully from path •  Format update •  Less request for the client
  23. 23. Proxies oAuth • Unauthenticated • Authenticated / Login •  Integrated with Social Login
  24. 24. • Easy to use • Well documented •  Plugins Grunt
  25. 25. Grunt Tasks •  Validate code style •  Validate swagger •  Deploy on dev, test and prod
  26. 26. Test •  Don't mock •  CI with travis •  Black box
  27. 27. Test •  Behavior-Driven Development •  Test-Driven Development • More at 11:40 - 12:20 Wednesday End to End testing: Bug squashing got api developers
  28. 28. Transition Migration per group of proxies •  Basket • Catalog •  Customer
  29. 29. Conclusion • API Management provided the flexibility to make the architectural transition to microservices • When transitioning to microservices think about decoupling both the mobile and core APIs
  30. 30. Thank you catoto@luizalabs.com

×