Serverless architecture is gaining popularity among organizations looking to modernize their applications due to its ability to increase agility and reduce operational overhead and costs. AWS Lambda functions, which are stateless and ephemeral by design, form the basis of serverless applications on AWS. This two-part series explores best practices for designing and building serverless applications on AWS, focusing on microservice design patterns that allow developers to create highly scalable and reliable applications. The first part discusses the shift from monoliths to microservices and outlines several well-established microservice design patterns, such as the Strangler pattern, State Machine pattern, Aggregator pattern, Publisher-Subscriber pattern, Circuit Breaker pattern, and Saga pattern. In the second part of this series, serverless best practices adhering to AWS's Well-Architected Framework will be examined.