Scaling Laravel
Course description
The first time I put code into a load balanced environment, I accidentally gave away thousands of dollars in prizes within a few minutes. After pulling an all-nighter to get the code complete under the deadline, I pushed up code that was *not* ready to be in a scaled architecture. I was clueless. That night was terrible chaos, but it's what made me decide to learn more about servers! In the following years, I learned a lot about servers.
Read more about the course
It turns out that scaling your application isn't necessarily hard, but there is a lot to know!
This course aims to help you navigate setting your application up to scale without suffering the same pain I did.
Laravel Optimization
Performance tips to implement into your applications.
- Caching Tools
- Efficient Eloquent Queries
- Table Indexing
- Object Caching
- Advanced Queues
- VueJS with Laravel Echo for real-time updates
- Transactions & Concurrency Control
Server Optimization
Squeezing more requests per second out of your servers.
- Setup & Security
- Network Optimization
- PHP-FPM Configuration
- Opcache
- MySQL Fine-Tuning
- Server Specialization
Horizontal Scaling
Learn about load balancing and how it affects your application.
- HAProxy
- Automated LetsEncrypt for SSL
- Network Security
- Static Assets & Sessions
- Application Readiness
Advanced MySQL
Using MySQL effectively in production.
- GTID-based replication
- Best usage of mysqldump
- "Physical" backups with xtrabackup
- Streaming backups to S3
- UTF-8 and performance configuration
Watch Online
All Course Lessons (69)
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 1 | The Optimize Command Demo | 05:40 | |
| 2 | The Route Cache | 05:08 | |
| 3 | The Config Cache | 05:40 | |
| 4 | Eager Loading | 05:33 | |
| 5 | Database Chunking | 07:05 | |
| 6 | Chunk By Id | 03:27 | |
| 7 | MySQL Indexing I | 07:19 | |
| 8 | MySQL Indexing II | 05:43 | |
| 9 | MySQL Indexing III | 20:35 | |
| 10 | Object Caching I | 03:21 | |
| 11 | Object Caching II | 09:14 | |
| 12 | Object Caching III | 13:43 | |
| 13 | Object Caching IV | 05:56 | |
| 14 | Installing the Basics | 07:24 | |
| 15 | Forge-Like Configuration | 13:11 | |
| 16 | Security | 14:43 | |
| 17 | Network Configuration | 10:57 | |
| 18 | FPM Process Management | 13:30 | |
| 19 | xDebug | 02:42 | |
| 20 | Opcache | 09:11 | |
| 21 | Session Garbage Collection | 05:47 | |
| 22 | Custom Route Files | 06:54 | |
| 23 | A New App | 03:11 | |
| 24 | Sending Mail | 05:39 | |
| 25 | Database Queue Driver | 10:41 | |
| 26 | UX and VueJS | 11:38 | |
| 27 | Integrating Pusher | 14:29 | |
| 28 | Tracking Tasks | 20:02 | |
| 29 | Database Queue Limitations | 02:47 | |
| 30 | Redis Queue | 02:28 | |
| 31 | Laravel Horizon | 10:44 | |
| 32 | SQS Queue | 12:28 | |
| 33 | SQS and Wait Time | 11:27 | |
| 34 | Queue Priority and Segmenting | 10:45 | |
| 35 | Queues in Production | 16:10 | |
| 36 | What We're Doing | 05:15 | |
| 37 | MySQL Install & Setup | 14:00 | |
| 38 | MySQL Optimization | 12:19 | |
| 39 | Redis Server | 07:25 | |
| 40 | Additional Network Security | 09:48 | |
| 41 | HAProxy Part I | 06:38 | |
| 42 | HAProxy Basic Load Balancing | 05:37 | |
| 43 | Header Detection with Trusted Proxies | 15:36 | |
| 44 | Let's Encrypt with HAProxy | 16:45 | |
| 45 | Session Management | 05:04 | |
| 46 | User Uploaded Files with VueJS | 22:21 | |
| 47 | The User Uploaded File Problem | 02:25 | |
| 48 | Amazon S3 for File Storage | 06:47 | |
| 49 | Upload to S3 | 03:16 | |
| 50 | Download From S3 | 13:19 | |
| 51 | Finishing VueJS Uploads | 04:28 | |
| 52 | Intro to Scaling on Forge | 01:23 | |
| 53 | Creating Servers | 04:41 | |
| 54 | Access & GitHub | 02:15 | |
| 55 | Application Setup | 06:42 | |
| 56 | Networking | 04:27 | |
| 57 | Final App Touches | 05:05 | |
| 58 | Forge Recipes | 05:14 | |
| 59 | Queue Workers | 10:55 | |
| 60 | CRON Server | 10:11 | |
| 61 | CRON & Laravel 5.6 | 07:29 | |
| 62 | Data Integrity Intro | 02:04 | |
| 63 | Transactions in Laravel | 08:38 | |
| 64 | Repeatable Read Isolation | 08:29 | |
| 65 | Isolation Level Caveat | 03:58 | |
| 66 | Laravel Transactions with SELECTs | 02:54 | |
| 67 | Pessimistic vs Optimistic Overview | 03:26 | |
| 68 | Pessimistic Locking | 05:08 | |
| 69 | Optimistic Locking | 10:31 |
Unlock unlimited learning
Get instant access to all 68 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscription
Want to join the conversation?
Sign in to comment