Image for post
Image for post
DynamoDB bills are outrageously high

AWS DynamoDB is the go-for database for any serverless application. It is fully managed, infinitely scaled, and irresistibly simple and cute. We in the Company™ love it, the community loves it, you must also go and try it, as it is AWS Free Tier eligible. No reason not to, right?

Right, except that Amazon is not a charity organization. It wants your money and it wants it bad. Yes, there is a free tier, but that’s just for playing. How about production usage and how expensive it is? …


Image for post
Image for post
Aurora, Appsync, CDK

In the last article (https://medium.com/swlh/cdk-or-terraform-88a464bedf9e) we discussed the benefits of AWS CDK. Let’s expand our CDK vocabulary by building Serverless Aurora to AppSync integration! Please, follow along, but if you are in a hurry and just want a working solution you can find it here.

Whatever can go wrong, will go wrong

I am not going to lie — using CDK is easy. Declaring CDK resources is very close to being as easy as creating them manually. Usually, when I need to set up an integration between AWS Resources I don’t know that much about I do it in two steps. The first step — configure the…


Image for post
Image for post
CDK vs Terraform

I know, I know it is late. Picking an infrastructure provider in 2020, what had I been doing all that time… That’s true, but hey at least we are having the final say — who do we want to use for delivering serverless products to the cloud?

Decisions, decisions

Recently, I had to work on a streak of serverless products. It was a blast, a lot of decisions were made, I learned a lot, I taught a lot. All good, all that Arnold taught us (better yourself, give back, and so on).

However, one decision bugged me for some time — what…


Image for post
Image for post
Stackoverflow Heroes — Continuous Deployment

In the previous chapter, we successfully deployed a lambda function that reads from Stack Overflow API and writes to S3. Before we advance the functions of the products, let’s iterate on what we can improve non-functionally.

Before we do that, I think it is important to explain what is the difference between functional and non-functional. These are two things I spent my fair share of time breaking down.

Functionality is available to the end-user of the product to interact with. It is not an internal implementation detail. A single function of a product is indivisible into smaller functions without losing…


I am sure you heard this in your chats, especially if you come from the Enterprise world:

I am fed up with the amount of bureaucracy in the Company! I need to jump through so many hoops — it is unbelievable. It is slow and inefficient, why can’t I just go and do what I need to do.

Then, I am sure there is something like (funnily, sometimes in the same chats):

Omg, they broke it again! That other team is so irresponsible and careless we can’t work in such conditions. Everything we do for them is getting destroyed!

People…


Image for post
Image for post
Stackoverflow Heroes — Data Fetching

In the previous post, we talked about the system design for Stackoverflow Heroes — an app for querying Stackoverflow data as a graph. We defined three Important Topics of the app: Data Fetch, Data Insert, and Query API. Today, we will be covering the practical implementation of the data fetching.

You still remember that we are exploring the Serverless world here, right? Surely, the implementation here forced to be Serverless. Frankly speaking, we don’t really need all of those services, technologies, and APIs. But hey, we are exploring!

We have technology

The stack we will be using for Stackoverflow Heroes:

  • Serverless stack: AWS


Image for post
Image for post
Stackoverflow Heroes — Iteration One

As I praised Serverless so much in the previous post — it is time to build something. Let’s get our hands dirty and do something with all those awesome services available for us!

Background

In 2018, a story about catching Russian Twitter Trolls using Graph Database was posted in the Neo4j blog. That was an exciting read. While I do not really care about the elections and the attacks, the solution for the challenge of finding the attackers is curious. …


Image for post
Image for post

The Enterprise

The Company I am working with is a huge enterprise. It has hundreds of products, some of them are so mind-numbing that when you read the description of yet another product — it sounds just like a bunch of “business value”, “customer-targeting”, “high profit” nonsensical words that do not give you anything in the end. You read the description again and still, there is little to none understanding what are those millions of lines of code are actually doing. They seem to be doing something they must be. Otherwise, why would they exist, right? Yeah, right — good luck lurking…

Pang Bian

If only

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store