Python Essentials for AWS Cloud Developers

Book description

A comprehensive guide to implementing Python applications in AWS while learning about key AWS services

Purchase of the print or Kindle book includes a free PDF eBook

Key Features

  • Gain hands-on experience in AWS services to effectively implement Python programming
  • Utilize Python with open source libraries to develop data pipelines, APIs, and database applications
  • Leverage the power of AWS to create a cloud-based server and use monitoring and logging features

Book Description

AWS provides a vast variety of services for implementing Python applications, which can pose a challenge for those without an AWS background. This book addresses one of the more predominant problems of choosing the right service and stepping into the implementation of exciting Python apps using AWS.

The book begins by showing you how to install Python and create an AWS account, before helping you explore AWS Lambda, EC2, Elastic Beanstalk, and S3 for Python programming. You'll then gain hands-on experience in using these services to build the Python application. As you advance, you'll discover how to debug Python apps using PyCharm, and then start deploying the Python applications on Elastic Beanstalk. You'll also learn how to monitor Python applications using the CloudWatch service, along with creating and publishing APIs on AWS to access the Python application. The concluding chapters will help you get to grips with storing unstructured and semi-structured data using NoSQL and DynamoDB, as well as advance your knowledge using the Glue serverless data integration service in AWS.

By the end of this Python book, you'll be able to take your application development skills up a notch with AWS services and advance in your career.

What you will learn

  • Understand the fundamentals of AWS services for Python programming
  • Find out how to configure AWS services to build Python applications
  • Run and deploy Python applications using Lambda, EC2, and Elastic Beanstalk
  • Provision EC2 servers on AWS and run Python applications
  • Debug and monitor Python applications using PyCharm and CloudWatch
  • Understand database operations on AWS by learning about DynamoDB and RDS
  • Explore the API gateway service on AWS using Python to grasp API programming

Who this book is for

This book is for cloud developers, software developers, and IT specialists who want to develop Python applications on AWS as well as learn the concepts underlying AWS services for implementing the applications. Experience in Python programming is needed to be able to implement the applications on AWS.

Table of contents

  1. Python Essentials for AWS Cloud Developers
  2. Contributors
  3. About the author
  4. About the reviewers
  5. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
    4. Download the example code files
    5. Download the color images
    6. Conventions used
    7. Get in touch
    8. Share Your Thoughts
    9. Download a free PDF copy of this book
  6. Part 1: Python Installation and the Cloud
  7. Chapter 1: Using Python on AWS
    1. What is the cloud?
    2. Understanding the advantages of the cloud
    3. Installing Python
    4. Installing PyCharm
    5. Creating a new project
    6. Summary
  8. Chapter 2: Creating an AWS Account
    1. Creating an AWS account
    2. Summary
  9. Part 2: A Deep Dive into AWS with Python
  10. Chapter 3: Cloud Computing with Lambda
    1. Cloud computing
    2. What is Lambda?
      1. The advantages of Lambda
      2. The limitations of Lambda
    3. A sample application with Lambda
    4. Important configurations in Lambda
    5. A Lambda skeleton
    6. Lambda returning value
    7. Logging in Lambda
    8. Filing a metadata parser application with Lambda and S3
    9. Summary
  11. Chapter 4: Running Python Applications on EC2
    1. What is EC2?
    2. EC2 purchasing options
      1. On-Demand
      2. Reserved
      3. Spot
      4. Dedicated
    3. EC2 instance types
      1. Auto-scaling
    4. Provisioning an EC2 server
    5. Connecting to an EC2 server
    6. Running a simple Python application on an EC2 server
    7. Processing a CSV file with a Python application on an EC2 server
    8. The AWS CLI
    9. Summary
  12. Chapter 5: Running Python Applications with PyCharm
    1. Installing the AWS Toolkit
    2. Configuring the AWS Toolkit
    3. Creating a sample Lambda function in AWS
    4. Running an AWS Lambda function using the AWS Toolkit
    5. Summary
  13. Chapter 6: Deploying Python Applications on Elastic Beanstalk
    1. What is Elastic Beanstalk?
      1. Features of Elastic Beanstalk
    2. Creating a Python web application
    3. Deploying a Python web application on Elastic Beanstalk
    4. Summary
  14. Part 3: Useful AWS Services to Implement Python
  15. Chapter 7: Monitoring Applications via CloudWatch
    1. What is CloudWatch?
    2. Collecting Lambda logs via CloudWatch
    3. CloudWatch Log Insights
    4. CloudWatch alarms
    5. Summary
  16. Chapter 8: Database Operations with RDS
    1. Features of RDS
    2. Provisioning RDS
    3. Connecting to the RDS
    4. Creating a table in the database
    5. Database operations with Python
    6. Secrets Manager
    7. Summary
  17. Chapter 9: Creating an API in AWS
    1. What is API Gateway?
    2. Creating an API using API Gateway
    3. Summary
  18. Chapter 10: Using Python with NoSQL (DynamoDB)
    1. What is a NoSQL database?
      1. Key-value database
      2. Document database
    2. What is a DynamoDB database?
      1. Creating a DynamoDB database
    3. DynamoDB operations with Python
    4. Summary
  19. Chapter 11: Using Python with Glue
    1. What is the AWS Glue service?
      1. Features of AWS Glue
    2. Creating an S3 sample file
    3. Defining the permissions for a Glue job
    4. Creating an AWS Glue service
    5. Summary
  20. Chapter 12: Reference Project on AWS
    1. What have we learned?
    2. Introducing the Python application
    3. The coding of the Python application
      1. Creating S3 buckets to store images
      2. Creating Lambda code
      3. Creating permissions for the services
      4. Attaching the role to the Lambda function
      5. Creating an API gateway to upload the image
      6. Using Postman to test the API
    4. Summary
  21. Index
    1. Why subscribe?
  22. Other Books You May Enjoy
    1. Packt is searching for authors like you
    2. Share Your Thoughts
    3. Download a free PDF copy of this book

Product information

  • Title: Python Essentials for AWS Cloud Developers
  • Author(s): Serkan Sakinmaz
  • Release date: May 2023
  • Publisher(s): Packt Publishing
  • ISBN: 9781804610060