1. Home
  2. Training Library
  3. Amazon Web Services
  4. Courses
  5. .Net Microservices - Build Deployment and Hosting - Course Two

Introduction

play-arrow
Start course
Overview
DifficultyAdvanced
Duration2h 11m
Students66

Description

Introduction
In this advanced course we take a legacy monolithic .Net application and re-architect it to use a combination of cloud services to increase, scalability, performance and manageability. 
 
Learning Objectives 
This course will enable you to:
  • Understand the principles and patterns associated with microservices
  • Understand the principles and patterns associated with Restful APIs
  • Understand important requirements to consider when migrating a monolithic application into a microservices architecture
  • Understand the benefits of using microservices and associated software patterns and tools to build microservice based applications at speed and scale
  • Understand tradeoffs between different architectural approaches
  • Become familiar and comfortable with modern open source technologies such as Dotnet Core, Docker, Docker Compose, Linux, Terraform, Swagger, React
  • Become familiar with Docker and Container orchestration runtimes to host and run containers, such as Docker Compose, Amazon ECS using Fargate, and Amazon EKS

Prerequisites

  • A basic understanding of software development
  • A basic understanding of the software development life cycle
  • A basic understanding of Devops and CICD practices
  • Familiarity with Dotnet and C#
  • Familiarity with AWS
Intended audience
  • Software Developers and Architects
  • DevOps Practitioners interested in CICD implementation
  • Anyone interested in understanding and adopting Microservices and Restful APIs within their own organisation
  • Anyone interested in modernising an existing application
  • Anyone interested in Docker, and Containers in general
  • Anyone interested in container orchestration runtimes such as Kubernetes

Transcript

- Hello and welcome to this cloud academy course, Dotnet Microservices Build Deployment and Hosting. In this lecture, we'll introduce you to the course agenda and learning objectives. This training course continues on from where we finished off in the previous course, by taking you through the remaining hands on demonstrations. Demonstration 11. In this demonstration we author a BitBucket CICD Pipeline Configuration for automated builds of our containers. Refactoring the core container build and registration logic into its own build script. Demonstration 12. In this demonstration, we configure our BitBucket repository for CICD automated builds via pipelines, using the build config and scripts authored in the previous demonstration, resulting in our docker containers being built and registered into the public docker hub registry. Demonstration 13. 

We introduce you to Amazon's ECS Fargate Service, as a cloud hosted container runtime platform. At the same time, we introduce you to Terraform as a tool for provisioning cloud based infrastructures, which we proceed to use to launch our required foundation on networking components, such as the VPC and into which we will launch our own ECS Fargate cluster. Demonstration 14. In this demonstration we extend our Terraform infrastructure building scripts to launch our own ECS Fargate container cluster. Terraform will be used to deploy our store 2018 microservices docker containers, complete with service discovery. Demonstration 15. In this third generation of our microservices implementation we revisit the way we perform rendering of our store 2018 HTML front end. 

We introduce you to the React front end framework. React will allow us to make direct Ajax calls from the browser directly to our store 2018 backend REST API enabled backend microservices. Demonstration 16. In this demonstration we refactor our presentation layer to use the React client side rendering technique discussed in the previous demonstration. And, test and confirm all changes likely fused. Demonstration 17. We introduce AWS API Gateway into our solution, as a proxy to the outside world and as a method to route our Ajax calls internally to the backend hosted microservices. 

This demonstration reviews the required updates involved by the introduction of API Gateway. Demonstration 18. We implement the API Gateway architecture changes as discussed in the previous demonstration with the end result being a successful end to end test of our React based store 2018 e-commerce site. And finally, demonstration 19. In this demonstration, we show how our docker containerised microservices store 2018 application has portability amongst different container platform runtimes, by deploying it into AWS's EKS fully managed Kubernetes services with zero required modifications. 

By completing this course, you will understand how to leverage Bitbutket Pipelines for CICD practices and in our case to automate the building and registration of our microservice containers. Understand how to leverage AWS's ECS Fargate managed services to host microservices and how to use Service Discovery. Understand and be able to use Terraform to automate the provisioning of an AWS ECS Fargate Cluster. Understand how to use React to create client side HTML rendered web pages capable of making Ajax calls to backend APIs. 

Understand how to use AWS's API Gateway service together with VPC Private links and NLBs to proxy and route API calls. Understand and become familiar with AWS's EKS managed service for Kubernetes, and appreciate how easy it is to deploy a containerised miscroservices based application with zero mods. Okay, the course introduction has now been completed, go ahead and close this slideshare, and we'll see you shortly in the next one.

About the Author

Students7113
Labs19
Courses52
Learning paths11

Jeremy is the DevOps Content Lead at Cloud Academy where he specializes in developing technical training documentation for DevOps.

He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 20+ years. In recent times, Jeremy has been focused on DevOps, Cloud, Security, and Machine Learning.

Jeremy holds professional certifications for both the AWS and GCP cloud platforms.