Services communicate through network APIs or messaging and own enough logic and data to evolve separately. Independent deployment can improve team autonomy while adding distributed transactions, observability, networking, and operational failure modes. Service boundaries matter more than simply creating many small processes.