The Microservices Bootcamp with AWS
Learn how to deploy Modern Web Apps in AWS through SAM and EKS
Description
What are Microservices?
Microservices have become one of biggest waves in cloud computing innovation. But answering exactly what they are can be pretty challenging. Throughout this course, we'll explore how to answer that question and many more as we build a web app that runs on AWS.
Instead of diving into the details of any specific microservices framework, tool or pattern, we'll look at an unbiased view of the general concepts that make a microservice architecture so great. Throughout this course, we'll touch upon some of the foundational details of the following concepts. We'll focus on how these concepts relate to each other and how we combine them to make a complete web application running on microservices hosted in AWS. This course will prepare you to further research and master any of these tools and concepts, all while knowing how they fit into an overall cloud architecture.
In this course we'll learn the basics of the following tools and concepts:
Learn Single Page Applications:
We'll build a web app with a VueJS front end and discover all the benefits of a Single Page Application (SPA) framework in a web system. We'll use Vuex to store front end state to enable a stateless backend API. We'll also work with Bootstrap and add BootstrapVue components into our front end as we build a feature rich, responsive and modern UI.
Learn Infrastructure as Code:
We'll be working with many AWS resources and we'll be defining them in an AWS CloudFormation template. We'll also be working with the AWS Serverless Application Model (SAM) to define microservices as serverless resources.
Learn CloudFront and S3:
We'll be using AWS CloudFront and AWS Simple Storage Service (S3) to serve and host our front end static content. On top of S3, we'll learn how to set our backend APIs as CloudFront origins to tie our application under one domain name.
Learn DynamoDB
Many microservice applications share a common database between all backend components, and ours will as well. We'll add AWS DynamoDB tables to our application to store all our information. This will include provisioning tables, IAM permissions and working with the AWS SDKs for Javascript to interact with DynamoDB.
Learn Asynchronous JavaScript
Often in microservice based applications, our backend components will need to interact through network requests. Javascript has a rich set of features to create and maintain these asynchronous requests. We'll dive deep into how to do this, and how to write clean, manageable and efficient async code.
Learn ReST APIs
ReST is one of the most popular standards for backend APIs. We'll dive deep into the concepts of ReST. We'll develop a backend ReSTful API using microservices. We'll also explore tools like Amazon API Gateway and Express.js to do so.
Learn Docker
Docker has become the industry standard toolset for developing containers. As we explore container based services, we'll build an understanding of the basics of working with this tool. We'll also work work Amazon Elastic Container Registry (ECR) to store our container images.
Learn Kubernetes
As we develop container based services, we'll need a way to orchestrate multiple services in one system. Kubernetes has become the industry standard tool to orchestrate multiple container based services. As we explore Kubernetes as a method of hosting microservices, we'll use Amazon Elastic Kubernetes Service (EKS).
This course will cover some basic concepts of getting an application running in Kubernetes. By the end of this course you will be prepared to take a more in depth course on Kubernetes Application Development. You'll be able to enter such a course with a real world perspective on how developers use Kubernetes in their overall application architecture.
Learn Cloud Based Auth:
While this course is not focused on security or AuthN/Z best practices, we will add authentication into our web app. We'll use Amazon Cognito as a directory service and as an authentication server in OAuth 2 authentication flows.
This course will cover how Auth fits into overall cloud architecture and some of the basics of the OAuth 2 standard. By the end of this course, you'll be prepared to take more in depth course Auth mechanisms and their best practices. You'll be able to enter such a course with a real world perspective on how developers use auth and federated identities in their overall application architecture.
Learn AWS Basics:
The code examples of this course will leverage a wide array of AWS services. Through practice, we'll develop a foundational understanding of how to work with AWS basics such as the AWS Console, AWS CLI and AWS IAM.
What You Will Learn!
- Designing apps with microservice architectures on Platform as a Service
- Containers and Kubernetes
- AWS Resources, including Lambda, DynamoDB, CloudFront and EKS
- Frontend Development in Vue
- OAuth Basics with Cognito
- Infrastructure as Code with SAM and CloudFormation
Who Should Attend!
- Software or Cloud Engineers looking to level up their AWS skills
- Programmers who want to deploy their code to AWS
- Cloud newcomers that need a place to start