Cloud native Python practical techniques to build apps that dynamically scale to handle any volume of data, traffic, or users
Build cloud native applications in Python About This Book This is the only reliable resource that showcases the tools and techniques you need build robust and resilient cloud native applications in Python Learn how to architect your application on both, the AWS and Azure clouds for high availability...
Otros Autores: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Birmingham, England ; Mumbai, [India] :
Packt Publishing
2017.
|
Edición: | 1st edition |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009630682606719 |
Tabla de Contenidos:
- Cover
- Copyright
- Credits
- Foreword
- About the Author
- About the Reviewers
- www.PacktPub.com
- Customer Feedback
- Table of Contents
- Preface
- Chapter 1: Introducing Cloud Native Architecture and Microservices
- Introduction to cloud computing
- Software as a Service
- Platform as a Service
- Infrastructure as a Service
- The cloud native concepts
- Cloud native - what it means and why it matters?
- The cloud native runtimes
- Cloud native architecture
- Are microservices a new concept?
- Why is Python the best choice for cloud native microservices development?
- Readability
- Libraries and community
- Interactive mode
- Scalable
- Understanding the twelve-factor app
- Setting up the Python environment
- Installing Git
- Installing Git on Debian-based distribution Linux (such as Ubuntu)
- Seting up Git on a Debian-based distribution
- Installing Git on Windows
- Using Chocolatey
- Installing Git on Mac
- Installing the command-line tools for OS X
- Installing Git for OS X
- Installing and configuring Python
- Installing Python on a Debian-based distribution (such as Ubuntu)
- Using the APT package management tools
- Using source code
- Installing Python on Windows
- Installing Python on Mac
- Installing the command-line tools for OS X
- Installing Python for OS X
- Getting familiar with the GitHub and Git commands
- Summary
- Chapter 2: Building Microservices in Python
- Python concepts
- Modules
- Functions
- Modeling microservices
- Building microservices
- Building resource user methods
- GET /api/v1/users
- GET /api/v1/users/[user_id]
- POST /api/v1/users
- DELETE /api/v1/users
- PUT /api/v1/users
- Building resource tweets methods
- GET /api/v2/tweets
- POST /api/v2/tweets
- GET /api/v2/tweets/[id]
- Testing the RESTful API
- Unit testing
- Summary.
- Chapter 3: Building a Web Application in Python
- Getting started with applications
- Creating application users
- Working with Observables and AJAX
- Binding data for the adduser template
- Creating tweets from users
- Working on Observables with AJAX for the addtweet template
- Data binding for the addtweet template
- CORS - Cross-Origin Resource Sharing
- Session management
- Cookies
- Summary
- Chapter 4: Interacting Data Services
- MongoDB - How it is advantageous, and why are we using it?
- MongoDB terminology
- Setting up MongoDB
- Initializing the MongoDB database
- Integrating microservices with MongoDB
- Working with user resources
- GET api/v1/users
- GET api/v1/users/[user_id]
- POST api/v1/users
- PUT api/v1/users/[user_id]
- DELETE api/v1/users
- Working with the tweets resources
- GET api/v2/tweets
- GET api/v2/tweets/[user_id]
- POST api/v2/tweets
- Summary
- Chapter 5: Building WebViews with React
- Understanding React
- Setting up the React environment
- Installing node
- Creating package.json
- Building webViews with React
- Integrating webView with microservices
- User authentication
- Login user
- Sign up user
- User profile
- Log out users
- Testing the React webViews
- Jest
- Selenium
- Summary
- Chapter 6: Creating UIs to Scale with Flux
- Understanding Flux
- Flux concepts
- Adding dates to UI
- Building user interfaces with Flux
- Actions and dispatcher
- Stores
- Summary
- Chapter 7: Learning Event Sourcing and CQRS
- Introduction
- Understanding Event Sourcing
- Laws of Event Sourcing
- Introduction to CQRS
- Advantages of the CQRS-ified architecture
- Challenges related to ES and CQRS
- Overcoming challenges
- Problem solving
- Explanation of the problem
- The solution
- Kafka as an eventstore
- Applying Event Sourcing with Kafka
- How it works
- Summary.
- Chapter 8: Securing the Web Application
- Network security versus application security
- The web application stack
- Application - security alternatives in the platform
- Transport protocol
- Application protocol
- Application - security threats in application logic
- Web application security alternatives
- A word on developing security-enabled web applications
- Summary
- Chapter 9: Continuous Delivery
- Evolution of continuous integration and continuous delivery
- Understanding SDLC
- The Agile software development process
- How does the Agile software development process work?
- Continuous integration
- Jenkins - a continuous integration tool
- Installing Jenkins
- Prerequisite
- Installation on a Debian (Ubuntu)-based system
- Configuring Jenkins
- Automating Jenkins
- Securing Jenkins
- Plugins management
- Version control systems
- Setting up a Jenkins job
- Understanding continuous delivery
- Need for continuous delivery
- Continuous delivery versus continuous deployment
- Summary
- Chapter 10: Dockerizing Your Services
- Understanding Docker
- Few facts about Docker versus virtualization
- Docker Engine - The backbone of Docker
- Setting up the Docker environment
- Installing Docker on Ubuntu
- Installation on Windows
- Setting up Docker Swarm
- Setting up the Docker environment
- Assumption
- Initializing the Docker manager
- Add node1 to master
- Testing the Docker Swarm
- Deploying an application on Docker
- Building and running our MongoDB Docker service
- Docker Hub - what is it all about?
- Docker Compose
- Summary
- Chapter 11: Deploying on the AWS Platform
- Getting started with Amazon Web Services (AWS)
- Building application infrastructure on AWS
- Generating authentication keys
- Terraform - a tool to build infrastructure as code
- Configuring the MongoDB server.
- Configuring the Elastic Load balancer
- CloudFormation - an AWS tool for building infrastructure using code
- The VPC stack on AWS
- Continuous Deployment for a cloud native application
- How it works
- Implementation of the Continuous Deployment pipeline
- Summary
- Chapter 12: Implementing on the Azure Platform
- Getting started with Microsoft Azure
- A few points on Microsoft Azure basics
- Architecturing our application infrastructure using Azure
- Creating a virtual machine in Azure
- CI/CD pipeline using Jenkins with Azure
- Summary
- Chapter 13: Monitoring the Cloud Application
- Monitoring on the cloud platform
- AWS-based services
- CloudWatch
- CloudTrail
- AWS Config service
- Microsoft Azure services
- Application Insights
- Introduction to ELK stack
- Logstash
- Elasticsearch
- Kibana
- Open source monitoring tool
- Prometheus
- Summary
- Index.