In this lab you will explore the different options the AWS platform has for messaging. Messaging is an important concept to understand when designing scalable, decoupled architectures, making them more resilient to failure. Building applications from individual components that each perform a discrete function improves scalability and reliability, and is best practice design for modern applications. AWS has several messaging solutions, from queuing to streaming, and we will investigate the behaviours of each as we go through the lab.