Skip to content

Latest commit

 

History

History
177 lines (140 loc) · 8.38 KB

File metadata and controls

177 lines (140 loc) · 8.38 KB
# Week 0 — Billing and Architecture

Discussing the format of the boot camp?

  • This is a 14-week Boot camp from February 11 until the end week of May 2023.
  • Boot camp will be focused on using the AWS cloud technologies.
  • Each week's sessions build off each other and are connected from the first to the last sessions.
  • Organizer will provide homework for a knowledge transfer using discord, youtube live for a communication channel.
  • There are also grading and completion you will earn a digital badge from the boot camp organizer.
  • One requirement you need to Bring your Account or your free tier AWS account, the Domain name that you can access DNS record settings also be able to apply at least two subdomains from the domain name that has been purchased.
  • Done every Saturday at (noon) Toronto Time (UTC-5)
  • Sessions will be recorded and the organizer will post the link for the youtube playlist.

Going over the business use-case of our project?

  • You have been hired as a new Employee on a startup. as a cloud engineer interviewed by a co-founder, you will handle the app project using a microservice that can leverage the decoupling of components so that the app will survive in case of a disaster strike. you ask what are microservices and their benefit from your projects and the Co-Founder tells you about Agility, Easy Deployment, Technological Freedom from other providers, and also flexible scaling.
  • in the sessions organizer also quote the “Iron Triangle” that will give you the quality with proportion to Cost, Time, and Scope. that will affect the project along the way. as a project stakeholder and member.

Note the following during the kickoff meeting with the team.

  • The app is an ephemeral-first micro-blogging platform
  • fractional CTO so less collaboration -partly developed an app - always keep updating
  • how to monetize the platform
  • front end = JS using React
  • Back end
  • python using flask
  • api based only
  • budget constraint -user content upload?
  • target user college students younger students and professionals
  • need user validation
  • need to implement age limit?
  • AWS cloud technologies
  • What services need to run? for microservices it’s Containers?
  • Set up budget Monitoring
  • User Engagement for their user stories on their features request
  • Technical report due needed ASAP by investors
  • Architecture Diagram
  • Budget Allocation
  • Operational Expenses or OPEX

Looking at an architectural diagram of what we plan to build

  • first considered AWS's well-architected framework
  • Operational Excellence
  • Security Pillar
  • Reliability Pillar
  • Performance Efficiency
  • Cost Optimization
  • Sustainability

Using Lucid charts architecture diagram

Use of C4 models

  • use as an architect tool for creating a viable product 
  • Has 4 categories, System Context, Containers, Component, and Code;
  • System Context - starting points and talks about how the system will fit in the environment
  • Containers - These were the building blocks of functions of every component 
  • Component -  This is the granular components of every container 
  • Code - This is how components will be implemented 

Running the cloud services we will utilize

  • AWS Services and their free tier components and make sure we got less cost when doing this projects

Testing that we can access our AWS accounts

  • Go to this link https://signin.aws.amazon.com/
  • Login to your account, fill up the username and password
  • root account is powerful that’s why is prohibited to use if not necessary
  • best practice is to create a group and grant administrative IAM policy in that group.
  • and then create a normal or another user and include them in the administrative group.

Track spend in AWS eg. AWS Budgets, AWS Cost Explorer, Billing Alarms.

Understanding how to look at monthly billing reports.

AWS budgets

  • go to your AWS console
  • on the search bar type AWS budget awsbudget1
  • look for the AWS budget and click to go to the dashboard awsbudget2
  • in this dashboard, you can find the budget or you can click a wizard. like this name My Zero-Spend Budget
  • click and follow the wizard.

AWS Billing Alarms

  • or create your own budget setup if you click customized (advanced). budget1.png
  • in the budget types you can pick cost budget budget2
  • when you click next you can right the tag name for the billing alerts budget3
  • now you can put the allocated amount for this budget like in my setup it will cost 0.01$ budget4
  • you can go to scope options and you can choose blended. I like to have a unblended cost for this i will know who will trigger my cost in AWS budget5
  • Now you can create your own billing alerts for threshold budget6
  • the alerts threshold that will trigger by the percent you input in the threshold trigger box and you can put also your email address for the notification budget7
  • now you can review the configuration you made budget8.png
  • if everything is good. click create budget9.png
  • it will go and activate and goes to overview page or billing dashboard. budget10.png

AWS Cost Management & AWS Cost Explorer

  • in home of cost management you will see in the dashboard tbe cost report cost_management.png
  • at cost management dashboard you will see the cost explorer cost.explorer.png
  • in the dashboard you can also see the cost report cost_report1
  • you can also create a new report cost_report2.png
  • the usage and report will seen in the dashboard cost_report3.png

Launching AWS CloudShell and looking at AWS CLI

  • on the top of your AWS console you will see the first icon on the right pane. AWSCLI

  • once click in you will be greeted by the AWS CLI banner  AWSCLI1

  • and Then you can start the terminal

    awscli2

Installing AWSCLI in gitpod.io environment

  • in the gitpod enviroment loaded, you will see a terminal on the down part of the screen.
  • the terminal window is a bash terminal.
  • type this curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install
  • the first command curl is to get it from the internet and download it to your gitpod enviroment.
  • the second command will unzip it.
  • the third command will install the awscli environment. gitpad_install_in_gitpod
  • also I already installed it on my local Linux Ubuntu Machine. awscli_local

Installing momento inside gitpod terminal

Homework Challenges

  • I used wget to download the binary for linux .deb files.
  • memonthq github page momento1.png
  • then use dpkg for hadling deb files installation momento2.png
  • to verified it's been installed you can type memonto in cli momento3.png

Generating AWS credentials

  • consider the root account user already login in AWS console.
  • click on the search box and look for IAM (Identity access management).
  • IAM is a global service you will see the dashboard 
  • then create the user. you can choose the type of login:
    • programmatic 
    • AWS console sign in
  • you can create your password or auto-generated by AWS IAM
  • please be aware for the https://(accountnumber).signin.aws.amazon.com/console that IAM give for every user.