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.
An architectural diagram is a visual representation of all components of a system and the relationship between them.
These are a few different kinds of architectural diagrams:
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.”
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.
My Lucid Chart is available here
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 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
, ChooseReceive PDF Invoice By Email
>Receive Free Tier Usage Alerts
- Provide email address
- Check
Receive Billing Alerts
Save Preferences
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
ChooseAll Alarms
Create alarm
>Metric
>Billing
>Service
- Under
Total Estimated Charges
ChooseUSD
- 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
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.
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 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.