TOPICS
- Microservices
- Architecture for .NET
- CI/CD with Visual Studio Team Services
- Visual Studio Tooling
- Serverless Architecture with Azure
- Azure Service Fabric
- Azure Container Services
- Kubernetes
- Docker
WHAT YOU WILL LEARN
After completing this course, the student should be able to:
- Confidently use the stack outlined in the course.
- Understand the various key components.
- Apply the knowledge to migrate applications to microservice architected solutions with containerization for Microsoft development and deployment environments.
AUDIENCE
This course will be particularly useful for architects, technology managers, and development leaders implementing or considering Microservices and DevOps for their organization including the following:
- Architects
- Software Reliability Engineers
- Engineers
- App Dev Managers
- Lead Application Developers
PREREQUISITES
A desire to learn how this Microservices toolchain can improve your organization effectiveness, build & release processes, application architecture & development, and business continuity for greenfield and application modernization
DURATION
2 days.
Outline for Microservices Development in Windows Training
CHAPTER 1. Microservice Development
- The Microservices Architecture Design Principles
- Decentralized Processing
- Business Domain-Centric Design
- Crossing Process Boundary is Expensive!
- Designing for Failure
- Fault Injection During System Testing
- Distributed Transactions
- Managing Distributed Services with Docker & Kubernetes (OpenShift)
- Microservices and their relationship to the front-end
- Rich Client Applications
- Single Page Applications (SPA)
- The Building Blocks of a Fault-tolerant Application
- Example of Microservices in Their Purest Form: AWS Lambdas
- Example of Traditional Enterprise Application Architecture
- Example of Microservices Architecture
- Summary
CHAPTER 2. REST SERVICES
- Many Flavors of Services
- Understanding REST
- Principles of RESTful Services
- Create
- Retrieve
- Update
- Delete
- Client Generated ID
- SOAP Equivalent Examples
- JSON
- REST vs SOAP Communication
- Restful API Design
- Versioning
- Documentation
- Security
- Additional Resources
- Summary
CHAPTER 3. Getting started with asp.net Core
- Getting Started with ASP.NET Core
- Configuration and Middleware Pipeline
- Controllers and Views
- RESTful Services with Web API
- Data Access with Entity Framework Core
- Summary
CHAPTER 4. Serverless architecture with Azure
- What is a Serverless Architecture?
- Azure Functions
- WebJobs SDK
- WebJobs Core
- WebJobs Extensions
- Azure App Service
- Azure Resource Manager
- Understanding Azure Functions usage
- Azure Container Service
- Azure Service Fabric
- Microsoft Application Insights
- Microsoft Operations Management Suite
- Summary
CHAPTER 5. Azure container service w/ Kubernetes
- What is Kubernetes?
- What Is a Container?
- Microservices and Orchestration
- Microservices and Infrastructure-as-Code
- Kubernetes Container Networking
- Summary
CHAPTER 6. Kubernetes: from the firehose
- Masters
- Nodes
- Pods
- Namespaces
- Resource Quota
- Authentication and Authorization
- Routing
- Registry
- Storage Volumes
- Microservices, Linking, and Catalogs
- Summary
CHAPTER 7. Docker: Bring on the Whale
- What is Docker
- Docker ecosystem
- Docker concepts
- Docker Architecture
- Microservice encapsulation
- Secure microservices using Docker
- Agility, Portability, and Control
- .NET Core or .NET Framework for Docker
- Summary
CHAPTER 8. Microsoft Docker Tooling
- Using Visual Studio Tools for Docker
- Configuring your local environment
- Using Docker Tools in Visual Studio 2015
- Using Docker Tools in Visual Studio 2017
- Using Windows PowerShell commands in a DockerFile to set up Windows Containers
- DevOps workflow for a Docker application
- Inner-loop development workflow
- Source-Code Control integration and management with Visual Studio Team Services and Git
- Build, Continuous Integration, and Test with Visual Studio Team Services and Docker
- Continuous Delivery, Deploy
- Run and manage
- Monitor and diagnose
- Summary
CHAPTER 9. Operational Readiness
- Monitoring, Logging, and Resource Management
- Monitoring Compute Resources
- Checking Pod Health
- Logging
- Secrets & Vaulting
- Summary
CHAPTER 10. Application Modernization
- What is Application Modernization?
- Typical App Modernization Projects
- Why Modernize?
- Goals for Modernization
- Twelve-factor Application Microservices
- Maintaining State
- Cloud Service Fabric
- Summary
CHAPTER 11. Security in microservices
- Role-based
- Claim-based
- Session Cookie
- HTTP Basic
- JWT
- Summary
Lab sequence
Lab 1. Setup Instructions
Lab 2. Create a simple ASP.NET Core site
Lab 3.1 Docker Enable a Code project
Lab 3.2 Docker Enable a VS project
Lab 4. Docker Web API
Lab 5. Integrating two Docker applications
Lab 6. Debug multi-container solutions
Lab 7. Create Azure Storage Account
Lab 8. Create an Azure Functions project
Lab 9. Create and Debug an Azure Function
Lab 10. Work with function.json
Lab 11. Work with Azure Tables
Lab 12. Azure containers (AKS) with Kubernetes