In the past decade, we've seen two major advances in software development: cloud-native architecture and artificial intelligence. The first redefined how we build, deploy, and manage applications, and the second is becoming a mainstream utility. Now, the two are converging, prompting developers to reevaluate both their skill sets and architectural strategies. This convergence isn't just future talk. It's today's competitive reality.
Australian collaborationware company Atlassian has revealed it's spent four years trying to reduce dangerous internal dependencies, and while it has rebuilt its PaaS, it still has issues - but thinks they're now manageable. As explained in a Tuesday post by Senior Engineering Manager Andrew Ross, "Atlassian runs a large service-based platform with thousands of different services, most deployed by our custom orchestration system, 'Micros'."
Develop, maintain, and optimize frontend and backend applications following best engineering practices. Build reusable and responsive UI components using Vue3, Bootstrap, TypeScript, HTML, and CSS. Develop robust backend services using PHP 8, ORMs (Eloquent, Doctrine), SQL Server, and MySQL. Design and implement RESTful APIs and microservices in asynchronous environments using RabbitMQ or other message brokers. Ensure high code quality through TDD, unit testing, and compliance with PSR-12, Psalm, and PHPStan standards. Apply DDD, Hexagonal Architecture, OOP, SOLID principles, and design patterns throughout all developments.
They had previously invested in a homegrown command line interface program that would run their entire environment on a continuous integration runner, but it turned out it took 15-30 minutes to get the framework up before even running a test, Chia said. There were also build failures from time-outs, and the developer of the system left the company, and nobody knew how to maintain it.
the stack of every single company I've seen is invariably AWS/GCP with at least thirty microservices (how else will you keep the code tidy?), a distributed datastore that charges per query but whose reads depend on how long it's been since the last write, a convoluted orchestrator to make sure that you never know which actual computer your code runs on, autoscaling so random midnight breakages ensure you don't get too complacent with your sleep schedule.
Airbnb has developed Impulse, an internal load testing framework designed to improve the reliability and performance of its microservices. The tool enables distributed, large-scale testing and allows engineering teams to run self-service, context-aware load tests integrated with CI pipelines. By simulating production-like traffic and interactions, Impulse helps engineers identify bottlenecks and errors before changes reach production. According to the Airbnb engineering team, Impulse is already in use in several customer support backend services and is under review for broader adoption.
I'm going to be talking about something very basic, which is almost like the fundamental ideas that I think that every developer should know if they're unfortunate enough to have to work on a distributed system, which is probably most of you. The reason I've written this talk is because I'm working on a book, which is designed as like, you've been dropped onto a project where somebody ill-advisedly made the choice to use microservices, which is always a terrible idea.
When something breaks, the impact isn't always obvious right away. What starts as a few 500 errors in one service can quickly snowball into failed transactions, frustrated users, and revenue loss.
Integrating FinOps early in microservices architectures leads to significant reductions in both cloud costs and operational inefficiencies, creating a more cost-effective environment for organizations.
A standardized CI/CD pipeline for microservices should address key challenges such as coordinating cross-service releases, managing backward compatibility, and preventing configuration duplication.