<?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: Beny</title>
    <description>The latest articles on DEV Community by Beny (@beny_2005).</description>
    <link>https://dev.to/beny_2005</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4073040%2F4c5ec04f-001e-4334-931b-edfc928f4970.jpg</url>
      <title>DEV Community: Beny</title>
      <link>https://dev.to/beny_2005</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/beny_2005"/>
    <language>en</language>
    <item>
      <title>Monitoring Reset Request Logs: A Simple Step Toward Better Server Security</title>
      <dc:creator>Beny</dc:creator>
      <pubDate>Wed, 26 Aug 2026 09:21:51 +0000</pubDate>
      <link>https://dev.to/beny_2005/monitoring-reset-request-logs-a-simple-step-toward-better-server-security-5a62</link>
      <guid>https://dev.to/beny_2005/monitoring-reset-request-logs-a-simple-step-toward-better-server-security-5a62</guid>
      <description>&lt;p&gt;Today, I worked on understanding how to &lt;strong&gt;monitor reset request logs&lt;/strong&gt; and why tracking these requests is important for server and application security.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reset requests can include actions such as:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Password reset requests&lt;/li&gt;
&lt;li&gt;Account recovery requests&lt;/li&gt;
&lt;li&gt;Authentication-related reset requests&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;While these features are useful for users, they can also become a target for abuse.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Are Reset Request Logs?
&lt;/h2&gt;

&lt;p&gt;Whenever a user sends a reset request, the application or server can record useful information about the request.&lt;/p&gt;

&lt;p&gt;A log entry may contain details such as&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Timestamp&lt;/li&gt;
&lt;li&gt;Request Type&lt;/li&gt;
&lt;li&gt;User/Account Identifier&lt;/li&gt;
&lt;li&gt;IP Address&lt;/li&gt;
&lt;li&gt;Request Status&lt;/li&gt;
&lt;li&gt;Response Status&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These logs help developers understand what is happening on the server.&lt;/p&gt;

&lt;p&gt;What Should We Monitor?&lt;/p&gt;

&lt;p&gt;Instead of looking at individual requests manually, we can look for patterns.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Normal:
1 reset request → user → successful response

Suspicious:
20 reset requests → same IP → within a few minutes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A sudden increase in reset requests from the same IP or for the same account could indicate automated requests or abuse.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Monitoring Matters&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Monitoring reset requests can help identify:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Repeated reset attempts&lt;/li&gt;
&lt;li&gt;Unusual request patterns&lt;/li&gt;
&lt;li&gt;Automated/bot activity&lt;/li&gt;
&lt;li&gt;Possible account abuse&lt;/li&gt;
&lt;li&gt;Unexpected server traffic&lt;/li&gt;
&lt;li&gt;Failed requests&lt;/li&gt;
&lt;li&gt;Authentication-related issues&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal isn't simply to collect logs.&lt;/p&gt;

&lt;p&gt;The goal is to turn logs into useful information about what is happening in the system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Basic Monitoring Flow&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User
  ↓
Reset Request
  ↓
Application / API
  ↓
Request Logged
  ↓
Log Monitoring
  ↓
Pattern Detection
  ↓
Alert / Investigation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What I Learned&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One important takeaway from this task is that logging and monitoring are different things.&lt;/p&gt;

&lt;p&gt;Logging records what happened.&lt;/p&gt;

&lt;p&gt;Monitoring helps us understand whether something unusual is happening.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Log:
Password reset requested from IP X.X.X.X

Monitoring:
50 reset requests from the same IP in 2 minutes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The second piece of information is much more useful for detecting suspicious activity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security Considerations&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When monitoring reset requests, logs should also be handled carefully.&lt;/p&gt;

&lt;p&gt;Sensitive information such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Passwords&lt;/li&gt;
&lt;li&gt;Reset tokens&lt;/li&gt;
&lt;li&gt;Authentication secrets&lt;/li&gt;
&lt;li&gt;Personal information&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;should not be unnecessarily stored in plain text logs.&lt;/p&gt;

&lt;p&gt;Logs should be protected and access should be limited to authorized users.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Takeaway&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A reset-password feature may look like a small part of an application, but its logs can provide valuable security and operational information.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Logs → Monitoring → Patterns → Detection → Action
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This task helped me understand how monitoring can provide visibility into application activity and help identify unusual behavior before it becomes a bigger problem.&lt;/p&gt;

&lt;p&gt;Next, I want to explore how automated alerts and rate limiting can be used to respond to suspicious reset request patterns.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;#DevOps #CyberSecurity #ServerMonitoring #Logging #BackendDevelopment #WebSecurity #SoftwareEngineering #Observability #Learning&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>backend</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
    <item>
      <title>What I Learned About Publishing an iPhone App on the App Store</title>
      <dc:creator>Beny</dc:creator>
      <pubDate>Tue, 25 Aug 2026 14:26:00 +0000</pubDate>
      <link>https://dev.to/beny_2005/what-i-learned-about-publishing-an-iphone-app-on-the-app-store-44a</link>
      <guid>https://dev.to/beny_2005/what-i-learned-about-publishing-an-iphone-app-on-the-app-store-44a</guid>
      <description>&lt;p&gt;Publishing an iPhone app isn't simply:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build → Upload → Published ❌&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There is an entire review and compliance process behind getting an app onto the App Store.&lt;/p&gt;

&lt;p&gt;Today, I explored Apple's guidelines and the important things developers need to consider before submitting an iOS application.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔍 What I Learned
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. The App Must Be Complete
&lt;/h3&gt;

&lt;p&gt;Before submission, the app should be properly tested and shouldn't contain:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Major bugs or crashes&lt;/li&gt;
&lt;li&gt;Placeholder content&lt;/li&gt;
&lt;li&gt;Broken features&lt;/li&gt;
&lt;li&gt;Non-working links&lt;/li&gt;
&lt;li&gt;Unavailable backend services&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A working build is the starting point.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Privacy Matters 🔐
&lt;/h3&gt;

&lt;p&gt;Developers need to clearly understand what data their application collects and how that data is used.&lt;/p&gt;

&lt;p&gt;Important requirements include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Privacy policy&lt;/li&gt;
&lt;li&gt;App privacy information&lt;/li&gt;
&lt;li&gt;Data collection details&lt;/li&gt;
&lt;li&gt;Tracking information where applicable&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. App Store Metadata Must Be Accurate
&lt;/h3&gt;

&lt;p&gt;The information shown to users should represent the actual application.&lt;/p&gt;

&lt;p&gt;This includes:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;App Name → Description → Keywords → Screenshots → Category → Age Rating&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The metadata shouldn't make claims about features that the app doesn't actually provide.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Testing Before Submission
&lt;/h3&gt;

&lt;p&gt;Before sending the app for review, developers should test it properly.&lt;/p&gt;

&lt;p&gt;Apple's &lt;strong&gt;TestFlight&lt;/strong&gt; can be used to distribute beta versions to testers and identify issues before the final submission.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. App Review Information
&lt;/h3&gt;

&lt;p&gt;If an app requires login, reviewers need a way to access it.&lt;/p&gt;

&lt;p&gt;Developers may need to provide:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Demo account&lt;/li&gt;
&lt;li&gt;Login credentials&lt;/li&gt;
&lt;li&gt;Review instructions&lt;/li&gt;
&lt;li&gt;Information about important or hidden features&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This helps the review team properly evaluate the application.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Business &amp;amp; Payment Requirements 💳
&lt;/h3&gt;

&lt;p&gt;Apps containing paid features, subscriptions, or In-App Purchases need to follow Apple's business and payment requirements.&lt;/p&gt;

&lt;p&gt;Developers also need to complete the required agreements and financial information in App Store Connect when applicable.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Develop App
    ↓
Test on Real Devices
    ↓
Test with TestFlight
    ↓
Create App in App Store Connect
    ↓
Upload Build
    ↓
Complete Metadata &amp;amp; Privacy
    ↓
Submit for App Review
    ↓
Apple Review
    ↓
Approved 🎉
    ↓
App Store Release
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;💡 &lt;strong&gt;My Key Takeaway&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The biggest thing I learned is that App Store publishing is not just a technical process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A successful submission requires:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Functionality + Privacy + Design + Security + Business + Legal Compliance&lt;/p&gt;

&lt;p&gt;The best approach is to consider Apple's requirements while developing the application, rather than trying to fix everything just before submission.&lt;/p&gt;

&lt;p&gt;I'm looking forward to learning more about the complete iOS deployment process, especially App Store Connect, TestFlight, certificates, provisioning profiles, and app signing. 🚀&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;#iOS #AppDevelopment #AppStore #Apple #AppStoreConnect #MobileDevelopment #SoftwareDevelopment #DevOps #Learning&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>swift</category>
      <category>ios</category>
      <category>appstore</category>
      <category>flutter</category>
    </item>
    <item>
      <title>Deploying My First Web Server with Nginx</title>
      <dc:creator>Beny</dc:creator>
      <pubDate>Sun, 23 Aug 2026 06:37:16 +0000</pubDate>
      <link>https://dev.to/beny_2005/deploying-my-first-web-server-with-nginx-3phf</link>
      <guid>https://dev.to/beny_2005/deploying-my-first-web-server-with-nginx-3phf</guid>
      <description>&lt;p&gt;Today I worked on a simple but important DevOps task: &lt;strong&gt;deploying a web server using Nginx on Ubuntu.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of only learning the theory, I wanted to understand the practical flow of how a web server receives a request and serves a webpage.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Installed and verified Nginx&lt;/li&gt;
&lt;li&gt;Started the Nginx service&lt;/li&gt;
&lt;li&gt;Checked the server status&lt;/li&gt;
&lt;li&gt;Tested the server using &lt;code&gt;curl&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Created a custom HTML webpage&lt;/li&gt;
&lt;li&gt;Served the webpage through Nginx&lt;/li&gt;
&lt;li&gt;Accessed the webpage using &lt;code&gt;http://localhost&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Simple Architecture
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Browser
   ↓
HTTP Request
   ↓
Nginx Web Server
   ↓
/var/www/html/index.html
   ↓
HTML Response
   ↓
Webpage
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Commands I Used
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nginx &lt;span class="nt"&gt;-v&lt;/span&gt;

&lt;span class="nb"&gt;sudo &lt;/span&gt;service nginx start

&lt;span class="nb"&gt;sudo &lt;/span&gt;service nginx status

curl http://localhost

&lt;span class="nb"&gt;sudo &lt;/span&gt;nginx &lt;span class="nt"&gt;-t&lt;/span&gt;

&lt;span class="nb"&gt;sudo &lt;/span&gt;service nginx reload
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;For the practical demonstration, I created a simple web page and served it using Nginx.&lt;/p&gt;

&lt;p&gt;The page was placed in:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/var/www/html/index.html
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After configuring the page, I verified the Nginx configuration and accessed it through:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://localhost
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What I Learned 💡
&lt;/h2&gt;

&lt;p&gt;This task helped me understand that deploying a webpage involves more than just writing HTML.&lt;/p&gt;

&lt;p&gt;The basic flow is:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Browser → HTTP Request → Nginx → HTML File → Response&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I also got practical experience with Linux services, Nginx configuration, the web root directory, and testing a web server from the terminal.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Takeaway
&lt;/h3&gt;

&lt;p&gt;A simple Nginx deployment gave me a better understanding of the &lt;strong&gt;infrastructure layer behind web applications&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Next, I want to explore how Nginx can be used as a &lt;strong&gt;reverse proxy&lt;/strong&gt; for backend applications. 🚀&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;#Nginx #DevOps #WebServer #Linux #Ubuntu #CloudComputing #BackendDevelopment #WebDevelopment #SoftwareEngineering&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>infrastructure</category>
      <category>linux</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Learning Network Troubleshooting: Checking IP Address and Connectivity</title>
      <dc:creator>Beny</dc:creator>
      <pubDate>Fri, 21 Aug 2026 10:38:13 +0000</pubDate>
      <link>https://dev.to/beny_2005/learning-network-troubleshooting-checking-ip-address-and-connectivity-fcp</link>
      <guid>https://dev.to/beny_2005/learning-network-troubleshooting-checking-ip-address-and-connectivity-fcp</guid>
      <description>&lt;p&gt;Today, I worked on a fundamental networking task: &lt;strong&gt;checking the IP address of my system and testing network connectivity using practical commands in Windows Command Prompt&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;At first, commands like &lt;code&gt;ipconfig&lt;/code&gt; and &lt;code&gt;ping&lt;/code&gt; seemed very simple. But after implementing them practically, I understood that these commands can help identify where a network problem is actually occurring.&lt;/p&gt;

&lt;p&gt;I started with:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;ipconfig&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This helped me check my system's &lt;strong&gt;IPv4 address, subnet mask, and default gateway&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Next, I tested the local network stack using:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;ping 127.0.0.1&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The result confirmed that my local TCP/IP networking stack was working correctly.&lt;/p&gt;

&lt;p&gt;One interesting part of the task was testing:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;ping 192.168.1.1&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The request timed out. Instead of immediately assuming there was a network problem, I checked my actual network configuration and realized that &lt;code&gt;192.168.1.1&lt;/code&gt; was not the default gateway of my current network.&lt;/p&gt;

&lt;p&gt;This was an important practical lesson for me: &lt;strong&gt;we should not assume that every network uses &lt;code&gt;192.168.1.1&lt;/code&gt; as its gateway. We should first check the actual default gateway using &lt;code&gt;ipconfig&lt;/code&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Finally, I tested external connectivity and DNS resolution using:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;ping google.com&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The successful response confirmed that my system could communicate with an external network and that DNS resolution was also working.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Main Takeaway
&lt;/h2&gt;

&lt;p&gt;Today's task helped me understand that network troubleshooting should follow a logical process.&lt;/p&gt;

&lt;p&gt;First, check the IP configuration. Then test the local network stack, verify the actual default gateway, test external connectivity, and finally check DNS resolution.&lt;/p&gt;

&lt;p&gt;The most important thing I learned is that troubleshooting is not about randomly running commands. Each command helps test a different part of the network.&lt;/p&gt;

&lt;p&gt;A simple practical task, but it gave me a much clearer understanding of how to identify whether a connectivity problem is related to the &lt;strong&gt;device, local network, gateway, internet connection, or DNS&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;#Networking #NetworkTroubleshooting #WindowsCMD #Linux #DevOps #ITInfrastructure #IPAddress #LearningInPublic #TechLearning&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>learning</category>
      <category>networking</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Physical Server vs Cloud Server: What I Learned About Infrastructure</title>
      <dc:creator>Beny</dc:creator>
      <pubDate>Thu, 20 Aug 2026 14:43:34 +0000</pubDate>
      <link>https://dev.to/beny_2005/physical-server-vs-cloud-server-what-i-learned-about-infrastructure-2905</link>
      <guid>https://dev.to/beny_2005/physical-server-vs-cloud-server-what-i-learned-about-infrastructure-2905</guid>
      <description>&lt;p&gt;When we build an application, we often focus on the frontend, backend, APIs, and databases.&lt;/p&gt;

&lt;p&gt;But there is another important question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where should the application actually run?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Today, I spent some time learning about the differences between &lt;strong&gt;physical servers and cloud servers&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Initially, I thought the decision was quite simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Limited users = Physical Server&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;More users = Cloud Server&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But after exploring the topic further and looking at real-world examples such as &lt;strong&gt;Netflix, Dropbox, Meta, and 37signals&lt;/strong&gt;, I realized that infrastructure decisions are much more complex.&lt;/p&gt;

&lt;p&gt;The right choice depends on several factors, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cost and total cost of ownership&lt;/li&gt;
&lt;li&gt;CPU, RAM, and storage requirements&lt;/li&gt;
&lt;li&gt;Number of users and traffic patterns&lt;/li&gt;
&lt;li&gt;Scalability and future growth&lt;/li&gt;
&lt;li&gt;Performance and availability&lt;/li&gt;
&lt;li&gt;Security and maintenance&lt;/li&gt;
&lt;li&gt;Level of infrastructure control required&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One of the most important things I learned is that &lt;strong&gt;cloud infrastructure is not automatically cheaper, and physical infrastructure is not automatically outdated&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;For stable and predictable workloads, physical infrastructure can still be a practical option. On the other hand, for applications with rapidly growing or unpredictable workloads, cloud infrastructure can provide greater flexibility to scale resources when required.&lt;/p&gt;

&lt;p&gt;I also found the real-world examples particularly interesting. Different companies make different infrastructure decisions based on their own technical and business requirements, and some even use a &lt;strong&gt;hybrid approach&lt;/strong&gt; that combines physical infrastructure with cloud services.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Biggest Takeaway
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The best infrastructure is not necessarily the most powerful or the most expensive. It is the infrastructure that provides the right balance of cost, performance, scalability, reliability, and control for the application.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This was a really interesting topic to explore, and it changed my initial understanding of how companies should choose between physical and cloud infrastructure.&lt;/p&gt;

&lt;p&gt;What do you think?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you were building a new application with unpredictable growth, would you start with a physical server, a single cloud VM, or design for scalability from the beginning?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;#CloudComputing #DevOps #CloudArchitecture #ServerInfrastructure #BackendDevelopment #SoftwareEngineering #Scalability #WebDevelopment #Infrastructure #LearningInPublic&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>physicalserver</category>
      <category>cloudserver</category>
      <category>backend</category>
      <category>devops</category>
    </item>
    <item>
      <title>Physical Server vs Cloud Server: Which Infrastructure Makes More Sense?</title>
      <dc:creator>Beny</dc:creator>
      <pubDate>Thu, 20 Aug 2026 06:23:06 +0000</pubDate>
      <link>https://dev.to/beny_2005/physical-server-vs-cloud-server-which-infrastructure-makes-more-sense-3han</link>
      <guid>https://dev.to/beny_2005/physical-server-vs-cloud-server-which-infrastructure-makes-more-sense-3han</guid>
      <description>&lt;h2&gt;
  
  
  When building an application, we usually focus on the frontend, backend, APIs, and database.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;But there is another important question:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Where should the application actually run?&lt;/p&gt;

&lt;p&gt;Two common approaches are physical servers and cloud/virtual servers. Understanding the difference is important because infrastructure decisions affect scalability, availability, security, maintenance, and cost.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Is a Server?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A server is a computer system that runs applications, processes requests, communicates with databases, and provides information to users.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A typical request might look like:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;User → Internet → Application Server → Backend → Database → Response&lt;/p&gt;

&lt;p&gt;Depending on the application, the server may handle authentication, APIs, user data, file processing, notifications, and other backend operations.&lt;/p&gt;

&lt;p&gt;In simple terms, the server provides the execution environment behind the application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Physical Server:&lt;/strong&gt; More Control, Less Flexibility&lt;/p&gt;

&lt;p&gt;A physical server is a dedicated machine used to run applications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For example:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;16 CPU cores + 64 GB RAM + 2 TB SSD&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;• Dedicated hardware&lt;br&gt;
• Predictable performance&lt;br&gt;
• Greater hardware-level control&lt;br&gt;
• Suitable for stable workloads&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Limitations:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;• Higher initial investment&lt;br&gt;
• Hardware maintenance&lt;br&gt;
• Hardware failures can cause downtime&lt;br&gt;
• Scaling requires additional or upgraded hardware&lt;/p&gt;

&lt;p&gt;If an application suddenly grows beyond the capacity of the machine, increasing capacity may require purchasing and configuring new hardware.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cloud / Virtual Server:&lt;/strong&gt; Infrastructure That Can Adapt&lt;/p&gt;

&lt;p&gt;A cloud server is a virtual server running on physical infrastructure inside a cloud data center.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For example:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;4 vCPU + 16 GB RAM + SSD&lt;/p&gt;

&lt;p&gt;Instead of purchasing the entire physical machine, resources can be provisioned according to the application's requirements.&lt;/p&gt;

&lt;p&gt;Cloud environments also provide different scaling approaches.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scale Up:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Increase the resources of an existing server.&lt;/p&gt;

&lt;p&gt;4 vCPU → 8 vCPU → 16 vCPU&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scale Out:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Add additional application instances.&lt;/p&gt;

&lt;p&gt;Application Server 1 + Application Server 2 + Application Server 3&lt;/p&gt;

&lt;p&gt;A load balancer can then distribute incoming traffic between them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Happens When Traffic Increases?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Consider an application that normally handles:&lt;/p&gt;

&lt;p&gt;1,000 requests/day&lt;/p&gt;

&lt;p&gt;After a successful product launch, traffic increases to:&lt;/p&gt;

&lt;p&gt;20,000 requests/day&lt;/p&gt;

&lt;p&gt;The infrastructure now needs to process significantly more requests.&lt;/p&gt;

&lt;p&gt;With a physical server, the available capacity is limited by the installed hardware.&lt;/p&gt;

&lt;p&gt;With cloud infrastructure, resources can potentially be increased or additional application instances can be introduced.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The important point is:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Cloud does not automatically solve scalability problems. It provides more flexibility for designing a scalable system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Happens When a Server Fails?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A basic architecture may have a single application server connected to the database.&lt;/p&gt;

&lt;p&gt;If the only application server fails, the application may become unavailable.&lt;/p&gt;

&lt;p&gt;A more resilient architecture can use a load balancer, multiple application servers, a database, and backups.&lt;/p&gt;

&lt;p&gt;If one application instance becomes unavailable, traffic can potentially be redirected to another healthy instance.&lt;/p&gt;

&lt;p&gt;This is the foundation of high availability.&lt;/p&gt;

&lt;p&gt;Running an application in the cloud does not automatically make it highly available. Redundancy must be designed into the architecture.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security Considerations&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Regardless of whether the infrastructure is physical or cloud-based, security remains a major responsibility.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A production environment should consider:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;• Authentication and authorization&lt;br&gt;
• Encryption&lt;br&gt;
• Firewalls&lt;br&gt;
• Secure APIs&lt;br&gt;
• Database access control&lt;br&gt;
• Secrets management&lt;br&gt;
• Monitoring and logging&lt;br&gt;
• Backups&lt;br&gt;
• Disaster recovery&lt;/p&gt;

&lt;p&gt;Cloud providers offer many security capabilities, but developers still need to configure the application, network, credentials, and data securely.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Applying This to DoctPro&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now let's look at this from a real application perspective.&lt;/p&gt;

&lt;p&gt;DoctPro is a healthcare networking platform that connects healthcare professionals and supports services such as professional networking, recruitment, content sharing, and doctor appointments.&lt;/p&gt;

&lt;p&gt;Because the platform can grow in terms of users and traffic, infrastructure flexibility becomes important.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A Practical Scenario&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Suppose DoctPro initially has:&lt;/p&gt;

&lt;p&gt;5,000 active users&lt;/p&gt;

&lt;p&gt;Later, after hospital partnerships or recruitment campaigns:&lt;/p&gt;

&lt;p&gt;5,000 → 50,000 users&lt;/p&gt;

&lt;p&gt;The workload could increase across:&lt;/p&gt;

&lt;p&gt;• User authentication&lt;br&gt;
• Healthcare professional searches&lt;br&gt;
• Messaging&lt;br&gt;
• Job searches&lt;br&gt;
• Content&lt;br&gt;
• Appointment requests&lt;/p&gt;

&lt;p&gt;With a physical server, hardware may need to be upgraded.&lt;/p&gt;

&lt;p&gt;With cloud infrastructure, DoctPro can potentially scale up resources or scale out by adding application instances.&lt;/p&gt;

&lt;p&gt;A Practical Cloud Approach for DoctPro&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A simple starting architecture could include:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Cloud VM + Database + Backup Storage + Firewall + Monitoring + Logging&lt;/p&gt;

&lt;p&gt;As the platform grows, it could gradually evolve toward:&lt;/p&gt;

&lt;p&gt;Multiple App Instances → Load Balancer → Auto Scaling → Managed Database → CDN → Disaster Recovery&lt;/p&gt;

&lt;p&gt;The advantage of this approach is that complexity can be introduced when the actual workload requires it, rather than building an unnecessarily complicated infrastructure from day one.&lt;/p&gt;

&lt;p&gt;Why I Would Choose Cloud for DoctPro&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The decision isn't simply:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Cloud is better than physical servers."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The more important factor is the application's expected growth.&lt;/p&gt;

&lt;p&gt;For a platform with changing traffic and multiple services, the ability to scale infrastructure without replacing physical hardware can be a significant advantage.&lt;/p&gt;

&lt;p&gt;Therefore, for DoctPro, a cloud-first approach would provide a more flexible foundation for future growth.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Choosing infrastructure isn't just about CPU, RAM, or storage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We also need to consider:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Scalability + Availability + Security + Cost + Maintenance + Future Growth&lt;/p&gt;

&lt;p&gt;A physical server provides control and dedicated resources.&lt;/p&gt;

&lt;p&gt;Cloud infrastructure provides flexibility and scalability.&lt;/p&gt;

&lt;p&gt;For applications with changing workloads, cloud infrastructure can provide more room to evolve.&lt;/p&gt;

&lt;p&gt;The best infrastructure isn't necessarily the most powerful one. It's the infrastructure that can evolve with the application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What would you choose?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For a new application with unpredictable traffic, would you start with a physical server, a single cloud VM, or a scalable cloud architecture?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What would influence your decision most: cost, performance, scalability, security, or simplicity?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>backend</category>
      <category>devops</category>
      <category>cloud</category>
      <category>server</category>
    </item>
  </channel>
</rss>
