
This video will give you an overview about the course.
In this video, we will be describing what is meant by serverless.
Get a feel for the types of organization that are using serverless
Understand what different systems provide serverless capabilities
Understand how to use serverless from a higher level
This video covers why developers might want to consider using serverless technologies for their projects.
Examples of serverless projects
Benefits of serverless applications
Limitations of serverless applications
This video covers the insight in what developers need to do to create and setup their AWS account ready for development.
Sign up to the AWS free trial used for the rest of the session
Understand what Identity Access Manager provides
Gain insight in what developers need to do to create and setup their AWS account ready for development
In this video, we will learn how to setup their development environment ready for AWS development using the AWS CLI tool and Eclipse IDE Plugin.
Run through the different installation options for different OS
Install AWS CLI on OS X
Install the Eclipse IDE Plugin ready
This video covers an overview of a number of the main AWS features available on the platform.
Understand the features and capabilities available from a server and storage perspective
Learn the database offerings available on AWS
Overview of the AWS features of Content Delivery Networks, Networks and Security
This video covers how to build an AWS Lambda function to resize an image.
Introduce the Lambda function and the application being created
Create the base project using Eclipse
Walk through the generated code and run the unit test
This video covers how to set up AWS S3 buckets that we will need for the Image resizing application.
Understand how to create S3 buckets in the AWS CLI
How to create S3 buckets using the Eclipse IDE plugin
In this video, we are going to understand the maven project file and take a look at the plugins and dependencies used.
Walk through the maven project file
A walk through of the Lambda Function Handler
In this video, we will deploy and test the base application that we have built so far to understand the AWS web deployment and testing process.
Build the Lambda function in Eclipse
Deploy it manually using the AWS’ console
Use the test event functionality
This video covers how to implement code that will take an image in an s3 bucket and resize it.
Complete the implementation of the resizing of an image
Upload that code into AWS ready for testing
This video covers how to test the AWS Lambda functions using the AWS web console.
Demonstrate how to push messages into the function using the uploaded Lambda function, to test it
Look into the unit tests that are provided in the auto generated code and complete the implementation
In this video, we will understand Spring Cloud Functions and where do they fit into the development process
Understand the need of Spring created Spring Cloud Functions
Explore the Spring Cloud Functions
Understand how are they different to AWS Lambda Functions
This video covers the need to build and deploy a spring cloud function into AWS.
Create a base Spring Boot project to implement a Spring Cloud Function
Learn the dependencies required for Spring Cloud Functions on AWS
Implement a simple spring cloud function to understand how it works
Using the Spring Cloud Function created earlier; here we will modify it to prepare it for deployment into AWS.
Update the plugins and dependencies required to build a jar deployable into AWS
Deploy the Spring Cloud Function into AWS
Demonstrate how to test the Spring Cloud Function in AWS.
In this video, we will create a base spring boot application with the necessary dependencies that supports Spring Cloud functions on AWS to build a URL Shortener.
Overview of the URL Shortener application
Create the base Spring Boot project
In this video, we will understand the different database systems available in AWS, setup and configure it ready for the application to use.
Overview of RDS, Aurora, and DynamoDB
Configuration and setup of DynamoDB in preparation for using it in the application
This video covers how to build an AWS Lambda function using Spring Cloud function to create a short code from a URL.
Create a Spring Cloud function to generate a short code from a URL
Create a DAO using the DynamoDB and autowire in that dependency
Run the code locally and verify it using the DynamoDB web client
This video covers how to build an AWS Lambda function using Spring Cloud function to obtain a URL from a short code.
Create a Spring Cloud Function to get the URL from the short code in the DynamoDB
Test the function locally to verify that it is fully working
Deploy both Spring Cloud Functions for the URL Shortener application and test them
This video covers how we can configure the API gateway to redirect a browser to the URL stored against the short code.
Configure the API gateway to call the GetURLFunction
This video covers how to setup AWS simple email service ready for integration into the URL Shortener application.
Use the AWS console to verify the senders domain allowing AWS SES to send emails
Use the AWS console to verify your senders address ready to send emails through SES
In this video, we will use AWS SES to send emails using Lambda functions created using Spring Cloud function.
Implement an email Lambda function using Spring Cloud function, Spring mail and AWS simple email service
Modify GenerateShortcodeFunction to call this Lambda function using AWS' @LambdaFunction annotation
Deploy the function and test it
This video covers the basics of AWS CloudWatch, its cost and what do you need to do to use it in your Lambda functions.
Overview of AWS CloudWatch and its capabilities
Learn about the AWS CloudWatch features you get with AWS’s free tier
Understand what policies do you need in order to be able to use AWS CloudWatch
This video covers the need to configure AWS CloudWatch to gather and display statistics about your AWS Lambda functions.
Invoke your Lambda functions a number of times to generate some data
Look at the Monitoring Tab within your Lambda function configuration
Look at the logging, metrics and dash boarding functionality
In this video, we will setup a CloudWatch alarm to notify you of errors.
Create a new alarm in CloudWatch that is triggered by the GenerateShortcode Lambda function
Configure the Lambda function to throw an error
Run the failing Lambda function and see alarm notification that is sent to your inbox.
Removing the concept of a “server” from your application is huge. Cloud-based infrastructure was a game changer for software development and serverless architectures is the next step in that evolution. Building serverless applications means that your developers can focus on their core product instead of worrying about managing and operating servers or runtimes, either in the cloud or on-premises. Many companies have started adopting serverless architecture for their applications to save costs and improve scalability. This course demonstrates a key strength of serverless computing in AWS using Spring.
This course will introduce you to Serverless Architecture and lead you to build a simple image-resizing service using a Java-based AWS Lambda function. Then we’ll move onto how the Spring framework supports the cloud and in particular AWS. There are a number of different services made available through Spring annotations to make your life easier.
Moving on, you’ll start to build your Spring-based, serverless application that will take a URL and convert it into a short URL that will be stored in DynamoDB and you’ll receive a short URL. You can then use that short URL in a browser and then be redirected to the real site. To demonstrate integration with AWS’ Simple Notification Service (SNS), the application will also send a notification to you whenever someone creates a new short URL. Lastly, you’ll learn about monitoring your application using AWS cloud watch.
By the end of the course, you’ll be equipped with the knowledge to build scalable and cost-efficient Spring applications with serverless architectures.
About the Author
Marc Thomas is a Solutions Architect that is still actively involved with the development team. He has 19 years of experience in software development from embedded software, desktop applications, through to the latest web application technologies. Marc has worked in a number of different industries from Networking to Process Improvement, Asset Management, Defense, and Marketing. Marc works as a Solutions Architect for Connect in Birmingham, delivering Jaguar Land Rover’s web applications using Java, Spring, and React.