Developer Tharun

Developer Tharun

By Tharun ShivTechnology
Download on the App Store

Developer Tharun episodes

  • How a Site Reliability Engineer maintains the infrastructure? SRE | Tharun Shiv
    Site reliability engineering

    Site Reliability Engineering, also popularly referred to as the SRE, is a role in Computer Science Engineering where the main purpose is to provision, maintain, monitor, and manage the infrastructure in order to provide maximum application uptime and reliability. SRE is an emerging role, but the tasks that the SRE does were always there ever since the first application that was developed. The scope of the software developers ends where they write code to develop the application and right from setting up the infrastructure, the various services that run on them, the network connectivity that is required, providing a platform for the application to run and making sure every part of the application is up and running reliably 24x7 is the duty of an SRE. In fact, we can consider Site Reliability Engineers are the strong bridge between the users and a reliable application.

    Now, in order to explain the different responsibilities of an SRE, I have divided it into 4 different categories. I have always seen SRE this way, and definitely not as some ad-hoc process. The four categories in which I would classify the tasks of a Site Reliability Engineer are:

    1. Create
    2. Monitor
    3. Manage
    4. Destroy
    5. Let's dive deep into each one of them.

      Create
      1. Provision virtual machines / PXE Baremetals

      SREs are responsible for provisioning the virtual machines with the requested resources in terms of CPU, memory, disks, network configurations, and operating system. They are also responsible to be rack aware during provisioning. Example operating systems involve Linux Ubuntu, CentOS, Windows.

      2. Setup services

      Example technologies involve NGINX, Apache, RabbitMQ, Kafka, Hadoop, Traefik, MySQL, PostgreSQL, Aerospike, MongoDB, Redis, MinIO, Kubernetes, Apache Mesos, Marathon, MariaDB, Galera.

      3. Optimize the infrastructure

      Since there are several components and services that are being used in the infrastructure, there is a scope for improvements in terms of performance, efficiency, and security. The SRE optimizes the components by keeping them up to date, choosing the right service for the right job, patching the servers.

      4. Write monitoring scripts

      When the SRE are involved in maintaining an infrastructure of any size, they never underestimate any component of the infrastructure and write a monitoring script to monitor the components and metrics of each and every one of them. This provides the ability to get real-time alerts on any of the components malfunctioning and also a better view of the infrastructure. The SRE uses programming languages like Bash, Python, Golang, Perl, and tools like daemon processes, Riemann, InfluxDB, OpenTSDB, Kafka, Grafana, Prometheus, and APIs to monitor the infrastructure

      5. Write automation scripts

      If there are more than 10 steps to be performed and chances are that the task has to be performed more than once, the SRE never hesitate to automate the task. This saves time and also prevents human error. The SRE uses programming languages like Bash, Python, Golang, Perl, Ansible to automate the tasks.

      6. Manage users on the machines
      6 min
    6. How a Site Reliability Engineer monitors the infrastructure? SRE | Tharun Shiv
      Site reliability engineering

      Site Reliability Engineering, also popularly referred to as the SRE, is a role in Computer Science Engineering where the main purpose is to provision, maintain, monitor, and manage the infrastructure in order to provide maximum application uptime and reliability. SRE is an emerging role, but the tasks that the SRE does were always there ever since the first application that was developed. The scope of the software developers ends where they write code to develop the application and right from setting up the infrastructure, the various services that run on them, the network connectivity that is required, providing a platform for the application to run and making sure every part of the application is up and running reliably 24x7 is the duty of an SRE. In fact, we can consider Site Reliability Engineers are the strong bridge between the users and a reliable application.

      Now, in order to explain the different responsibilities of an SRE, I have divided it into 4 different categories. I have always seen SRE this way, and definitely not as some ad-hoc process. The four categories in which I would classify the tasks of a Site Reliability Engineer are:

      1. Create
      2. Monitor
      3. Manage
      4. Destroy
      5. Let's dive deep into each one of them.

        Create
        1. Provision virtual machines / PXE Baremetals

        SREs are responsible for provisioning the virtual machines with the requested resources in terms of CPU, memory, disks, network configurations, and operating system. They are also responsible to be rack aware during provisioning. Example operating systems involve Linux Ubuntu, CentOS, Windows.

        2. Setup services

        Example technologies involve NGINX, Apache, RabbitMQ, Kafka, Hadoop, Traefik, MySQL, PostgreSQL, Aerospike, MongoDB, Redis, MinIO, Kubernetes, Apache Mesos, Marathon, MariaDB, Galera.

        3. Optimize the infrastructure

        Since there are several components and services that are being used in the infrastructure, there is a scope for improvements in terms of performance, efficiency, and security. The SRE optimizes the components by keeping them up to date, choosing the right service for the right job, patching the servers.

        4. Write monitoring scripts

        When the SRE are involved in maintaining an infrastructure of any size, they never underestimate any component of the infrastructure and write a monitoring script to monitor the components and metrics of each and every one of them. This provides the ability to get real-time alerts on any of the components malfunctioning and also a better view of the infrastructure. The SRE uses programming languages like Bash, Python, Golang, Perl, and tools like daemon processes, Riemann, InfluxDB, OpenTSDB, Kafka, Grafana, Prometheus, and APIs to monitor the infrastructure

        5. Write automation scripts

        If there are more than 10 steps to be performed and chances are that the task has to be performed more than once, the SRE never hesitate to automate the task. This saves time and also prevents human error. The SRE uses programming languages like Bash, Python, Golang, Perl, Ansible to automate the tasks.

        6. Manage users on the machines
        8 min
      6. How a Site Reliability Engineer is a Creator of the infrastructure? SRE | Tharun Shiv
        Site reliability engineering

        Site Reliability Engineering, also popularly referred to as the SRE, is a role in Computer Science Engineering where the main purpose is to provision, maintain, monitor, and manage the infrastructure in order to provide maximum application uptime and reliability. SRE is an emerging role, but the tasks that the SRE does were always there ever since the first application that was developed. The scope of the software developers ends where they write code to develop the application and right from setting up the infrastructure, the various services that run on them, the network connectivity that is required, providing a platform for the application to run and making sure every part of the application is up and running reliably 24x7 is the duty of an SRE. In fact, we can consider Site Reliability Engineers are the strong bridge between the users and a reliable application.

        Now, in order to explain the different responsibilities of an SRE, I have divided it into 4 different categories. I have always seen SRE this way, and definitely not as some ad-hoc process. The four categories in which I would classify the tasks of a Site Reliability Engineer are:

        1. Create
        2. Monitor
        3. Manage
        4. Destroy
        5. Let's dive deep into each one of them.

          Create
          1. Provision virtual machines / PXE Baremetals

          SREs are responsible for provisioning the virtual machines with the requested resources in terms of CPU, memory, disks, network configurations, and operating system. They are also responsible to be rack aware during provisioning. Example operating systems involve Linux Ubuntu, CentOS, Windows.

          2. Setup services

          Example technologies involve NGINX, Apache, RabbitMQ, Kafka, Hadoop, Traefik, MySQL, PostgreSQL, Aerospike, MongoDB, Redis, MinIO, Kubernetes, Apache Mesos, Marathon, MariaDB, Galera.

          3. Optimize the infrastructure

          Since there are several components and services that are being used in the infrastructure, there is a scope for improvements in terms of performance, efficiency, and security. The SRE optimizes the components by keeping them up to date, choosing the right service for the right job, patching the servers.

          4. Write monitoring scripts

          When the SRE are involved in maintaining an infrastructure of any size, they never underestimate any component of the infrastructure and write a monitoring script to monitor the components and metrics of each and every one of them. This provides the ability to get real-time alerts on any of the components malfunctioning and also a better view of the infrastructure. The SRE uses programming languages like Bash, Python, Golang, Perl, and tools like daemon processes, Riemann, InfluxDB, OpenTSDB, Kafka, Grafana, Prometheus, and APIs to monitor the infrastructure

          5. Write automation scripts

          If there are more than 10 steps to be performed and chances are that the task has to be performed more than once, the SRE never hesitate to automate the task. This saves time and also prevents human error. The SRE uses programming languages like Bash, Python, Golang, Perl, Ansible to automate the tasks.

          6. Manage users on the machines



          6 min
        6. 18 ways to attack a Vault Server | Hashicorp Vault Server hardening | Production hardening | Secure a Linux server | Site reliability engineering | Tharun Shiv

          Hey there! Follow the podcast if you like the episode

          This is Tharun. In the Developer Tharun Podcast, I speak about Software Engineering

          Thank you for Listening

          In this Episode
          1. Ways in which you can secure your vault server
          2. Hashicorp Vault is a secrets management engine
          3. And more...

            Thank you for listening to my Podcast. Follow my podcast if you find it helpful. Check out my other episodes. I talk about programming & software engineering.
            YouTube: https://youtube.com/c/developerTharun
            Blog Article on: https://tharunshiv.com
            Instagram: @developerTharun
            Dev.to: https://dev.to/developertharun
            Udemy: https://www.udemy.com/user/tharun-shiv/
            LinkedIn: https://linkedin.com/in/tharunshiv
            32 min
          4. #2 How does WhatsApp encrypt end to end backups - Part 2 | A system perspective | Cryptography | Tharun Shiv | About encryption & Decryption

            link to the previous episode: https://anchor.fm/developertharun/episodes/1-How-does-WhatsApp-encrypt-end-to-end-backups---Part-1--A-system-perspective--Cryptography--Tharun-Shiv--About-encryption--Decryption-e1cgt6j

            Hey there! Follow the podcast if you like the episode

            This is Tharun. In the Developer Tharun Podcast, I speak about Software Engineering

            Thank you for Listening

            In this Episode
            1. How whatsapp encrypts backups safely
            2. Encryption and decryption
            3. And more...

              Thank you for listening to my Podcast. Follow my podcast if you find it helpful. Check out my other episodes. I talk about programming & software engineering.
              YouTube: https://youtube.com/c/developerTharun
              Blog Article on: https://tharunshiv.com
              Instagram: @developerTharun
              Dev.to: https://dev.to/developertharun
              Udemy: https://www.udemy.com/user/tharun-shiv/
              LinkedIn: https://linkedin.com/in/tharunshiv
              26 min
            4. #1 How does WhatsApp encrypt end to end backups - Part 1 | A system perspective | Cryptography | Tharun Shiv | About encryption & Decryption

              Hey there! Follow the podcast if you like the episode

              This is Tharun. In the Developer Tharun Podcast, I speak about Software Engineering

              Thank you for Listening

              In this Episode
              1. How whatsapp encrypts backups safely
              2. Encryption and decryption
              3. And more...

                Thank you for listening to my Podcast. Follow my podcast if you find it helpful. Check out my other episodes. I talk about programming & software engineering.
                YouTube: https://youtube.com/c/developerTharun
                Blog Article on: https://tharunshiv.com
                Instagram: @developerTharun
                Dev.to: https://dev.to/developertharun
                Udemy: https://www.udemy.com/user/tharun-shiv/
                LinkedIn: https://linkedin.com/in/tharunshiv
                10 min
              4. What is Site Reliability Engineering [ SRE ] | How to think like an SRE | Responsibilities of an SRE | SRE vs System Admin vs DevOps

                Hey there! Follow the podcast if you like the episode

                This is Tharun. In the Developer Tharun Podcast, I speak about Software Engineering

                Thank you for Listening

                In this Episode
                1. Site reliability engineering
                2. The 4 aspects of Site Reliability Engineering according to me
                3. And more...

                  Thank you for listening to my Podcast. Follow my podcast if you find it helpful. Check out my other episodes. I talk about programming & software engineering.
                  YouTube: https://youtube.com/c/developerTharun
                  Blog Article on: https://tharunshiv.com
                  Instagram: @developerTharun
                  Dev.to: https://dev.to/developertharun
                  Udemy: https://www.udemy.com/user/tharun-shiv/
                  LinkedIn: https://linkedin.com/in/tharunshiv
                  24 min
                4. Hashicorp Vault | Dev and Prod server setup | Unseal | Policies | TLS setup | Developer Tharun

                  Hey there! Follow the podcast if you like the episode

                  This is Tharun. In the Developer Tharun Podcast, I speak about Software Engineering

                  Thank you for Listening

                  In this Episode
                  1. Vault server setup flow
                  2. What is seal/unseal of Vault server?
                  3. Policies
                  4. Difference between server in Dev mode & Prod mode
                  5. And more...

                    Vault stores data in encrypted format. The encryption key that is being used to encrypt/decrypt the data is also stored along with rest of the data in the keyring. When a Vault server starts, it knows where the data resides through the configuration that we provide Vault with but doesn't know how to decrypt the encryption key that is present in the keyring along with the Vault encrypted data.

                    Here comes the master key that is used to decrypt the encryption key which is also present alongside all other Vault data. This master key is also encrypted and we need a special key that can decrypt the master key, this key is known as Unseal key.

                    The Unseal key is generated during the init process using an algorithm known as 'Shamir's secret sharing', where the unseal key is split into certain number of unseal keys 'X' and every time we want to unseal the Vault server we will need a certain number of unseal keys 'Y' and these 'X' and 'Y' values can be decided by the Vault architect when initializing the Vault server.

                    The main intention of creating several unseal keys is to distribute these unseal keys among several stakeholders such that, a minimum number of stake holders are needed to unseal the server or perform major operations on the server.

                    What are policies?

                    Policies help you create rules that define access to various secrets. We can create policies that allow certain level access like create access, update access, read access, delete access and so on. We then assign this policy to a particular authentication mechanism of a user. This user will have only those access mentioned in the policies attached to his credentials. This way, Vault makes sure that we provide minimal and only necessary access to Vault stakeholders.

                    Thank you for listening to my Podcast. Follow my podcast if you find it helpful. Check out my other episodes. I talk about programming & software engineering.
                    YouTube: https://youtube.com/c/developerTharun
                    Blog Article on: https://tharunshiv.com
                    Instagram: @developerTharun
                    Dev.to: https://dev.to/developertharun
                    Udemy: https://www.udemy.com/user/tharun-shiv/
                    LinkedIn: https://linkedin.com/in/tharunshiv
                    12 min
                  6. Hashicorp Vault | What & Why? | All you need to know about Vault | Secrets management

                    Hey there! Follow the podcast if you like the episode

                    This is Tharun. In the Developer Tharun Podcast, I speak about Software Engineering

                    Thank you for Listening

                    In this Episode
                    1. What is Hashicorp Vault?
                    2. What are the problems around secrets management?
                    3. What problems does it solve?
                    4. Features of Hashicorp Vault
                    5. And more...

                      Thank you for listening to my Podcast. Follow my podcast if you find it helpful. Check out my other episodes. I talk about programming & software engineering.
                      YouTube: https://youtube.com/c/developerTharun
                      Blog Article on: https://tharunshiv.com
                      Instagram: @developerTharun
                      Dev.to: https://dev.to/developertharun
                      Udemy: https://www.udemy.com/user/tharun-shiv/
                      LinkedIn: https://linkedin.com/in/tharunshiv
                      10 min

                    About Developer Tharun

                    From the publisher's feed

                    A one-stop podcast destination to know about Programming and how to excel in it! I will be sharing about Programming, Web development, freelancing and mainly my experience on it. Make sure to Subscribe to the podcast on Spotify/Google Podcasts or on any platform you're listening to.