Muutke küpsiste eelistusi

E-raamat: Programming Microsoft Azure Service Fabric

  • Formaat: 528 pages
  • Sari: Developer Reference
  • Ilmumisaeg: 07-Jun-2018
  • Kirjastus: Microsoft Press
  • Keel: eng
  • ISBN-13: 9781509307104
  • Formaat - PDF+DRM
  • Hind: 38,60 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: 528 pages
  • Sari: Developer Reference
  • Ilmumisaeg: 07-Jun-2018
  • Kirjastus: Microsoft Press
  • Keel: eng
  • ISBN-13: 9781509307104

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Build, operate, and orchestrate scalable microservices applications in the cloud 

 

This book combines a comprehensive guide to success with Microsoft Azure Service Fabric and a practical catalog of design patterns and best practices for microservices design, implementation, and operation. Haishi Bai brings together all the information you’ll need to deliver scalable and reliable distributed microservices applications on Service Fabric. He thoroughly covers the crucial DevOps aspects of utilizing Service Fabric, reviews its interactions with key cloud-based services, and introduces essential service integration mechanisms such as messaging systems and reactive systems. 

 

Leading Microsoft Azure expert Haishi Bai shows how to: 

  • Set up your Service Fabric development environment 
  • Program and deploy Service Fabric applications to a local or a cloud-based cluster 
  • Compare and use stateful services, stateless services, and the actor model 
  • Design Service Fabric applications to maximize availability, reliability, and scalability 
  • Improve management efficiency via scripting 
  • Configure network security and other advanced cluster settings 
  • Collect diagnostic data, and use Azure Operational Management Suite to interpret it 
  • Integrate microservices components developed in parallel 
  • Use containers to mobilize applications for failover, replication, scaling, and load balancing 
  • Streamline containerization with Docker in Linux and Windows environments 
  • Orchestrate containers to schedule workloads and maintain services at desired states 
  • Implement proven design patterns for common cloud application workloads 
  • Balance throughput, latency, scalability, and cost 

About the Author xix
Foreword xxi
Introduction xxiii
PART I FUNDAMENTALS
Chapter 1 Hello, Service Fabric!
3(24)
Microservices
3(1)
Containerization
3(1)
Scheduling
4(1)
State Reconciliation
4(1)
Data Replication
5(1)
Service Partitioning
5(1)
Service Fabric Concepts
6(1)
Architecture
6(1)
Nodes and Clusters
7(1)
Applications and Services
8(1)
Partitions and Replicas
8(1)
Programming Modes
9(1)
Stateless vs. Stateful
9(1)
Guest Applications and Containers
10(1)
Getting Started
10(1)
Setting Up a Development Environment in Windows
10(1)
Provisioning a Service Fabric Cluster on Azure
11(4)
Hello, World!
15(4)
Managing Your Local Cluster
19(1)
Visual Studio Cloud Explorer
19(2)
Service Fabric Explorer
21(3)
Windows PowerShell
24(1)
Service Fabric CLI
25(1)
Additional Information
26(1)
Chapter 2 Stateless Services
27(22)
Implementing ASP.NET Core Applications
27(4)
Scalability and Availability of a Stateless Service
31(1)
Availability
31(1)
Scalability
32(1)
Implementing Communication Stacks
32(1)
Default Communication Stack
32(9)
WCF Communication Stack
41(4)
Custom Communication Stack
45(3)
Additional Information
48(1)
Chapter 3 Stateful Services
49(18)
Architecture of Service Fabric Stateful Services
49(1)
Reliable Collections
50(1)
Reliable State Manager
50(1)
Transactional Replicator
51(1)
Logger
51(1)
Consistency
52(1)
The Simple Store Application
52(1)
The Shopping-Cart Service
52(4)
The Simple Store Website
56(5)
Service Partition
61(2)
Partitions and Replicas
63(1)
Replica Roles
63(1)
Resource Load Balancing
64(2)
Additional Information
66(1)
Chapter 4 Actor Pattern
67(24)
Service Fabric Reliable Actors
68(1)
Actors
68(1)
Actor Lifetime
68(1)
Actor States
68(1)
Actor Communications
69(1)
Concurrency
69(1)
An Actor-Based Tic-Tac-Toe Game
70(1)
Actor Models
70(1)
Creating the Application
71(1)
Defining the Actor Interface
71(1)
Implementing the Game Actor
72(2)
Implementing the Player Actor
74(1)
Implementing the Test Client
75(2)
Testing the Game
77(1)
Additional Thoughts
77(1)
Timers, Reminders, and Events
78(1)
Actor Timers
78(1)
Actor Reminders
79(1)
Actor Events
80(1)
Service Diagnostics and Performance-Monitoring Basics
81(1)
Event Tracing For Windows
81(2)
Performance Counters
83(4)
Actors and Reliable Services
87(1)
Actor State Providers
88(2)
Additional Information
90(1)
Chapter 5 Service Deployments and Upgrades
91(26)
The Service Fabric Application-Deployment Process
91(1)
Package
91(5)
Upload
96(1)
Register/Provision
97(1)
Create/Replace/Upgrade
97(1)
The Service Fabric Health Model
97(2)
Health States
99(1)
Health Policy
99(2)
Health Reporting and Aggregation
101(1)
Rolling Upgrades
101(1)
Upgrade Process
102(2)
Upgrade Modes and Upgrade Parameters
104(3)
Multiple Environments
107(1)
Application Parameters and Parameter Files
107(1)
Application Publish Profiles
108(1)
Using Implicit Hosts
108(1)
Defining Implicit Hosts
108(1)
RunAs Policies
109(2)
Hosting a Node.js Application
111(4)
Resource Governance
115(2)
Chapter 6 Availability and Reliability
117(28)
"Broken" Services
117(1)
Improving Availability
118(1)
Improving Reliability
118(1)
Service Fabric Services Availability
119(1)
Replicas
119(1)
Service Placements
120(6)
Service Failovers
126(1)
Routing and Load-Balancing
127(4)
Advanced Rolling Upgrades
131(2)
Service Fabric Services Reliability
133(1)
Event Tracing for Windows
134(1)
Azure Diagnostics
134(2)
Chaos Testing
136(5)
Service State Backup and Restore
141(4)
Chapter 7 Scalability and Performance
145(28)
Scalability Concepts
145(1)
Vertical Scaling vs. Horizontal Scaling
145(1)
Stateless Services vs. Stateful Services
146(1)
Homogeneous Instances vs. Heterogeneous Instances
146(1)
Single Tenancy vs. Multi-Tenancy
147(1)
Manual Scaling vs. Autoscaling
148(3)
Scaling a Service Fabric Cluster
151(1)
Azure Resource Manager and Azure Virtual Machine Scale Sets
151(1)
Manually Scaling a Service Fabric Cluster
152(2)
Autoscaling a Service Fabric Cluster
154(3)
Scaling with Content Delivery Network
157(2)
Resolving Bottlenecks
159(1)
State Bottlenecks
159(5)
Communication Bottlenecks
164(1)
Orchestration Bottlenecks
165(8)
PART II SERVICE LIFE CYCLE MANAGEMENT
Chapter 8 Service Fabric Scripting
173(26)
Azure Cloud Shell
173(1)
Creating a Secured Service Fabric Cluster Using PowerShell
174(1)
Using a Certificate to Protect Your Cluster
174(4)
Using a Certificate for Client Authentication
178(1)
Using Azure Active Directory for Client Authentication
178(2)
Publishing Applications to a Secured Cluster from Visual Studio
180(1)
Cluster Management Commands
181(1)
Query Commands
181(9)
Node Operations
190(2)
Application-Management Commands
192(1)
Deploying an Application
192(1)
Upgrading an Application
193(1)
Rolling Back an Application
194(1)
Decommissioning an Application
195(1)
Azure CLI
195(2)
sfctl
197(2)
Chapter 9 Cluster Management
199(14)
Anatomy of a Service Fabric Cluster
199(1)
Virtual Machine Scale Sets
200(1)
Virtual Machines and Virtual Network Cards
201(1)
Virtual Networks
202(1)
Load Balancers
203(3)
Storage Accounts
206(1)
Advanced Service Fabric Cluster Configuration
206(1)
Role-Based Access Control
206(1)
Network Security Groups
207(4)
Internal Load Balancer
211(1)
Updating Cluster Settings
212(1)
Chapter 10 Diagnostics and Monitoring
213(26)
Diagnostics
213(1)
Diagnostics Data Pipeline
213(2)
Configure Azure Diagnostics
215(3)
Microsoft Diagnostics EventFlow
218(3)
Using Elasticsearch, Kibana, and EventFlow
221(4)
Azure Operations Management Suite
225(4)
Troubleshooting on Service Fabric Nodes
229(1)
Monitoring
229(1)
Service Fabric Explorer
230(2)
Application Insights
232(7)
Chapter 11 Continuous Delivery
239(26)
CI, CD, and DevOps
239(1)
Continuous Integration
239(1)
Continuous Delivery
240(1)
DevOps
241(1)
Setting Up Continuous Integration
242(1)
Preparing the Visual Studio Team Services Project
242(4)
Creating a Build Definition
246(3)
Setting Up Continuous Delivery
249(1)
Creating a Release Definition
249(2)
Requesting Deployment Approvals
251(1)
Software Testability
252(1)
Controllability
253(1)
Observability
253(1)
Isolability
254(1)
Clarity
255(1)
Setting Up Automated Tests
256(1)
Implementing Unit Tests
256(1)
Setting Up Gated Check-Ins
257(2)
Running Load Tests with VSTS
259(6)
PART III LINUX AND CONTAINERS
Chapter 12 Service Fabric on Linux
265(14)
Service Fabric Hello, World! on Linux
265(1)
Setting Up Your Linux Development Environment
265(2)
Hello, World! Again
267(3)
Using Communication Listeners
270(4)
Other Service Types and Frameworks
274(1)
Stateful Services
274(1)
Actor Services
275(1)
Guest Binary Services
276(1)
Using Yeoman
277(2)
Chapter 13 Containers
279(20)
Docker Primer
279(1)
Containerization on Linux
279(2)
Windows Containers
281(1)
Getting Started
282(1)
Running Docker on Linux
282(4)
Running Docker on Windows
286(1)
Running Docker on Azure
286(1)
Service Fabric and Docker
286(1)
Hosting an ASP.NET Core Container on Windows
287(3)
Hosting a Minecraft Server Container on Linux
290(7)
Continuous Deployment with Jenkins
297(2)
Chapter 14 Container Orchestration
299(26)
Microservices Application and Orchestration Engines
299(1)
A Generic Microservice Application Model
299(1)
Orchestration Engines
300(1)
Container Orchestration with Service Fabric
301(1)
DNS Service
301(5)
Watchdogs
306(3)
Docker Compose with Service Fabric
309(1)
Defining the Master Image
310(1)
Defining the Slave Image
311(1)
Composing the Services with Docker Compose
312(1)
Deploying and Testing the Application
312(2)
Service Meshes
314(1)
Envoy and Service Meshes
314(2)
Deploying Envoy on Service Fabric
316(9)
PART IV WORKLOADS AND DESIGN PATTERNS
Chapter 15 Scalable Web
325(18)
The Azure PaaS Ecosystem
325(1)
App Services
325(1)
Azure Container Service (AKS)
326(1)
Virtual Machine Scale Sets
326(1)
Service Fabric
326(1)
Choosing a PaaS Platform
327(1)
Scaling with Reduction
328(1)
CDN
329(1)
Home Views
329(1)
Caching
330(1)
Precomputed Views
331(1)
Data Manipulation
331(1)
Scaling with Partition
332(1)
Tenant Manager
332(3)
Service Meshes (Part 2)
335(3)
Scaling with Bursting
338(1)
Designing an Extensible Control Plane
339(1)
A Generic Control Plane Architecture
340(2)
Workload Scheduling
342(1)
Chapter 16 Scalable Interactive Systems
343(24)
Interactive System Techniques
343(1)
Latency
343(4)
Throughput
347(1)
CQRS and Event Sourcing
348(1)
Basic Ideas Behind CQRS
348(1)
Commands and Events
349(1)
Event Sourcing
349(1)
Real-Time Data-Streaming Pipelines
350(1)
Composable Processing Pipelines
350(1)
Implementing a Processing Sequence
351(6)
Processing Topologies with Actors
357(1)
Parallel Batching
358(1)
Streaming Top N
358(1)
Join by Field
359(1)
Cached Lookup Grid
359(1)
Exercise: Using WebSocket for Live Data Processing
360(1)
Product Actor
361(1)
Country/Region Actor
362(1)
Global Actor
363(1)
Gateway
364(1)
WebSocket Listener
364(1)
Test Client
365(2)
Chapter 17 System Integration
367(26)
Data Storage
367(1)
Relational Databases
368(3)
NoSQL Databases
371(2)
Security
373(1)
Azure Active Directory
373(4)
Azure Key Vault
377(1)
Enable SSL with Custom Domain
378(1)
Integration with Service Brokers
379(1)
Open Service Broker API
380(1)
Open Service Broker for Azure
381(1)
Service Fabric Service Catalog Service
381(2)
Integration Patterns with Messaging
383(1)
Dead-Letter Channel
383(1)
Messaging Gateway
384(1)
Transaction Coordinator
385(1)
Message Translators
386(1)
Composing Service Fabric Services
387(6)
PART V ADVANCED TOPICS
Chapter 18 Serverless Computing
393(16)
What Is Serverless Computing?
393(1)
Serverless Deployment
393(1)
Serverless Platform
394(1)
Serverless Architecture
395(1)
Benefits of Serverless
396(1)
Serverless on Azure
397(1)
Azure Container Instances
397(1)
Azure Event Grid
398(1)
Azure Functions
399(2)
Azure Logic Apps
401(2)
Reactive Messaging Patterns with Actors
403(1)
Message-Driven Systems
403(1)
Responsive Systems
403(3)
Resilient Systems
406(1)
Elastic Systems
406(1)
Sea Breeze Design Principles
407(1)
Fully Managed Environment
407(1)
Container-Based Environment
408(1)
Community Engagement
408(1)
Chapter 19 Artificial Intelligence
409(28)
A Brief Introduction to Artificial Intelligence
409(1)
What Is AI?
409(1)
Machine Learning
410(1)
Neural Networks
411(1)
Challenges and Pitfalls
411(2)
Recommendations
413(1)
Using Azure Machine Learning Studio
413(4)
Calling the Service from Service Fabric
417(1)
Using the Cognitive Services Recommendation API
418(1)
Computer Vision
418(1)
Building an OCR Application
419(2)
Exploring Image-Analysis Applications
421(1)
Natural Language Processing
422(1)
Audio Transcription
423(2)
Understanding the User's Intention
425(3)
Conversational UI
428(1)
Using the Bot Framework and Bot Service
428(2)
Embedding a Web-Based Bot UI in Your Application
430(1)
ArchiBot
431(1)
TensorFlow and Service Fabric
432(1)
Deploying a TensorFlow Cluster Using Service Fabric
433(1)
Running a Clustered Jupyter Notebook with TensorFlow Containers
434(3)
Chapter 20 Orchestrating an Organic Compute Plane
437(36)
Moving Data Through Static Compute
437(1)
Data Generation and Feedback
438(1)
Command and Control
438(1)
Data Ingress
439(1)
Data Transformation and Analysis
439(1)
Storage
440(1)
Presentation and Actions
441(1)
Sample Patterns with Static Compute
441(7)
An End-to-End Scenario
448(14)
Moving Compute to Data
462(1)
Service Fabric on Edge
463(3)
Workload Distribution
466(3)
Closing Thoughts
469(4)
PART VI APPENDICES
Appendix A Using Microsoft Azure PowerShell Commands
473(6)
Appendix B Pattern Index
479(4)
Index 483
Haishi Bai, principal software engineer at Microsoft, focuses on the Microsoft Azure compute platform, including IaaS, PaaS, networking, and scalable computing services. Ever since he wrote his first program on an Apple II when he was 12, Haishi has been a passionate programmer. He later became a professional software engineer and architect. During his 21 years of professional life, hes faced various technical challenges and a broad range of project types that have given him rich experiences in designing innovative solutions to solve difficult problems.

 

Haishi is the author of a few cloud computing books, and hes an active contributor to a few open-source projects. He also runs a technical blog (http://blog.haishibai.com) with millions of viewers. His twitter handle is @HaishiBai2010.