8351  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
Duration 3 days
Course Code WA3437
Available Formats Classroom

Overview

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

Schedule

FAQ

Does the course schedule include a Lunchbreak?

Classes typically include a 1-hour lunch break around midday. However, the exact break times and duration can vary depending on the specific class. Your instructor will provide detailed information at the start of the course.

What languages are used to deliver training?

Most courses are conducted in English, unless otherwise specified. Some courses will have the word "FRENCH" marked in red beside the scheduled date(s) indicating the language of instruction.

What does GTR stand for?

GTR stands for Guaranteed to Run; if you see a course with this status, it means this event is confirmed to run. View our GTR page to see our full list of Guaranteed to Run courses.

Does Ascendient Learning deliver group training?

Yes, we provide training for groups, individuals and private on sites. View our group training page for more information.

What does vendor-authorized training mean?

As a vendor-authorized training partner, we offer a curriculum that our partners have vetted. We use the same course materials and facilitate the same labs as our vendor-delivered training. These courses are considered the gold standard and, as such, are priced accordingly.

Is the training too basic, or will you go deep into technology?

It depends on your requirements, your role in your company, and your depth of knowledge. The good news about many of our learning paths, you can start from the fundamentals to highly specialized training.

How up-to-date are your courses and support materials?

We continuously work with our vendors to evaluate and refresh course material to reflect the latest training courses and best practices.

Are your instructors seasoned trainers who have deep knowledge of the training topic?

Ascendient Learning instructors have an average of 27 years of practical IT experience and have also served as consultants for an average of 15 years. To stay current, instructors spend at least 25 percent of their time learning new, emerging technologies and courses.

Do you provide hands-on training and exercises in an actual lab environment?

Lab access is dependent on the vendor and the type of training you sign up for. However, many of our top vendors will provide lab access to students to test and practice. The course description will specify lab access.

Will you customize the training for our company’s specific needs and goals?

We will work with you to identify training needs and areas of growth.  We offer a variety of training methods, such as private group training, on-site of your choice, and virtually. We provide courses and certifications that are aligned with your business goals.

How do I get started with certification?

Getting started on a certification pathway depends on your goals and the vendor you choose to get certified in. Many vendors offer entry-level IT certification to advanced IT certification that can boost your career. To get access to certification vouchers and discounts, please contact info@ascendientlearning.com.

Will I get access to content after I complete a course?

You will get access to the PDF of course books and guides, but access to the recording and slides will depend on the vendor and type of training you receive.

How do I request a W9 for Ascendient Learning?

View our filing status and how to request a W9.

Reviews

The technical data in the AWS Solutions Architect course was very thorough.

ExitCertified gave a great course on AWS that covered all of the basics in depth with good lab materials.

I registered a day before class and am happy that I received all the materials and links in time for the class. Thanks.

The class was very vast paced however the teacher was very good at checking in on us while giving us time to complete the labs.

Course was great and the instructor had an answer for anything that was asked during the course.