Cloud Native Python
Manish Sethi
- 374 Seiten
- English
- ePUB (handyfreundlich)
- Über iOS und Android verfügbar
Cloud Native Python
Manish Sethi
Über dieses Buch
Build cloud native applications in PythonAbout 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• Assess, monitor, and troubleshoot your applications in the cloudWho This Book Is ForThis book is ideal for developers with a basic knowledge of Python who want to learn to build, test, and scale their Python-based applications. No prior experience of writing microservices in Python is required.What You Will Learn• Get to know "the way of the cloud", including why developing good cloud software is fundamentally about mindset and discipline• Know what microservices are and how to design them• Create reactive applications in the cloud with third-party messaging providers• Build massive-scale, user-friendly GUIs with React and Flux• Secure cloud-based web applications: the do's, don'ts, and options• Plan cloud apps that support continuous delivery and deploymentIn DetailBusinesses today are evolving so rapidly that having their own infrastructure to support their expansion is not feasible. As a result, they have been resorting to the elasticity of the cloud to provide a platform to build and deploy their highly scalable applications.This book will be the one stop for you to learn all about building cloud-native architectures in Python. It will begin by introducing you to cloud-native architecture and will help break it down for you. Then you'll learn how to build microservices in Python using REST APIs in an event driven approach and you will build the web layer. Next, you'll learn about Interacting data services and building Web views with React, after which we will take a detailed look at application security and performance. Then, you'll also learn how to Dockerize your services. And finally, you'll learn how to deploy the application on the AWS and Azure platforms. We will end the book by discussing some concepts and techniques around troubleshooting problems that might occur with your applications after you've deployed them.This book will teach you how to craft applications that are built as small standard units, using all the proven best practices and avoiding the usual traps. It's a practical book: we're going to build everything using Python 3 and its amazing tooling ecosystem. The book will take you on a journey, the destination of which, is the creation of a complete Python application based on microservices over the cloud platformStyle and approachFilled with examples, this book takes a step-by-step approach to teach you each and every configuration you need to make your application highly available and fault tolerant.
Häufig gestellte Fragen
Information
Deploying on the AWS Platform
- Introducing AWS and its services
- Building application infrastructure using Terraform/CloudFormation
- Continuous Deployment using Jenkins
Getting started with Amazon Web Services (AWS)
- EC2 (Elastic compute cloud): This is a compute offering from AWS, which, in simply put, offers a server.
- ECS (Elastic Container Services): This is similar to the Docker services on top of a public cloud, that is, Amazon. It manages Docker on top of an EC2 machine only. Instead of creating a Docker cluster on-premises, you can easily set it up in the Amazon cloud within a few minutes, and with less overhead.
- EBS (Elasticbeanstalk): This is a PaaS offering where you just need to upload your code, and specify how much infrastructure (basically, app server (EC2)) is required. EBS will take care of creating the machines, and deploy the code on it as well.
- S3 (Simple storage service): This is a storage service offered by AWS where we usually keep our application data or static content, which could be used for static website hosting. We will be using it for Continuous Deployment.
- Glacier: This is another storage service, which is mainly used for backup, as it is less costly, and hence, has a slow data storing and retrieving capability as compared to S3.
- VPC (Virtual Private Network): This is a networking service which gives you control over your resources' accessibility. We will be using this service to keep our infrastructure. This service is very useful for securing our application service and database services, and exposes only selective resources, which are required, to the outside world.
- CloudFront: This is a content delivery service which distributes your content in S3 across the globe, and makes sure it is quickly retrievable irrespective of the location of the request source.
- CloudFormation: This gives developers and system administrators an easy way to create and manage a collection of related AWS resources, such as provisioning, and updating them in the form of code. We will be using this service to build our infrastructure.
- CloudWatch: This service keeps track of the activity of your resources. It also keeps track of any activity on your AWS account in the form of logs, which is useful for identifying any suspicious activity or account compromise.
- IAM (Identity and Access Management): This service, as the name suggests, is very useful for managing users on the AWS account, and to provide them roles/privileges as per their usage and requirement.
- Route 53: This is a highly available and scalable cloud DNS Cloud service. We can either migrate our Domain from any other Registrar such as GoDaddy, and others to Route 53, or purchase the Domain AWS.
Building application infrastructure on AWS
- Management console: This is the user interface which we have already logged into, and can be used to launch resources on the cloud. (Check this link for your reference: https://console.aws.amazon.com/console/)
- Programmatically: We may use a couple of programming languages such as Python, Ruby, and the like to create resources, for which different development tools have been created by AWS, like Codecom. Also, you can use SDK to create your resources ba...