<?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: FeliDrummond</title>
    <description>The latest articles on DEV Community by FeliDrummond (@fedrummond_).</description>
    <link>https://dev.to/fedrummond_</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%2F1864175%2Fdd3c095a-3ab8-4ff7-a844-287701a5c05d.jpg</url>
      <title>DEV Community: FeliDrummond</title>
      <link>https://dev.to/fedrummond_</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fedrummond_"/>
    <language>en</language>
    <item>
      <title>AWS Lambda e API Gateway</title>
      <dc:creator>FeliDrummond</dc:creator>
      <pubDate>Mon, 13 Apr 2026 21:53:26 +0000</pubDate>
      <link>https://dev.to/fedrummond_/aws-lambda-e-api-gateway-242d</link>
      <guid>https://dev.to/fedrummond_/aws-lambda-e-api-gateway-242d</guid>
      <description>&lt;p&gt;In this post, I will show you a tutorial on how you can easily combine these two services to build various applications.&lt;/p&gt;

&lt;p&gt;I’ll present to you an initial project I built—very simple—just to explore the AWS console, understand the services, and see how we can use them together to build APIs easily.&lt;/p&gt;

&lt;p&gt;The project is a serverless API using AWS Lambda and API Gateway, capable of receiving HTTP requests and processing different types of tasks based on JSON payloads.&lt;/p&gt;

&lt;p&gt;At the end, I will answer the following question: What are the advantages of building serverless applications using AWS Lambda and API Gateway?&lt;/p&gt;

&lt;p&gt;We will divide the process into phases, and each phase may have subphases:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phase 1 – Create the Lambda function&lt;br&gt;
Phase 2 – Test the function&lt;br&gt;
Phase 3 – Create the API Gateway and connect it to Lambda&lt;br&gt;
Phase 4 – Test the integration&lt;br&gt;
Phase 1 – Create the Lambda Function&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To start this phase, we define a permission policy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.1 Permission Policy:&lt;/strong&gt;&lt;br&gt;
This policy will grant your function permission to access the necessary AWS resources. In my project, since it is very basic, I used a default policy provided by AWS: AWSLambdaBasicExecutionRole. It grants the minimum essential permissions for a Lambda function to run and write logs to Amazon CloudWatch Logs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.2 Execution Role:&lt;/strong&gt;&lt;br&gt;
Here, you will create an execution role. In this role, you attach the permission policy created earlier and specify the service to which you want to grant these permissions.&lt;br&gt;
This is where you associate the policy with the service.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.3 Finally, Create the Lambda Function:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;import json&lt;/p&gt;

&lt;p&gt;def lambda_handler(event, context):&lt;br&gt;
    body = json.loads(event.get("body", "{}"))&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;tarefa = body.get("tarefa", "none")
mensagem = body.get("mensagem", "")

if tarefa == "log":
    resposta = f"Log received: {mensagem}"

elif tarefa == "processar":
    resposta = "Processing data..."

else:
    resposta = "Task not recognized"

return {
    "statusCode": 200,
    "body": resposta
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;My function acts as a simple “router” that decides what to do based on the data it receives (the event parameter).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data extraction:&lt;/strong&gt; It looks inside the event (a Python dictionary) for the keys "tarefa" and "mensagem". If not found, it uses "none" and an empty string as default values.&lt;br&gt;
&lt;strong&gt;Decision logic:&lt;/strong&gt;&lt;br&gt;
If the task is "log", it returns a confirmation message.&lt;br&gt;
If it is "processar", it returns a fixed processing message.&lt;br&gt;
Otherwise, it informs that the task was not recognized.&lt;br&gt;
&lt;strong&gt;Standard response:&lt;/strong&gt; It always returns a dictionary with statusCode: 200 (HTTP success) and the response text in the body.&lt;/p&gt;

&lt;p&gt;In summary: it is a mini task router that responds differently depending on the command sent in the input JSON.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phase 2 – Test the Function&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Create a new test and send a JSON in the expected format. In my case:&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
  "tarefa": "log",&lt;br&gt;
  "mensagem": "Final test"&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;Note: The function looks for "tarefa" and "mensagem" inside the event. If not found, it uses default values.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phase 3 – Create the API Gateway&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here, we will create a public URL that acts as the trigger for our Lambda function.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.1 Create API&lt;/strong&gt;&lt;br&gt;
When creating an API in API Gateway, you will see options such as:&lt;/p&gt;

&lt;p&gt;REST API&lt;br&gt;
WebSocket API&lt;br&gt;
HTTP API&lt;br&gt;
REST API Private&lt;/p&gt;

&lt;p&gt;I built an HTTP API, which is a more modern, faster, and cheaper option compared to REST API.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.2 Configure API&lt;/strong&gt;&lt;br&gt;
After choosing, define the name and integrations. I added my Lambda function.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.3 Configure Routes&lt;/strong&gt;&lt;br&gt;
Routes consist of an HTTP method and a resource path (e.g., GET /pets). You can define methods like GET, POST, PUT, PATCH, HEAD, OPTIONS, and DELETE.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.4 Define Stages&lt;/strong&gt;&lt;br&gt;
Stages are environments where your API is deployed. You must deploy to a stage for changes to take effect, unless auto-deploy is enabled. By default, HTTP APIs have a $default stage with automatic deployment.&lt;/p&gt;

&lt;p&gt;Summary of Phase 3:&lt;/p&gt;

&lt;p&gt;Create the API&lt;br&gt;
Configure it&lt;br&gt;
Configure routes&lt;br&gt;
Define the stage&lt;br&gt;
Click “Create”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phase 4 – Testing the Integration between API Gateway and Lambda&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now, what you need to do is send requests to the created routes and check if the response is as expected. Remember, the requests are the trigger of the Lambda function, so when you send a request, it should invoke the function and return the result to us.&lt;/p&gt;

&lt;p&gt;For this test, we can use curl and/or Postman. I tested with both—it’s the best way to make sure everything is working correctly.&lt;/p&gt;

&lt;p&gt;Note:&lt;/p&gt;

&lt;p&gt;Curl:&lt;/p&gt;

&lt;p&gt;URL of your API&lt;br&gt;
-H (header)&lt;br&gt;
-d (body)&lt;/p&gt;

&lt;p&gt;My example:&lt;/p&gt;

&lt;p&gt;curl -X POST &lt;a href="https://k07qfvf9ye.execute-api.sa-east-1.amazonaws.com/dev/executar-tarefas" rel="noopener noreferrer"&gt;https://k07qfvf9ye.execute-api.sa-east-1.amazonaws.com/dev/executar-tarefas&lt;/a&gt; \&lt;br&gt;
-H "Content-Type: application/json" \&lt;br&gt;
-d "{\"tarefa\":\"log\",\"mensagem\":\"Final test\"}"&lt;/p&gt;

&lt;p&gt;Expected result:&lt;br&gt;
Log received: Final test&lt;/p&gt;

&lt;p&gt;If it returns the expected result, congratulations—you have successfully completed your application.&lt;/p&gt;

&lt;p&gt;Answering the initial question:&lt;br&gt;
&lt;strong&gt;&lt;u&gt;What is the advantage of building serverless applications with AWS Lambda and API Gateway?&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The term “serverless” means that your code runs on servers, but you do not need to provision or manage these servers. With serverless computing, you can focus more on building and innovating new products and features instead of maintaining servers.&lt;/p&gt;

&lt;p&gt;Another benefit of serverless computing is the ability to automatically scale applications. It adjusts the application’s capacity by modifying units of consumption, such as throughput and memory.&lt;/p&gt;

&lt;p&gt;Let’s make the real advantages of serverless computing with AWS Lambda and API Gateway very clear:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Real Cost Savings (Pay-as-you-go)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Zero Cost When Idle:&lt;/strong&gt;&lt;/u&gt; Unlike a server running 24/7, you only pay when someone uses your API. If no one uses it, you pay nothing.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Granular Billing:&lt;/strong&gt;&lt;/u&gt; AWS Lambda charges per millisecond of execution and based on the amount of memory used.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Low-cost API Gateway:&lt;/strong&gt;&lt;/u&gt; Amazon API Gateway offers competitive pricing, charging only for the number of requests received.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Infinite and Automatic Scalability&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;No Management:&lt;/strong&gt;&lt;/u&gt; You don’t need to configure Auto Scaling Groups or Load Balancers manually.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Traffic Spikes:&lt;/strong&gt;&lt;/u&gt; If your application goes viral, AWS instantly provisions thousands of Lambda executions to handle the demand and then scales everything back down automatically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Reduced Complexity (Focus on Code)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;Zero Maintenance:&lt;/u&gt;&lt;/strong&gt; No need to worry about OS updates, kernel patches, or hardware issues.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;Built-in Security:&lt;/u&gt;&lt;/strong&gt; API Gateway handles complex tasks like DDoS protection, authentication (e.g., Cognito), access control, and SSL/TLS encryption natively.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Development Agility&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Fast Deployment:&lt;/strong&gt;&lt;/u&gt; You can deploy a new version of your business logic in seconds by simply uploading your code.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Modular Architecture:&lt;/strong&gt;&lt;/u&gt; It makes it easier to build microservices, where each Lambda function solves a small, isolated problem, making the system easier to maintain.&lt;/p&gt;

&lt;p&gt;And as shown above, AWS Lambda and API Gateway are easy to use, so you can quickly deploy your code. In summary, what we did was basically:&lt;/p&gt;

&lt;p&gt;1 - Upload the code to Lambda and test it (Phase 1 and 2)&lt;br&gt;
2 - Configure a trigger, meaning an event that will start the execution of your Lambda function (Phase 3), and test the integration of the services (Phase 4)&lt;br&gt;
3 - The code runs only when the trigger is detected&lt;br&gt;
4 - Pay only for the compute time you use&lt;/p&gt;

&lt;p&gt;Finally, I swear I won't say anything more after this, I'll leave you with some examples of real-world uses of lambda to help you understand in which situations it's welcome and how it makes our lives easier.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real-time image processing for a social media application&lt;/strong&gt;&lt;br&gt;
A social media company uses Lambda to process images uploaded by users. When a photo is uploaded, Lambda is triggered to resize the image, apply filters, and save it in an optimized format to storage. This event-driven, serverless approach makes sure that the application can handle high volumes of uploads without needing to manage infrastructure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Lambda:&lt;/strong&gt;&lt;u&gt; It automatically scales based on uploads and charges only for the time spent processing each image.&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Personalized content delivery for a news aggregator&lt;/strong&gt;&lt;br&gt;
A news aggregator uses Lambda to fetch and process news articles from multiple sources, then it tailors recommendations based on user preferences. When a user opens the application or performs a search, Lambda functions are triggered to retrieve data, run personalization logic, and return relevant content.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Lambda:&lt;/strong&gt; &lt;u&gt;It automatically scales with user traffic and reduces costs by running code only when users interact.&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real-time event handling for an online game&lt;/strong&gt;&lt;br&gt;
A gaming company uses Lambda to handle in-game events like player actions, game state changes, and real-time leader board updates. Each event (like scoring a point or unlocking an achievement) triggers a Lambda function that updates player data and game status.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Lambda:&lt;/strong&gt;&lt;u&gt; It handles thousands of events, in real-time, with no need to manage servers. Costs scale with usage, which is ideal for peak gaming times.&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;Thank you for your attention, and I hope I was able to help!&lt;/p&gt;

</description>
      <category>api</category>
      <category>aws</category>
      <category>serverless</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Network and Tracert</title>
      <dc:creator>FeliDrummond</dc:creator>
      <pubDate>Wed, 08 Apr 2026 23:26:14 +0000</pubDate>
      <link>https://dev.to/fedrummond_/network-and-tracert-2nin</link>
      <guid>https://dev.to/fedrummond_/network-and-tracert-2nin</guid>
      <description>&lt;p&gt;These days, I’m reading somethings about network. I started playing with the command *&lt;em&gt;Tracert *&lt;/em&gt;(in Linux, Traceroute) in the CMD. I’ve figured out some things and I’m learning more about network.&lt;/p&gt;

&lt;p&gt;So today, I’m going to talk about network, specifically the command Tracert. We will make an analysis based on two examples.&lt;/p&gt;

&lt;p&gt;First, let’s understand what the Tracert command does:&lt;br&gt;
It traces the path that a data packet takes from your computer to a specific destination on the network or the internet.&lt;br&gt;
Example: Open your CMD and type: tracert 8.8.8.8&lt;br&gt;
This route will take you to 8.8.8.8 (dns.google).&lt;/p&gt;

&lt;p&gt;Second, let’s understand how Tracert works:&lt;/p&gt;

&lt;p&gt;It identifies the “hops”: it lists each router or intermediate server that the information passes through until it reaches the final destination.&lt;/p&gt;

&lt;p&gt;For each hop, the command performs three tests and shows the response time in milliseconds (ms). This helps identify points of slowness in the connection.&lt;/p&gt;

&lt;p&gt;If the connection drops at some point, Tracert will show where the signal stopped (usually displaying asterisks *), allowing you to know whether the problem is in your internal network, your ISP, or the destination server.&lt;/p&gt;

&lt;p&gt;Now try: tracert amazon.com&lt;br&gt;
Compare it with the previous result.&lt;/p&gt;

&lt;p&gt;When I made this comparison, I noticed a big difference in the number of hops and latency. While for Google the latency ranged from 6 ms to 51 ms, for Amazon, starting from hop 7, the latency increased to 140 ms, 168 ms, and 185 ms. For Google, there were only 9 hops, while for Amazon there were 30, which is the maximum number of hops that Tracert shows.&lt;/p&gt;

&lt;p&gt;I also paid attention to the change in IP addresses.&lt;br&gt;
In the Amazon route, I reached the following IP address at hop 6: 213.140.39.8. After this hop, the latency changed drastically, going from&lt;br&gt;
15 ms, 12 ms, 18 ms to 140 ms, 168 ms, 185 ms.&lt;/p&gt;

&lt;p&gt;In addition, there was a network change, and the ranges 213.140.39.8 (hop 6) and 94.142.98.43 (hop 7) are not common in Brazil.&lt;/p&gt;

&lt;p&gt;This high variation in latency and this change to those IP addresses is already enough to indicate that the traffic is going through an international route (backbones).&lt;/p&gt;

&lt;p&gt;If you want to confirm who owns the IP, use the WHOIS command (Linux), which allows you to see the owner of the address, or access the website who.is and enter the IP address.&lt;/p&gt;

&lt;p&gt;Another thing that caught my attention is that from hop 9 onwards, several * appeared in the latency tests and the IP addresses stopped being shown. After researching, I understood that this was not a failure, but rather that Amazon blocks Tracert responses, probably for security reasons.&lt;/p&gt;

&lt;p&gt;Some conclusions we can draw from this comparison are:&lt;/p&gt;

&lt;p&gt;On the route to Google, we have a more direct connection between my ISP and Google, going from the address 152-255-190-66.user.vivozap.com.br at hop 5 to the address 72.14.243.38 (Google) at hop 6. We are accessing Google through an edge location.&lt;/p&gt;

&lt;p&gt;On the route to Amazon, we go through an international route, with higher latency, and the destination blocks ICMP.&lt;/p&gt;

&lt;p&gt;From this, we can see that Google services often use local edge infrastructure, while some AWS endpoints follow international routes.&lt;/p&gt;

&lt;p&gt;You might be wondering why it is important to know the route to a destination and the latency to each router.&lt;/p&gt;

&lt;p&gt;I’ll explain: understanding the Tracert command, routes, latencies, and IPs helps you understand how the internet really works. You don’t connect directly to Google — you go through multiple routers before reaching it.&lt;/p&gt;

&lt;p&gt;By understanding this, you become able to identify bottlenecks, network failures, and locate where the slowdown is happening. For example, if you notice high latency in the first hops, it may indicate a problem inside your home network or with your ISP. If everything is fine at the beginning and latency spikes near the final destination, it may be a problem with the server or the cloud infrastructure.&lt;/p&gt;

&lt;p&gt;This way, you start to better understand the “behind the scenes” of the internet and, over time, become more capable of diagnosing and solving network-related problems.&lt;/p&gt;

&lt;p&gt;I wanted to share some of the knowledge I’ve gained, and I hope it can help someone. I love studying network and understanding how the “fuel” of our modern world (the internet) works.&lt;/p&gt;

&lt;p&gt;Please don’t hesitate to comment, ask questions, or give feedback. We are here to exchange ideas and knowledge.&lt;/p&gt;

&lt;p&gt;Thank you, and see you next time!&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>cli</category>
      <category>networking</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>AWS Cloud Praticttioner #02</title>
      <dc:creator>FeliDrummond</dc:creator>
      <pubDate>Thu, 19 Mar 2026 22:07:06 +0000</pubDate>
      <link>https://dev.to/fedrummond_/aws-cloud-praticttioner-02-3l61</link>
      <guid>https://dev.to/fedrummond_/aws-cloud-praticttioner-02-3l61</guid>
      <description>&lt;p&gt;Hello guys, continuing our AWS Cloud Practitioner series, today we are going to study a specific case and explain how we can solve it using AWS resources.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;According to the following case:&lt;/strong&gt;&lt;br&gt;
A software development company needs to notify the engineering team whenever a new bug is reported in their bug tracking system. Some team members need to be notified immediately, while others can process the bug reports later.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How can this be solved in AWS Cloud?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Simple: you can use Amazon SNS. With Amazon SNS, it is possible to subscribe different endpoints to SNS topics and ensure that the right people or services receive information in real time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is an example of a service that can receive information from an SNS topic?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One example is Amazon SQS queues. &lt;strong&gt;SQS is a message queue service that allows systems to communicate in a decoupled way by storing messages in a queue until they are processed.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;SQS queues can be configured as standard queues or First-In-First-Out (FIFO) queues. For example, you can create:&lt;/p&gt;

&lt;p&gt;Queue 1 (SQS) → sends email&lt;br&gt;
Queue 2 (SQS) → saves data to a database&lt;br&gt;
Queue 3 (SQS) → sends data to analytics&lt;/p&gt;

&lt;p&gt;And then subscribe each of these three queues to an SNS topic called "New user registered".&lt;/p&gt;

&lt;p&gt;Every time a message is published to this topic, &lt;strong&gt;all three subscribed queues will receive the information and execute their specific tasks at the same time, in a decoupled way.&lt;/strong&gt; If one queue fails to process the message, it will not affect the others.&lt;/p&gt;

&lt;p&gt;This way, actions like sending emails, saving data to a database, and sending analytics events are triggered automatically at the right time.&lt;/p&gt;

&lt;p&gt;Thank you everyone for more one day with me!&lt;/p&gt;

</description>
      <category>architectureaws</category>
      <category>aws</category>
      <category>cloudcomputing</category>
    </item>
    <item>
      <title>My roadmap (2025 - 2027)</title>
      <dc:creator>FeliDrummond</dc:creator>
      <pubDate>Wed, 18 Mar 2026 23:07:20 +0000</pubDate>
      <link>https://dev.to/fedrummond_/my-roadmap-2025-2027-602</link>
      <guid>https://dev.to/fedrummond_/my-roadmap-2025-2027-602</guid>
      <description>&lt;p&gt;Well, I’m here to say that I’m following the same journey as &lt;a class="mentioned-user" href="https://dev.to/maame-codes"&gt;@maame-codes&lt;/a&gt;. I’m also a “Class of '27” student (thank you Maame for encouraging me to share my Infrastructure journey). So my roadmap is very similar to hers, with some differences in the order of execution and in the posting format. For each topic, I’m going to start a new series.&lt;/p&gt;

&lt;p&gt;So if my roadmap includes Linux Foundation, Cloud Infrastructure, and Networking and Protocols, then each one of these topics will have its own series.&lt;/p&gt;

&lt;p&gt;For example, I’ve already started the Cloud Infrastructure series (link of this series: &lt;a href="https://dev.to/fedrummond_/aws-cloud-praticttioner-01-3iae"&gt;https://dev.to/fedrummond_/aws-cloud-praticttioner-01-3iae&lt;/a&gt;), which is about my journey to get the Cloud Practitioner certification. For the Networking and Protocols topic, for example, there will be a series like: “Networks: Networking and Protocols #01” and so on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My Roadmap (2025 - 2027):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Linux Fundamentals - Becoming comfortable with the command line&lt;/p&gt;

&lt;p&gt;Networking and Protocols - Understanding how the internet actually works behind the scenes.&lt;/p&gt;

&lt;p&gt;Bash &amp;amp; Scripting - Making the terminal work for me&lt;/p&gt;

&lt;p&gt;Containerization - Building, isolating, and running applications anywhere.&lt;/p&gt;

&lt;p&gt;Cloud Infrastructure - Learning how to build and scale systems in the cloud.&lt;/p&gt;

&lt;p&gt;CI/CD - Integrating, testing, and delivering code continuously&lt;/p&gt;

&lt;p&gt;If you feel comfortable studying with me, you will be very welcome.&lt;br&gt;
Come on to the Class of 27 with me.&lt;br&gt;
Thank you everyone! &lt;/p&gt;

</description>
      <category>classof2027</category>
      <category>devops</category>
      <category>roadmap</category>
    </item>
    <item>
      <title>AWS Cloud Praticttioner #01</title>
      <dc:creator>FeliDrummond</dc:creator>
      <pubDate>Mon, 16 Mar 2026 21:47:48 +0000</pubDate>
      <link>https://dev.to/fedrummond_/aws-cloud-praticttioner-01-3iae</link>
      <guid>https://dev.to/fedrummond_/aws-cloud-praticttioner-01-3iae</guid>
      <description>&lt;p&gt;Well, when I decided to focus my career in the area of DevOps, I searched for a roadmap, a DevOps roadmap. Generally, the roadmap showed me that it is important to understand the following topics:&lt;/p&gt;

&lt;p&gt;Programming Languages - Python | Go&lt;br&gt;
Operating System - Linux&lt;br&gt;
Networking and protocols&lt;br&gt;
Docker&lt;br&gt;
Git | GitHub&lt;br&gt;
AWS&lt;br&gt;
Terraform&lt;br&gt;
Ansible&lt;br&gt;
GitHub Actions&lt;/p&gt;

&lt;p&gt;So, I decided to work on projects and get some certifications. One of the certifications I decided to focus on is the AWS Cloud Practitioner.&lt;/p&gt;

&lt;p&gt;So I will post here a new AWS series that can help you and me understand better everything about cloud computing and specifically AWS Cloud.&lt;/p&gt;

&lt;p&gt;My language here is very informal, and I don't know how to write very well in English, so there will be some grammar mistakes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;What is Cloud computing?&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Cloud computing is essentialy the on-demand delivery of TI resources over the internet with pay-as-you-go pricing.  You can access only the capacity and resources that you need.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Which are the benefits of the Cloud?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Global reach in minutes –&lt;/strong&gt;&lt;br&gt;
 The global presence of AWS Cloud, with data centers in many parts of the world, allows you to deploy applications to customers around the world quickly while also providing low latency and enhances fault tolerance&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Trade upfront expenses for variable expenses –&lt;/strong&gt;&lt;br&gt;
 You don’t need to spend a fortune to build a data center. With AWS, you can start a resource and only pay for what you use and for the time you use it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Benefit from economies of scale –&lt;/strong&gt;&lt;br&gt;
This topic explains how cloud computing can offer lower variable costs than if you managed the infrastructure on your own, such as physical servers or internal data centers. Let’s understand this in more detail:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Variable Costs&lt;br&gt;
Variable costs are those that change according to the usage or the amount of resources consumed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Economies of Scale in the Cloud&lt;br&gt;
Economies of scale occur when the cost per unit of production (or usage) decreases as the quantity produced (or consumed) increases.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When you use the cloud, you are sharing resources with other users. This means that large cloud companies, such as AWS (Amazon Web Services), serve millions of customers simultaneously. Because of this, they can aggregate large volumes of usage and reduce the unit costs of operation.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How does this affect prices?
Since cloud providers like AWS have this large customer base and can aggregate the demand of many users, they are able to purchase hardware and technology at a larger scale and operate more efficiently. This allows them to reduce maintenance and infrastructure costs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As a result, pay-as-you-go prices — meaning the prices you pay for computing, storage, etc., based on how much you use — end up being lower compared to what you would have to pay if you were operating your own infrastructure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Stop guessing capacity -&lt;/strong&gt;&lt;br&gt;
With cloud computing, you don’t have to predict how much infrastructure capacity you will need before deploying an application. &lt;/p&gt;

&lt;p&gt;For example, you can launch Amazon EC2 instances when needed, and pay only for the compute time you use. Instead of paying for unused resources or having to deal with limited capacity, you can access only the capacity that you need. You can also scale in or scale out in response to demand.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;_5. Stop spending money to run and maintain data centers - _&lt;/strong&gt;&lt;br&gt;
The AWS Cloud eliminates the need for businesses to invest in physical data centers. This means customers aren't required to spend time and money on utilities and ongoing maintenance. With AWS taking care of the physical infrastructure of the cloud, customer resources can be reallocated to more strategic initiatives.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;6. Increase speed and agility. -&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
With the cloud, businesses can rapidly deploy applications and services, accelerating time to market and facilitating quicker responses to changing business needs and market conditions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Define the AWS global infrastructure.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Define AWS Regions and Availability Zones.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A Region is a geographic area that contains AWS resources.&lt;/p&gt;

&lt;p&gt;An Availability Zone is a single data center or a group of data centers within a Region. Availability Zones are located tens of miles apart from each other. This is close enough to have low latency (the time between when content requested and received) between Availability Zones. However, if a disaster occurs in one part of the Region, they are distant enough to reduce the chance that multiple Availability Zones are affected.&lt;/p&gt;

&lt;p&gt;Each AWS Region consists of multiple Availability Zones that are isolated and physically separated from a geographic region.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Explain the benefits of high availability and fault tolerance.&lt;/strong&gt;&lt;br&gt;
With the concepts discussed above, we can understand the concepts of high availability and fault tolerance and explain their benefits. We already talked about how, if a disaster occurs in one part of the Region, you can failover to the other part. This is called &lt;strong&gt;High Availability.&lt;/strong&gt; Because you ensure that if one zone fails, you won't lose your server and the jobs that are running, since there's another zone functioning.&lt;/p&gt;

&lt;p&gt;We've already talked about AWS's Global Reach in Minutes. By having redundant systems in various locations, global infrastructure enhances &lt;strong&gt;Fault Tolerance&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That’s it, guys. Today we saw 3 topics: Concepts of Cloud Computing, Benefits of the Cloud, and AWS Global Infrastructure (as part of the infrastructure, we haven't talked about edge locations yet).&lt;/p&gt;

&lt;p&gt;If you have any questions or comments, please feel free to comment.&lt;/p&gt;

&lt;p&gt;Thank you, everyone, and see you in the next post!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>beginners</category>
      <category>career</category>
      <category>devops</category>
    </item>
    <item>
      <title>GitHub Copilot CLI Challenge: Music Idea Genarator</title>
      <dc:creator>FeliDrummond</dc:creator>
      <pubDate>Wed, 11 Feb 2026 18:50:00 +0000</pubDate>
      <link>https://dev.to/fedrummond_/github-copilot-cli-challenge-music-idea-genarator-5h9j</link>
      <guid>https://dev.to/fedrummond_/github-copilot-cli-challenge-music-idea-genarator-5h9j</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-01-21"&gt;GitHub Copilot CLI Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;The Music Idea Genarator is a simple Python CLI tool that generates music ideas such as moods, themes, chord progressions, and song structures. This project was built as part of the GitHub Copilot CLI Challenge, using GitHub Copilot directly in the terminal to design and implement the application.&lt;/p&gt;

&lt;p&gt;In this project, I combined two passions: music and technology. I built this project to help me compose new songs in a simple and quick way. The project doesn't give you a song, but rather themes, chords, structure, and vibes that you can use as a starting point for inspiration and creation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;Access my repository on GitHub and follow the Readme to better understand how it works. &lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/Feli021/Music-Idea-Genarator" rel="noopener noreferrer"&gt;https://github.com/Feli021/Music-Idea-Genarator&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you've cloned the repository and created and activated the virtual environment, the commands are very simple:&lt;/p&gt;

&lt;p&gt;In the terminal, just type 'python main.py' followed or not by what you already have. For example, you might have a sequence of chords in C major and want the program to suggest the rest, such as the song's theme, vibe, and structure.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw1o53h60t5iwm4ku2ya9.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw1o53h60t5iwm4ku2ya9.PNG" alt=" " width="800" height="327"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjfqxpz8bb2l9cvt6mtp3.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjfqxpz8bb2l9cvt6mtp3.PNG" alt=" " width="800" height="190"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Experience with GitHub Copilot CLI
&lt;/h2&gt;

&lt;p&gt;For my first time using the tool, I used it in a very simple way, only assisting me with the structuring of folders and with generating the contents of the data.py file (the file where the lists and dictionaries with the Moods, themes, chords, and structure options are located).&lt;/p&gt;

&lt;p&gt;From the terminal, using natural language, I explained the project and directly asked it to help me with the points mentioned above. For example, in the data.py file, I asked it to fill in the themes and chords for each mood, freeing me from a very manual process of creating themes and chords for each mood.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;What can I expand and/or improve in this project?&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
We can expand and improve this project in many ways, from increasing the options for Moods (melancholic, depressive, agitated, etc.), Chords (such as major, minor, seventh chords, etc.) and themes for each mood, to including GitHub Copilot more explicitly in the project, allowing you to generate suggestions from natural language using the GitHub Copilot CLI, unlike the current version where you generate them from terminal commands like "python main.py --mood happy".&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>cli</category>
      <category>githubcopilot</category>
    </item>
    <item>
      <title>Searcher of lyrics's musics</title>
      <dc:creator>FeliDrummond</dc:creator>
      <pubDate>Tue, 03 Feb 2026 21:36:23 +0000</pubDate>
      <link>https://dev.to/fedrummond_/searcher-of-lyricss-musics-4k34</link>
      <guid>https://dev.to/fedrummond_/searcher-of-lyricss-musics-4k34</guid>
      <description>&lt;p&gt;This application was developed to search for song lyrics based on the band/artist name and the song title.&lt;/p&gt;

&lt;p&gt;The graphical interface was built using Streamlit, while HTTP requests to the external API are handled with the requests library.&lt;/p&gt;

&lt;p&gt;Technologies used&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;Streamlit&lt;/li&gt;
&lt;li&gt;Requests&lt;/li&gt;
&lt;li&gt;API Lyrics.ovh&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;How it works? And How to Run the Projec?&lt;br&gt;
See the readme file in my repository on GitHub.&lt;br&gt;
GitHub Repository: &lt;a href="https://github.com/Feli021/Searcher-of-lyrics-musics" rel="noopener noreferrer"&gt;Searcher of lyrics musics&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Screenshots of the functionality:&lt;br&gt;
1 - Home Screen: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F60g65ft1vcgulcnf0ig7.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F60g65ft1vcgulcnf0ig7.PNG" alt=" " width="800" height="293"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2 - Write the band name and the song title:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl8tsm5phiai5tbpqpyf1.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl8tsm5phiai5tbpqpyf1.PNG" alt=" " width="800" height="298"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3 - Click on Search and wait for the response. If the lyrics are found, they will appear below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvz6pvv2mszpk408akzef.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvz6pvv2mszpk408akzef.PNG" alt=" " width="800" height="356"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4 - If the lyrics is not found, a message will appear informing you:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh0g6ffu8xclqyd3vdsa1.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh0g6ffu8xclqyd3vdsa1.PNG" alt=" " width="800" height="299"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What I learned with this project:&lt;br&gt;
I learned a lot while building this project. I got a much better understanding of how APIs and HTTP requests actually work, seeing how the communication happens between my app and an external service. I also figured out how to handle different status codes and implement user-friendly error messages when a letter is not found.&lt;br&gt;
Another cool thing was learning about URL encoding and why it’s important when you’re working with names that have spaces, accents, or special characters. On top of that, I explored Streamlit and realized how fast and simple it is to create a clean interface without needing heavy frameworks. &lt;br&gt;
Overall, this project helped me improve my coding style, keep things organized, and connect different tools together in a way that actually works for the user&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What is a API?</title>
      <dc:creator>FeliDrummond</dc:creator>
      <pubDate>Thu, 29 Jan 2026 20:17:22 +0000</pubDate>
      <link>https://dev.to/fedrummond_/what-is-a-api-5dnn</link>
      <guid>https://dev.to/fedrummond_/what-is-a-api-5dnn</guid>
      <description>&lt;p&gt;Yesterday I was studying APIs, and I learned that an API connects the backend—where the data is stored—to the client, which is making the request.&lt;/p&gt;

&lt;p&gt;When a request reaches the API (for example, when you type the URL of a website you want to access), the API receives it and sends it to the backend. The backend then returns the requested information to the API, and the API sends that information back to the client.&lt;/p&gt;

&lt;h1&gt;
  
  
  Concepts #API
&lt;/h1&gt;

</description>
      <category>api</category>
      <category>backend</category>
      <category>beginners</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Introducción a Linux</title>
      <dc:creator>FeliDrummond</dc:creator>
      <pubDate>Mon, 26 Jan 2026 23:20:42 +0000</pubDate>
      <link>https://dev.to/fedrummond_/introduccion-a-linux-2c8c</link>
      <guid>https://dev.to/fedrummond_/introduccion-a-linux-2c8c</guid>
      <description>&lt;p&gt;Voy a empezar a publicar todo lo que estoy aprendiendo con el curso “Introduction to Linux” de The Linux Foundation.&lt;br&gt;
Nunca he publicado nada aquí, pero vi una publicación de &lt;a class="mentioned-user" href="https://dev.to/maame-codes"&gt;@maame-codes&lt;/a&gt; que me motivó a usar este espacio para compartir mis estudios.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>devjournal</category>
      <category>learning</category>
      <category>linux</category>
    </item>
  </channel>
</rss>
