Posts

Version Control Systems (VCS)

Image
If you are in the Software field, you've definitely heard the word "Git". Probably, the first time you've ever heard the word is along the words "Create a new branch. Don't touch the main branch". Don't go watering your office plants if you hear that (I tried to joke. Please laugh:') )! Let's see what it means. Don't touch the Master There are developers who are coding/developing/rectifying "features" for a single project (a website or a software or application. An end product). It's going to be very difficult and time consuming building a project single handedly, which is usually why, there is a team of developers. It's also going to be difficult and time consuming if everybody has to code on a single PC, taking turns. Mostly, developers of the company are also in different parts of the world, making collaboration a necessity.  So, every developer has their own PC. They are coding in their file. As they do so, various m

Creating Architecture diagrams

Image
I remember in college, we were asked to do UML and User diagrams and we'd sigh. It was fun when doing but the background process of figuring out how things worked, was a headache (at least for me). Well, telling someone who's least interested to be there, to sit and draw "boxes" is a bad move already. But for someone trying to make sense of what's going on, I should have gone trying to understand. But I (we? Tell me, I'm not alone :') )figured it was a one time thing or something, which in hindsight was very dumb thing to think. The "IT" people's "ART" When I started my journey of figuring out Cloud Service Providers (CSPs) , I came across what are known as "architecture diagrams" pretty much early on and frequently. These are images which describe how various services (both third party and in-party) can be "put together and made to work" with various symbols and lines. This is something I never realized was impo

Connecting to AWS EC2 instance using PuTTY as SSH client - How?

Image
 Took me a while to write this down. Not because it's complicated, but me! As Taylor Swift benevolently sings, "It's me! I - I'm the problem! It's me!" It resonated with my entire laziness. At this point it's just my personality. This is one of my favorite quotes - "Out of many things we are normalizing, we should be normalizing being lazy". If you are wondering who said that, it's definitely some lazy person and that lazy person is me (lazily scoffs in a corner).  Before the article becomes "Me and Laziness ", I should start with the our article. Story of my life In the previous article , we clarified why SSH clients, specifically why puTTY is used. Basically, remote desktop is connecting to a PC/server elsewhere and using/manipulating it as if one is sitting in front of it. Even though it made communications and functionalities easy, it also came with drawbacks, by not being secure enough.  Thus, the SSH ( Secure Shell protocol) w

Connecting to AWS EC2 instance using Putty as SSH client- The Why?s

Image
 In the previous article we learnt how to create instances and connect to them via AWS's own feature known as EC2 instance connect. It provides a console where we can interact and perform tasks. I have clearly explained why we are doing this in the article (linked above). Basically we are creating EC2 instances which act as virtual servers whose physical servers are located in Regions (a physical location around the world where AWS cluster data centers). Hence, being immensely cost efficient way to re-create the functionality of a dedicated physical server.  As we require to perform tasks in the instances, we require a command line interface (CLI) to interact. The connection to a CLI is provided by various options such as EC2 instance connect (linked above), session manager (another AWS service), SSH client (here, Putty) and EC2 serial console (another AWS feature).  We'll be discussing connecting to EC2 instance using SSH client. So now the questions will be ringing: What is

Linux commands - Part II - How?

Image
The last articles dealt with how you would get to a terminal to execute Linux commands and why we have the need to execute these commands. Summing up, a terminal from an Ubuntu instance doesn't provide a GUI. Hence, we require Linux commands to interact with the system via terminal.  Fun fact: Unix and Linux are not synonymous. Linux is the clone of Unix. It has several features similar to Unix but they still have some key differences. This article should give a fair idea of the differences. Do check out if interested. (Note: I'm only including the commands I'm aware of and USED in tasks. If you are a beginner, there's no better way to understand the working other than doing them along. You only get better understanding while using them for your tasks, otherwise they are not only boring but also difficult to grasp.) Now we deal with "The" commands. We'll divide the commands according to their functionality for better understanding.  Directory commands A

Creating AWS EC2 instance

Image
We are going to deal with how to access CLI of a Linux server/system. So tag along as we go through a little history as well.  There are mainly two ways (that we are going to discuss) for accessing the terminal :  Your PC/System has Linux OS such as Ubuntu, CentOS, etc. Your PC/System doesn't have Linux OS but has Mac/Windows OS Let's talk about these ways in detail: You use Linux OS  Easier option because you don't have to do anything much other than to open CLI (Command-Line Interface) and write the commands. You don't have Linux but have Mac/Windows OS  Once upon a time Olden times (not like 500 years back. Maybe 20 years? Feel old? We are.), we installed Linux in the system and do the above. But it was neither easy nor quick (It is still an option, but one in many.). So, Virtual Machines were introduced where we could run another OS as if it was running on its own independent hardware, so as to allow time-sharing among several single-tasking operating systems . T