Python Microservices Development
Build, test, deploy, and scale microservices in Python
Tarek Ziade
BIRMINGHAM - MUMBAI
< html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
Python Microservices Development
Copyright 2017 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: July 2017
Production reference: 1210717
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
ISBN 978-1-78588-111-4
www.packtpub.com
Credits
Author Tarek Ziade | Copy Editor Sonia Mathur |
Reviewer William Kahn-Greene | Project Coordinator Vaidehi Sawant |
Commissioning Editor Aaron Lazar | ProofreaderSafis Editing |
Acquisition Editor Chaitanya Nair | Indexer Mariammal Chettiyar |
Content Development Editor Rohit Kumar Singh | Graphics Jason Monteiro |
Technical Editor Pavan Ramchandani | Production Coordinator Nilesh Mohite |
About the Author
Tarek Ziade is a Python developer, located in the countryside near Dijon, France. He works at Mozilla in the services team. He founded a French Python user group called Afpy, and he has written several books about Python in French and English. When he is not hacking on his computer or hanging out with his family, he's spending time between his two passions, running and playing the trumpet.
You can visit his personal blog ( Fetchez le Python ) and follow him on Twitter (@tarek_ziade ). You can also take a look at one of his books on Amazon, Expert Python Programming , published by Packt.
I would like to thank the Packt team for their help, and the following hackers who helped me: Stefane Fermigier, William Kahn-Greene, Chris Kolosiwsky, Julien Vehent, and Ryan Kelly.
I would also like to thank Amina, Milo, Suki, and Freya for their love and patience.
I hope you will enjoy this book as much as I've enjoyed writing it!
About the Reviewer
William Kahn-Greene has been writing Python and building applications on the web since the late 90s. He works in the crash-stats group on the crash ingestion pipeline at Mozilla and also maintains a variety of Python libraries, including bleach . When he is waiting for CI to test his code changes, he is building things with wood, tending to his tomato plant, and cooking for four.
www.PacktPub.com
For support files and downloads related to your book, please visit www.PacktPub.com .
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at service@packtpub.com for more details.
At www.PacktPub.com , you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBook.
https://www.packtpub.com/mapt
Get the most in-demand software skills with Mapt. Mapt gives you full access to all Packt books and video courses, as well as industry-leading tools to help you plan your personal development and advance your career.
Why subscribe?
- Fully searchable across every book published by Packt
- Copy and paste, print, and bookmark content
- On demand and accessible via a web browser
Customer Feedback
Thanks for purchasing this Packt book. At Packt, quality is at the heart of our editorial process. To help us improve, please leave us an honest review on this book's Amazon page at ;https://www.amazon.com/dp/1785881116 .
If you'd like to join our team of regular reviewers, you can e-mail us at customerreviews@packtpub.com . We award our regular reviewers with free eBooks and videos in exchange for their valuable feedback. Help us be relentless in improving our products!
Table of Contents
Preface
If we try to deploy our web applications into the cloud, it requires our code to interact with many third-party services. Using microservice architectures, you can build applications that will allow you to manage these interactions. However, this comes with its own set of challenges, since each set has its own complexity, and getting their interaction right isn't easy. This easy-to-follow guide covers techniques to help you overcome these challenges. You will learn how to best design, write, test, and deploy your microservices. The real-world examples will help Python developers create their own Python microservices using the most efficient methods. By the end of this book, you will have acquired the skills to craft applications that are built as small standard units, using all the proven best practices and avoiding the usual traps. Also, this is a useful guide for the vast community of Python developers who are shifting from monolithic design to the new microservice-based development paradigm.
What this book covers
, Understanding Microservices , defines what microservices are, and their roles in modern web applications. It also introduces Python and explains why it's great for building microservices.
, Discovering Flask , introduces Flask and goes through its main features. It showcases the framework with a sample web application that will be the basis for building microservices.
, Coding, Testing, and Documenting - the Virtuous Cycle , describes the Test-Driven Development and Continuous Integration approach, and how to use it in practice to build and package Flask applications.
, Designing Runnerly , takes you through the app features and user stories, explains how it could be built as a monolithic app, then decomposes it into microservices and explains how they interact with the data. It will also introduce the Open API 2.0 specification (ex-Swagger), which can be used to describe HTTP APIs.
Next page