Luka Samaržija & Ivan Sokol

Building high performance and scalable architectures for enterprises

Is your microservice just a proxy for a legacy backend? Learn the patterns to build truly autonomous services that own their data and scale.

Building high performance and scalable architectures for enterprises
#1about 5 minutes

The challenge of modernizing enterprise IT landscapes

Enterprise IT systems evolve over decades by layering new technology on old, requiring a progressive transformation focused on microservices, integration, and development practices.

#2about 4 minutes

Defining true microservices with data ownership and DDD

A true microservice is an autonomous application that owns its own data, best designed using domain-driven design (DDD) and bounded contexts to model specific business domains accurately.

#3about 5 minutes

Choosing between choreography and orchestration patterns

Select choreography for decoupled services and flexibility, or use orchestration with a BPM tool for complex, sequential processes that require high visibility and control.

#4about 4 minutes

Leveraging specialized tools for microservice development

Avoid hard-coding complex logic by using specialized tools like fast, in-memory rule engines, artifact repositories, and time-series databases for monitoring.

#5about 6 minutes

Core principles for integrating with legacy systems

Avoid multi-layered API flows and undocumented APIs by connecting as close to the data source as possible and separating read/write operations using the CQRS principle.

#6about 5 minutes

Applying patterns for data replication, caching, and commands

Use change data capture (CDC) to replicate legacy data, cache frequently accessed data from vendor APIs, and process slow commands asynchronously to improve user experience.

#7about 4 minutes

Implementing data aggregation and API management

Prepare aggregated data in advance using event-driven messages instead of on-the-fly calculations, and use API management tools to govern versions, ownership, and consumers.

#8about 5 minutes

Establishing organizational development standards for success

Enforce a standardized tech stack, mandate continuous integration (CI), and schedule dedicated time for optimization to ensure consistency and prevent technical debt across the organization.

#9about 5 minutes

Fostering effective development practices within teams

Empower teams with clear coding guidelines, a commitment to testing over deadlines, regular code reviews, and a structured approach to managing library dependencies.

#10about 14 minutes

Q&A on GraphQL, team structure, and vendor software

The discussion covers using GraphQL for backend-for-frontend (BFF) patterns, structuring teams into agile tribes and squads, and managing vendor software scalability with caching.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.