What are examples of communication channels for loosely coupled services in a cloud native application?