8117  Reviews star_rate star_rate star_rate star_rate star_half

Introduction to Microservice Development with .NET Core 8 and Azure

This Microservices training course teaches students how to leverage modern software architecture. Attendees learn how to build robust, scalable applications using .NET Core and Azure. Skills Gained...

Read More
$1,995 USD
Course Code WA3437
Duration 3 days
Available Formats Classroom, Virtual

This Microservices training course teaches students how to leverage modern software architecture. Attendees learn how to build robust, scalable applications using .NET Core and Azure.

Skills Gained

  • Understand the concepts behind REST microservices
  • Identify the benefits and drawbacks of using microservices
  • Get to know basic microservices design patterns
  • Gain familiarity with Visual Studio IDE and C# programming
  • Learn about JSON data format and its role in microservices communication
  • Incorporate Twelve-Factor App methodology in the design of microservices
  • Design and develop RESTful APIs using best practices and conventions
  • Build and deploy microservices on Azure

Prerequisites

  • General software programming and application development experience,
  • A basic understanding of application architectures
  • An interest in microservices and cloud deployment techniques
  • Familiarity with the Windows platform

Course Details

Outline

Chapter 1 - Microservices

  • What is a "Microservice"?
  • Unix Analogy
  • Principles of Microservices
  • Services within an SOA vs Microservices
  • Properties and Attributes of Microservices
  • Benefits of Using Microservices
  • The Two-Pizza Teams
  • Beware of Microservices Cons
  • Anti-Pattern: Nanoservices
  • The Twelve-Factor App Methodology
  • The Select Factors
  • Serverless Computing
  • Microservices – Operational Aspects
  • Summary

Chapter 2 - RESTful Services

  • Principles of RESTful Services
  • REST Service Definition
  • The Design Methodology
  • REST Protocol
  • REST Resource
  • The REST Resource (continued)
  • What Constitutes a REST Resource
  • Resource Identifiers
  • REST Resource Naming Best Practices
  • Parameters
  • HTTP Methods
  • HTTP Headers - Request
  • HTTP Headers - Response
  • MIME Types
  • API Response Codes
  • REST Interface Document Example
  • Formal Documentation
  • REST - Example Request/Response
  • Summary

Chapter 3 - JSON

  • Introduction
  • JavaScript Object Notation (JSON)
  • JSON Syntax
  • How Does JSON Based Communication Work?
  • JSON API in HTML5
  • How Does JSON Based Communication Work?
  • JSON: Server Side
  • JSON: Server Side
  • JSON: Server Side
  • JSON: Client Side
  • JSON-Schema – Introduction
  • JSON-Schema – Keywords
  • JSON-Schema – Data Types
  • JSON – Example
  • JSON-Schema – Example
  • JSON-Schema – Runtime Usage (Java)
  • JSON-Schema Runtime Usage – Node.js
  • Summary

Chapter 4 - The Visual Studio IDE

  • The Visual Studio IDE
  • Programming Language Support
  • Target Platform Support
  • Supported Project Types
  • Installation
  • Opening Screen
  • The Main Project Screen
  • The Solution Explorer
  • The Code Editor
  • The Output Window
  • Creating A Project
  • NuGet Packages
  • NuGet Package Manager GUI
  • Debugging Projects
  • Publishing Projects
  • Publishing - Choose a Target
  • Publishing - Target Options
  • Summary

Chapter 5 - Introduction to C# Programming

  • The C# Language
  • Tools for Developing in C#
  • A Basic C# Application
  • "Using" Directives
  • Using Included Code
  • Code Structure
  • Language Components
  • Variables
  • Primitive Data Types
  • Primitive Data Type Examples
  • Reference Types
  • Arrays
  • Classes
  • Using A Class
  • Class Members
  • Structures
  • List Example
  • Dictionary Example
  • Operators
  • Additional Operators
  • Conditions
  • if-else Decision Statements
  • switch case Decision Statement
  • Looping
  • Example Code
  • Summary

Chapter 6 - Data Integration for Microservices Development

  • Using EntityFrameworkCore for .NET Core Microservices
  • Client App - Microservice - Datasource Diagram
  • EntityFrameworkCore Diagram
  • Working with EntityFrameworkCore
  • Install EntityFrameworkCore - Using the Dialog
  • Install EntityFrameworkCore - Using the Console
  • Data Provider Packages
  • Creating Data Model Classes
  • Create a Database Context class
  • Database Connection Strings
  • Accessing Data
  • Data Operations in Microservices
  • "code-first" and "database-first" EntityFrameworkCore Implementations
  • Initializing Database and Tables
  • Example DBContext Code
  • Initial Data
  • How the Microservice uses DBContext methods
  • Getting all records
  • Getting a Single Record
  • Inserting a Record
  • Updating Records
  • Deleting Records
  • Using DBContext methods in the Microservice
  • Setting the HTTP Response Code
  • Summary

Chapter 7 - Breaking Up Monoliths – Pros and Cons

  • Traditional Monolithic Applications and Their Place
  • Disadvantages of Monoliths
  • Developer's Woes
  • Architecture Modernization
  • Architecture Modernization Challenges
  • Microservices Architecture is Not a Silver Bullet!
  • What May Help?
  • In-Class Discussion
  • Summary

Chapter 8 - Twelve-factor Applications

  • Twelve-factor Applications
  • Twelve Factors, Microservices, and App Modernization
  • The Twelve Factors
  • 12-Factor Microservice Codebase
  • 12-Factor Microservice Dependencies
  • 12-Factor Microservice Config
  • 12-Factor Microservice Backing Services
  • 12-Factor Microservice Build, Release, Run
  • 12-Factor Microservice Processes
  • 12-Factor Microservice Port Binding
  • 12-Factor Microservice Concurrency
  • 12-Factor Microservice Disposability
  • 12-Factor Microservice Dev/Prod Parity
  • 12-Factor Microservice Logs
  • 12-Factor Microservice Admin Processes
  • Summary

Chapter 9 - Basic Design Patterns for Microservices

  • Why Use Patterns?
  • Multiple Services Managing the same Data - Anti-Pattern
  • Performance-Related Patterns
  • More Performance-Related Patterns
  • Pagination vs. Infinite Scrolling - UX Lazy Loading
  • Integration Patterns
  • The Service Mesh Integration Pattern
  • Mesh Pros and Cons
  • Service-to-Service Communication with Mesh
  • Resilience-Related Patterns
  • Summary

Chapter 10 - Microservices Security Basics

  • RESTful Web Services
  • Aspects of REST Service Security
  • Basic Authentication
  • OAuth1.0a
  • OAuth2
  • Custom Protocols
  • API Keys vs. Username/Password Authentication
  • Storing your API Security Key
  • Using IDs
  • Sessions and URLs
  • OAuth2 Overview
  • OAuth – Facebook Sample Flow
  • OAuth Versions
  • OAuth2 Components
  • OAuth2 – End Points
  • OAuth2 – Tokens
  • OAuth – Grants
  • Authenticating Against an OAuth2 API
  • JSON Web Tokens
  • JSON Web Token Architecture
  • How JWT Works
  • JWT Header
  • JWT Payload
  • JWT Example Payload
  • JWT Example Signature
  • How JWT Tokens are Used
  • Adding JWT to HTTP Header
  • How The Server Makes Use of JWT Tokens
  • What are “Scopes”?
  • Summary

Chapter 11 - Securing .NET Core APIs

  • Securing .NET Core APIs
  • Configure Security for a Minimal API Project
  • Install JWT NuGet Package
  • JSON Web Tokens (JWT)
  • Creating JWT Tokens During Development
  • Add Authorization and Authentication Services
  • Require Authorization on Endpoints
  • Setting Authorization Policies
  • Accessing Secured Endpoints
  • Example Programmatic API Request
  • Summary

Chapter 12 - Azure Cloud Overview

  • What is Azure?
  • Azure Benefits
  • Why Azure?
  • Shared Responsibility Model
  • Accessing Azure
  • The Azure Portal
  • The Azure Portal UI
  • Azure Services at a Glance
  • The Most Commonly Used Service Categories
  • Examples of Azure Compute Services
  • Examples of Azure Networking Services
  • Azure Storage Services
  • Azure Storage Services' Common Characteristics
  • Azure Databases
  • Web and Web Hosting Services
  • Azure IoT Service
  • Azure "Big Data" Services
  • Azure AI Services
  • Cognitive Services
  • Getting Started in Azure
  • Organizing Your Azure Resources Using Management Group Hierarchy
  • The Azure Management Group Hierarchy
  • Azure Advisor
  • Accessing Azure Advisor
  • The Azure Advisor Page
  • What is Azure Marketplace?
  • Marketplace at a Glance
  • Summary

Chapter 13 - Deploying Microservices on Azure

  • Azure as a Platform for Microservices
  • Azure Deployment Choices - Table
  • Azure API Management
  • Azure Functions
  • Azure App Service
  • Azure Container Apps
  • Azure Kubernetes Service
  • Azure Service Fabric
  • Additional Solution Offerings in Azure
  • Publishing Applications from Visual Studio
  • Accessing the Publish Feature
  • Publishing to Azure
  • Example - Publishing to Azure App Service
  • Summary

Appendix A - Swagger

  • Overview
  • Swagger Example
  • Swagger UI
  • Swagger Editor
  • Swagger Code Generation
  • YAML Basics
  • OpenAPI Specification – Minimal Specification
  • Operation Specification - Example
  • Adding Parameters to the Operation
  • Adding a Path Parameter to the Operation
  • Defining a body Parameter
  • Generating Server / Client Code
  • Swagger UI – Introduction
  • Swagger UI - Generating REST API Documentation
  • Summary

Appendix B - Kubernetes – From the Firehose

  • What is Kubernetes?
  • Container Orchestration
  • Kubernetes Basic Architecture
  • Kubernetes Detailed Architecture
  • Kubernetes Concepts
  • Cluster and Namespace
  • Node
  • Master
  • Pod
  • Label
  • Annotation
  • Label Selector
  • Replication Controller and Replica Set
  • Service
  • Storage Volume
  • Secret
  • Resource Quota
  • Authentication and Authorization
  • Routing
  • Registry
  • Using Docker Registry
  • Summary
  • Appendix C - Testing Azure Microservices
  • Introduction to RESTful Testing
  • API Testing Tools
  • API Testing with Postman
  • Postman – Posting Data
  • Postman – Response
  • API Testing with cURL
  • Using cURL - Basics
  • Curl – POST
  • Performing PUT & DELETE Operations
  • Introduction to Advanced REST Client
  • Summary

Lab Exercises

  • Lab 1. Exploring REST Microservices
  • Lab 2. Working with the Visual Studio IDE
  • Lab 3. Programming a Microservice in C#
  • Lab 4. Microservice with Data Access
  • Lab 5. Securing a Microservice
  • Lab 6. Working with Azure
  • Lab 7. Deploying a Microservice to Azure App Service
|
View Full Schedule