Book Image

Implementing AWS: Design, Build, and Manage your Infrastructure

By : Yohan Wadia, Rowan Udell, Lucas Chan, Udita Gupta
Book Image

Implementing AWS: Design, Build, and Manage your Infrastructure

By: Yohan Wadia, Rowan Udell, Lucas Chan, Udita Gupta

Overview of this book

With this Learning Path, you’ll explore techniques to easily manage applications on the AWS cloud. You’ll begin with an introduction to serverless computing, its advantages, and the fundamentals of AWS. The following chapters will guide you on how to manage multiple accounts by setting up consolidated billing, enhancing your application delivery skills, with the latest AWS services such as CodeCommit, CodeDeploy, and CodePipeline to provide continuous delivery and deployment, while also securing and monitoring your environment's workflow. It’ll also add to your understanding of the services AWS Lambda provides to developers. To refine your skills further, it demonstrates how to design, write, test, monitor, and troubleshoot Lambda functions. By the end of this Learning Path, you’ll be able to create a highly secure, fault-tolerant, and scalable environment for your applications. This Learning Path includes content from the following Packt products: • AWS Administration: The Definitive Guide, Second Edition by Yohan Wadia • AWS Administration Cookbook by Rowan Udell, Lucas Chan • Mastering AWS Lambda by Yohan Wadia, Udita Gupta
Table of Contents (29 chapters)
Title Page
Copyright and Credits
About Packt
Contributors
Preface
Index

Preface

AWS is one of the biggest market leaders for cloud computing. With this Learning Path, you'll explore techniques to easily manage applications on the AWS cloud.

You'll begin with an introduction to serverless computing, its advantages, and the fundamentals of AWS. The following chapters will guide you on how to manage multiple accounts by setting up consolidated billing. You'll learn to set up reliable and fast hosting for static websites, share data between running instances, and back up your data for compliance. The Learning Path holds much promise when it comes to enhancing your application delivery skills, with the latest AWS services such as CodeCommit, CodeDeploy, and CodePipeline to provide continuous delivery and deployment, while also securing and monitoring your environment's workflow. It'll also add to your understanding of the services AWS Lambda provides to developers. To refine your skills further, it demonstrates how to design, write, test, monitor, and troubleshoot Lambda functions.

By the end of this Learning Path, you'll be able to create a highly secure, fault-tolerant, and scalable environment for your applications.

This Learning Path includes content from the following Packt products:

  • AWS Administration: The Definitive Guide, Second Edition by Yohan Wadia
  • AWS Administration Cookbook by Rowan Udell, Lucas Chan
  • Mastering AWS Lambda by Yohan Wadia, Udita Gupta

Who this book is for

If you are an IT professional or a system architect who wants to improve infrastructure using AWS, then this course is for you. It is also for programmers who are new to AWS and want to build highly efficient, scalable applications.

What this book covers

Chapter 1, What's New in AWS?, contains a brief introduction to some of the key enhancements and announcements made to the existing line of AWS services and products.

 

Chapter 2, Managing EC2 with Systems Manager, provides a brief introduction to using EC2 Systems Manager to manage your fleet of EC2 instances. It also covers an in-depth look at how to work with SSM agents, Run Command, as well as other systems manager features, such as automation, patching, and inventory management.

Chapter 3, Introducing Elastic Beanstalk and Elastic File System, explains how to leverage both Elastic Beanstalk and the Elastic File Systems services to build and scale out web applications and deploy them with absolute ease.

Chapter 4, Securing Workloads Using AWS WAF, discusses some of the key aspects that you can leverage to provide added security for your web applications using AWS WAF and AWS Shield. The chapter also provides some keen insights into how you can protect your web applications against commonly occurring attacks such as cross-site scripting and SQL injections.

Chapter 5, Governing Your Environments Using AWS CloudTrail and AWS Config, introduces you to the concept and benefits provided by leveraging AWS CloudTrail and AWS Config. The chapter covers in-depth scenarios using which you can standardize governance and security for your AWS environments.

Chapter 6, Access Control Using AWS IAM and AWS Organizations, takes a look at some of the latest enhancements made to the AWS IAM service. It also walks you through how you can manage your AWS accounts with better efficiency and control using AWS organizations as a Service.

Chapter 7, Transforming Application Development Using the AWS Code Suite, covers an indepth look at how you can leverage CodeCommit, CodeDeploy, and CodePipeline to design and build complete CICD pipelines for your applications.

Chapter 8, Powering Analytics Using Amazon EMR and Amazon Redshift, provides practical knowledge and hands-on approach to process and a run large-scale analytics and data warehousing in the AWS Cloud.

Chapter 9, Orchestrating Data Using AWS Data Pipeline, covers how you can effectively orchestrate the movement of data from one AWS service to another using simple, reusable pipeline definitions.

Chapter 10, Managing AWS Accounts, covers everything you need to know to manage your accounts and get started with AWS organizations.

Chapter 11, Using AWS Compute, dives deep into how to run VMs (EC2 instances) on AWS, how to auto scale them, and how to create and manage load balancers.

 

Chapter 12, Management Tools, provides an overview of how to audit your account and monitor your infrastructure.

Chapter 13, Database Services, shows you how to create, manage, and scale databases on the AWS platform.

Chapter 14, Introducing AWS Lambda, covers the introductory concepts and general benefits of serverless computing, along with an in-depth look at AWS Lambda. The chapter also walks you through your first steps with AWS Lambda, including deploying your first functions using the AWS Management Console and the AWS CLI.

Chapter 15, Writing Lambda Functions, covers the fundamentals of writing and composing your Lambda functions. The chapter introduces you to concepts such as versioning, aliases, and variables, along with an easy-to-follow code sample.

Chapter 16, Testing Lambda Functions, discusses the overall importance of testing your function for code defects and bugs. It also introduces you to some out-of-the-box testing frameworks in the form of Mocha and Chai, and summarizes it all by demonstrating how you can test your functions locally before actual deployments to Lambda.

Chapter 17, Event-Driven Model, introduces the concept of the event-based system and how it actually works. The chapter also provides a deep dive into how Lambda's event-based model works with the help of event mappings and a few easy-to-replicate, real-world use cases.

Chapter 18, Extending AWS Lambda with External Services, discusses the concept and importance of Webhooks and how they can be leveraged to connect your serverless functions with any third-party services. The chapter also provides a few real-world use cases, where Lambda functions are integrated with other services such as Teamwork, GitHub, and Slack.

Chapter 19, Build and Deploy Serverless Applications with AWS Lambda, provides you with a hands-on approach to building scalable serverless applications using AWS services such as SAM and Step Functions with a few handy deployment examples.

Chapter 20, Monitoring and Troubleshooting AWS Lambda, covers how you can leverage AWS CloudWatch and X-ray to monitor your serverless applications. The chapter also introduces other third-party tools, such as Datadog and Loggly, for effectively logging and monitoring your functions.

Chapter 21, AWS Lambda - Use Cases, provides a comprehensive set of real-world serverless use cases with some easy-to-follow code examples and snippets.

 

Chapter 22, Next Steps with AWS Lambda, summarizes the next phase in the evolution of serverless applications and discusses how new and improved enhancements in Lambda are expected to come about in the near future.

To get the most out of this book

To start using this book, you will need the following software installed on your local desktop:

  • An SSH client such as PuTTY, a key generator such as PuTTYgen, and a file transferring tool such as WinSCP
  • Any modern web browser, preferably Mozilla Firefox.
  • You'll need at least one AWS account with full administrative access.
  • You'll also need a text editor to edit YAML/JSON CloudFormation templates, and the AWS CLI tools, which are supported on common operating systems (macOS/Linux/Windows).

Download the example code files

 

You can download the example code files for this book from your account at www.packt.com. If you purchased this book elsewhere, you can visit www.packt.com/support and register to have the files emailed directly to you.

You can download the code files by following these steps:

  1. Log in or register at www.packt.com.
  2. Select the SUPPORT tab.
  3. Click on Code Downloads & Errata.
  4. Enter the name of the book in the Search box and follow the onscreen instructions.

Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:

  • WinRAR/7-Zip for Windows
  • Zipeg/iZip/UnRarX for Mac
  • 7-Zip/PeaZip for Linux

 

The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/Implementing-AWS-Design-Build-and-Manage-your-Infrastructure. In case there's an update to the code, it will be updated on the existing GitHub repository.

We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Conventions used

There are a number of text conventions used throughout this book.

CodeInText: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "The input() method is used to get an input from the user."

A block of code is set as follows:

exports.myHandler = function(event, context, callback) {
console.log("value = " + event.key);
console.log("functionName = ", context.functionName);
callback(null, "Yippee! Something worked!");
};

Any command-line input or output is written as follows:

# aws lambda list-functions

Bold: Indicates a new term, an important word, or words that you see onscreen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "If you need something different, click on the DOWNLOADS link in the header for all possible downloads:"

Note

Warnings or important notes appear like this.

Note

Tips and tricks appear like this.

 

Get in touch

Feedback from our readers is always welcome.

General feedback: If you have questions about any aspect of this book, mention the book title in the subject of your message and email us at [email protected].

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packt.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details.

Piracy: If you come across any illegal copies of our works in any form on the Internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

Reviews

Please leave a review. Once you have read and used this book, why not leave a review on the site that you purchased it from? Potential readers can then see and use your unbiased opinion to make purchase decisions, we at Packt can understand what you think about our products, and our authors can see your feedback on their book. Thank you!

For more information about Packt, please visit packt.com.