Serverless website using Angular, AWS S3, Lambda, DynamoDB and API Gateway Part II

In the previous article, we created backend system using AWS Lambda, DynamoDB and API Gateway. Unlike the traditional way of hosting code on an application server, we leveraged AWS serverless technologies to host and deploy APIs. In this article, we will develop frontend code, deploy it using S3 static website hosting and finally access the APIs.
Continue reading

20 AWS S3 questions

Amazon S3 is one of the industry’s leading solution for storing data. It comes bundled with lot of features to meet various requirements for building enterprise grade applications. You can easily host a static website on S3 without worrying about scaling requirements. Store contents securely and enable access to only intended audiences with click-n-configure interface. With user intuitive interface, you can manage your storage efficiently. While preparing for the AWS certification, I came across various S3 features which really outshine other Storage options available in market. I have crafted few questions which will validate your understanding about Amazon S3. Good luck!!!

Continue reading

Serverless website using Angular, AWS S3, Lambda, DynamoDB and API Gateway

Serverless architecture – you might have already heard this term. But have you tried to build one? And do you understand what Serverless architecture really means? Typically a web application requires an infrastructure to host Web Server, Application Server, and Database Server. Traditionally organizations had either their own datacenters or rented servers to manage such requirements. With Cloud – Pay as you use model has gained a lot of popularity. The headache of managing physical infrastructure has been moved to vendors like Amazon, Microsoft, and Google. Given all that, your team is still responsible to provision, monitor and manage the servers.

With Serverless Architecture, Organizations gain total freedom from managing infrastructure and can focus on building functionality. The need for scaling, patching and provisioning servers is opaque to the development team, rather it is a responsibility of a Cloud Vendor. In this article, we will build a Serverless architecture with a Dynamic Web Application using Angular, AWS S3, Lambda, DynamoDB, and API Gateway.
Continue reading

CSS Modules with Webpack 4

Ok, I know what you are going to say. We have heard of modules with Programming languages, but modules in CSS. Is that even possible? and why do you need it at first place? Well, I had a similar reaction when I heard about it. CSS Modules were born out of the idea of relentless hours spent in debugging issues caused by overlapping CSS selectors, class names. It is a common practice of having multiple style declarations spread across CSS files. The web projects include multiple CSS files to define common layout appearance, widgets etc. This sometimes becomes a nightmare when you have multiple CSS files sharing same class selector.

Continue reading

Apache PDFBox create PDF Form

PDF form is a great option to distribute and accept data from users. PDF form is similar to a Paper form but with lot more convenience. Apache PDFBox provides low-level APIs to create PDF forms with a rich set of controls and to specify rich formatting options. In the previous article, we explored creating custom pages and adding feature-rich content to a PDF, in this article we will create a PDF form.

Continue reading

PDFBox customize page size, adding images and custom fonts

In this article, we will look at some of the features offered by Apache PDFBox. In the real world, documents created using PDF libraries may require an additional feature of setting custom page size. Fortunately, PDFBox comes with API to specify page size as per standard units referred in a day to day business. The page sizes are A0, A1, …, A6, LEGAL, and LETTER.
Continue reading

Java 8 streams API

My experience with querying a collection has always been clumsy. Writing iterative loops, adding nested if conditions and above all the hack of maintaining intermediary collection to store results. On top of that the brutal indicators from SonarQube – cyclomatic complexity. During all this, I felt there is a common pattern for filtering, sorting and there has to be an expressive way to achieve this functionality(someone said more like SQL!!!). With my love towards multiple technologies (Ok I accept I am a polyglot coder), I knew .Net already had an answer to this – LINQ. Simply have a collection and write a query to extract data. Something like below
Continue reading

20 AWS Solution Architect Questions

While I was preparing for AWS Solution Architect Associate certification, I went through many video tutorials. The certification covers many services from AWS portfolio. AWS has updated the Associate Solution Architect exam in 2018 to include new services and architectural best practices, including the pillars of the Well-Architected Framework. I have already published my experience in post 1 and post 2.

Based on the knowledge I gathered from the FAQ, tutorial, videos etc. I have crafted 20 AWS Questions. Attempt these questions till you get the perfect score.

Continue reading

Is it right to use container for database?

Container has changed the way applications are developed and deployed. The ease of packaging dependencies and the ability to freeze the contents of the container has given the power of deploying repeatable environments. Developers can now confidently echo “What works on my machine can work everywhere”. Containers go hand in hand with DevOps process. In fact, it is a right fit for the DevOps. With Infrastructure defined as a Code (IaC), an entire application image can be built using a code and deployed on the platform of choice. Since containers require very less time to start compared to the Virtual Machine startup, deploying a new release or rollback can be done easily. But what about a state of an application? A majority of the applications require a state to be maintained for preserving either user data or actions. Due to ephemeral nature of containers, it is recommended for packaging application source code, but what about a database?

Continue reading