JITHA'S CL-CY LEVEL 1 REPORT
29 / 3 / 2025
TASK 1: Working of a Version Control
Objectives:
- Understand the theory behind version control, commits, branches, merges, and the role of repositories in version control
- Install Git on the machine, initialize a simple repository using Git commands like git branch, git merge, git revert, git cherry-pick etc.
Learnings and outcome:
TASK 2: Database task - DynamoDB
Objectives:
- Learn about DynamoDB
- Create a simple user login system that stores and validates user credentials for login, further add user credentials and validate login using username and password using DynamoDB
- Learn the difference between SQL, MySQL and NoSQL.
Learnings and outcome:
DynamoDB is a fully managed NoSQL database service provided by AWS. It is highly scalable, durable, and ideal for low-latency data storage
TASK 3: Create an application on EC2 instance
Objectives:
- Learn how to create, configure and manage an EC2 instance on Amazon Web Services, then connect to them and manage their security and performance
- Build and run virtually any dynamic application.
Learnings and outcome:
Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides secure, resizable compute capacity in the cloud. It offers many options that helps to build and run virtually any kind of dynamic application — from simple websites to large-scale enterprise systems.
TASK 4: AWS CloudFront - Serve content from multiple S3 buckets
Objective:
Complete the below Amazon CloudFront Tutorials: Setting up a Dynamic Content Distribution for Amazon S3
Learnings:
Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds, all within a developer-friendly environment , whereas Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance
TASK 5: Kali Linux
Objectives:
- Learn about the working of Kali Linux, penetration testing concepts and tools
- Perform a basic penetration test on a virtual machine using Kali Linux tools such as Nmap
Learnings and outcome:
Kali Linux is a powerful Linux distribution used for penetration testing and security auditing. Penetration test or "pen test" is a security test that launches a mock cyberattack to find vulnerabilities in a computer system and Nmap is a widely used pen test tool of Kali Linux. Some of the NMAP scan techniques include -sS, -sT, -sU etc. I learnt some Nmap commands(-sP, -sn, -A, -Pn, -p, -iL) and also performed a basic pen test on VirtualBox, scanning the ports, OS etc.
TASK 6: Socket.IO
Objectives:
Set up a basic chat application using Node.js and Socket.IO on a Linux system
Learnings and work done:
A client is a program or device that sends requests to a server for any information or services and the server, which is also a program or device, in turn responds to the requests, thereby enabling communication and resource sharing on a network. Socket.IO allows this bi-directional communication between client and server. Bi-directional communications are enabled when the client has Socket.IO in the browser, and the server has also integrated the Socket.IO package. JSON is the simplest form in which data can be sent.
https://github.com/JithaJ-21/socket.io
TASK 7: OSI
Objectives:
- Research and create a simple visual representation or diagram of the OSI model using a cloud-based diagramming tool like Draw.io.
- Learn about the OSI architecture along with the protocols, switching, routing, handshakes, and IP addressing.
- Write a brief explanation of each layer of the OSI model and how it relates to cloud computing!
Learnings:
OSI (Open Systems Interconnection) model describes seven layers that computer systems use to communicate over a network. It was designed by ISO in 1984.
- Application layer provides services for network applications with the help of protocols to perform user activities like for file transfer FTP(File Transfer Protocol), for web surfing HTTP(S)(Hypertext Transfer Protocol(Secure)), for emails SMTP(Simple Mail Transfer Protocol) etc.
- Presentation layer receives data(which will be in the form of characters and numbers) from application layer, then reduces it into computer understandable binary form (Translation), further reduces the bits(Data compression), encrypts the data at the sender’s end(Encryption) and decrypts it at the receiver’s end(Decryption).
- Session layer helps in authentication, authorisation and session management with the help of APIs like NETBIOS(Network Basic Input Output System).
- Transport layer controls the reliability of communication through segmentation, flow control and error control(by checksum) and performs both connection oriented as well as connectionless transmission of data via TCP(Transmission Control Protocol) and UDP(User Datagram Protocol)
- Network Layer receives data segments from Transport layer. These data segments will now be called packets. Functions of this layer include : logical addressing(IP addressing), routing(moving of data from source to destination based on logical addressing and mask) and path determination(choosing best possible path for data delivery, using protocols like OSPF(Open Shortest Path First), BGP(Border Gateway Protocol), IS-IS(Intermediate System to Intermediate System) etc.)
- Data Link Layer receives data packets from network layer and further adds header and tailer to form frame. With CSMA(Carrier-sense multiple access) method, it controls data transmission by preventing collisions and managing access to communication media shared by devices on a network. Tail of the frame generally contains bits which are used to detect errors in the received data.
- Physical layer transmits the binary data(0s and 1s) in the form of signals between devices through cables or wireless media like LAN cable, optical fibre, air etc.
TASK 8: IaaS, PaaS and SaaS
Objective:
Learn about the types of cloud computing service models and write a brief explanation of each.
Learnings:
Cloud computing refers to the delivery of computing services over the internet
Types of Cloud Computing service models:
Infrastructure as a Service (IaaS)
- Provides virtualized computing resources like servers, storage, and networking
- Users have control over operating systems, applications, and storage.
- Examples: Amazon Web Services (AWS) EC2, Google Compute Engine, Microsoft Azure.
Advantages:
- Scalability: Easily scale up/down based on demand.
- Cost-Effective: Pay only for what you use.
- Full Control: You manage OS, storage, deployed apps, etc.
- No Hardware Maintenance: Infrastructure is managed by the provider.
Disadvantages:
- Management Complexity: Requires skilled personnel to manage and configure.
- Security: You're responsible for securing your own apps and data.
- Vendor Lock-in: Switching providers may be difficult.
Applications:
- Hosting websites or applications
- Storage, backup, and recovery
- High-performance computing (HPC)
- Development and testing environments
Platform as a Service (PaaS)
- Delivers a platform that allows developers to build, test, and deploy applications without managing the underlying infrastructure.
- Examples: Google App Engine, Microsoft Azure App Service, Heroku.
Advantages:
- Speed: Quick development and deployment of apps.
- No OS Maintenance: Provider manages OS, runtime, and middleware.
- Built-in Tools: Database, DevOps, analytics, etc., are included.
Disadvantages:
- Limited Control: Less control over underlying infrastructure.
- Vendor Lock-in: Custom features may not be portable.
- Runtime Restrictions: Limited to languages and frameworks supported by the provider.
Applications:
- Application development frameworks
- Business analytics and intelligence
- API development and management
Software as a Service (SaaS)
- Offers software applications over the internet on a subscription basis.
- Examples: Microsoft 365, Salesforce, Google Workspace.
Advantages:
- No Installation Needed: Access via browser or app.
- Automatic Updates: Always up-to-date.
- Accessibility: Accessible from anywhere with internet.
Disadvantages:
- Limited Customization: Can't tweak core functionality.
- Data Security: Sensitive data stored offsite.
- Dependency: You're at the mercy of the provider’s uptime and policies.
Applications:
- Email, collaboration tools, CRM
- Document management
- Accounting and billing systems
TASK 9: Encryption Techniques - Secure Messaging App
Objectives:
- Learn and implement (in 2) basic encryption and decryption programs using Python with the PyCrypto library. Learn about Ciphers, Caesar, Vigenère, and substitution cipher. Why is this different from encryption techniques like SHA256? Learn about symmetric and asymmetric keys (Public and Private keys). How are prime numbers used in RSA?
- Develop a simple chat application where messages are encrypted before being sent and decrypted upon receipt.
Learnings and outcome:
TASK 10: IP Addressing and Web Scraping - Job Listings Scraper
Objectives:
- Use Python and libraries like BeautifulSoup to scrape IP address data from a website and analyze it.
- Extract job postings from platforms like Indeed or Glassdoor.
Learnings and outcome:
Web scraping is the process of extracting data from websites and BeautifulSoup is a Python library used for web scraping. It makes it easy to extract information from web pages by parsing the HTML and XML content of a website and also simplifies the process of navigating through and searching HTML elements to get the data you need
(https://github.com/JithaJ-21/webscrape)