AWS S3 has been a reliable service over the years and for a long time it was the only option. However, in the past few years, there has been more cloud storage options that have popped up with compatible S3 APIs. These services can sometimes offer better pricing and speeds.
Continuing on from the previous episode, we look at creating a Docker Swarm cluster and using Traefik to load balance and route requests to various applications. Using this and CloudFlare proxies, we're able to create and deploy hobby applications in minutes.
I often create Rails projects and while some of these applications are fairly simple, deployment to a production environment still requires a lot of infrastructure setup. In this episode, we take a look at creating a Rails project template and being able to deploy it to a production environment within minutes.
As an application grows in popularity and usage you'll need to scale the application to support your new users and their data. One way in which your application may need to scale is on the database level. In this episode, we look at reading from a replica database while writing to a primary database. We also look at structuring our application top support multiple databases; each containing their own schema.
User experience is important and there are little things that we can do to help improve this experience. By giving real time feedback on text inputs to approaching limits on fields, the user can modify and update their text accordingly before they submit the form. In this episode, we look at database level, model validations and limiting text input on the client side.