Shak.blog.notes 08/20/2024

  • tags: blog

    • Thinking Like an Architect
    • This article represents the talk, which starts by explaining the roles of an architect and the concept of connecting levels.
    • metaphors to make complex technical concepts more relatable
    • While discussing topics like high automation levels, cloud infrastructure, and DevOps can be exhilarating for technical teams, CIOs or heads of IT are more concerned about avoiding security breaches, ensuring high availability, and maintaining cost efficiency. Hohpe outlines how to bridge these perspectives: the technical innovations directly address these CIO-level priorities, but architects riding the elevator have to connect the dots between the different levels. For example, automation assures consistent patch levels, which in turn improves security.

Posted from Diigo. The rest of my favorite links are here.

Shak.blog.notes 07/30/2024

Posted from Diigo. The rest of my favorite links are here.

Shak.blog.notes 07/27/2024

  • tags: blog

    • AWS Identity and Access Management policies, permission boundaries (IAM)

       

      You control access in AWS by creating policies and attaching them to AWS identities or resources. A policy is an object in AWS that, when associated with an identity or resource, defines their permissions. AWS evaluates these policies when a principal (user or role session) makes a request. Permissions in the policies determine whether the request is allowed or denied. Most policies are stored in AWS as JSON documents. In IAM, a permissions boundary is used to set the maximum permissions that an identity-based policy can grant to an IAM entity (users or roles). An entity's permission boundary allows it to perform only the actions that are allowed by both its identity-based policies and its permission boundaries.

  • tags: blog

    • Amazon API Gateway governance in depth

Posted from Diigo. The rest of my favorite links are here.

Shak.blog.notes 05/14/2024

  • tags: blog

    • A recent attempt to fully map a mere cubic millimeter of a human brain took up 1.4 petabytes of storage just in pictures of the specimen
    • We did the back-of-napkin math on what ramping up this experiment to the entire brain would cost, and the scale is impossibly large — 1.6 zettabytes of storage costing $50 billion and spanning 140 acres, making it the largest data center on the planet.
    • The cubic millimeter of brain matter is only one-millionth of the size of an adult human brain, and yet the imaging scans and full map of its intricacies comprises 1.4 petabytes, or 1.4 million gigabytes. If someone were to utilize the Google/Harvard approach to mapping an entire human brain today, the scans would fill up 1.6 zettabytes of storage. 
    • Taking these logistics further, storing 1.6 zettabytes on the cheapest consumer hard drives (assuming $0.03 per GB) would cost a cool $48 billion, and that's without any redundancy. The $48 billion price tag does not factor in the cost of server hardware to put the drives in, networking, cooling, power, and a roof to put over this prospective data center. The roof in question will also have to be massive; assuming full server racks holding 1.8 PB, the array of racks needed to store the full imaging of a human brain would cover over 140 acres if smushed together as tightly as possible. This footprint alone, without any infrastructure, would make Google the owner of one of the top 10 largest data centers in the world, even approaching (if not reaching) the scale of Microsoft and OpenAI's planned $100 billion AI data center
  • tags: blog

    • this small sample — one-millionth of the total human brain and about 3 mm long — requires more than a million Gigabytes of data: 1.4 Petabytes. This is the largest dataset ever made of human brain structure at this resolution.

Posted from Diigo. The rest of my favorite links are here.

Shak.blog.notes 05/09/2024

  • tags: blog

    • Note taking example

       

      Imagine you heard the following in a lecture:

       

      "The United Kingdom’s population, at around sixty million, is similar to that of Italy, but Italy’s population is now shrinking because its birth rate has fallen below its death rate. The UK’s population is still growing, albeit very slowly – at a rate of 0.09% between 1995 and 2000."

         
       
       
          
       
                     
       
         
         

      Your notes could look like: 

       

      UK pop c60m ≈ I. BUT I. ↓ due BR < DR – cf. UK ↑ slow ie 0.09% 95 – 2K

Posted from Diigo. The rest of my favorite links are here.

Shak.blog.notes 05/07/2024

Posted from Diigo. The rest of my favorite links are here.

Shak.Journal 05/07/2024

Posted from Diigo. The rest of my favorite links are here.

Shak.blog.notes 05/06/2024

Posted from Diigo. The rest of my favorite links are here.

Shak.Journal 05/06/2024

Posted from Diigo. The rest of my favorite links are here.

Shak.Journal 05/05/2024

Posted from Diigo. The rest of my favorite links are here.

Shak.Journal 05/05/2024

    • Oracle Looks to AI and Microsoft Partnership to Lift Cloud Business
    • $225 price target
    • BMO Capital raised Amazon's stock price target to $220
    • Goldman Sachs raised the investment firm's price target on Amazon to $225
    • Loop Capital analyst Rob Sanderson maintained his buy rating and $215 price target on Amazon
    • Roth MKM analyst Rohit Kulkarni raised the investment firm's price target on Amazon to $210 from $205
    • How CNAME works is like pointing two domain names to the same web server. For example, assume you’ve already mapped domainA.com to your web server’s IP address. If you also want to point domainB.com to the same website server, you can set domainB.com’s CNAME to be domainA.com. As a result, by opening either domain names in your browser, you will see the same website.

Posted from Diigo. The rest of my favorite links are here.

Shak's Journal. 04/23/2024

Posted from Diigo. The rest of my favorite links are here.

Shak.Journal. 04/21/2024

    • On the concluding day, Sunday, September 15, after the grand Purnahuti, the priests will transport the Kumbhas filled with consecrated water and divine energy to the main temple in a grand procession with the vibrations of Vedic chants, and melodious rhythms of Nadaswara
    • At the auspicious muhurtham time, the Acharyas will perform the union of the sanctified water with divine energy in the kumbhas with the gopurams, vimanams, and deities by invoking the Mantra Nyasa (appropriate Vedic mantras) During this auspicious time, the Divine Energy will be transferred back from the kumbhas to the existing Deities and prana pratishtha (infusion of Divine Energy) for the new Deities. The grand event concludes with Kalyana Utsavams (celestial marriage ceremonies) for Sri Siva and Devi Parvathi in the afternoon, and Sri Padmavathi and Sri Venkateswara Swami in the evening.

Posted from Diigo. The rest of my favorite links are here.

Shak.Journal. 04/19/2024

    • The Basic Structure of an HPC AWS Cluster
    • Running CFD on AWS ParallelCluster at scale
    • AWS Service Catalog Engine for Terraform
    • The AWS Service Catalog Terraform Reference Engine (TRE) provides an example for you to configure and install a Terraform engine in your AWS Service Catalog administrator account. With the engine installed into your account, you can use Service Catalog as a single tool to organize, govern, and distribute your Terraform configurations within AWS.
    • Automatically Install the Terraform Reference Engine
    • Manually Install the Terraform Reference Engine

Posted from Diigo. The rest of my favorite links are here.

diigo.to.shak.blogspot.dailiy. 04/05/2024

Posted from Diigo. The rest of my favorite links are here.

diigo.to.shak.blogspot.dailiy. 04/04/2024

Posted from Diigo. The rest of my favorite links are here.

diigo.to.shak.blogspot.dailiy. 04/01/2024

    • The terraform get command is used to download and update modules mentioned in the root module.
      • LSP-jdtls

          

        This is a helper package that manages and downloads the Eclipse JDT language server for you.

          

        To use this package, you must have:

          
           
        • The LSP package.
        •  
        • A Java SDK (>= 17).
        •  
        • It's recommended to have JAVA_HOME defined in your environment variables. Otherwise, specify java.home in the plugin settings.
    • The way LSP for Sublime Text works is that you need to install the LSP Package through package control, and then install language-specific LSPs for the languages you want to have LSP support. You can see the list of Language Servers in the official documentation, which gives specific instructions for installing the language's LSP.
    • Some backends allow providing access credentials directly as part of the configuration for use in unusual situations, for pragmatic reasons. However, in normal use, we do not recommend including access credentials as part of the backend configuration. Instead, leave those arguments completely unset and provide credentials using the credentials files or environment variables that are conventional for the target system, as described in the documentation for each backend.

Posted from Diigo. The rest of my favorite links are here.

diigo.to.shak.blogspot.dailiy. 03/31/2024

    • Follow these steps to set up a Remote Desktop Protocol (RDP) connection from your local machine to an   Amazon Linux 2 instance running the MATE desktop environment.
    • Reconnect to the instance and run the following command on your Linux instance   to set the password for ec2-user.
    • First, start the xrdp service. You should be able to connect an RDP client to the host on the default RDP port (3389). If successful, you will be greeted with the xrdp session manager window which allows you to choose between Xorg or Xvnc sessions and provides inputs for user authentication. The session manager UI can be highly customized by modifying /etc/xrdp/xrdp.ini

      The parameters used to start Xorg and Xvnc display servers can be configured in /etc/xrdp/sesman.ini

      After successfully starting a display server, xrdp will execute /etc/xrdp/startwm.sh by default. This script is meant to start a window manager (similar to .xinitrc) and will read from ~/.xinitrc or /etc/X11/xinit/xinitrc if they exist. It is recommended to edit ~/.xinitrc to start your desktop environment or window manager, but you can also edit /etc/xrdp/startwm.sh

      If you just close the session window and RDP connection, you can access the same session again next time you connect with RDP. When you exit the window manager or desktop environment from the session window, the session will close and a new session will be opened the next time.

    • The required_providers block must be nested inside the top-level terraform block (which can also contain other settings).
    • Each module should at least declare the minimum provider version it is known to work with, using the >= version constraint syntax:
    • If you created a password for your user account when you created your VM, skip this step. If you only use SSH key authentication and don't have a local account password set, specify a password before you use xrdp to log in to your VM. xrdp can't accept SSH keys for authentication. The following example specifies a password for the user account azureuser:
    • Specifying a password does not update your SSHD configuration to permit password logins if it currently does not. From a security perspective, you may wish to connect to your VM with an SSH tunnel using key-based authentication and then connect to xrdp.

Posted from Diigo. The rest of my favorite links are here.

diigo.to.shak.blogspot.dailiy. 03/29/2024

    • In this example, I have used the AWS S3 bucket as the remote backend.
    • When we look at the contents of the Terraform state S3 bucket, apart from our default terraform.tfstate file, we can see that a new directory named “env:/” is created, within which another directory with the name of our workspace (test_workspace) is created. A new terraform.tfstate file is maintained at this location.
    • Looking closely, the size of the default state file is considerably larger than that of the custom workspace-specific state file. This shows that the new state file is created, but it does not hold any information from the default state file. This is how Terraform creates an isolated environment and maintains its state file differently.

       

      The contents of the test_workspace state file before running terraform apply are shown below:

      • When you practice infrastructure-as-code (IaC), e.g., using terraform, there are 3 types of “infrastructure state”

        • infrastructure state described by the terraform DSL (Domain Specific-Language) configuration files”: This is the outcome of a devops codifying the infrastructure in a bunch of files
        • actual infrastructure state”: This is the actual infrastructure, which is the result of using terraform to deploy the infrastructure codified in the “terraform DSL configuration files” from the previous step
        • terraform state file”: This an artifact generated by the terraform deployment. It holds information that is otherwise not available anywhere else; it maps the infrastructure components codified in the “terraform DSL configuration files” to the actual manifested infrastructure components. This is usually stored in central store, e.g., AWS S3, etc., accessible to all terraform users so that everyone sees the same state, and it can be locked to prevent simultaneous changes, to avoid state corruption.
    • Comparing ‘terraform plan/apply -refresh-only (refresh)’, ‘terraform plan’, ‘terraform apply’ and their impact
    • ~>: Allows only the rightmost version component to increment. For example, to allow new patch releases within a specific minor release, use the full version number: ~> 1.0.4 will allow installation of 1.0.5 and 1.0.10 but not 1.1.0

Posted from Diigo. The rest of my favorite links are here.

diigo.to.shak.blogspot.dailiy. 03/27/2024

Posted from Diigo. The rest of my favorite links are here.

diigo.to.shak.blogspot.dailiy. 03/26/2024

    • Note that even when TF_LOG_PATH is set, TF_LOG must be set in order for any logging to be enabled.
      • For all terraform commands that involves states, e.g., plan, apply, refresh (deprecated and is now '-refresh-only'), it is useful to think about it in terms of 2 things:

         
           
        • The authoritative state
        •  
        • The states being compared Note that the 'authoritative state' is NEVER changed as a result of the command.
        •  
         

        There are 3 types of 'state' (loosely):

         
           
        • Actual state of your infra (actual-state)
        •  
        • terraform state file (tf-state-file)
        •  
        • State described by terraform code config (tf-dsl-config)
        •  
         

        When you do terraform plan/apply WITH -refresh-only:

         
           
        • The authoritative state is 'actual-state'
        •  
        • The states being compared in 'terraform plan -refresh-only' is 'actual-state' vs. 'tf-state-file'
        •  
        • The outcome of 'terraform apply -refresh-only' is 'tf-state-file' is synced to become 'actual-state'
        •  
         

        When you do terraform plan/apply WITHOUT -refresh-only:

         
           
        • The authoritative state is 'tf-dsl-config'
        •  
        • The states being compared in 'terraform plan' is 'tf-dsl-config' vs. 'actual-state'
        •  
        • The outcome of 'terraform apply' is 'actual-state' is synced to become 'tf-dsl-config'
        •  
         

        For more details of what authoritative states are, and what states are being compared for various terraform commands see:

Posted from Diigo. The rest of my favorite links are here.

diigo.to.shak.blogspot.dailiy. 03/25/2024

Posted from Diigo. The rest of my favorite links are here.

diigo.to.shak.blogspot.dailiy. 03/23/2024

Posted from Diigo. The rest of my favorite links are here.

diigo.to.shak.blogspot.dailiy. 03/22/2024

Posted from Diigo. The rest of my favorite links are here.

diigo.to.shak.blogspot.dailiy. 03/20/2024

Posted from Diigo. The rest of my favorite links are here.

diigo.to.shak.blogspot.dailiy. 03/12/2024

    • Ansible, Chef and Puppet are configuration management tools which means they are primarily designed to install and manage software on existing server
    • In Terraform there are certain providers that are either "Hashicorp Maintained" (AWS, Azure etc.) or "Non-Hashicorp Maintained". Below is best practice syntax for establishing providers in your Terraform, notice how there are two blocks, one for what providers are required and another for each provider specific config.
    • Terraform Variables Basics
    • Local Values
      Local values assign a name to an expression, allowing it to be used multiple times within a module without repeating it.
    • Load Order and File Structure
    • Dynamic Blocks
    • Notice how we define the iterator as port now instead of being ingress.value it is port.value. This can make dynamic blocks easier to read and understand.
    • What if you want multiple different dynamic values in one dynamic block?
    • Variables and Terraform Modules
    • Terraform Remote Backend
    • With one shared state file every time an apply is done the state file is locked so two apply processes can not be run at the same time.
      Using a remote backend for state files is the recommended process for collaborative environments. Nearly all businesses using Terraform use remote backend for state files. 
    • Setting up Easy DKIM  for a verified domain identity
      • The message must have a valid DKIM signature and passes the DKIM check.

         
      •  

        The domain specified in the DKIM signature must align (match) with the domain  in the From address.     If the domain's DMARC policy specifies strict alignment for DKIM, these domains  must match exactly (SES uses a strict DKIM policy by default).

    • Complying with DMARC through  DKIM

Posted from Diigo. The rest of my favorite links are here.