Motivation and purpose of development
Despite the fact that many people in the software development field are working hard every day, legacy code (code that is very difficult to fix, extend, or work for whatever reason) provides a significant stumbling block. The number of difficult problems requiring software solutions is increasing, and maintaining legacy code remains a thorn in the side of many developers, reducing both productivity and morale.
Software development projects, which are inherently prone to failure, are currently causing huge financial losses around the world each year.
Purpose of SOULs project
The SOULs project was launched with the goal of reducing software development, operation and maintenance costs.
In today's world of in-house software development, SOULs will continue to be developed as open source to support DX (digital transformation) realization scenarios in all industries, and will contribute to solving problems in software development in general.
The painstaking task of server management
Historically, server management has always been a daunting task, and developers experience many sleepless nights before releases.
Although each server setting is very important, efficient visualization is difficult and it is very difficult for developers to grasp the whole.
Differences between development and production environments often cause problems, with even a single typo being enough to bring down the server.
Also, in many cases, server resources are prepared in advance, so it is necessary to predict the peak access load for each service. And if that prediction is wrong, the server will go down or there will be a significant response delay.
With so many issues around server management, the time spent on them can be quite large, often requiring dedicated development teams.
Cloud and serverless era
Today, cloud technology has evolved, and the idea of serverless has been born and put into practical use.
Serverless architecture allows you to build highly scalable and scalable apps while minimizing server management costs by using a managed environment in the public cloud.
About SOULs architecture
SOULs is a cloud-era Ruby serverless framework that delivers robustness, flexible scaling, and fault tolerance while maintaining development speed to meet business demands.
We focused on keeping the fast development experience of Ruby on Rails, making it more secure and flexible, and reducing server management concerns. This is to respond to businesses that are changing at an ever-increasing rate.
Utilizing the ever-evolving Ruby development peripheral tools such as static type checking by RBS / Steep introduced with the major release of RuboCop and the Ruby ver 3.0 update, we guarantee the improvement of development experience, speed and code quality. All of this code, including RSpec tests, is automatically generated by Scaffold from the data model Schema, helping to maintain a fast-developing code base.
With the realization of a serverless architecture, the times when it is difficult to manage the server settings and status that are difficult to visualize, such as the difference between the development environment and the production environment and the complicated schedule, are coming to an end. Whether you're scaling your server as your service scales, or withstanding spikes of traffic at the time of sale, most of the infrastructure challenges that web applications often have are solved automatically.
Codebase version control with GitHub and automated testing & deploying with GitHub Actions are also included by default. This allows teams to work efficiently and release changes quickly, preventing bugs from getting into production.