<?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>Forem: Leju B</title>
    <description>The latest articles on Forem by Leju B (@lejub).</description>
    <link>https://forem.com/lejub</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%2F1125063%2Fe8552a7c-e90b-492b-ae65-53597bfa9f32.jpeg</url>
      <title>Forem: Leju B</title>
      <link>https://forem.com/lejub</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/lejub"/>
    <language>en</language>
    <item>
      <title>"Automating App Deployment on AWS with Ansible: A Case Study"</title>
      <dc:creator>Leju B</dc:creator>
      <pubDate>Tue, 03 Sep 2024 04:48:22 +0000</pubDate>
      <link>https://forem.com/lejub/automating-app-deployment-on-aws-with-ansible-a-case-study-1ld3</link>
      <guid>https://forem.com/lejub/automating-app-deployment-on-aws-with-ansible-a-case-study-1ld3</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;In the world of DevOps, automation is key to ensuring that deployments are repeatable, efficient, and free from human error. Recently, I completed a project where I automated the deployment of a Node.js application on AWS using Ansible. This application allows users to input their name, email, and upload a profile picture. The application then stores the photo in an S3 bucket and the name and email in an RDS MySQL database.&lt;br&gt;
In this blog post, I'll walk you through the project, the challenges I faced, and the key learnings I gained along the way.&lt;br&gt;
 - -&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Overview
&lt;/h2&gt;

&lt;p&gt;The primary goal of this project was to automate the deployment of a Node.js application on AWS. The application handles user data by storing profile pictures in S3 and user information in RDS. The deployment was automated using Ansible, a powerful tool for Infrastructure as Code (IaC).&lt;br&gt;
Tech Stack:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Frontend: Node.js&lt;/li&gt;
&lt;li&gt;Backend: AWS RDS, S3&lt;/li&gt;
&lt;li&gt;Automation Tool: Ansible&lt;/li&gt;
&lt;li&gt;Deployment Platform: AWS EC2&lt;/li&gt;
&lt;li&gt;Web Server: NGINX
 - -&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Deployment Process
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Setting Up the EC2 Instance&lt;/strong&gt;&lt;br&gt;
To begin, I launched an EC2 instance using AWS and configured security groups to allow HTTP/HTTPS traffic. This instance served as the host for the application.&lt;br&gt;
&lt;strong&gt;2. Deploying the Node.js Application&lt;/strong&gt;&lt;br&gt;
Next, I uploaded the Node.js application to the EC2 instance. I used Vite as the build tool, which provided a fast and optimized development experience. After building the app for production, I installed the necessary dependencies and prepared the environment for deployment.&lt;br&gt;
&lt;strong&gt;3. Installing and Configuring NGINX&lt;/strong&gt;&lt;br&gt;
NGINX was installed on the EC2 instance to serve the Node.js application. The server was configured to act as a reverse proxy, forwarding requests to the application.&lt;br&gt;
This configuration ensures that all incoming requests are routed correctly to the Node.js application.&lt;br&gt;
&lt;strong&gt;4. Automating with Ansible&lt;/strong&gt;&lt;br&gt;
The entire deployment process was automated using Ansible. I created Ansible playbooks to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provision the EC2 instance&lt;/li&gt;
&lt;li&gt;Set up and configure the S3 bucket and RDS MySQL database&lt;/li&gt;
&lt;li&gt;Deploy the Node.js application&lt;/li&gt;
&lt;li&gt;Install and configure NGINX&lt;/li&gt;
&lt;li&gt;Set up environment variables and manage application secrets using a &lt;code&gt;.env&lt;/code&gt; file
Ansible roles were used to modularize the tasks, making the automation process more efficient and scalable.
 - -&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Challenges and Solutions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Environment Configuration:&lt;br&gt;
**Configuring the environment variables correctly was critical to ensuring that the application could securely connect to the AWS services. I used Ansible to create a &lt;code&gt;.env&lt;/code&gt; file with the necessary credentials and connection strings.&lt;br&gt;
**2. AWS Service Integration:&lt;/strong&gt;&lt;br&gt;
Integrating the application with AWS RDS and S3 required careful handling of permissions and network settings. Ansible made it easier to manage these configurations across different environments.&lt;br&gt;
&lt;strong&gt;3. NGINX Configuration:&lt;/strong&gt;&lt;br&gt;
Setting up NGINX to serve the nodejs application required configuring it as a reverse proxy. Debugging issues with the NGINX configuration was a key learning experience, particularly in managing static files and ensuring that all routes were correctly handled.&lt;br&gt;
&lt;strong&gt;4. Ansible playbook:&lt;/strong&gt;&lt;br&gt;
Setting up ansible playbook to configure the app for performing the applications backend configuration automatically. Ansible playbook runs on the Master server and performs or executes the program in the worker servers in this case only one server.&lt;br&gt;
Check out the complete documentation and the codes in my GitHub Repo.&lt;br&gt;
 - -&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Learnings
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Ansible for Automation:&lt;/strong&gt;&lt;br&gt;
This project deepened my understanding of Ansible's capabilities in automating complex deployments. By structuring the playbooks and roles correctly, I was able to create a reusable and scalable automation process.&lt;br&gt;
&lt;strong&gt;2. AWS Integration:&lt;/strong&gt;&lt;br&gt;
Gaining hands-on experience with AWS services like EC2, S3, and RDS was invaluable. Understanding how to securely integrate these services with an application is a crucial skill in modern cloud development.&lt;br&gt;
&lt;strong&gt;3. Infrastructure as Code (IaC):&lt;/strong&gt;&lt;br&gt;
The project reinforced the importance of IaC principles, allowing for consistent and repeatable deployments across different environments.&lt;br&gt;
 - -&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion and Future Plans
&lt;/h2&gt;

&lt;p&gt;Automating the deployment of this Node.js application on AWS was a challenging yet rewarding experience. The project provided me with a deeper understanding of both cloud infrastructure and automation tools. Moving forward, I plan to explore more advanced CI/CD pipelines and enhance the application's features and security.&lt;br&gt;
Interested in the technical details? You can find the full documentation and playbooks in my &lt;a href="https://github.com/leju-b/Ansible-Profile-App-deployment" rel="noopener noreferrer"&gt;GitHub repository&lt;/a&gt;. If you have any questions or would like to discuss the project further, feel free to connect with me!&lt;/p&gt;

</description>
      <category>infrastructureascode</category>
      <category>automation</category>
      <category>devops</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Automating EC2 Instances with AWS Lambda and CloudWatch</title>
      <dc:creator>Leju B</dc:creator>
      <pubDate>Wed, 28 Aug 2024 06:01:50 +0000</pubDate>
      <link>https://forem.com/lejub/automating-ec2-instances-with-aws-lambda-and-cloudwatch-dk2</link>
      <guid>https://forem.com/lejub/automating-ec2-instances-with-aws-lambda-and-cloudwatch-dk2</guid>
      <description>&lt;h2&gt;
  
  
  Introduction:
&lt;/h2&gt;

&lt;p&gt;I recently completed a project where I automated the start and stop of EC2 instances using AWS Lambda and CloudWatch EventBridge. Here's a quick overview of how I did it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step-by-Step Guide:
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;IAM Setup:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Created custom IAM policies to grant permissions for starting and stopping EC2 instances.&lt;/li&gt;
&lt;li&gt;Set up roles to securely attach these policies to Lambda functions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Lambda Functions:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Developed two Python scripts using Boto3 to manage the EC2 instances.&lt;/li&gt;
&lt;li&gt;Configured the Lambda functions to use the appropriate IAM roles.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Automating with CloudWatch:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Created CloudWatch EventBridge rules to trigger the Lambda functions based on a cron schedule.&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges and Solutions:
&lt;/h2&gt;

&lt;p&gt;While working on this project, I encountered a few challenges, such as troubleshooting IAM permissions and Lambda execution errors. Through persistence and a bit of troubleshooting, I was able to resolve these issues and ensure the automation worked flawlessly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion:
&lt;/h2&gt;

&lt;p&gt;This project was a great opportunity to explore AWS's automation capabilities. If you're interested in trying it out yourself, check out the full documentation and code in my GitHub repository!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/leju-b/EC2-start-stop-automation-project" rel="noopener noreferrer"&gt;Ckeckout the repo&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>automation</category>
      <category>devops</category>
      <category>serverless</category>
    </item>
    <item>
      <title>React Vite App Deployment on EC2 with NGINX: A Step-by-Step Guide</title>
      <dc:creator>Leju B</dc:creator>
      <pubDate>Fri, 23 Aug 2024 09:25:22 +0000</pubDate>
      <link>https://forem.com/lejub/react-vite-app-deployment-on-ec2-with-nginx-a-step-by-step-guide-5170</link>
      <guid>https://forem.com/lejub/react-vite-app-deployment-on-ec2-with-nginx-a-step-by-step-guide-5170</guid>
      <description>&lt;p&gt;Deploying a React Vite application on an Amazon EC2 instance can be a great way to get hands-on experience with cloud infrastructure and web server management. In this guide, I'll walk you through the process of deploying a basic Airbnb clone built with React and Vite, and show you how to use NGINX to serve your application efficiently.&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Overview
&lt;/h2&gt;

&lt;p&gt;This project involved cloning a basic Airbnb clone using React and Vite, which was then deployed on an Amazon EC2 instance. The primary goal was to understand the deployment process and learn how to configure NGINX to manage and run the application in the background.&lt;/p&gt;

&lt;h2&gt;
  
  
  Deployment Process
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Setting Up the EC2 Instance:&lt;/strong&gt;&lt;br&gt;
Launch an EC2 instance on AWS.&lt;br&gt;
Configure security groups to allow HTTP/HTTPS traffic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Deploying the React Vite App:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clone or fork the GitHub repo :
&lt;code&gt;git clone https://github.com/leju-b/AirBnb-Clone-deployed-EC2&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Install npm :
&lt;code&gt;sudo apt install npm&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Install other dependencies&lt;/li&gt;
&lt;li&gt;Build the app using :
&lt;code&gt;npm install&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Run the app for preview :
&lt;code&gt;npm run dev&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Allow inbound rules for port 3000 if the app is running in that port&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Installing and Configuring NGINX:&lt;/strong&gt;&lt;br&gt;
Installed NGINX on the EC2 instance to serve the application.&lt;br&gt;
Edited the NGINX configuration file to point to the React app's dist folder and set up the server block.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Verifying the Deployment:&lt;/strong&gt;&lt;br&gt;
Tested the NGINX configuration and reloaded the service.&lt;br&gt;
Accessed the application using the public IP address of the EC2 instance.&lt;/p&gt;
&lt;h2&gt;
  
  
  NGINX Configuration Details
&lt;/h2&gt;

&lt;p&gt;The NGINX configuration file can be found in /etc/nginx/nginx.conf, and site-specific configurations are usually located in /etc/nginx/sites-available/. Here's a snippet of the configuration used for this project:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;server {
    listen 80;
    server_name your_domain_or_public_ip;
    root /path/to/your/react-vite-app/dist;
    index index.html;
    location / {
        try_files $uri $uri/ /index.html;
    }
    error_log /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Troubleshooting Tips&lt;/strong&gt;&lt;br&gt;
If NGINX throws an error, check the logs in /var/log/nginx/error.log.&lt;br&gt;
Ensure the dist folder is correctly located and accessible by NGINX.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion and Future Plans&lt;/strong&gt;&lt;br&gt;
Deploying this application was an insightful experience, particularly in understanding the relationship between build tools like Vite, cloud platforms like AWS, and web servers like NGINX. Moving forward, I plan to enhance the application's features, add HTTPS for secure connections, and implement CI/CD pipelines to automate the deployment process.&lt;br&gt;
If you're interested in learning more about deploying React apps or have any questions about the process, feel free to connect with me!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Trying Out AWS Amplify for the first time.</title>
      <dc:creator>Leju B</dc:creator>
      <pubDate>Tue, 20 Aug 2024 14:15:57 +0000</pubDate>
      <link>https://forem.com/lejub/trying-out-aws-amplify-for-the-first-time-1917</link>
      <guid>https://forem.com/lejub/trying-out-aws-amplify-for-the-first-time-1917</guid>
      <description>&lt;h2&gt;
  
  
  Introduction:
&lt;/h2&gt;

&lt;p&gt;Hello, everyone! I recently completed a project where I deployed a basic static web page which I built earlier with Vite+React on AWS Amplify. This was a straightforward project, but it provided valuable insights into cloud deployment and the power of AWS Amplify. This project was an exciting step in my DevOps journey, where I got to explore AWS Amplify for the first time. In this post, I’ll walk you through the process and share what I learned.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Project Overview
&lt;/h3&gt;

&lt;p&gt;This project involved creating a simple static web page using Vite and React. The focus was on building a lightweight, fast-loading page. Here’s a quick overview of the key components:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vite + React Development:&lt;/strong&gt; The web page was developed using Vite and React, making it lightweight and fast. It’s a basic project, but it provided a great opportunity to practice my React skills.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AWS Amplify Deployment:&lt;/strong&gt; I deployed the app on AWS Amplify, which I was exposed to during my training at AK Infopark Nagercoil. Amplify’s integration with GitHub allowed for automatic deployment whenever changes were made to the repository — making the process incredibly smooth. It’s a simple task, but there are more complex configurations in amplify. I have tried the automatic deployment by authenticating with GitHub as well as the manual upload which I found not a good practice, because of the lack of CI/CD.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CI/CD Pipeline:&lt;/strong&gt; The seamless integration between GitHub and AWS Amplify ensured that any changes in the code were automatically deployed, giving me hands-on experience with continuous integration and continuous deployment. I took the time to learn about the process between GitHub and Amplify and I felt so fascinated by how a simple deployment is leveraging CI/CD.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Challenges &amp;amp; Solutions
&lt;/h3&gt;

&lt;p&gt;While the project was basic, it came with its own set of challenges:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setting Up Amplify:&lt;/strong&gt; Authenticating AWS Amplify with my GitHub account was a new experience, but it provided a smooth workflow for continuous deployment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Learning from Training:&lt;/strong&gt; I first learned about AWS Amplify during my training at AK Infopark Nagercoil, and this project was my first hands-on experience applying that knowledge.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Key Learnings
&lt;/h3&gt;

&lt;p&gt;Here are some of the key takeaways from this project:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CI/CD in Action:&lt;/strong&gt; Implementing a CI/CD pipeline through AWS Amplify was a great way to experience continuous integration and deployment in real-time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hands-On with AWS Amplify:&lt;/strong&gt; Deploying a static site gave me practical experience with cloud services and reinforced the concepts I’ve been learning in my DevOps journey.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Reflecting on the Experience&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Deploying this static web page was a small but significant step in my learning journey. It taught me the importance of automation and cloud services in modern web development. I’m excited to continue this journey and apply these concepts to more complex projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion:
&lt;/h2&gt;

&lt;p&gt;This project was a great way to start exploring cloud deployment with AWS Amplify. If you are interested in DevOps, cybersecurity, web development technologies, cloud, or tech overall. let’s connect and share our experiences!&lt;/p&gt;

&lt;h1&gt;
  
  
  DevOps #AWSAmplify #Vite #React #CI/CD #StudentJourney #ContinuousLearning
&lt;/h1&gt;

</description>
    </item>
    <item>
      <title>Building and Deploying My Personal Portfolio Using React &amp; Node.js</title>
      <dc:creator>Leju B</dc:creator>
      <pubDate>Sun, 18 Aug 2024 12:25:05 +0000</pubDate>
      <link>https://forem.com/lejub/building-and-deploying-my-personal-portfolio-using-react-nodejs-2kjb</link>
      <guid>https://forem.com/lejub/building-and-deploying-my-personal-portfolio-using-react-nodejs-2kjb</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Introduction:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Hello, everyone! In my latest project, I created and deployed a personal portfolio website using React and Node.js. This project allowed me to not only showcase my skills and projects but also gain hands-on experience in deploying and managing a personal website. In this post, I’ll walk you through the process and share what I learned along the way.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1. Project Overview&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The goal of this project was to build a dynamic and responsive personal portfolio where I could showcase my skills, projects, and learning journey. Here’s a quick overview of the key components:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend with React:&lt;/strong&gt; I used React to build the frontend, taking advantage of its component-based architecture to create a clean and responsive user interface.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend with Node.js:&lt;/strong&gt; For the backend, I used Node.js, which provided a flexible environment for handling server-side logic and integrating any additional functionalities.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deployment on GitHub Pages:&lt;/strong&gt; I chose GitHub Pages as the hosting platform, which allowed for easy and automatic updates every time I pushed new changes to the repository.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2. Challenges &amp;amp; Solutions&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Every project comes with its own set of challenges. Here’s how I tackled a few during this one:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Pages Configuration:&lt;/strong&gt; Configuring GitHub Pages to work seamlessly with my custom domain and React app required some research, but once set up, it provided a reliable and easy-to-manage hosting solution.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Responsive Design:&lt;/strong&gt; Ensuring the portfolio was fully responsive and looked great on all devices was a key challenge. I focused on media queries and flexible layout design to achieve this.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;3. Key Learnings&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Here are some of the valuable lessons I learned from this project:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Deploying with GitHub Pages:&lt;/strong&gt; This project was my first experience deploying a site with GitHub Pages, and it taught me how to automate deployments and manage a live site.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Version Control Practices:&lt;/strong&gt; Working with Git to manage updates and ensure that the site was always up-to-date was a great exercise in version control best practices.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Responsive Web Design:&lt;/strong&gt; I gained more experience in making web designs responsive, ensuring that the site provides a great user experience across different devices.
### &lt;strong&gt;4. Reflecting on the Experience&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Creating and deploying this personal portfolio was a rewarding experience that solidified my understanding of web development and deployment. I’m excited to keep updating the portfolio with new projects and insights as I continue my learning journey.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;br&gt;
Building this portfolio was a great way to apply what I’ve learned so far in my DevOps journey. It’s an ongoing project that I plan to keep updating. If you’re also working on a portfolio or have experience with React, Node.js, or GitHub Pages, let’s connect and share insights!&lt;/p&gt;

&lt;p&gt;Link to portfolio &lt;a href="https://leju-b.github.io/my-Portfolio/" rel="noopener noreferrer"&gt;page&lt;/a&gt;&lt;br&gt;
link to &lt;a href="https://github.com/leju-b/my-Portfolio" rel="noopener noreferrer"&gt;GITHUB_REPO&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;h1&gt;
  
  
  DevOps #React #NodeJS #GitHubPages #WebDevelopment #CI/CD #ContinuousLearning
&lt;/h1&gt;
&lt;/blockquote&gt;

</description>
    </item>
    <item>
      <title>Starting My DevOps Journey: A 3-Hour Course That Changed Everything</title>
      <dc:creator>Leju B</dc:creator>
      <pubDate>Sat, 17 Aug 2024 19:42:25 +0000</pubDate>
      <link>https://forem.com/lejub/starting-my-devops-journey-a-3-hour-course-that-changed-everything-3ld9</link>
      <guid>https://forem.com/lejub/starting-my-devops-journey-a-3-hour-course-that-changed-everything-3ld9</guid>
      <description>&lt;p&gt;Hello everyone! I'm a computer science student with a passion for DevOps and cybersecurity. Recently, I completed a 3-hour DevOps course that completely transformed my approach to technology. In this post, I'll share what I learned and how it set the stage for my ongoing projects.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Course Overview:
The 3-hour course provided me with valuable insights and practical knowledge. It covered the basics of DevOps, including its culture, key practices, and essential tools. Here's a breakdown of what I learned:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;DevOps Culture: I learned about the importance of collaboration between development and operations teams, which is at the heart of DevOps.&lt;/li&gt;
&lt;li&gt;Continuous Integration &amp;amp; Deployment (CI/CD): The course introduced me to the concepts of CI/CD, which ensure that code changes are continuously integrated and deployed without manual intervention.&lt;/li&gt;
&lt;li&gt;Automation: The course highlighted the significance of automation in DevOps, which reduces human error and speeds up processes.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Hands-On Experience with DevOps Tools:
I had the opportunity to gain hands-on experience with some of the most important tools in the DevOps toolkit:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Git: I learned how to use Git for version control, which is crucial for managing code changes in a collaborative environment.&lt;/li&gt;
&lt;li&gt;Jenkins: The course introduced me to Jenkins, an automation server that facilitates continuous integration and deployment.&lt;/li&gt;
&lt;li&gt;Docker &amp;amp; Kubernetes: I got a taste of containerization with Docker and orchestration with Kubernetes, two powerful tools that are transforming how applications are deployed and managed.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;How This Course Shaped My Journey:&lt;br&gt;
This course was more than just an introduction—it laid the foundation for my current projects. It gave me the confidence to explore more complex topics like infrastructure as code, automation, and cloud computing. Since completing the course, I've been working on several projects that I'll be sharing in future posts.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;What's Next?&lt;br&gt;
I'm excited to continue this journey and share more about the projects I've completed, including setting up an Automated Infrastructure Stack with Ansible and AWS, building a travel journal app, and more. Each project has been a learning experience that builds on what I learned in this course.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Conclusion:&lt;br&gt;
This 3-hour course was a pivotal moment in my DevOps journey, and I'm eager to continue learning and growing. If you're also passionate about DevOps or just starting out, let's connect and share our experiences!&lt;/p&gt;

</description>
      <category>devops</category>
      <category>automaton</category>
      <category>security</category>
    </item>
  </channel>
</rss>
