This presentation discusses the new challenges for software architects due to the rise of parallel and distributed computing. It motivates the need for parallelism due to increasing user demands and technological trends like multi-core CPUs. It then presents a case study on high-resolution imaging of solar system bodies as an example problem that can benefit from parallel approaches across different computing scenarios, from single-core to grid computing. Finally, it outlines some best practices and design patterns for developing applications that can adapt to different parallel architectures.