Updated: Jan 21
What is serverless .?
So, serverless means we don't have any physical databases (Servers) .? Nooooo.! Serverless is actually a cloud development model that will allow us to build and run projects without the hassle of managing the servers. We have servers but they are hidden while the development process, the maintenance, scaling, and all other factors are handled by the cloud provider.
Some of the top serverless vendors are:
Google Cloud function
We will see how we can learn the components/services provided by AWS (Amazon Web Services).
How I ended up learning Serverless:
During my Masters in Applied Computer Science, I took a course on Serverless Data Processing. The reason I wanted to take this course is to get a brief understanding of Serverless Architecture and get some hands-on work in it. At the end of the course, I got familiar with some of the services provided by AWS and GCP. Now let us see how you can do the same with or without taking the course.
Before talking about how you can move forward with learning serverless or wondering if you want to take up the coursework in serverless in your Graduate or Under-Graduate program. I wanted to give a short intro on what topics I have learned by the end of my coursework.
Understanding vendor-specific cloud platforms and applications such as AWS by Amazon.
How to set up security in a cloud platform.
Challenges faced in data analytics on a cloud platform.
Reduce cloud platform cost of projects by implementing serverless techniques.
Implement programs for data extraction, transformation, and loading before undertaking data analysis using ETL methodologies.
Understand the architecture of Serverless.
Learn and apply containerization using Docker and running those in the cloud.
Event-driven serverless application development.
AWS components with practical application of them through assignments.
Finally, applied all the things learned from the course to create a final serverless project.
Check out the final project in my Github profile: https://github.com/bjdineshkumar/SafeDeposit-Serverless
How you can learn what I learned:
I will just tell you about the approach which you can take to learn something about serverless from my point of view. Although I can promise you that you will learn as much as I did if you learn and apply whatever you study.
The first and foremost thing is to have a plan and a framework, decide if you are going to finish in a week or months. After deciding no matter what stick to the plan.
Try to find a study partner as it will help you reach your goal faster. Healthy competition is helpful.
Below are the topics from which you can start practicing from, I will include the official link to all the serverless components: 1. AWS DynamoDB: https://aws.amazon.com/dynamodb/ 2. AWS Lex: https://aws.amazon.com/lex/ 3. AWS Lambda: https://aws.amazon.com/lambda/ 4. AWS S3: https://aws.amazon.com/s3/ 5. AWS Comprehend: https://aws.amazon.com/comprehend/ 6. AWS SNS: Link 7. AWS SQS: https://aws.amazon.com/sqs/ 8. AWS IAM: https://aws.amazon.com/iam/
Wondering what to do with those links .? All you got to do is to go to the official documentation and try to read the "HOW IT WORKS" section which will give you a brief overview of what that particular component does. Once you have a simple understanding of the service create a simple program to see it in work. Sample:
If you want to try out AWS S3, try to create a java program that will allow us to create an S3 bucket and upload a file from your system to that particular bucket. You can do this with the help of JAVA SDK. You can try this with any choice of your programming language. The official documentation has all the required explanations.
When you finish the above topics you can create a simple web application and connect your components to create a project, a very simple idea would be to create a restaurant ordering application where you can store the food images or details in an S3 bucket, when an order is confirmed you can publish a message (Email) to the restaurant authority using Amazon SNS. You can also implement Amazon Lex in your website and order food through chat support by writing lambda functions to fulfill the requirement. The limit is your imagination.
This is a very short blog on how to learn serverless components of AWS. Most of the parts are left up to you so that when you research you will learn many things and that's how I learned. If you have any doubts please do reach out to me through my LinkedIn.
I would like to thank my professor Saurabh Dey, for making this coursework a great learning experience.
- Dinesh Kumar Baalajee Jothi