{"id":564,"date":"2018-09-25T12:48:07","date_gmt":"2018-09-25T10:48:07","guid":{"rendered":"https:\/\/blog.besharp.it\/go-serverless-part-2-lets-set-up-the-cloud-infrastructure-for-the-file-sharing-application\/"},"modified":"2021-03-29T16:55:09","modified_gmt":"2021-03-29T14:55:09","slug":"go-serverless-part-2-lets-set-up-the-cloud-infrastructure-for-the-file-sharing-application","status":"publish","type":"post","link":"https:\/\/blog.besharp.it\/go-serverless-part-2-lets-set-up-the-cloud-infrastructure-for-the-file-sharing-application\/","title":{"rendered":"GO Serverless! Part 2: let\u2019s set up the Cloud infrastructure for the file-sharing application"},"content":{"rendered":"
\n
\n
\n

Go to part 1<\/a>\u00a0|\u00a0Go to part 3<\/a><\/p>\n

The serverless approach is becoming more and more popular in the development world. But how can we actually take advantage of it to create\u00a0auto-scalable<\/strong>\u00a0and\u00a0resilient<\/strong>\u00a0applications? That\u2019s the point we are focusing on in this 3-article series explaining how to set up a\u00a0serverless File Sharing platform<\/strong>.<\/p>\n

In particular, in this article we\u2019re setting up the infrastructure for our application, focusing on the best practices to follow for a correct and effective implementation. Moreover, as revealed in our\u00a0first article<\/a>, we are also realizing Continuous Integration and Continuous Delivery pipelines.<\/p>\n<\/div>\n<\/div>\n<\/section>\n

\n
Let\u2019s start with the application infrastructure.<\/div>\n
\n
\n
\n
\n
<\/div>\n
<\/canvas><\/div>\n<\/div>\n<\/figure>\n

As we aren\u2019t analyzing code or other specific development subjects for now (a deep dive into them will be subject of our third article), we are going to use static pages and a lambda function to test the infrastructure we are about to create.<\/p>\n

As shown in the graphic representation below, our future infrastructure will be composed by a\u00a0front-end<\/strong>\u200a\u2014\u200aa single page app deployed on Amazon S3 and served through\u00a0CloudFront<\/strong>\u200a\u2014\u200aand a\u00a0back-end<\/strong>\u200a\u2014\u200aa REST API built using\u00a0API Gateway<\/strong>\u00a0and\u00a0Lambda<\/strong>.<\/p>\n

To create the infrastructure for our serverless application, we first need to provide and set-up the following resources:<\/p>\n

For the front-end<\/h3>\n