Embark on a gaming revolution in Israel as I unveil how I built a cutting-edge platform revolutionizing gaming in Israel!
About IMS - Network's infrastructure
As the CTO at IMS - Network, I have spearheaded implementing a robust hybrid multi-cloud solution for our applications and services. Our infrastructure strategy combines utilizing major cloud providers with managing two physical server farms in Israel. By adopting this approach, our primary objective is to optimize costs and achieve cost savings. We evaluate the most cost-effective options for each application or platform we develop or host. This approach allows us to leverage the advantages of cloud services while maintaining control over specific resources, ensuring flexibility, reliability, and cost efficiency for our organization.
Why Did I Choose AWS For This Platform
When I initially started developing "גיימינג.ישראל," it was a simple Docker application running on my local PC. Initially, I built the platform from scratch using the Frappe framework. While Frappe is a fantastic framework to work with, I soon realized that this approach would be time-consuming and require significant effort. After two months of development, I decided to transition to WordPress. WordPress is a well-known platform with extensive documentation, an active community, and a robust foundation.
The shift to AWS came when we at IMS - Network began migrating applications from our self-hosted servers to the cloud. The primary goal was to free up space on our servers to accommodate gaming servers, as low ping is a critical factor for gamers.
We recognized that AWS offered a comprehensive suite of services, scalability, reliability, and the ability to optimize costs.
Ultimately, the choice to utilize AWS for "גיימינג.ישראל" was driven by the need for a scalable and reliable platform, and the desire to streamline development efforts.
Our infrastructure consists of several vital services within the AWS environment. Here are details about the services we utilize:
EC2 – Automatic Scaling and System Operations
Our system operates on two EC2 instances that host our platform. With the automatic scaling feature of EC2, we can dynamically adjust our resources in response to changes in system load. This capability allows us to efficiently handle varying workloads and maintain optimal availability and performance for our users.
When the demand for our system increases, EC2 automatically scales up our resources by adding more instances to handle the workload effectively. Likewise, during periods of lower demand, EC2 scales down our resources by removing instances, optimizing cost efficiency.
S3 – Daily Image Backup
We have implemented the S3 (Simple Storage Service) as our backup solution to safeguard our valuable images. Through S3, we store and protect our images in a secure and easily accessible manner. This approach ensures that our images are reliably backed up and can be swiftly recovered in the event of data loss or system failure. By leveraging S3's durability and redundancy features, we maintain the integrity of our image data, guaranteeing that important visual content is preserved and readily available whenever needed.
SES – Email Delivery
To streamline communication within our system, we rely on the SES (Simple Email Service) provided by Amazon for efficient email delivery. By leveraging SES, we can automate the process of sending emails and notifications to users within our system. This service serves as a reliable and swift communication channel, enabling us to effectively deliver important information and timely updates to our users. With SES, we ensure that our users receive essential messages promptly and dependably, facilitating seamless and effective communication throughout our platform.
API Gateway and Custom API
We have integrated the API Gateway service into our infrastructure to effectively manage both the WordPress API and our unique platform API. API Gateway is vital in securely handling communication with the APIs, ensuring easy administration and maintenance. This service provides a centralized control point for our APIs, allowing us to manage access, authentication, and rate limiting efficiently. Moreover, API Gateway empowers us to develop external applications that can seamlessly interact with our system through the custom API, fostering integrations and extending the functionality of our platform.
RDS and MySQL Database
Within our infrastructure, we have integrated the RDS (Relational Database Service) offered by AWS, with MySQL serving as the primary database for our WordPress-based system. By utilizing RDS, we benefit from a fully managed database solution, enabling us to dedicate our resources to developing and maintaining our application without concern with setting up central server infrastructures or managing the database locally. RDS provides a reliable and scalable foundation for our database needs, ensuring optimal performance and streamlined management.
In general, the combination of AWS infrastructure and WordPress allowed me to build גיימינג.ישראל and make it work :)
Why won't you go multi-region in case Frankfurt won't be available?
Well, here's a light-hearted response with a DevOps joke:
"Why won't you go multi-region in case Frankfurt won't be available? Because our budget is more single-region than multi-million!"
In the world of DevOps, multi-region setups are often considered the gold standard for high availability and disaster recovery. However, implementing such a setup can be costly and resource-intensive. So, while the idea of going multi-region might be appealing, sometimes the budget constraints make it a challenging endeavor. But hey, we can always dream of a day when our pockets are as vast as our infrastructure!