My Account Log in

1 option

Python microservices development : build efficient and lightweight microservices using the Python tooling ecosystem / Simon Fraser and Tarek Ziadé.

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Fraser, Simon, author.
Ziadé, Tarek, author.
Language:
English
Subjects (All):
Python (Computer program language).
Python (Computer program language)--Handbooks, manuals, etc.
Physical Description:
1 online resource (311 pages)
Edition:
2nd ed.
Place of Publication:
Birmingham : Packt Publishing, Limited, [2021]
Summary:
Utilize Python microservices to break down your app development into bitesize pieces and deploy them as cloud services.
Contents:
Cover
Copyright
Contributors
Table of Contents
Preface
Chapter 1: Understanding Microservices
The origins of service-oriented architecture
The monolithic approach
The microservice approach
Microservice benefits
Separation of concerns
Smaller projects
Scaling and deployment
Pitfalls of microservices
Illogical splitting
More network interactions
Data storing and sharing
Compatibility issues
Testing
Implementing microservices with Python
How web services work
The WSGI standard
Workers, threads, and synchronicity
A worker pool approach
Being asynchronous
Twisted, Tornado, Greenlets, and Gevent
Asynchronous Python
Language performance
Summary
Chapter 2: Discovering Quart
Making sure we have Python
How Quart handles requests
Routing
Variables and converters
The url_for function
Request
Response
Quart's built-in features
The session object
Globals
Signals
Extensions and middleware
Templates
Configuration
Blueprints
Error handling
Custom error handler
A microservice skeleton
Chapter 3: Coding, Testing, and Documentation: the Virtuous Cycle
Different kinds of tests
Unit tests
Functional tests
Integration tests
Load tests
End-to-end tests
Using pytest and tox
Developer documentation
Tools for documentation
Version control
Continuous Integration and Continuous Deployment
GitHub Actions
Documentation
Coveralls
Badges
Chapter 4: Designing Jeeves
The Jeeves bot
User stories
Monolithic design
Model
View and template
A human-readable view
Slack workspaces
Taking actions
OAuth tokens
Authentication and authorization
Background tasks
Putting together the monolithic design
Chapter 5: Splitting the Monolith.
Identifying potential microservices
Code complexity and maintenance
Metrics and Monitoring
Logging
Splitting a Monolith
Feature Flags
Refactoring Jeeves
Workflow
Chapter 6: Interacting with Other Services
Calling other web resources
Finding out where to go
Environment variables
Service discovery
Transferring data
HTTP cache headers
GZIP compression
Protocol Buffers
MessagePack
Putting it together
Asynchronous messages
Message queue reliability
Basic queues
Topic exchanges and queues
Publish/subscribe
Using OpenAPI
Chapter 7: Securing Your Services
The OAuth2 protocol
X.509 certificate-based authentication
Token-based authentication
The JWT standard
PyJWT
Using a certificate with JWT
The TokenDealer microservice
The OAuth implementation
Using TokenDealer
Securing your code
Limiting your application scope
Untrusted incoming data
Redirecting and trusting queries
Sanitizing input data
Using Bandit linter
Dependencies
Web application firewall
OpenResty: Lua and nginx
Rate and concurrency limiting
Other OpenResty features
Chapter 8: Making a Dashboard
Building a ReactJS dashboard
The JSX syntax
React components
Pre-processing JSX
ReactJS and Quart
Cross-origin resource sharing
A note about Micro Frontends
Getting the Slack token
JavaScript authentication
Chapter 9: Packaging and Running Python
The packaging toolchain
A few definitions
Packaging
The setup.py file
The requirements.txt file
The MANIFEST.in file
Versioning
Releasing
Distributing
Running all microservices
Process management
Chapter 10: Deploying on AWS
What is Docker?.
Introduction to Docker
Running Quart in Docker
Docker-based deployments
Terraform
Docker Compose
Docker Swarm
Kubernetes
Chapter 11: What's Next?
Automation
Scaling
Content Delivery Networks
Multi-cloud deployments
Lambda Functions
Expanding monitoring
Making promises
Packt Page
Other Books You May Enjoy
Index.
Notes:
Description based on print version record.
ISBN:
9781801079372
1801079374
OCLC:
1273976578

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Library Catalog Using Articles+ Library Account