Skip to content

Latest commit

 

History

History
89 lines (51 loc) · 6.04 KB

File metadata and controls

89 lines (51 loc) · 6.04 KB

Week 0 — Billing and Architecture

Introduction

Cruddur, an ephemeral new micro-blogging platform, allows users to post updates and photos that automatically expire after some time. This ensures a user's personal information stays relevant and in the moment without worrying about any privacy concerns.

The company has successfully secured funding for demoing the mock web application to investors. Now, it’s time to get Cruddur to the market by making it production ready at scale.

Cruddur is a microservice-based application. In this bootcamp, we shall run all our services on AWS. AWS is a cloud service provider. One of our goals in the bootcamp is to minimize cost associated with running services on AWS for as low as possible.

To get started with week 0 homework, I drew a conceptual and logical diagrams to illustrate the needs of our application.

Architectural Diagrams

An architectural diagram is a visual representation of all components of a system and the relationship between them.

Types of Architectural Diagrams

These are a few different kinds of architectural diagrams:

1. Conceptual Architecture Diagram:

It is a pictorial diagram that depicts the relationships of significant components of a system by using blocks, lines, or arrows that are easily understood. It is also known as a “Napkin Design.”

aws3

2. Logical Architecture Diagram:

In software development, a logical architecture diagram guides the research and development of software. The purpose of a logical architecture diagram is to describe the functionality and behaviour of the future system as it should operate while in service.

Screenshot_20230219_064915

My Lucid Chart is available here

3. Physical Architecture Diagram:

this is a physical layout of the system and its components.

It is needful to mention that as a prerequisite for this Bootcamp, I had set up an AWS IAM user, multifactor authentication (MFA), assigned the IAM user a role, granted the IAM user access to billing and cost console, and, also set up a Gitpod account.

AWS Billing Alerts

AWS Billing Alerts is a way of monitoring estimated charges for your AWS account. You can do this by enabling Billing Alerts in your Root User account or an IAM user account that has permission to view billing information. Billing Alerts only gets triggered when your account billing exceeds your threshold. A threshold is a specified percentage of your billing cost set to alert when exceeded. US East (N. Virginia) Region represents AWS global charges.

Sign into the AWS Billing Console as a Root user to set up Billing Alerts.

  • Under Billing Preferences, Choose Receive PDF Invoice By Email > Receive Free Tier Usage Alerts
  • Provide email address
  • Check Receive Billing Alerts
  • Save Preferences

aws bootcamp 1

Create a Billing Alarm on CloudWatch

CloudWatch is a service in AWS that collects, monitors, and graphically displays all your logs, event and metric data.

To create a Billing Alarm I opened CloudWatch Console

  • Under Alarms Choose All Alarms
  • Create alarm > Metric > Billing > Service
  • Under Total Estimated Charges Choose USD
  • Select Metric Next, I named the billing alarm as "AWS Bootcamp Billing Alert" and set the Threshold value to $10. See Amazon CloudWatch to complete the steps.

Furthermore, AWS charges $0.0 for the first 10 alarm metrics, after which you may pay up to $0.30 per instance per month. See the CloudWatch Pricing Documentation

AWS3

Create AWS Budget

With AWS Budget, you can set up a custom budget to monitor your spending and get alerts if your actual cost exceeds your budgeted cost. An actual cost refers to the real, current cost of using AWS services, as reported by AWS. It includes all the charges incurred for using the services, such as instance usage, storage, data transfer, and other applicable fees. Budgeted cost refers to the estimated cost that you have set for using AWS services for a given period to monitor your spending and avoid any unexpected expenses.

I created two Budgets. One for actual dollar spend and the other for Credit spend.

You can achieved this using either AWS CLI or the console. I practised both methods. The "Example Tag Budget" was created using AWS CLI, while "My Zero-Spend Budget" was created using AWS Console.

AWS provides two free budgets for Free tier accounts and if you surpass the free budgets, you will incur charges.

aws4

Enable Cost Explorer

AWS Cost Explorer provides reports, analytics and visualization capabilities that helps track and manage AWS costs. It took few hours for my services cost and usage data to pop up after enabling Cost Explorer for the first time.

AWS Cloudshell

AWS Cloudshell is a browser-based shell that gives you command-line access to your AWS resources in the selected AWS region. I spin up Cloudshell and validated it by running aws. Then, aws --cli-auto-prompt for auto-command prompt and aws sts get-caller-identity to print my AWS identity.