Welcome

An introduction to the laravel quick shift platform and expectations

Published at Tuesday 15th of October 2024 07:00:00 PM

Welcome Feature Image

Welcome to Laravel QuickShift, we are excited to design this platform that allows you to streamline the deployment and development of your laravel applications. We understand the challenges Laravel developers face on a daily basis when it comes to hosting and it's complexity compared to other frameworks.

Laravel QuickShift is built on Google Cloud Platform and it's intended to bridge the gap to deployment by providing an easy to use, affordable and friendly alternative.

OUR GOALS

  • Generous Free Tier: To provide a generous generous free tier that you can use to host your test projects and showcase prototypes.
  • Expert Guidance: Expert guidance and knowledge on building, hosting and using serverless technologies for laravel applications.
  • FilamentPHP Plugin Integration: A custom filamentphp plugin that allows you to access the functionalities of the platform in your filament admin application using your own Google Cloud account.

CORE FEATURES AND FUNCTIONALITY

  • Version Control Integration: For your deployment workflows, integrate with version control systems such as Github.
  • Automatic Deployments: Automate deployment of your applications that are triggered by changes in your Source Respository. Each deployment creates an application version.
  • Rollbacks and Traffic Splitting: Having problems in production? You can quickly rollback to previous versions of your application or split traffic across multiple versions.
  • Team Collaboration: Divide your applications into distint groups using projects and teams for collaboration.
  • Application, Database, and Storage Management: Gain access to a shared Postgres database server where you can create multiple databases, manage private google cloud storage buckets, and manage your Laravel applications within a single project.
  • Logging and Monitoring: With the built in logging and monitoring features of google cloud, you can get access to logging information from your resources retained for 30 days. We have plans to introduce paid longer log storage duration later on if you need longer durations.
  • Multiple Regions: Deploy your resources in 3 available google cloud regions us-central1(Iowa, USA), europe-west3(Frankfurt, Germany) and asia-southeast1(Singapore, Asia). We have plans to introduce other supported regions later on.
  • Secrets Management: Have an environment variable you don't want to be publicly set on your application? Leverage google cloud secret manager on our platform to provide secure access to private information to your applications through environment variables.

HOW THE PLATFORM WORKS

Laravel QuickShift will allow to sign up for access by creating a team. Under each team, you can create multiple projects which can be used to group applications, databases, storage and other services under the same name and security settings.

Applications launched can be either private or public. Private applications can be accessed from other applications on the platform (other users with the url of the application can access it through their applications) but it will not be accessible from the public internet. The benefit of keeping your application as private is only to not expose it on the public internet but that does not make it secure in terms of access by users on the same platform so you need to ensure that's it's protected like any laravel application you have out there.

Public applications are assigned a google cloud run url by default so you can use that to visit your application. If you want to manage your domain, you can assign a custom domain. We will provide the necessary details on how to assign a custom domain in due time. We also plan to allow you to access your applications on a subdomain on *.web.laravelquickshift.com or *.public.laravelquickshift.com.

Project security is enhanced through the use of service accounts (credentials). Your projects will have service accounts (credentials) that can only be allowed to access your project's resources such as storage. So in terms of security, you can be sure that only applications in your project will have access to other resources such as storage in the same project.

To further restrict your private applications from other users' access, you can leverage service accounts. However, this will require you to modify the http communication to your private service to use the credentials from your service account. We will delve deeper into this in later articles and our documentation once this feature is available.

In terms of databases, you can create a database in your projects on a shared postgres database cluster (we plan to add a mysql cluster later). The postgres cluster is a managed cluster provided by google cloud which means you don't have to worry about maintaining or paying for a full database cluster. When a database is created, a unique username and password will be created for you which only provides access to your database so you can be sure that another user cannot access your database using their credentials. Passwords for databases are not stored as plain texts on our end but securely stored using google cloud secret manager and your project's service account given access to it.

The caveats to databases provided on our platform is that it's not possible to share it outside and it can only be used by applications deployed on our platform in a project. So if you intend to expose the database, you will have to instead build an api or an api endpoint in your public application that performs actions on the database.

HOW TO FOLLOW PLATFORM UPDATES

The platform is currently under development and we will be sharing updates through our x social handle @Laravel QuickShift and also on our squad on daily.dev.

If you are prefer to receive updates by email, subscribe to our newsletter for email updates on our homepage or directly using this link: Laravel Quick Shift Feature Updates.

MEET THE TEAM

At the moment, the team working on Laravel QuickShift consists of only me, Lance Armah-Abraham. My vision is to grow this venture and later invite like minded engineers and developers to join.

I am Lance Armah-Abraham, a Software Developer and Cloud Engineer. I work at vdc.cloud as a Senior Multi-Cloud Engineer & Developer. You can follow me on X or on linkedin.