Architecting Serverless Microservices on the Cloud with AWS

A microservice architecture decomposes the entire functionally of an application into a set of services that can be deployed and scaled independently. Each service does only one job and does it well. Thus, it's simpler to develop, test and maintain. Additionally, it has its own database and provides access to datasets and services through a well-defined application programming interface (API). Highly successful Internet companies, such as Amazon, Netflix, and Twitter, use microservice architectures to build their software. This workshop is aimed at CS instructors that wish to teach students how to design and build microservice-based applications using cloud services and products provided by the Amazon Web Services (AWS) free tier. We'll start creating a cloud development environment with the AWS Cloud9 IDE. Afterwards, we'll code in Python several RESTful web services using AWS Lambda functions, which are serverless cloud computing services that are executed in response to events. The advantage of going serverless is that you build and run applications and services without thinking about servers. Your application still runs on servers, but all the server management is done by AWS. Finally, we'll demonstrate how to persist our information in a NoSQL database using the Amazon DynamoDB service. More information available at: http://microservices.arielortiz.info/ Laptop required.