AWS API gateway is a phenomenal service from AWS because it has all of the features somebody could ever want in an API gateway.
An API gateway is essential part of organizing requests that need to be processed by different microservices.
AWS Lambda allows us to dramatically lower our costs for running an application. It’s fairly easy to convert an Express.js app into running in the serverless framework.
I was recently working on a serverless api that uses serverless offline, express.js and mongodb.
We started getting emails from MongoDB Atlas telling us that we ran out of connections.
There are quite a few different reasons to consider using serverless instead of looking at building a monolith or building services in containers.
The Serverless Framework allows us to abstract away quite a bit of the complexity from setting up lambda functions and the necessary events to execute them, especially through the API gateway.
In this blog post we look at how to set up a simple project to use the serverless framework.
Logging is very important to developers as it helps us more efficiently debug a system in production and the steps that led to the occurrence of the bug.
In this post, we look at ways to make logging better.
The Serverless Framework is a free open source framework that allows us to easily build applications on cloud providers like AWS using serverless computing.
As you may remember, it needs to be installed globally which means we need to do the update globally and we’ll need to potentially update all of our projects for any breaking changes.
AWS has hundreds of services available through their console or through their SDK. Amazon RDS is one of the most commonly used services. Amazon RDS standards for Relational Database Service – essentially it’s a large collection of different SQL databases.
Cloud costs can become expensive really fast if we aren’t consistently tracking and modelling our expenses. There are a number of ways that we can track our costs leading to a lower total cost.
AWS Cost Explorer
In the AWS User Interface, we are able to use a service called Cost Explorer which gives us an interface to look at our costs by service, by cost tag, and looks at predictions for the next three months based on current usage. AWS also gives potential recommendations on how to reduce costs.
The AWS Budgets interface allows us to track cost per service, service usage, and our reserved instance utilization. Reserved Instances are a commitment to use a certain service or EC2 instance for a length of time which results in a billing discount from AWS. I’ve seen discounts as high as 72% if you’re willing to commit to three years and pay upfront.
AWS TCO Calculator
The AWS TCO Calculator allows technology departments or architects to determine what could be saved by leveraging cloud infrastructure.
AWS Simple Monthly Calculator
The Simple Monthly Calculator is an easy way to determine the rough costs for running specific AWS infrastructure. It’s suppose to be deprecated soon but the Pricing Calculator doesn’t have all of the same features today.
AWS Resource Tags
AWS Resource Tags are metadata that is assigned to a specific resource in the AWS account. They’re a great way to track usage across departments, environments or projects. The Cost Allocation Report can include costs grouped by active tags.
The tags can also be utilized in the AWS Cost Explorer to better understand the costs and better allocate costs against departments, projects or environments. I love to use Resource Tags to reference the various environments (dev, staging, and production).
Having your application / system produce the right amount and quality of logs is just as important as having the system process the needed data because it helps make debugging easier and allows us to better optimize data.
Logging on AWS lambda can be really costly if it’s not done correctly.
Cloud computing is basically using servers whether they be for databases, storage, application or something else through the internet.
Cloud computing’s inherent strengths are elasticity, ability to automate infrastructure management, enhanced reliability and reduced cost.
Developing locally makes a lot more sense than deploying to a dev environment consistently because it helps save time, save some cloud costs, and avoids obvious embarrassment. 🙂
An enterprise service bus (ESB) is a software architecture that allows for the integration of enterprise applications and services.
Since an enterprise service bus is a middle layer communication tool there are a number of great features that might exist.
Aurora is part of Amazon Web Service’s Relational Database Service. Aurora is a MySQL or PostgreSQL compatible database build for the cloud.
AWS CloudWatch is a monitoring solution that’s provided by Amazon Web Services. It’s really a big service that contains a large collection of monitoring tools.
The pay per use pricing model of function as a service makes it appear to be really cheap. For a lot of workloads, it is really a lot cheaper and maybe even free. There’s a lot of costs that can quickly add up and surprise businesses.
It’s not secret that the cloud can be a lot cheaper than running hardware in our own data center. Unfortunately, a lot of AWS accounts spend a lot of money they don’t need to because of automation or things not getting shut off. In this blog post, we’ll cover some of the ways to reducing Cloud Costs in AWS.
When trying to invoke any of your lambda functions if you are getting an error that says “lambda is not a function” the problem is likely that the handler is misspelled in the serverless.yml file OR you aren’t exporting modules.exports.handler and are instead exporting something else.
The serverless default for CloudWatch Logs is to keep the logs forever. CloudWatch Logs are pretty expensive to keep around indefinitely. In the serverless.yml file, we’re able to set how long the cloudwatch logs are kept for. I recommend keeping them for at least 7 days but 30 days is probably more ideal.