**Tags:** #Engineering #Architecture > [!info] > This guidance is intended for Decombine Engineering internal use. It is openly shared as part of Decombine's commitment to open core practices. ## Architecture Decombine backend services are based on microservice architecture in order to facilitate service scope isolation, iterative release practices, and service scalability. If developing a net new service, memory-safe languages should be preferred to minimize security vulnerabilities. Go and Rust are preferred languages, but others are acceptable and to be expected. ## Distributed Application Runtime (dapr) Decombine backend services should be developed using dapr. dapr enables a common set of building blocks that can be leveraged with each service to simplify cross-service interaction and reduce generic boilerplate code that doesn't contribute to core business logic.