How would you design and maintain robust data pipelines that ingest data from various internal and external client sources?