Choosing an AWS Database Service

Databases on AWS💾

Databases are purpose-built on AWS, which means that each AWS database service is built for a specific use case or set of use cases. Using a database that is a best fitfor the use case can save a lot of time in development hours. In the past, it was common to use relational databases for everything because they were the most commonly operated database on premises. With AWS, you can run different types of databases more easily without managing the infrastructure yourself. This can lead to making decisions that are more aligned with the use case and aren’t limited to in-house skill for database administration.


🧩AWS Cloud Databases

Amazon Aurora is a fully managed relational database engine that is compatible with MySQL and PostgreSQL. You can use the code, tools and applications for your existing MySQL and PostgreSQL databases with Aurora.

Aurora includes a high-performance storage subsystem. It is MySQL-compatible and PostgreSQL-compatible database engines are customized to take advantage of that fast,
distributed storage. The underlying storage grows automatically as needed. An Aurora cluster volume can grow to a maximum size of 128 tebibytes (TiB). Aurora also automates and standardizes database clustering and replication, which are typically among the most challenging aspects of database configuration and administration.

Aurora is part of the managed database service Amazon Relational Database Service (Amazon RDS).Amazon RDS is a web service that makes it easier to set up, operate, and scale a relational database in the cloud.


Amazon DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability. By using DynamoDB, you can offload the administrative burdens of operating and scaling a distributed database so that you can reduce your need to handle hardware provisioning, setup and configuration, replication, software patching, or cluster scaling. DynamoDB also offers encryption at rest, which reduces your operational burden and the complexity involved in protecting sensitive data.

Read More

Understanding Serverless Architecture with AWS Lambda

AWS Lambda is a compute service that provides serverless compute functions that run in response to events or triggers. When an event or trigger is detected, a lambda function is spun up in a secure and isolated runtime environment, which is called execution environment.

Traditionally applications run on servers , these servers can be physical (or bare metal). They can also be virtual environments that run on top of physical servers. However you must purchase and provision all these type of servers and you must also manage their capacity.

In contrast, you can run your code on AWS Lambda without needing to pre-allocate servers , with lambda you only need to provide the code and define a triger. The lambda function can run when it is needed, whether it is once per week or hundreds of times per second, you only pay for what you use.


⚙️ Lambda In Use

The image above demonstrates how to trigger a lambda function when a file is uploaded to an S3 bucket. The file will be loaded into an Amazon Dynamo DB table then the dat will be available for you to view on a dashboard page that retrieves the data directly from DynamboDB. This is a typical example of a serverless solution that automatically scales when it is used. It also incurs little cost when it is in use and no cost is incurred when it is idle. When you use Lambda, you are responsible only for your code, which can make it easier to optimize for operational efficiency and low operational overhead. Lambda manages the compute fleet, which offers a balance ofmemory, CPU, network, and other resources to run your code. Because Lambda manages these resources, you can’t log in to compute instances or customize the operating system on the provided runtimes. Lambda performs operational and administrative activities on your behalf, including managing capacity, monitoring, and logging your Lambdafunctions.


Read More

🤷🏽‍♂️What is Cloud Computing??☁️

Imagine a world where all your photos, files, and software do not need to live on a single device. Instead, they float in a space called the cloud, accessible from any internet-connected device.
Sounds futuristic? What if I told you it is the world we are presently living in — the world of cloud computing!


📌 What Exactly is Cloud Computing?

In simple words, cloud computing is the delivery of computing/IT resources over the internet.

While there are several ways to define cloud computing, it all comes down to these five key aspects:

  • Networking
  • Data Management
  • Storage
  • Services
  • Devices

At its core, cloud computing is the delivery of the above and more over the internet.
Instead of owning and managing physical servers, companies rent flexible resources from cloud providers like:

  • Amazon Web Services (AWS)
  • Microsoft Azure
  • Google Cloud Platform (GCP)

⚙️ Cloud Computing Models

The dynamic effects of cloud adoption are already playing out and are most evident in the three wide-ranging and common cloud computing models:

1. Software-as-a-Service (SaaS)

  • Benefits the end user.

2. Platform-as-a-Service (PaaS)

  • Assists developers and service integration.

3. Infrastructure-as-a-Service (IaaS)

  • Aids system administrators.

📐 Imagine a three-tiered pyramid:

  • IaaS sits at the base,
  • PaaS in the middle,
  • and SaaS at the top.

Read More