<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Vishesh Gubrani</title>
    <description>The latest articles on DEV Community by Vishesh Gubrani (@visheshgubrani).</description>
    <link>https://dev.to/visheshgubrani</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1145334%2F406ba8cc-566a-4b51-ad02-fda92f236030.jpeg</url>
      <title>DEV Community: Vishesh Gubrani</title>
      <link>https://dev.to/visheshgubrani</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/visheshgubrani"/>
    <language>en</language>
    <item>
      <title>Getting Started with Git and GitHub: A Beginner's Guide</title>
      <dc:creator>Vishesh Gubrani</dc:creator>
      <pubDate>Fri, 24 Nov 2023 06:02:40 +0000</pubDate>
      <link>https://dev.to/visheshgubrani/getting-started-with-git-and-github-a-beginners-guide-3ad0</link>
      <guid>https://dev.to/visheshgubrani/getting-started-with-git-and-github-a-beginners-guide-3ad0</guid>
      <description>&lt;p&gt;What is Git and why do we need it? Git is a software that tracks the changes you make to your files over time. It allows you to create different versions of your files, called commits, and switch between them whenever you want. It also lets you create branches, which are separate copies of your files that you can modify independently and then merge with the main branch. This way, you can experiment with new ideas without affecting the original code.&lt;/p&gt;

&lt;p&gt;Git is very useful for developers who work on large or complex projects, as it helps them organize their code, avoid conflicts, and undo mistakes. Git also makes it easy to collaborate with other developers, as you can share your code through remote repositories, which are online copies of your files hosted on a server. You can push your changes to a remote repository, or pull changes from it, to keep your code in sync with others.&lt;/p&gt;

&lt;p&gt;What is GitHub and how does it work with Git? GitHub is a website that provides hosting services for Git repositories. It also offers many tools and features that enhance the functionality of Git, such as issue tracking, code review, pull requests, wikis, and more. GitHub is one of the most popular platforms for open-source projects, where developers can contribute to existing projects or create their own.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting Up Git on Windows and Unix-based Systems
&lt;/h2&gt;

&lt;p&gt;Before we jump into the exciting world of Git and GitHub, let's start with the foundational steps of setting up Git on your system. Follow these steps to get started:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Installing Git&lt;/strong&gt;: If you haven't already, download and install Git for your operating system from the official Git website. The installation process is straightforward and user-friendly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Configuring Your Identity&lt;/strong&gt;: After installing Git, open your terminal (Windows users can use Git Bash, PowerShell, or Command Prompt) and run the following commands to set your name and email address. This information will be associated with your commits.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git config --global user.name "Your Name"&lt;/code&gt;&lt;br&gt;
&lt;code&gt;git config --global user.email "yourname@example.com"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Why are we running these commands? This helps in attributing commits to the correct author and is essential for collaboration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setting the Default Branch Name&lt;/strong&gt;: The third setting you need to configure is the default branch name for your repositories. A branch is a parallel version of your files that you can create and switch between. The main branch is the default branch that contains the most stable version of your code. In older versions of Git, the main branch was called “master”, but this name has been changed to “main” in newer versions. To set the default branch name to “main”, type and execute this command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git config --global init.defaultBranch main&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Disabling Pull Rebase by Default: To prevent unexpected rebase behavior, especially for newcomers, it's a good idea to disable pull rebases by default:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git config --global pull.rebase false&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Why do we run this command? Pulling with rebase can sometimes rewrite commit history, which might be confusing for beginners. Disabling it ensures a linear and easier-to-understand history.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verify Your Configuration&lt;/strong&gt;: To verify that your identity is correctly configured, run the following commands:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git config --get user.name&lt;/code&gt;&lt;br&gt;
&lt;code&gt;git config --get user.email&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Make sure that the displayed information matches your name and email.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting Up SSH Key for GitHub
&lt;/h2&gt;

&lt;p&gt;Securing your communication with GitHub is crucial when working with remote repositories. SSH keys provide a secure way to authenticate yourself. Follow these steps to set up your SSH key:&lt;/p&gt;

&lt;p&gt;Checking for Existing SSH Key: Let's start by checking if you already have an Ed25519 algorithm SSH key installed. Run this command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;ls ~/.ssh/id_ed25519.pub&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If you see a message like "No such file or directory," you'll need to create an SSH key.&lt;/p&gt;

&lt;p&gt;Generating an SSH Key: To generate your SSH key, use the following command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;ssh-keygen -t ed25519 -C "yourname@example.com"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Follow the prompts and provide a secure passphrase for your key when prompted.&lt;/p&gt;

&lt;p&gt;Linking Your SSH Key with GitHub: After generating your SSH key, you need to link it with your GitHub account. Run this command to display your public key:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;cat ~/.ssh/id_ed25519.pub&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Copy the entire output.&lt;/p&gt;

&lt;h2&gt;
  
  
  Adding the SSH Key to GitHub:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Log in to your GitHub account.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on your profile picture in the top-right corner, and go to "Settings."&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the left sidebar, select "SSH and GPG keys."&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on the "New SSH key" button.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Paste the copied SSH key into the "Key" field and provide a recognizable title.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click "Add SSH key."&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Testing Your SSH Key
&lt;/h2&gt;

&lt;p&gt;It's important to make sure that your SSH key is set up correctly. Here's how you can test it:&lt;/p&gt;

&lt;p&gt;Testing Connection: In your terminal, run the following command to test your SSH connection to GitHub:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;ssh -T git@github.com&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If you see a message like "Hi username! You've successfully authenticated, but GitHub does not provide shell access," you're all set!&lt;/p&gt;

&lt;p&gt;Congratulations! You've successfully set up Git, configured your identity, created and linked an SSH key, and tested your connection to GitHub. You're now equipped to start collaborating on projects, contributing to open source, and managing your code efficiently. Happy coding!&lt;/p&gt;

&lt;p&gt;Remember, this guide provides you with a solid foundation, but there's much more to explore in the world of Git and GitHub. I hope you enjoyed this blog and learned something new. If you have any questions or feedback, please leave a comment below. Thank you for reading!&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>codenewbie</category>
      <category>learning</category>
      <category>github</category>
    </item>
    <item>
      <title>How to Optimize Costs in AWS Cloud</title>
      <dc:creator>Vishesh Gubrani</dc:creator>
      <pubDate>Fri, 25 Aug 2023 18:12:25 +0000</pubDate>
      <link>https://dev.to/visheshgubrani/how-to-optimize-costs-in-aws-cloud-4ehp</link>
      <guid>https://dev.to/visheshgubrani/how-to-optimize-costs-in-aws-cloud-4ehp</guid>
      <description>&lt;p&gt;AWS cloud is a powerful platform that offers a wide range of services and features to help businesses scale, innovate, and grow. However, using AWS cloud also comes with a cost, and if you are not careful, you might end up paying more than you need to. In this blog post, I will share some best practices and tips on how to optimize costs in AWS cloud and get the most value out of your cloud investment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Pay as per your requirement&lt;/strong&gt;&lt;br&gt;
One of the best parts about using AWS cloud is that it allows you to pay only for the computing resources that you require and increase or decrease usage depending on business requirements, not by using elaborate forecasting. This is known as the consumption model, and it can help you save money by avoiding over-provisioning or under-utilizing resources.&lt;/p&gt;

&lt;p&gt;To take advantage of the consumption model, you need to monitor your resource utilization and adjust your capacity accordingly. You can use tools like AWS CloudWatch to track metrics and alarms for your AWS resources, and AWS Trusted Advisor to get recommendations on how to optimize your performance, security, and cost. You can also use AWS Cost Explorer to analyze your spending patterns and identify opportunities for savings.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Prepare a schedule&lt;/strong&gt;&lt;br&gt;
Another way to optimize costs in AWS cloud is to prepare a schedule for your resources based on your usage patterns. For example, development and test environments are typically only used for eight hours a day during the work week. You can stop these resources when they are not in use for a potential cost savings of 75% (40 hours versus 168 hours).&lt;/p&gt;

&lt;p&gt;To automate the scheduling of your resources, you can use tools like AWS Instance Scheduler, which allows you to start and stop EC2 instances and RDS instances based on predefined schedules. You can also use AWS Auto Scaling, which enables you to scale your resources up or down automatically based on demand or custom metrics.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Address the idle resources&lt;/strong&gt;&lt;br&gt;
Idle resources are those that are not being used or have low utilization, but still incur costs. These can include unused EC2 instances, unattached EBS volumes, idle load balancers, unused elastic IP addresses, and more. Identifying and eliminating these idle resources can help you optimize costs in AWS cloud by reducing waste.&lt;/p&gt;

&lt;p&gt;To find and address idle resources, you can use tools like AWS Cost Explorer, which allows you to filter your costs by service, region, tag, or usage type. You can also use AWS Trusted Advisor, which provides a dashboard of cost optimization checks and alerts. You can then take actions such as terminating, deleting, or releasing the idle resources, or attaching them to other resources that need them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Purchase the suitable AWS instances&lt;/strong&gt;&lt;br&gt;
AWS offers different types of instances for different workloads and use cases. Choosing the right type of instance can help you optimize costs in AWS cloud by matching your performance needs with the most cost-effective option. For example, if you have a workload that requires high CPU performance but low memory usage, you can choose a compute-optimized instance type (such as c5) instead of a general-purpose instance type (such as t3), which might have more memory than you need.&lt;/p&gt;

&lt;p&gt;To choose the suitable AWS instances, you need to understand your workload characteristics and requirements, such as CPU, memory, disk, network, and GPU needs. You can use tools like AWS Compute Optimizer, which uses machine learning to analyze your historical utilization data and recommend optimal instance types for your workloads. You can also use AWS Cost Explorer or AWS Pricing Calculator to compare the costs of different instance types and options.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Optimize the storage&lt;/strong&gt;&lt;br&gt;
Storage is another major component of AWS cloud costs, and optimizing it can help you save money and improve performance. AWS offers different types of storage services for different purposes, such as Amazon S3 for object storage, Amazon EBS for block storage, Amazon EFS for file storage, Amazon Glacier for archival storage, and more. Choosing the right type of storage service and configuration can help you optimize costs in AWS cloud by meeting your storage needs with the lowest price point.&lt;/p&gt;

&lt;p&gt;To optimize the storage, you need to consider factors such as durability, availability, performance, scalability, accessibility, security, and compliance. You can use tools like Amazon S3 Storage Classes, which allow you to store your data in different tiers based on frequency of access and retrieval speed. You can also use tools like Amazon S3 Intelligent-Tiering, which automatically moves your data between tiers based on access patterns. You can also use tools like Amazon EBS Volume Types, which allow you to choose different types of volumes based on performance and cost. You can also use tools like Amazon EBS gp3, which allows you to independently adjust the IOPS and throughput of your volumes without changing the size.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Keep the instances up-to-date&lt;/strong&gt;&lt;br&gt;
Keeping your instances up-to-date with the latest versions and patches can help you optimize costs in AWS cloud by improving security, performance, and compatibility. For example, AWS regularly releases new generations of EC2 instances that offer better performance and lower costs than previous generations. By upgrading your instances to the latest generation, you can benefit from these improvements and save money.&lt;/p&gt;

&lt;p&gt;To keep your instances up-to-date, you can use tools like AWS Systems Manager, which allows you to automate the management and maintenance of your instances, such as applying patches, updates, and configurations. You can also use tools like AWS CloudFormation, which allows you to create and update your infrastructure as code, making it easier to deploy and manage your resources.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Consider Single Cloud over Multi-Cloud&lt;/strong&gt;&lt;br&gt;
Multi-cloud is a strategy that involves using multiple cloud providers for different purposes, such as redundancy, performance, or compliance. While multi-cloud can offer some benefits, it can also increase the complexity and cost of managing your cloud environment. For example, you might have to deal with different APIs, interfaces, tools, pricing models, billing cycles, and support options from different providers. You might also miss out on some discounts or incentives that are only available for single cloud users.&lt;/p&gt;

&lt;p&gt;To optimize costs in AWS cloud, you might want to consider using a single cloud provider instead of a multi-cloud strategy. By using a single cloud provider, you can simplify your cloud management and leverage the economies of scale and the breadth and depth of services that AWS offers. You can also take advantage of some cost-saving features that are only available for AWS users, such as AWS Savings Plans, which allow you to commit to a consistent amount of usage for one or three years and get lower rates for EC2 instances or AWS Fargate. You can also use AWS Reserved Instances, which allow you to reserve capacity for one or three years and get discounts for EC2 instances or RDS instances.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
Optimizing costs in AWS cloud is not a one-time activity, but a continuous process that requires monitoring, analysis, and action. By following the best practices and tips I shared in this blog post, you can optimize costs in AWS cloud and get the most value out of your cloud investment.&lt;/p&gt;

&lt;p&gt;I hope you enjoyed this blog and learned something new. If you have any questions or feedback, please leave a comment below. Thank you for reading!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>devops</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
