Hello, I have been using AWS since 2013, but recently our company has decided to build our own servers. Today, I would like to share the process, reasons, and advice that may be helpful to all of you.
Why did we switch from AWS to self-hosted servers?
AWS has many advantages in terms of scalability, stability, and security. In particular, the ability to flexibly handle a surge in users is a significant advantage. However, since we provide B2B services, the likelihood of a rapid increase in users is low.
In the case of B2B, there is no significant issue with scalability because we can control the number of contracts in the contract process. In fact, we have never experienced such a surge in users since the founding of HashScraper. Therefore, we decided to build our own servers to save costs.
Challenges and Solutions in the Transition Process
We have not yet migrated many parts, but we have moved databases, staging servers, and services under development to internal servers. So far, the process has been progressing smoothly without major difficulties. By effectively utilizing physical server resources, significant cost advantages can be obtained.
Long-term Benefits of Operating Self-hosted Servers
By operating our own servers, we were able to not only save costs but also maximize the utilization of existing physical server resources. We believe that we can achieve sufficient security enhancement and performance improvement.
Advice for Other Developers and IT Companies
As server infrastructure technology continues to advance, infrastructure setup and operation have become easier. By using tools like GPT, you can get many hints for server configuration. This reduces the time spent reading complex guides and minimizes trial and error, allowing you to spend less time on infrastructure setup than before.
By purchasing physical servers inexpensively and using GPT to build servers, you can expect significant cost savings.
Utilizing Apple Silicon Chips and Docker
I also recommend Apple Silicon chips, especially Mac Mini M1 or M2. These products offer excellent performance for the price and high stability. By using Docker, deployment can be done very easily, making server operation more efficient.
Strengthening Security with Multi-Factor Authentication (MFA)
To maintain a high level of security on self-hosted servers, you can introduce Multi-Factor Authentication (MFA). This can further enhance security. Below is a brief guide on implementing MFA on self-hosted servers.
Steps to Implement MFA:
Choose an MFA Solution: Select solutions like Google Authenticator, Authy, or Yubikey.
Server Configuration: Add the MFA step to the user authentication flow. Users should be required to enter an MFA token after entering their ID and password to log in.
API Integration: Integrate the MFA solution with the application server using the provided APIs.
User Interface: Add an MFA input field to the login page and create an MFA setup page for users to register or manage their MFA devices.
Backend Logic: Add a step to verify the MFA token after verifying the user's ID and password during authentication.
Testing and Deployment: Conduct tests in various scenarios to ensure that security functions properly and deploy changes to the server.
Frequently Asked Questions
Q: How do you prepare for data security?
A: In terms of security, we have implemented various security measures with the help of ChatGPT.
- Access Control Management: In addition to IP range settings and ID/password management, we have introduced Multi-Factor Authentication.
- Physical Security: Access control and surveillance systems in data centers.
- Regular Checks: Security checks and vulnerability analysis for proactive prevention.
- Backup Strategy: Regular data backups and external storage.
- Database Replication: Distributing data across multiple servers for enhanced security.
Q: Have you encountered any unexpected issues or additional costs?
A: There were compatibility issues during the initial server setup process and some hardware upgrades were needed. With the help of GPT, we were able to resolve them quickly and minimize costs through careful planning. The long-term cost savings are very positive.
Q: How has it impacted the development team?
A: Initially, additional learning was required, but with the help of GPT, we were able to quickly grasp it. Team collaboration has strengthened, and we have become more proactive in solving server issues. Improved infrastructure understanding has also increased development efficiency.
Q: How do you monitor and optimize performance?
A: We conduct real-time performance monitoring with various tools, establish an automatic notification system, and regularly review and optimize performance. This helps to increase service availability and optimize user experience.
Conclusion
The transition to self-hosted servers provides various benefits such as cost savings, security enhancement, and performance improvement. While using cloud services like AWS can provide high scalability and stability, for B2B services where user numbers do not fluctuate rapidly, self-hosted server operation may be a more rational choice.
By purchasing physical servers inexpensively and utilizing the latest technologies and tools to build servers, the initial setup and operation have become easier. In particular, using tools like GPT reduces the time spent reading complex guides and minimizes trial and error, allowing you to spend less time on infrastructure setup.
I hope this article provides useful information to other developers and IT companies considering transitioning to self-hosted servers. If you have any questions or need additional information, please feel free to leave a message at hedgehog@hashscraper.com. Thank you!




