Building Microservices with .NET Core:
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Elektronisch E-Book |
Sprache: | English |
Veröffentlicht: |
Birmingham
Packt Publishing
2017
|
Ausgabe: | 1st ed |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | Description based on publisher supplied metadata and other sources |
Beschreibung: | 1 online resource (267 pages) |
ISBN: | 9781785884962 |
Internformat
MARC
LEADER | 00000nmm a2200000zc 4500 | ||
---|---|---|---|
001 | BV044615363 | ||
003 | DE-604 | ||
005 | 00000000000000.0 | ||
007 | cr|uuu---uuuuu | ||
008 | 171108s2017 |||| o||u| ||||||eng d | ||
020 | |a 9781785884962 |9 978-1-78588-496-2 | ||
035 | |a (ZDB-30-PQE)EBC4877937 | ||
035 | |a (ZDB-89-EBL)EBL4877937 | ||
035 | |a (ZDB-38-EBR)ebr11398698 | ||
035 | |a (OCoLC)990671282 | ||
035 | |a (DE-599)BVBBV044615363 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a eng | |
082 | 0 | |a 5.0999999999999996 | |
100 | 1 | |a Aroraa, Gaurav Kumar |e Verfasser |4 aut | |
245 | 1 | 0 | |a Building Microservices with .NET Core |
250 | |a 1st ed | ||
264 | 1 | |a Birmingham |b Packt Publishing |c 2017 | |
264 | 4 | |c © 2017 | |
300 | |a 1 online resource (267 pages) | ||
336 | |b txt |2 rdacontent | ||
337 | |b c |2 rdamedia | ||
338 | |b cr |2 rdacarrier | ||
500 | |a Description based on publisher supplied metadata and other sources | ||
650 | 4 | |a Application software--Development | |
700 | 1 | |a Kale, Lalit |e Sonstige |4 oth | |
700 | 1 | |a Manish, Kanwar |e Sonstige |4 oth | |
776 | 0 | 8 | |i Erscheint auch als |n Druck-Ausgabe |a Aroraa, Gaurav Kumar |t Building Microservices with .NET Core |d Birmingham : Packt Publishing,c2017 |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=030013709&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
912 | |a ZDB-30-PQE | ||
999 | |a oai:aleph.bib-bvb.de:BVB01-030013709 |
Datensatz im Suchindex
_version_ | 1804178014710267904 |
---|---|
adam_text | Titel: Building microservices with .NET Core
Autor: Aroraa, Gaurav Kumar
Jahr: 2017
Table of Contents
Preface 1
Chapter 1: What Are Microservices? 7
Origin of microservices 8
Discussing microservices 9
Monolithic architecture 9
Service-oriented architecture 11
What is service? 12
Understanding the microservice architecture 14
Messaging in microservices 17
Synchronous messaging 17
Asynchronous messaging 17
Message formats 18
Why should we use microservices? 18
How does the microservice architecture work? 19
Advantages of microservices 19
SOA versus microservices 20
Prerequisites of the microservice architecture 21
Understanding problems with the monolithic architecture style 22
Challenges in standardizing a .NET stack 22
Fault tolerance 23
Scaling 24
Vertical scaling or scale up 25
Horizontal scaling or scale out 25
Deployment challenges 25
Organizational alignment 26
Modularity 27
Big database 28
Prerequisites for microservices 29
Functional overview of the application 30
Solutions for current challenges 31
Handling deployment problems 32
Making much better monolithic applications 32
Introducing dependency injections 32
Database refactoring 36
Database sharding and partitioning 37
DevOps culture 38
Automation 39
Testing 99
39
Versioning .
Deployment
Identifying decomposition candidates within monolithic 40
Important microservices advantages 41
Technology independence 42
Interdependency removal 42
Alignment with business goals 42
Cost benefits 43
Easy scalability 43
Security *3
Data management
Integrating monolithic 45
Summary 46
Chapter 2: Building Microservices 47
Size of microservices 47
What makes a good service? 48
DDD and its importance for microservices 49
Domain model design 49
Importance for microservices 50
The concept of Seam 51
Module interdependency 51
Technology 52
Team structure 52
Database 53
Master data 56
Transaction 56
Communication between microservices 57
Benefits of the API gateway for microservices 59
API gateway versus API management 60
Revisiting the case study-Flix One 60
Prerequisites 61
Transitioning to our product service 61
Migrations 63
Code migration 63
Creating our project 64
Adding the model 65
Adding a repository 66
Registering the repositories 68
Adding a product controller 68
The ProductService API „ 70
Adding EF core support 70
EF Core DbContext 71
EF Core migrations 73
Database migration 73
Revisiting repositories and the controller 74
Introducing ViewModel 74
Revisiting the product controller 75
Summary 76
Chapter 3: Integration Techniques 77
Communication between services 11
Styles of collaborations 79
Integration patterns 83
The API gateway 83
The event-driven pattern 86
Event sourcing 89
Eventual consistency 91
Compensating Transaction 91
Competing Consumers 92
Azure Service Bus queues 92
Implementation of an Azure Service Bus queue 94
Prerequisites 94
Sending messages to the queue 100
Receiving messages from the queue 102
Summary 104
Chapter 4: Testing Strategies 105
How to test microservices 105
Handling challenges 106
Testing strategies (testing approach) 107
Testing pyramid 108
Types of microservice tests 109
Unit testing 109
Component (service) testing 110
Integration testing 110
Contract testing 111
Consumer-driven contracts 111
How to implement a consumer-driven test 112
How Pact-net-core helps us achieve our goal 112
Performance testing 114
End-to-end (Ul/functional) testing 114
Sociable versus isolated unit tests 115
Stubs and mocks 115
Tests in action 116
Getting ready with the test project 116
Unit tests 118
Integration tests 120
Summary 121
Chapter 5: Deployment 123
Monolithic application deployment challenges 124
Understanding the deployment terminology 125
Prerequisites for successful microservice deployments 126
Isolation requirements for microservice deployment 127
Need for a new deployment paradigm 129
Containers 131
What are containers? 131
Suitability of containers over virtual machines 131
Transformation of the operation team s mindset 132
Containers are new binaries 132
It works on your machine? Let s ship your machine! 133
Docker quick introduction 133
Microservice deployment with Docker overview 134
Microservice deployment example using Docker 135
Setting up Docker on your machine 136
Creating an ASP.NET web application 137
Adding Docker Support 138
Summary 140
Chapter 6: Security 141
Security in monolithic applications 142
Security in microservices 143
Why traditional .NET auth mechanism won t work? 143
JSON Web Tokens 145
What is OAuth 2.0? 146
What is OpenID Connect? 148
Azure Active Directory 149
Microservice Auth example with OpenID Connect, OAuth 2.0, and Azure
AD 149
Step 1 - Registration of TodoListService and TodoListWebApp with Azure AD
tenant 159
Step 2 - Generation of AppKey for TodoListWebApp 154
Step 3 - Configuring Visual Studio solution projects 155
Step 4 - Generate client certificates on IIS Express 156
Step 5 - Run both the applications 150
Azure API management as an API gateway 158
Container security 162
Other security best practices 163
Summary 164
Chapter 7: Monitoring 165
Instrumentation and telemetry 166
Instrumentation 166
Telemetry 167
The need for monitoring 167
Health monitoring 168
Availability monitoring 168
Performance monitoring 169
Security monitoring 169
SLA monitoring 170
Auditing sensitive data and critical business transactions 170
End user monitoring 170
Troubleshooting system failures 171
Monitoring challenges 171
Monitoring strategies 173
Logging 175
Logging challenges 175
Logging strategies 175
Centralized logging 175
Use of a correlation ID in logging 176
Semantic logging 177
Monitoring in Azure Cloud 177
Microsoft Azure Diagnostics 178
Storing diagnostic data using Azure storage 180
Using Azure portal 181
Specifying a storage account 181
Azure storage schema for diagnostic data 182
Introduction of Application Insights 183
Other microservice monitoring solutions 184
A brief overview of the ELK stack 184
Elasticsearch 184
Logstash 185
Kibana 185
Splunk 185
Alerting 186
Reporting 186
Summary 187
Chapter 8: Scaling . 222
Scalability overview 190
Scaling infrastructure 190
Vertical scaling (scaling up) 190
Horizontal scaling (scaling out) 191
Microservices scalability 192
Scale Cube model of scalability 192
X-axis scaling ^93
Z-axis scaling 193
V-axis scaling I94
Characteristics of a scalable microservice 195
Scaling the infrastructure 196
Scaling virtual machines using scale sets 197
Auto Scaling 198
Container scaling using Docker swarm 199
Scaling service design 200
Data persistence model design 200
Caching mechanism 201
Redundancy and fault tolerance 202
Circuit breakers 203
Service discovery 204
Summary 206
Chapter 9: Reactive Microservices 207
What are reactive microservices? 207
Responsiveness 208
Resilience 208
Autonomous 209
Being message-driven 210
Making it reactive 211
Event communication 212
Security 213
Message-level security 213
Scalability 213
Communication resilience 214
Managing data 214
The microservice ecosystem 216
Reactive microservices - coding it down 217
Creating the project 217
Client - coding it down 223
Summary
Chapter 10: Creating a Complete Microservice Solution 225
Architectures before microservices 225
The monolithic architecture 226
Challenges in standardizing the .NET stack 226
Scaling 227
Service-oriented architecture 227
Microservice-styled architecture 228
Messaging in microservices 228
Monolith transitioning 229
Integration techniques 229
Deployment 230
Testing microservices 231
Security 231
Monitoring 232
Monitoring challenges 234
Scale 234
Component lifespan 234
Information visualization 235
Monitoring strategies 235
Scalability 235
Infrastructure scaling 236
Service design 236
Reactive microservices 237
Greenfield application 237
Scoping our services 237
The book-listing microservice 238
The book-searching microservice 238
The shopping cart microservice 238
The order microservice 239
User authentication 239
Synchronous versus asynchronous 240
The book catalog microservice 241
The shopping cart microservice 242
The order microservice 242
The user auth microservice 243
Summary 244
Index 245
|
any_adam_object | 1 |
author | Aroraa, Gaurav Kumar |
author_facet | Aroraa, Gaurav Kumar |
author_role | aut |
author_sort | Aroraa, Gaurav Kumar |
author_variant | g k a gk gka |
building | Verbundindex |
bvnumber | BV044615363 |
collection | ZDB-30-PQE |
ctrlnum | (ZDB-30-PQE)EBC4877937 (ZDB-89-EBL)EBL4877937 (ZDB-38-EBR)ebr11398698 (OCoLC)990671282 (DE-599)BVBBV044615363 |
dewey-full | 5.0999999999999996 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 5.0999999999999996 |
dewey-search | 5.0999999999999996 |
dewey-sort | 15.0999999999999996 |
dewey-tens | 000 - Computer science, information, general works |
edition | 1st ed |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01542nmm a2200397zc 4500</leader><controlfield tag="001">BV044615363</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">00000000000000.0</controlfield><controlfield tag="007">cr|uuu---uuuuu</controlfield><controlfield tag="008">171108s2017 |||| o||u| ||||||eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781785884962</subfield><subfield code="9">978-1-78588-496-2</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(ZDB-30-PQE)EBC4877937</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(ZDB-89-EBL)EBL4877937</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(ZDB-38-EBR)ebr11398698</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)990671282</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV044615363</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">5.0999999999999996</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Aroraa, Gaurav Kumar</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Building Microservices with .NET Core</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1st ed</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Birmingham</subfield><subfield code="b">Packt Publishing</subfield><subfield code="c">2017</subfield></datafield><datafield tag="264" ind1=" " ind2="4"><subfield code="c">© 2017</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 online resource (267 pages)</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Description based on publisher supplied metadata and other sources</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Application software--Development</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Kale, Lalit</subfield><subfield code="e">Sonstige</subfield><subfield code="4">oth</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Manish, Kanwar</subfield><subfield code="e">Sonstige</subfield><subfield code="4">oth</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Druck-Ausgabe</subfield><subfield code="a">Aroraa, Gaurav Kumar</subfield><subfield code="t">Building Microservices with .NET Core</subfield><subfield code="d">Birmingham : Packt Publishing,c2017</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=030013709&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-30-PQE</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-030013709</subfield></datafield></record></collection> |
id | DE-604.BV044615363 |
illustrated | Not Illustrated |
indexdate | 2024-07-10T07:57:14Z |
institution | BVB |
isbn | 9781785884962 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-030013709 |
oclc_num | 990671282 |
open_access_boolean | |
physical | 1 online resource (267 pages) |
psigel | ZDB-30-PQE |
publishDate | 2017 |
publishDateSearch | 2017 |
publishDateSort | 2017 |
publisher | Packt Publishing |
record_format | marc |
spelling | Aroraa, Gaurav Kumar Verfasser aut Building Microservices with .NET Core 1st ed Birmingham Packt Publishing 2017 © 2017 1 online resource (267 pages) txt rdacontent c rdamedia cr rdacarrier Description based on publisher supplied metadata and other sources Application software--Development Kale, Lalit Sonstige oth Manish, Kanwar Sonstige oth Erscheint auch als Druck-Ausgabe Aroraa, Gaurav Kumar Building Microservices with .NET Core Birmingham : Packt Publishing,c2017 HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=030013709&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Aroraa, Gaurav Kumar Building Microservices with .NET Core Application software--Development |
title | Building Microservices with .NET Core |
title_auth | Building Microservices with .NET Core |
title_exact_search | Building Microservices with .NET Core |
title_full | Building Microservices with .NET Core |
title_fullStr | Building Microservices with .NET Core |
title_full_unstemmed | Building Microservices with .NET Core |
title_short | Building Microservices with .NET Core |
title_sort | building microservices with net core |
topic | Application software--Development |
topic_facet | Application software--Development |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=030013709&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT aroraagauravkumar buildingmicroserviceswithnetcore AT kalelalit buildingmicroserviceswithnetcore AT manishkanwar buildingmicroserviceswithnetcore |