Agile Development for Serverless Platforms
With chapters selected by Danilo Poccia
  • April 2017
  • ISBN 9781617294983
  • 124 pages

You need more than great dev tools to release great software; you need an efficient pipeline that takes advantage of modern Agile development practices. Serverless platforms like AWS offer the basic building blocks you need to run code, store data, or process streaming information so you can focus on the features you want to provide, not get bogged down with the infrastructure. Combined with an agile process, serverless architectures help create a quick feedback loop between developers, end users, and businesses, allowing for the quick prototyping and easy production roll-out you need to innovate and react on the fly.

Agile Development for Serverless Platforms helps you start thinking about how to apply Agile practices in fully serverless architectures. This book brings together excerpts from four Manning books selected by Danilo Poccia, the author of AWS Lambda in Action. These chapters are a fantastic way to lay the foundations for understanding the world of agile development on serverless architecture. With concepts from working with APIs, serverless development patterns, designing an authentication system, and more, you'll see just how to tackle this new way to develop efficiently and effectively.

Table of Contents detailed table of contents

Introduction

Are You Ready for Agile?

3 Are You Ready for Agile?

3.1 What areas will you become more agile in?

3.1.1 Increasing customer involvement

3.1.2 Improving prioritization of features

3.1.3 Increasing team buy-in and involvement

3.1.4 Clarifying priorities and reminding everyone of the consequences of changing them

3.1.5 Adapting to change during development

3.1.6 Better understanding the project's status

3.1.7 More efficient planning and estimating

3.1.8 Continuous risk management

3.1.9 Delivering the project needed at the end

3.1.10 Achieving the right level of project structure

3.2 The different flavors of agile

3.2.1 Scrum

3.2.2 Extreme Programming

3.3 Create your own flavor to become agile within your constraints

3.4 Key points to remember

3.5 Looking ahead

What’s inside

Working with Web APIs

2 Working with Web APIs

2.1 HTTP basics

2.1.1 HTTP request

2.1.2 HTTP response

2.1.3 HTTP interactions

2.2 The Toppings API

2.3 Designing the API

2.4 Using a web API

2.4.1 Browser

2.4.2 Command line (curl)

2.4.3 HTTP sniffers

2.5 Interaction between the API and client

2.6 Install your own API and front end

2.6.1 Installing the system via Docker

2.6.2 Installing the system via Git

2.6.3 Exploring the code

2.7 Summary

What’s inside

Architectures and Patterns

2 Architectures and Patterns

2.1 Use cases

2.1.1 Application back end

2.1.2 Data processing and manipulation

2.1.3 Real-time analytics

2.1.4 Legacy API proxy

2.1.5 Scheduled services

2.1.6 Bots and skills

2.2 Architectures

2.2.1 Compute as back end

2.2.2 Legacy API proxy

2.2.3 Hybrid

2.2.4 GraphQL

2.2.5 Compute as glue

2.2.6 Real-time processing

2.3 Patterns

2.3.1 Command pattern

2.3.2 Messaging pattern

2.3.3 Priority queue pattern

2.3.4 Fan-out pattern

2.3.5 Pipes and filters pattern

2.4 Summary

What’s inside

Designing an Authentication Service

8 Designing an Authentication Service

8.1 The interaction model

8.2 The event-driven architecture

8.3 Working with Amazon Cognito

8.4 Storing user profiles

8.5 Adding more data to user profiles

8.6 Encrypting passwords

Summary

Exercise

Solution

Automating Deployment: CloudFormation, Elastic Beanstalk, and OpsWorks

5 Automating Deployment: CloudFormation, Elastic Beanstalk, and OpsWorks

5.1 Deploying applications in a flexible cloud environment

5.2 Running a script on server startup using CloudFormation

5.2.1 Using user data to run a script on server startup

5.2.2 Deploying OpenSwan as a VPN server to a virtual server

5.2.3 Starting from scratch instead of updating

5.3 Deploying a simple web application with Elastic Beanstalk

5.3.1 Components of Elastic Beanstalk

5.3.2 Using Elastic Beanstalk to deploy Etherpad, a Node.js application

5.4 Deploying a multilayer application with OpsWorks

5.4.1 Components of OpsWorks

5.4.2 Using OpsWorks to deploy an IRC chat application

5.5 Comparing deployment tools

5.5.1 Classifying the deployment tools

5.5.2 Comparing the deployment services

5.6 Summary

What’s inside

About the author

Danilo Poccia is a technical evangelist at Amazon Web Services and a frequent speaker at public events and workshops.


Buy
eBook $0.00 PDF only

FREE domestic shipping on three or more pBooks