Designing Microservices Using Django , livre ebook

icon

183

pages

icon

English

icon

Ebooks

2020

Écrit par

Publié par

icon jeton

Vous pourrez modifier la taille du texte de cet ouvrage

Lire un extrait
Lire un extrait

Obtenez un accès à la bibliothèque pour le consulter en ligne En savoir plus

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris
icon

183

pages

icon

English

icon

Ebook

2020

icon jeton

Vous pourrez modifier la taille du texte de cet ouvrage

Lire un extrait
Lire un extrait

Obtenez un accès à la bibliothèque pour le consulter en ligne En savoir plus

A step-by-step that will help you build Microservices architecture using Django and Python KEY FEATURES a- Understand in-depth the fundamentals of Microservicesa- Learn how to create and use Django APIs a- Use web technology such as Nginx, Gunicorn, UWSGI, and Postgresql to deploy a Django projectDESCRIPTION Microservices architectures solve the multiple problems of software architecture. Django is a full-stack development framework, written in python. This book includes everything necessary for web application development; from the user views to the information storage: model, persistence, relationships, controllers, forms, validations, rest API and a very useful back office. Furthermore, the book will show how to build production-ready microservices. It will help you create restful APIs and get familiar with Redis and Celery. Towards the end, the book will show how to secure these services and deploy these microservices using Django. Lastly, it will show how to scale our services. WHAT WILL YOU LEARN a- Understand the basics of Python, Django, and Microservices a- Learn how to deploy Microservices with Djangoa- Get familiar with Microservices Architecture - Designing, Principles, and Requirements a- Implement Asynchronous task, JWT API Authentication and AWS Serverless with Microservice architecture WHO THIS BOOK IS FOR This book is for those beginners who want to make their careers in software development. It starts from the basics of python and Django, takes the reader to the Microservices architecture. Table of Contents1. Basic of Python2. Major Pillars of OOPS with Python3. Getting Started with Django4. API Development with Django5. Database Modeling with Django6. First Django API Deployment on Web7. Django Project Deployment on various web servers8. What are Microservices9. Designing Microservice Systems10. Service Authentication11. Microservices Deployment With Django12. JWT Auth Service13. Asynchronous Tasks14. AWS Serverless15. How to Adopt Microservices in Practice About the Author Shayank Jain is a software developer and data analyst. He is strongly passionate about codingand architectural design. He has more than 6.5 years of professional experience in developingscalable software solutions for various organizations. He has been programming since theage of 16 and has developed software for mobile, web, hardware gaming and standaloneapplications. After getting his hands dirty with programming, he found many new ways to debug and deploy the code successfully with minimal time constraints. After reading and implementing, he found out that many critical concepts can be implemented easily in programming with correct and focused thinking. His research interests include information security, cryptography, analysis, design, and implementation of algorithms. He has extensively worked with python and implemented new ideas on various projects in his free time. He is also active in the computer science and education community. Through this book, he wants to share these methodologies and tricks with the beginners. Outside work, Shayank spends his spare time helping, coaching, and mentoring young people in taking up careers in technology. Your Blog links: https://shayankit.wixsite.com/intro25Your LinkedIn Profile: https://www.linkedin.com/in/shayankjain
Voir icon arrow

Publié par

Date de parution

28 avril 2020

Nombre de lectures

3

EAN13

9789389328806

Langue

English

Designing Microservices using Django

Structuring, Deploying and Managing the Microservices Architecture with Django

by
Shayank Jain
FIRST EDITION 2020
Copyright © BPB Publications, India
ISBN: 978-93-89328-790
All Rights Reserved. No part of this publication may be reproduced or distributed in any form or by any means or stored in a database or retrieval system, without the prior written permission of the publisher with the exception to the program listings which may be entered, stored and executed in a computer system, but they can not be reproduced by the means of publication.
LIMITS OF LIABILITY AND DISCLAIMER OF WARRANTY
The information contained in this book is true to correct and the best of author’s & publisher’s knowledge. The author has made every effort to ensure the accuracy of these publications, but cannot be held responsible for any loss or damage arising from any information in this book.
All trademarks referred to in the book are acknowledged as properties of their respective owners.
Distributors:
BPB PUBLICATIONS
20, Ansari Road, Darya Ganj
New Delhi-110002
Ph: 23254990/23254991
MICRO MEDIA
Shop No. 5, Mahendra Chambers,
150 DN Rd. Next to Capital Cinema,
V.T. (C.S.T.) Station, MUMBAI-400 001
Ph: 22078296/22078297
DECCAN AGENCIES
4-3-329, Bank Street,
Hyderabad-500195
Ph: 24756967/24756400
BPB BOOK CENTRE
376 Old Lajpat Rai Market,
Delhi-110006
Ph: 23861747
Published by Manish Jain for BPB Publications, 20 Ansari Road, Darya Ganj, New Delhi-110002 and Printed by him at Repro India Ltd, Mumbai
Dedicated to
Kratika Jain
My Wife, she is a gift of god.
About the Author
Shayank Jain is a software developer and data analyst. He is strongly passionate about coding and architectural design. He has more than 6 years of professional experience in developing scalable software solutions for various organizations. He has been programming since the age of 16 and has developed softwares for mobile, web, hardware gaming and standalone applications. After getting his hands dirty with programming, he found many new ways to debug and deploy the code successfully, with minimal time constraints. After reading and implementation, he found out that many critical concepts can be implemented easily in programming with correct and focused thinking. His research interests include information security, cryptography, analysis, design, and implementation of algorithms. He has extensively worked with python and implemented new ideas on various projects in his free time. He is also active in the computer science and education community. Through this book, he wants to share these methodologies and tricks with the beginners.
Apart from work, Shayank spends his spare time helping, coaching, and mentoring young people in taking up careers in technology.
Acknowledgements
There are a few people I want to thank for the continued and ongoing support that they have given me during the course of writing this book. First and foremost, I would like to thank my wife and my family for putting up with me while I was spending my weekends and evenings on writing - I could not have completed this book without their support.
I would like to especially thank my friend Krishna Vishwakarma, who guided and motivated me throughout the writing of this book. This book wouldn’t have materialized if I did not have his support.
Finally, I would like to thank BPB Publications, for giving me the opportunity to write my first book for them.
Preface
Microservice architectures solve one of the most important questions of software engineering evolution. Companies are wondering how to fight the obsolescence of their products. During the first few months, a start-up must convince the investors to believe in them. Time is the key to everything. Investors are interested in maximizing the ROI of a project. The speed of development that the startup needs, and is required by investors to maximize their ROI, tends to completely ignore the evolution of the software. Software developed with microservices divides the software into many services - small and cohesive, to be used and “assembled” together. It is very common today, and very convenient, to develop mobile and desktop applications through web technologies, using server services. Internet is full of “Get started” tutorials that help the developer to make the first steps with Python, the first steps to creating an app with Django, steps to secure API with JWT tokens, first steps with the Asynchronous tasks, with RabbitMQ, with databases, with AWS, with the Cloud. Django is a full-stack development framework written in Python. It already includes everything that is necessary for the development of a web application, from the user views to the information storage - model, persistence, relationships, controllers, forms, validations, rest API, and a very useful back office. Building production-ready microservices will also be covered in this book. We will learn how to create restful APIs. We will learn about Redis and Celery, as well as how to use the cache framework.
You will also learn how to secure these services and deploy these microservices using Django. Finally, we will learn how to scale our services as well.
The primary goal of this book is to provide the information and skills that are necessary to deploy the microservice architecture with Django. This book contains real-life examples that will show you how to install, configure, and manage the Django application, as well as how to integrate it into other third-party solutions for deployment. Over the 15 chapters in this book, you will learn the following:
Chapter 1: It covers the introduction to Python and explains everything that a programmer needs to get started with Python. It also covers all the basic concepts of python with syntax, sample code, and examples.
Chapter 2: It discusses the major pillars of OOPs, and how it is used in python - like object, class, inheritance, abstraction, encapsulation, and polymorphism.
Chapter 3: It contains the introduction of Django, its architecture, its working flow, the basic functionality of Django.
Chapter 4: It covers how we can create an API with Django and what are the steps for deployment.
Chapter 5: It covers database modeling with Django ORM. We use Postgresql, MySQL, SQLite as the database, and Django Shell for connecting the database.
Chapter 6: This will cover all the Django web deployment processes and the basic idea of Uwsgi, Gunicorn, Supervisor, Nginx, and Apache. We use Django logger for production debugging.
Chapter 7: It covers the Django API deployment on the production server, with different web servers and services like Apache, Nginx, Gunicorn, supervisor, and UWSGI.
Chapter 8: It will give you a basic introduction to microservice and the comparison of the old and new methodology of architecture. It will also cover the benefits and losses of microservices.
Chapter 9: It will give you a basic idea of microservices, designing patterns, parameters of microservice development, service designing, and independent deploy-ability.
Chapter 10: An application that is monolithic, or a microservice, needs to authorize the users to use it, so you need a service that allows you to authenticate a user, recognize it and verify its permissions. Django already has its own way of determining the permissions and users. We will see how this can be useful in microservice architecture. We are deploying microservices with Django.
Chapter 11: We are deploying microservices with Django. This chapter will cover how we can connect multiple databases into a single project, with flexible working. It will cover how the data flows between multiple services at the same time.
Chapter 12: It covers the introduction of Json Web Token and how we can make our API more secure with the JWT token. It has examples and sample code.
Chapter 13: It covers the introduction of the asynchronous task and the best fit technology for Django like RabbitMQ, Redis, and Celery.
Chapter 14: AWS offers a complete and very interesting stack for microservice deployment. AWS Lambda allows the execution of the Django code, (in almost all the main languages) on request. AWS offers a gateway API, an Authentication API, database, storage, NoSQL, and asynchronous tasks, with business models related to their use and not related to the infrastructure. So, it covers all of them.
Chapter 15: It covers the common questions and answers regarding microservices.
Downloading the code bundle and colored images:
Please follow the link to download the Code Bundle and the Colored Images of the book:
https://rebrand.ly/06cc6
Errata
We take immense pride in our work at BPB Publications and follow best practices to ensure the accuracy of our content to provide with an indulging reading experience to our subscribers. Our readers are our mirrors, and we use their inputs to reflect and improve upon human errors if any, occurred during the publishing processes involved. To let us maintain the quality and help us reach out to any readers who might be having difficulties due to any unforeseen errors, please write to us at :
errata@bpbonline.com
Your support, suggestions and feedbacks are highly appreciated by the BPB Publications’ Family.
Table of Contents
1. Basics of Python
Structure
Objective
Introduction of Python programming language
Definition of variables, expressions, and statements
Statements
Operations on strings
Functions
Python type conversion functions
User-defined functions
Execution flow of program
Scope of the variable
“if” conditional statement with nested conditions
Loops
The while loop
The range function
The for loop
Advanced data types of Python
List
List built-in functions
Tuple
Dictionaries
Dictionaries built-in functions
Perform looping on the dictionary
Set
Built-in method of Set
Additional topic – PEP8 style gui

Voir icon more
Alternate Text