Thursday, February 2, 2017

Welcome

My goal with this blog will be to compliment my GitHub account where I have started to make a series of repos covering my study of the MEAN stack. MEAN is a collection of software used to make web apps and sites. The parts of the MEAN are MongoDb, Express.js, Angular.Js and Node.js.

In addition, I will record my studies in related and additional technologies as I work toward gaining mastery of Amazon Web Services (AWS) and the serverless webserver, using the services of S3, API Gateway, Lambda, DynamoDb and many more.

So, you might be curious as to, why MEAN and AWS? well, in a few words, I feel strongly that this is the future of web development.

For MEAN the reasoning is in how an application is designed as a fat client. This design sends much of the application logic to run on the client and less on the server. The MEAN stack focus on JavaScript as a unified language provides the programmer with a non-blocking code execution when using the node.js style. While very powerful it does come with a learning curve and a new set of headaches. I will try to dive into these issues at length going forward.

Amazon Web Services (AWS) offers power to the developer at a price point that is most impressive. And the one feature that really got me to notice AWS was its serverless offering. Serverless is a group of related technologies (S3, API Gateway, Lambda, DynamoDb and others)  that can serve dynamic webpages. These pages are served from AWS S3, which is a object storage service.

Objects can be HTML, CSS, JavaScript files, images and more. Since S3 supports the 3 basic files needed for a website (HTML, CSS, JS) then turning an S3 Bucket (think folder-ish) into a website must have been a natural progression for AWS. Using the API Gateway to make a REST interface will allow you perform AJAX like calls to node.js code running in a Lambda instance. Lambda is a place to store code and execute it. Lambdas have limited memory and execution time limits, but they have the ability to interact with a growing number of services designed to handle specific kinds of work.

Now all of this runs on a virtual environment that can scale dynamically as your load demands. This scaling is limited by your settings so you should not fear a run away expense.

So much to do and so little time!



No comments:

Post a Comment