What is the API-first approach good for? – Finding the balance between innovative practices and pragmatic solutions
In a fascinating conversation between software developers, Endre and Attila, from Deutsche Telekom IT Solutions, we get an inside look at the contemporary practices and challenges of microservice development. Their discussion sheds light on transitioning from legacy monolith systems to modern, scalable solutions with a focus on API-first methodology.
The company landscape
Endre introduces the conversation by describing the diverse technological landscape within Deutsche Telekom IT Solutions, highlighting the team’s work in developing software solutions for Deutsche Telekom. Attila, his guest, adds color by detailing his journey from a physicist to a software developer, focusing primarily on microservice and Java backend development.
Transitioning to the cloud
Attila elaborates on the ongoing efforts to transition monolithic applications into cloud environments, explaining the benefits of microservices, such as ease of deployment, regulated collaboration between applications, and independent scalability. He outlines the dual approach of detaching functions from monoliths or developing new features directly as microservices.
Adopting API-first development
The conversation walks through the API-first approach, contrasting it with the older code-first method. Attila explains how API-first starts with designing the API itself, which ensures well-thought-out system interactions before proceeding to development. He underscores the strategic use of tools like OpenAPI for specification and code generation, fostering efficient software development.
Development practices and academic insights
Moving deeper into technical details, Attila discusses common practices, such as using Java, Spring Boot, and PostgreSQL. He mentions the frequent use of synchronous calls and describes a professional environment conducive to innovation, where hackathons and exploratory projects allow developers to test new technologies.
Infrastructure and synchronization
Attila highlights the significant role of infrastructure in API development, pointing out tools like the API Gateway and Swagger Editor, which enable seamless communication and exploration of services. He emphasizes the importance of organizational support for central infrastructure management, reducing the burden on individual developers.
Collaboration and Testing
He touches on the international makeup of his team, spanning continents and time zones, while English remains the lingua franca. When discussing testing, Attila brings attention to best practices such as utilizing Postman for API testing and the critical nature of continuous integration and delivery (CI/CD) pipelines.
In conclusion, the discussion between Endre and Attila offers a comprehensive view of modern microservice development, highlighting the balance between innovative practices and pragmatic solutions. It brings valuable insights into managing legacy systems, adopting cutting-edge methodologies, and fostering a culture of creativity and collaboration in software engineering.
Listen to the episode here (Hungarian): https://www.deutschetelekomitsolutions.hu/podcasts/mire-jo-api-first-fejleszteni/