-
Notifications
You must be signed in to change notification settings - Fork 5.9k
/
.openpublishing.redirection.architecture.json
821 lines (821 loc) · 69.8 KB
/
.openpublishing.redirection.architecture.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
{
"redirections": [
{
"source_path_from_root": "/docs/architecture/cloud-native/azure-data-storage.md",
"redirect_url": "/dotnet/architecture/cloud-native/relational-vs-nosql-data"
},
{
"source_path_from_root": "/docs/architecture/cloud-native/cloud-native-devops.md",
"redirect_url": "/dotnet/architecture/cloud-native/devops"
},
{
"source_path_from_root": "/docs/architecture/cloud-native/database-per-microservice.md",
"redirect_url": "/dotnet/architecture/cloud-native/distributed-data"
},
{
"source_path_from_root": "/docs/architecture/dapr-for-net-developers/secrets.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/microservices/architect-microservice-container-applications/communication-between-microservices.md",
"redirect_url": "/dotnet/architecture/microservices/architect-microservice-container-applications/communication-in-microservice-architecture",
"redirect_document_id": true
},
{
"source_path_from_root": "/docs/architecture/microservices/microservice-ddd-cqrs-patterns/infrastructure-persistence-layer-implemenation-entity-framework-core.md",
"redirect_url": "/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/infrastructure-persistence-layer-implementation-entity-framework-core"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/build-resilient-services-ready-for-the-cloud-embrace-transient-failures-in-the-cloud.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/deploy-existing-net-apps-as-windows-containers.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/how-to-deploy-existing-net-apps-to-azure-app-service.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/index.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/microsoft-technologies-in-cloud-devops-ready-applications.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/migrate-to-hybrid-cloud-scenarios.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/modernize-your-apps-lifecycle-with-ci-cd-pipelines-and-devops-tools-in-the-cloud.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/modernize-your-apps-with-monitoring-and-telemetry.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/reasons-to-lift-and-shift-existing-net-apps-to-cloud-devops-ready-applications.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/what-about-cloud-optimized-applications.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/when-not-to-deploy-to-windows-containers.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-in-your-on-premises-iaas-vm-infrastructure.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-to-azure-container-service-kubernetes.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-to-azure-vms-iaas-cloud.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-to-service-fabric.md",
"redirect_url": "/dotnet/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/when-to-deploy-windows-containers-to-service-fabric"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/modernize-your-apps-lifecycle-with-ci-cd-pipelines-and-devops-tools-in-the-cloud.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/build-aspnet-core-applications-linux-containers-aks-kubernetes.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/common-container-design-principles.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/deploy-azure-kubernetes-service.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/design-docker-applications.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/docker-apps-development-environment.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/docker-apps-inner-loop-workflow.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/index.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/monolithic-applications.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/orchestrate-high-scalability-availability.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/set-up-windows-containers-with-powershell.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/soa-applications.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/state-and-data-in-docker-applications.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/visual-studio-tools-for-docker.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/docker-application-lifecycle/containers-foundation-for-devops-collaboration.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/docker-application-lifecycle/index.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/docker-containers-images-and-registries.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/docker-devops-workflow/create-ci-cd-pipelines-azure-devops-services-aspnetcore-kubernetes.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/docker-devops-workflow/docker-application-outer-loop-devops-workflow.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/docker-devops-workflow/index.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/docker-terminology.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/includes/download-alert.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/index.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/introduction-to-containers-and-docker.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/key-takeaways/index.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/Microsoft-platform-tools-containerized-apps/index.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/road-to-modern-applications-based-on-containers.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/run-manage-monitor-docker-environments/index.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/run-manage-monitor-docker-environments/manage-production-docker-environments.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/run-manage-monitor-docker-environments/monitor-containerized-application-services.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/run-manage-monitor-docker-environments/run-microservices-based-applications-in-production.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/containerized-lifecycle/what-is-docker.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
},
{
"source_path_from_root": "/docs/architecture/dapr-for-net-developers/actors.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/dapr-for-net-developers/bindings.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/dapr-for-net-developers/dapr-at-20000-feet.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/dapr-for-net-developers/foreword.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/dapr-for-net-developers/getting-started.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/dapr-for-net-developers/includes/download-alert.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/dapr-for-net-developers/index.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/dapr-for-net-developers/observability.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/dapr-for-net-developers/publish-subscribe.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/dapr-for-net-developers/reference-application.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/dapr-for-net-developers/sample-application.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/dapr-for-net-developers/secrets-management.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/dapr-for-net-developers/service-invocation.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/dapr-for-net-developers/state-management.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/dapr-for-net-developers/summary.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/dapr-for-net-developers/the-world-is-distributed.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/appendix.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/application-performance-management.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/approach.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/call-credentials.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/channel-credentials.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/client-libraries.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/create-project.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/docker.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/encryption.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/error-handling.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/grpc-in-production.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/grpc-overview.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/includes/download-alert.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/index.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/interface-definition-language.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/introduction.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/kubernetes.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/load-balancing.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/metadata.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/migrate-duplex-services.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/migrate-request-reply.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/migrate-wcf-to-grpc.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/network-protocols.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/protobuf-any-oneof.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/protobuf-data-types.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/protobuf-enums.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/protobuf-maps.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/protobuf-messages.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/protobuf-nested-types.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/protobuf-repeated.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/protobuf-reserved.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/protocol-buffers.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/rpc-types.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/security.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/self-hosted.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/service-mesh.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/streaming-versus-repeated.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/wcf-bindings.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/wcf-endpoints-grpc-methods.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/wcf-services-to-grpc-comparison.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/why-grpc.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/ws-protocols.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/additional-migration-resources.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/app-startup-differences.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/architectural-differences.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/authentication-differences.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/choose-net-core-version.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/comparing-razor-pages-aspnet-mvc.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/configuration-differences.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/controller-differences.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/dependency-injection-differences.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/deployment-scenarios.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/deployment-strategies.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/example-migration-eshop.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/hosting-differences.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/identify-migration-sequence.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/identity-differences.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/includes/download-alert.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/incremental-migration-strategies.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/index.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/introduction.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/logging-differences.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/middleware-modules-handlers.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/migrate-aspnet-core-2-1.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/migrate-large-solutions.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/migrate-web-forms.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/migration-considerations.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/more-migration-scenarios.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/razor-differences.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/routing-differences.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/serving-static-files.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/signalr-differences.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/strategies-migrating-in-production.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/summary.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/testing-differences.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/understand-update-dependencies.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/webapi-differences.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/serverless/application-insights.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
},
{
"source_path_from_root": "/docs/architecture/serverless/architecture-approaches.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
},
{
"source_path_from_root": "/docs/architecture/serverless/architecture-deployment-approaches.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
},
{
"source_path_from_root": "/docs/architecture/serverless/azure-functions.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
},
{
"source_path_from_root": "/docs/architecture/serverless/azure-serverless-platform.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
},
{
"source_path_from_root": "/docs/architecture/serverless/durable-azure-functions.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
},
{
"source_path_from_root": "/docs/architecture/serverless/event-grid.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
},
{
"source_path_from_root": "/docs/architecture/serverless/includes/download-alert.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
},
{
"source_path_from_root": "/docs/architecture/serverless/index.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
},
{
"source_path_from_root": "/docs/architecture/serverless/logic-apps.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
},
{
"source_path_from_root": "/docs/architecture/serverless/orchestration-patterns.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
},
{
"source_path_from_root": "/docs/architecture/serverless/serverless-architecture-considerations.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
},
{
"source_path_from_root": "/docs/architecture/serverless/serverless-architecture.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
},
{
"source_path_from_root": "/docs/architecture/serverless/serverless-business-scenarios.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
},
{
"source_path_from_root": "/docs/architecture/serverless/serverless-conclusion.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
},
{
"source_path_from_root": "/docs/architecture/serverless/serverless-design-examples.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
},
{
"source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/actions-build.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/actions-codeql.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/actions-deploy.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/actions-index.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/actions-vs-pipelines.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/cicd.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/deploying-to-app-service.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/includes/download-alert.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/index.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/monitoring.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/next-steps.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/tools-and-downloads.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/conclusions.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/includes/download-alert.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/index.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-azure-iaas.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/migrate-your-relational-databases-to-azure.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/build-resilient-services-ready-for-the-cloud-embrace-transient-failures-in-the-cloud.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/choosing-azure-compute-options-for-container-based-applications.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/deploy-existing-net-apps-as-windows-containers.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/index.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/life-cycle-ci-cd-pipelines-devops-tools.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/microsoft-technologies-in-cloud-optimized-applications.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/migrate-to-hybrid-cloud-scenarios.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/modernize-your-apps-with-monitoring-and-telemetry.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/reasons-to-modernize-existing-net-apps-to-cloud-optimized-applications.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/what-about-cloud-native-applications.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/when-not-to-deploy-to-windows-containers.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/when-to-deploy-windows-containers-in-your-on-premises-iaas-vm-infrastructure.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/when-to-deploy-windows-containers-to-azure-container-instances-ACI.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/when-to-deploy-windows-containers-to-azure-container-service-kubernetes.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/when-to-deploy-windows-containers-to-azure-vms-iaas-cloud.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-with-azure-containers/walkthroughs-technical-get-started-overview.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-desktop/deploy-modern-applications.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-desktop-apps/Modernize-Desktop-Apps-on-Windows-with-NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-desktop/example-migration.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-desktop-apps/Modernize-Desktop-Apps-on-Windows-with-NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-desktop/includes/download-alert.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-desktop-apps/Modernize-Desktop-Apps-on-Windows-with-NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-desktop/index.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-desktop-apps/Modernize-Desktop-Apps-on-Windows-with-NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-desktop/migrate-modern-applications.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-desktop-apps/Modernize-Desktop-Apps-on-Windows-with-NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-desktop/whats-new-dotnet.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-desktop-apps/Modernize-Desktop-Apps-on-Windows-with-NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-desktop/why-modern-applications.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-desktop-apps/Modernize-Desktop-Apps-on-Windows-with-NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/modernize-desktop/windows-migration.md",
"redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-desktop-apps/Modernize-Desktop-Apps-on-Windows-with-NET.pdf"
},
{
"source_path_from_root": "/docs/architecture/maui/configuration-management.md",
"redirect_url": "/dotnet/architecture/maui/app-settings-management"
}
]
}