Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Title Page
Copyright
Microservices with Azure
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Why subscribe?
Customer Feedback
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Downloading the color images of this book
Errata
Piracy
Questions
Part 1 – Laying The Foundation
Part 2 – Microsoft Azure Service Fabric
Part 3 – Microservice Architecture Patterns
Part 4 – Supplementary Learning
Microservices – Getting to Know the Buzzword
What are Microservices?
Microservices hosting platform
The Microservice advantage
Fault tolerance
Technology-agnostic
Development agility
Heterogeneous deployment
Manageability
Reusability
The SOA principle
Issues with SOA
The Microservices solution
Inter-Microservice communication
Communication through user interface
Sharing common code
Composite user interface for the web
Thin backend for rich clients
Synchronous communication
Asynchronous communication
Orchestrated communication
Shared data
Architecture of Microservices-based systems
Conway's law
Summary
Microsoft Azure Platform and Services Primer
PaaS for Microservices
Abstract infrastructure challenges
Simplified application lifecycle management
Simplifying development
Microsoft Azure – the choice of a hosting platform
Summary
Understanding Azure Service Fabric
The Service Fabric advantage
Highly scalable
Support for partitioning
Rolling updates
State redundancy
High-density deployment
Automatic fault tolerance
Heterogeneous hosting platforms
Technology agnostic
Centralized management
Service Fabric as an orchestrator
Orchestration as a Service
Is a cluster resource manager similar to an Azure load balancer?
Architecture of cluster resource manager
Architecture of Service Fabric
Transport Subsystem
Federation Subsystem
Reliability Subsystem
Management Subsystem
Hosting subsystem
Communication subsystem
Testability Subsystem
Deconstructing Service Fabric
Infrastructure model
Cluster
Node
System services
Naming service
Image store service
Upgrade service
Failover manager service
Cluster manager service
Service placement
Application model
Programming model
Guest Executables
Reliable Services
Reliable Actors
Creating a cluster on Azure
Basics
Cluster configuration
Security
Summary
Viewing your cluster status
Service Fabric Explorer
Summary view
Cluster Map
Fault domains
Upgrade domains
Viewing applications and services
Cluster nodes
Actions
System
Preparing your system
Summary
Hands-on with Service Fabric – Guest Executables
Service Fabric discovery and communication
Service protocols
Service discovery
Connections from applications external to Service Fabric
Configuring ports and protocols
Configuring the service manifest
Configuring the custom endpoint
Configuring the Azure load balancer
Configuring the health check
Built-in communication API
Deploying a Guest Executable
Understanding the manifests
Package structure
Packaging Guest Executables using Visual Studio
Manually packaging a Guest Executable
Creating the directory structure
Adding code and configuration
Updating service manifest
Updating the application manifest
Deployment
Deploying a Guest Container
Deploying Windows Container
Container image deployment and activation
Resource governance
Container port to host port mapping
Container-to-container discovery and communication
Configuring and setting environment variables
Deploying a Linux container
Summary
Hands on with Service Fabric – Reliable Services
Exploring the Service Fabric Explorer
Application Type
Application instance
Service type
Partition
Replica
Stateless Reliable Services
Stateless service architecture
Stateless service lifecycle
Scaling stateless services
Stateless frontend and stateless middle-tier
Stateless frontend and stateful middle-tier
Reliable Services communication
Exploring the application model
Stateful service
Stateful service architecture
Reliable Collections
Up and down counter application
Stateful service lifecycle
Service partitioning
Service replicas
Summary
Reliable Actors
Actor model
What is an Actor?
Actors in Service Fabric
Actor lifetime
Saving state
Distribution and failover
Actor communication
The Actor proxy
Concurrency
Reentrancy
Asynchronous drivers
Timers
Actor reminders
Actor events
Your first Reliable Actors application
Summary
Microservices Architecture Patterns Motivation
Creating an architecture
Defining the solution boundaries
Creating the solution structure
Component design
Classification of architectural patterns
Optimization or non-functional patterns
Operational patterns
Implementation or functional patterns
Picking up the right architecture pattern
Context
Forces
Complementing patterns
Applying a pattern
Structural variation
Behavioral variation
Internal variation
Domain dependent variation
Summary
Microservices Architectural Patterns
Architectural patterns
Service proxy
Problem
Solution
Considerations
Related patterns
Use cases
Service Façade \ API Gateway
Problem
Solution
Considerations
Related patterns
Use cases
Reliable Data Store
Problem
Solution
Considerations
Related patterns
Use cases
Cluster Orchestrator
Problem
Solution
Considerations
Related patterns
Use cases
Auto-scaling
Problem
Solution
Considerations
Related patterns
Use cases
Partitioning
Problem
Solution
Considerations
Related patterns
Use cases
Centralized Diagnostics Service
Problem
Solution
Considerations
Related patterns
Use cases
High Density Deployment
Problem
Solution
Considerations
Related patterns
Use cases
API Gateway
Problem
Solution
Considerations
Related patterns
Use cases
Latency Optimized Load Balancing
Problem
Solution
Considerations
Related patterns
Use cases
Queue Driven Decomposing Strategy
Problem
Solution
Considerations
Related patterns
Use cases
Circuit Breaker
Problem
Solution
Considerations
Related patterns
Use cases
Message Broker for Communication
Problem
Solution
Considerations
Related patterns
Use cases
Compensating Transaction
Problem
Solution
Considerations
Related patterns
Use cases
Rate Limiter
Problem
Solution
Considerations
Related patterns
Use cases
Sagas
Problem
Solution
Considerations
Related patterns
Use cases
Master Data Management
Problem
Solution
Considerations
Related patterns
Use cases
CQRS – Command Query Responsibility Segregation
Problem
Solution
Microservices in CQRS
Advantages
Considerations
Related patterns
Use cases
Event Sourcing
Problem
Solution
Considerations
Related patterns
Use cases
Remindable Actors
Problem
Solution
Considerations
Related patterns
Use cases
Managed Actors
Problem
Solution
Considerations
Related patterns
Use cases
Summary
Securing and Managing Your Microservices
Securing the communication channels
Inter-node communication
Client to node security
Certificate security
Azure Active Directory security
Publishing an application to a secured cluster
Managing Service Fabric clusters with Windows PowerShell
Prerequisites
Deploying Service Fabric applications
Upgrading Service Fabric applications
Removing Service Fabric applications
Summary
Diagnostics and Monitoring
Health entities
Health state
Health policies
Cluster health policy
Application health policy
Service type health policy
Health evaluation
Health reporting
Centralized logging
Collecting logs
Diagnostic extension
Deploying the Diagnostics extension
Summary
Continuous Integration and Continuous Deployment
Continuous Integration
Continuous Delivery
Deploying Service Fabric application on a standalone cluster
Deploying the application
Summary
Serverless Microservices
Before committing to Nanoservices
Building Nanoservices with Azure Functions
Function app templates
Timer function apps
Data processing function apps
Webhook and API function apps
Summary
← Prev
Back
Next →
← Prev
Back
Next →