Advanced microservices : a hands-on approach to microservice infrastructure and tooling /: a hands-on approach to microservice infrastructure and tooling. ([2017])
- Record Type:
- Book
- Title:
- Advanced microservices : a hands-on approach to microservice infrastructure and tooling /: a hands-on approach to microservice infrastructure and tooling. ([2017])
- Main Title:
- Advanced microservices : a hands-on approach to microservice infrastructure and tooling
- Further Information:
- Note: Thomas Hunter II.
- Authors:
- II, Hunter, Thomas
- Contents:
- At a Glance; Contents; About the Author; About the Technical Reviewers; Preface; Chapter 1: Introduction; Why Use Microservices?; Forced Separation of Concerns; Natural Team Ownership; Frequent Deployments; Heterogeneous Selection of Languages; Organization Buy-In; Separation of Concerns; Nouns (Entities); Verbs (Actions/Relationships); Example Microservice Breakdown; Team Structure; Splitting a Monolith; Terminology; Networking Basics; Hostnames and IP Addresses; Network Interfaces; Ports; Protocols; Chapter 2: HTTP API Design; Data Design and Abstraction; Examples of Abstraction Good AbstractionBad Abstraction; Real-World Examples; GitHub: An Ideal Example; Twitter: A Flawed Example; Anatomy of an HTTP Message; Debugging HTTP Traffic; API Entrypoint; Choosing an Entrypoint for a Public API; Content Located at the Root; API Requests; HTTP Methods; URL Endpoints; Top-Level Collections; Specific Endpoints; Filtering Resources; White-Listing Attributes; Filtered Request; Unfiltered Request; Requesting Arrays via URL Parameters; Repeat Parameters; Bracket Notation; Comma Separated; Body Formats; JSON; Form URL Encoded; Multipart Form Data; HTTP Headers; API Responses HTTP Status CodesCommon API Status Codes; Status Code Ranges; 1XX: Informational; 2XX: Successful; 3XX: Redirection; 4XX: Client Error; 5XX: Server Error; Content Types; Expected Body Content; GET /{collection}; GET /{collection}/{resource_id}; POST /{collection}; PUT /{collection}/{resource_id}; PATCHAt a Glance; Contents; About the Author; About the Technical Reviewers; Preface; Chapter 1: Introduction; Why Use Microservices?; Forced Separation of Concerns; Natural Team Ownership; Frequent Deployments; Heterogeneous Selection of Languages; Organization Buy-In; Separation of Concerns; Nouns (Entities); Verbs (Actions/Relationships); Example Microservice Breakdown; Team Structure; Splitting a Monolith; Terminology; Networking Basics; Hostnames and IP Addresses; Network Interfaces; Ports; Protocols; Chapter 2: HTTP API Design; Data Design and Abstraction; Examples of Abstraction Good AbstractionBad Abstraction; Real-World Examples; GitHub: An Ideal Example; Twitter: A Flawed Example; Anatomy of an HTTP Message; Debugging HTTP Traffic; API Entrypoint; Choosing an Entrypoint for a Public API; Content Located at the Root; API Requests; HTTP Methods; URL Endpoints; Top-Level Collections; Specific Endpoints; Filtering Resources; White-Listing Attributes; Filtered Request; Unfiltered Request; Requesting Arrays via URL Parameters; Repeat Parameters; Bracket Notation; Comma Separated; Body Formats; JSON; Form URL Encoded; Multipart Form Data; HTTP Headers; API Responses HTTP Status CodesCommon API Status Codes; Status Code Ranges; 1XX: Informational; 2XX: Successful; 3XX: Redirection; 4XX: Client Error; 5XX: Server Error; Content Types; Expected Body Content; GET /{collection}; GET /{collection}/{resource_id}; POST /{collection}; PUT /{collection}/{resource_id}; PATCH /{collection}/{resource_id}; DELETE /{collection}/{resource_id}; JSON Attribute Conventions; Attribute Name Casing; Snake Case; Pascal Case; Camel Case; Consistency Between Resources; Booleans; Timestamps; ISO 8601; JavaScript Default; Unix Epoch; SQL Timestamp; Resource Identifiers (IDs) NullsArrays; Whitespace; Error Reporting; Validation Errors; Generic Errors; Always Handle Server Errors; String-Based Error Codes; Responses Should Mimic Requests; Acceptable Discrepancy; Avoidable Discrepancy; HTTP Headers; API Standards; Simple Response Envelope; JSON Schema; JSON API; GraphQL; Hypermedia APIs; API Transports; JSON RPC; SOAP; MessagePack (Binary); Apache Thrift (Binary); Chapter 3: Deployments; Automated Testing; Unit Tests; Smoke Tests; Integration Tests; Acceptance Tests; Performance Tests; Regression Tests; Containers; Docker Containers; Dockerfile Breakdown Running a Docker ImageManaging Containers with Kubernetes; Further Reading: Mesos and Marathon; Build Pipeline; Continuous Integration and Deployment; Choosing Environments; Designing a Build Pipeline; Building with Jenkins; Testing Contributions; Jenkins; Travis CI; Further Reading: TeamCity and CircleCI; Chapter 4: Service Discovery; Why Do You Need Service Discovery?; Client Side vs. Server Side; Client-Side Discovery; Server-Side Discovery; Example Implementation; Get Entire State; Register Provider Instance; Deregister Provider Instance; Finding a Provider … (more)
- Publisher Details:
- San Francisco, California : Apress
- Publication Date:
- 2017
- Copyright Date:
- 2017
- Extent:
- 1 online resource (xviii, 181 pages)
- Subjects:
- 005.3
Computer science
Software architecture
Computer network architectures
COMPUTERS -- Software Development & Engineering -- General
Computer network architectures
Software architecture
Computerarchitectuur
Programmatuurtechniek
Software
Open source software
Computer programming
Computers -- Programming -- Open Source
Computer programming / software development
Electronic books - Languages:
- English
- ISBNs:
- 9781484228876
1484228871 - Related ISBNs:
- 9781484228869
1484228863 - Notes:
- Note: Includes bibliographical references and index.
Note: Vendor-supplied metadata. - Access Rights:
- Legal Deposit; Only available on premises controlled by the deposit library and to one user at any one time; The Legal Deposit Libraries (Non-Print Works) Regulations (UK).
- Access Usage:
- Restricted: Printing from this resource is governed by The Legal Deposit Libraries (Non-Print Works) Regulations (UK) and UK copyright law currently in force.
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library HMNTS - ELD.DS.359865
- Ingest File:
- 01_323.xml