Gopinath Langote
Software Engineer, N26
Actions
I am a Software Engineer with good experience in designing and implementing complex web and mobile applications with microservices architecture. Open source enthusiastic, creator of https://github.com/gopinath-langote/1build, contributed to JUnit5 framework and Java Design Patterns. Public conference speaker (spoken at Agile India, Agile Tour Vienna, VodQA Thoughtworks)
I am currently working as a software engineer at @N26 GmbH, Germany. Previously worked with @ThoughtWorks as a consultant (Application Developer). Following topics that I keep interested in
- Functional Programming
- System design & scaling
- Microservices architecture
- Contract Testing, Test Driven Development
- Agile practices, Pair Programming
- Java, Kotlin, Scala, Spring Framework
Links
Monolith To Microservices - Where everyone has to pay
Nowadays, microservices architecture is at the peak of every organization in order to scale system and team hypergrowth. At N26 (Payments Cards Group Specifically) we started this journey of the monolith to microservice around a year back and we are almost to the end of new highly scalable, domain-driven microservices architecture.
We had to move the card lifecycle related functionality from our monolith service to new microservices solely responsible for card management (ordering, block, unblock, settings and limits etc). When we started this project in our team, there were no product (feature) requirements as such. The entire team goal was to move functionality to the new service(CMS - Card Management System). But later we had to support multiple customer-facing features in this journey. We took the approach of making both services running on life with shared functionality instead of building an entirely new system and switching all traffic to there.
This talk is all about the technical blockers that we had. It focuses on how we managed to not have downtime, maintenance mode, better customer experience, system quality using best engineering practices - This talk will include those strategies. It is also true that not everything is possible to do with engineering, sometimes other roles also help us to solve such challenges like PO/QA/Leads, even customers. Hence, the last part in the title - *Where everyone has to pay*. How each and every stakeholder helped the team to move the architecture - will be part of my talk. How we managed to give the best N26 feature to customer – YOU card color - https://n26.com/en-de/you-bank-account-with-travel-insurance, even in the middle of the migration.
Outline/structure of the Session
1. Highlight on why monolith to microservice - 5 min
2. Introduction to N26 journey to microservice with the problem statement - 5 min
3. Engineer practices helped us to services - we call it a - migration framework - 15 min
4. Stakeholders role in solving each problem - a perspective - 15 min
5. Q&A - 5 min
Learning Outcomes
1. Why micro-services - to scale system
2. Enterprise case study of moving banks to micro-services
3. Common practices to follow in this journey
4. How to build a migration framework
5. Taking advantages of other roles in the migration phase
6. Case study on moving monolith to microservices
Confidently Releasing Microservices With Consumer-Driven Contract Testing
Many teams working with microservices need confidence they don't break functionality when making changes. System integration tests, functional tests, and sometimes manual tests are older ways to obtain that confidence. These processes may take more than 1 day or even more if different teams or a different company own the services.
To ensure the same level of confidence and speed up delivery, we can create Contracts for integrations between consumers and providers. Contracts created by consumer services need to pass with every build going in production to guarantee the integrations between systems/services work fine. Checking these contracts in a CI/CD pipeline makes feedback loops even faster.
A Contract is a collection of agreements between a Consumer and a Provider that describes the interactions that can take place between them. Consumer-Driven Contracts (CDCs) is a pattern that drives the development of the Providers from its Consumer's point of view. It is TDD for microservices.
This talk covers an end to end demo of contract testing between two microservices to show how to release microservices with confidence, get early feedback, speed up delivery, and comparison with other testing strategies.
Happy CDC!
Outline/structure of the Session
1. Introduction to microservices common deployment patterns
2. The pitfall of a couple of deployment strategies
3. Introduction to Consumer-Driven Contract Tests
4. How CDC helps in speeding up the Continuous Delivery
5. Demo of CDC for two microservices integration.
6. Putting CDC in CI/CD workflow.
7. Experience using different CI/CD strategies
8. How the contract testing makes feedback look faster in agile teams
9. Q&A
Learning Outcomes
1. New testing strategy to fasten continues delivery
2. Understanding multiple testing approaches
3. Deploying services autonomously with confidence
4. Understanding contract testing with example
5. Automating service dependencies
6. Putting CDC in CI/CD workflow
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top