Book Image

Python Essentials for AWS Cloud Developers

By : Serkan Sakinmaz
4 (1)
Book Image

Python Essentials for AWS Cloud Developers

4 (1)
By: Serkan Sakinmaz

Overview of this book

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.
Table of Contents (18 chapters)
1
Part 1: Python Installation and the Cloud
4
Part 2: A Deep Dive into AWS with Python
9
Part 3: Useful AWS Services to Implement Python

Understanding the advantages of the cloud

The following aspects explain why companies are moving to the cloud to have a better infrastructure:

  • Good disaster recovery plan: Cloud providers have multiple data centers in different regions. If an issue happens in one region, the system can be recovered in another region.
  • Better scalability and stability: In AWS, you have different services to upscale and downscale your application. All you need to do is to configure scaling options based on usage.
  • Quicker time to production: AWS has more than 100 services, and these services come with huge capabilities. When you have any application for production, you don’t need to start from the beginning, such as provisioning the server or preparing the infrastructure.
  • Pay-as-you-go model to reduce the cost: You don’t need to sign a contract that promises payment; you can also use the service for just one day and then shut it down.
  • Monitoring and logging advantages: The biggest cloud providers have monitoring and logging services; you can integrate these services into your application.
  • Reduces DevOps effort: AWS comes with lots of advantages for DevOps. For example, you can provision servers quickly and deploy and monitor your service with simple configurations.
  • Multiple security services to keep data safe: There are different services to keep your services and data safe.

The cloud comes with lots of advantages. There are also some important considerations when using cloud services:

  • Security: Securing your services is important, and AWS provides different services to protect your data, such as firewall configurations. You have to evaluate security requirements while using AWS services.
  • Cost management: You can easily create and scale your services, which is a very big advantage. The point to note is that while you create these services, it comes with a cost, which can cause surprises if you don’t consider the costs for specific services. Check the cost of services while creating them and create some alarms if the service exceeds your budget.

There are more than 100 AWS services, and it is important to choose the right service to implement your application based on your requirements. In this book, you will learn to create an AWS account and the required AWS services that allow you to run Python applications. To run and deploy the Python application in AWS, you will learn how to configure the AWS services and deploy them afterward.

Python is also one of the most widely used programming languages. It is easy to learn and has broader usage. Within AWS, most application-related services support Python because of its broad usage, and these services are stable when it comes to the use of Python. AWS always adapts Python use cases with their services, which is a big advantage.

This book is meant for cloud developers, software developers, and IT specialists who want to develop Python applications on AWS as well as learn the concepts of appropriate AWS services for implementing Python applications. You should have Python knowledge, and this book will focus on creating Python applications in AWS. The focus will be on creating and giving details for AWS services instead of digging into Python syntax details. Hence, you will add more expertise to your skillset.

While reading this book, it is important to follow the exercises. This is not just a book of theory and definitions. You will see code examples to illustrate what you have learned. I would recommend implementing the same examples by yourself to help you learn better and apply the same methodologies to your cloud projects. This idea slows down your progress, but you will learn better and easily remember the concepts while using AWS in your professional work life.

At the end of this book, you will implement a graduation project with Python on AWS to connect different AWS services in one application. This project helps you to use different services in the same application and understand the connection between them; you will consolidate your learning with another hands-on exercise.

Once you have created an AWS account, you will be charged according to what usage you have in a month. You always have to be careful what you use and create in AWS. Another point to note is that some AWS services are free for limited usage. Please check the costs before deciding to use any AWS service. Please be aware that you need to pay for AWS costs while doing the exercises. You can check the pricing at this link: https://aws.amazon.com/pricing/.

Let’s dig into Python programming on AWS.