Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Title Page Copyright
Python Microservices Development
Credits About the Author About the Reviewer www.PacktPub.com
Why subscribe?
Customer Feedback Preface
What this book covers What you need for this book Who this book is for Conventions Reader feedback Customer support
Downloading the example code Errata Piracy Questions
Understanding Microservices
Origins of Service-Oriented Architecture The monolithic approach The microservice approach Microservice benefits
Separation of concerns Smaller projects Scaling and deployment
Microservices pitfalls
Illogical splitting More network interactions Data storing and sharing Compatibility issues Testing
Implementing microservices with Python
The WSGI standard Greenlet and Gevent Twisted and Tornado asyncio Language performances
Summary
Discovering Flask
Which Python? How Flask handles requests
Routing
Variables and converters The url_for function
Request Response
Flask built-in features
The session object Globals Signals Extensions and middlewares Templates Configuration Blueprints Error handling and debugging
Custom error handler The debug mode
A microservice skeleton Summary
Coding, Testing, and Documenting - the Virtuous Cycle
Different kinds of tests
Unit tests Functional tests Integration tests Load tests End-to-end tests
Using WebTest Using pytest and Tox Developer documentation Continuous Integration
Travis-CI ReadTheDocs Coveralls
Summary
Designing Runnerly
The Runnerly application
User stories
Monolithic design
Model View and Template Background tasks
Strava token
Authentication and authorization Putting together the monolithic design
Splitting the monolith Data Service Using Open API 2.0 More splitting Summary
Interacting with Other Services
Synchronous calls
Using Session in a Flask app Connection pooling HTTP cache headers Improving data transfer
GZIP compression Binary payloads
Putting it together
Asynchronous calls
Task queues Topic queues Publish/subscribe RPC over AMQP Putting it together
Testing
Mocking synchronous calls Mocking asynchronous calls
Mocking Celery Mocking other asynchronous calls
Summary
Monitoring Your Services
Centralizing logs
Setting up Graylog Sending logs to Graylog Adding extra fields
Performance metrics
System metrics Code metrics Web server metrics
Summary
Securing Your Services
The OAuth2 protocol Token-based authentication
The JWT standard PyJWT X.509 certificate-based authentication The TokenDealer microservice
The POST/oauth/token implementation
Using TokenDealer
Web application firewall
OpenResty - Lua and nginx
Rate and concurrency limiting Other OpenResty features
Securing your code
Asserting incoming data Limiting your application scope Using Bandit linter
Bringing It All Together
Building a ReactJS dashboard
The JSX syntax React components
ReactJS and Flask
Using Bower, npm, and Babel Cross-origin resource sharing
Authentication and authorization
Interacting with Data Service Getting the Strava token JavaScript authentication
Packaging and Running Runnerly
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
Containerized Services
What is Docker? Docker 101 Running Flask in Docker The full stack - OpenResty, Circus and Flask
OpenResty Circus
Docker-based deployments
Docker Compose Introduction to Clustering and Provisioning
Summary
Deploying on AWS
AWS overview Routing - Route53, ELB, and AutoScaling Execution - EC2 and Lambda Storage - EBS, S3, RDS, ElasticCache, and CloudFront
Messaging - SES, SQS, and SNS
Simple Email Service (SES) Simple Queue Service (SQS) Simple Notification Service (SNS)
Provisioning and deployment - CloudFormation and ECS
Deploying on AWS - the basics
Setting up your AWS account Deploying on EC2 with CoreOS
Deploying with ECS Route53 Summary
What Next?
Iterators and generators Coroutines The asyncio library The aiohttp framework Sanic Asynchronous versus synchronous
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion