Home Page Icon
Home Page
Table of Contents for
Python Microservices Development - Second Edition
Close
Python Microservices Development - Second Edition
by Simon Fraser, Tarek Ziadé
Python Microservices Development - Second Edition
Preface
Who this book is for
What this book covers
To get the most out of this book
Get in touch
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
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
Summary
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
Summary
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
Summary
Splitting the Monolith
Identifying potential microservices
Code complexity and maintenance
Metrics and Monitoring
Logging
Splitting a Monolith
Feature Flags
Refactoring Jeeves
Workflow
Summary
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
Putting it together
Testing
Using OpenAPI
Summary
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
Summary
Making a Dashboard
Building a ReactJS dashboard
The JSX syntax
React components
Pre-processing JSX
ReactJS and Quart
Cross-origin resource sharing
Authentication and authorization
A note about Micro Frontends
Getting the Slack token
JavaScript authentication
Summary
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
Summary
Deploying on AWS
What is Docker?
Introduction to Docker
Running Quart in Docker
Docker-based deployments
Terraform
Service discovery
Docker Compose
Docker Swarm
Kubernetes
Summary
What's Next?
Automation
Scaling
Content Delivery Networks
Multi-cloud deployments
Lambda Functions
Expanding monitoring
Making promises
Summary
Other Books You May Enjoy
Index
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
Python Microservices Development - Second Edition
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset