We're talking AWS on Discord! Join us

Episode 24

Chris "fideloper" Fidao: Laravel & PHP on AWS, Managing Servers & Side Projects, and a New Role at Fly.io

Chris joins Adam to discuss why Laravel developers have it made, how you can leverage AWS as a PHP developer, how much easier it was to have side projects before he had a family, and his new role at Fly.io.

About Chris

Chris "fideloper" Fidao is the founder of Chipper CI—a continuous integration platform for Laravel—and creates AWS courses for programmers at CloudCasts.

You can find him online on Twitter and his website.

Transcript

Adam Elmore: Hey everyone, welcome to AWS FM, a podcast with guests from around the AWS community.

Adam Elmore: I'm your host, Adam Elmore, and today I'm joined by Chris Fidao. Hi Chris.

Chris Fidao: Hey, how's it going?

Adam Elmore: It's going well. I guess, having you on the show, I've been excited about this, because you're sort of a... There's a Venn diagram of Laravel and AWS, or DevOps, you are in the middle of that Venn diagram. And Laravel is something I've taken a keen interest in just lately. I think the last few weeks.

Adam Elmore: So I've been very excited to sort of pick your brain. This might be a little different from other AWS FM episodes, in the sense that, I want to talk about you and your background. But I also want you to help educate me and the AWS community at large about Laravel and what we're missing out on if we don't use Laravel. So, does that make sense?

Chris Fidao: Cool. Totally.

Adam Elmore: So first, would you just kind of give the listeners a background just who you are, where you come from?

Chris Fidao: Yeah, who am I? So-

Adam Elmore: Good question.

Chris Fidao: Yeah, got a little existential.

Adam Elmore: We'll get into that, I'm sure, as well.

Chris Fidao: All right, so I am Chris. I'm Fideloper at Twitter. I'm kind of deep in the Laravel community. Been doing Laravel since, early days of Laravel. Just kind of hopped on that boat once that came out, but I was always in PHP world. So I kind of just hopped straight onto that.

Chris Fidao: I started doing server stuff when I worked at a marketing agency, and I had this terrible time where we were launching some big thing. I didn't know anything about servers, where we were using like Rackspace managed servers. And it was behind a load balancer and they were just managing it for us. And we launched and I just broke everything. I think I gave away hundreds or thousands of prizes within minutes, of something that should have been drifted out over time, because it was session issues. Because I didn't understand what load balancing would do to your environment. Crazy stuff happened.

Chris Fidao: We were launching at 5:00 AM or something like that, after pulling an all niter. I was just like, "I'm not getting screwed over by servers ever again." So I was like, "I have to learn about servers". And also never do agency work again, which is a whole tangent. But I'm just not doing that.

Adam Elmore: Yeah, we can talk about that.

Chris Fidao: Still burnt out eight years later.

Adam Elmore: Well, I was going to bring up Servers for Hackers. I think when you talk about servers a lot... Was that your first big project after this awakening, or were there other things along the way?

Chris Fidao: A few things along the way. At the same time-ish... It's so long ago, it's like a decade ago. So the timeline's a little fuzzy. I was also blogging about Laravel and kind of that stuff. So I think I had started learning about servers and stuff, but I was also blogging. And then that kind of coincided at the same time of me writing about Laravel stuff. I wrote like a Laravel book-ish small thing. And well, I started doing content. I guess now it's very common. Then it was a little bit less common to be doing the content game. But I kind of started it then because I saw other people were having some success with it.

Chris Fidao: That actually led me to leaving that job and working at UserScape, where Taylor actually worked. Taylor who made Laravel. And at the same time I was learning servers and all that kind of nonsense. The Servers for Hackers thing started as a newsletter that I started at UserScape, kind of shortly after starting there, I think, probably within the first year. So timeline wise that's like eight years ago. That's when I started that stuff.

Adam Elmore: And could you explain what Servers for Hackers is? Because it seems like if you go to the website, it's sort of a collection of courses, other resources, articles.

Chris Fidao: Yeah, that sounds more impressive than how I think of it too. So Servers for Hackers is a newsletter. It was started as a newsletter. Now it's more. That I created for PHP developers, just because that was my audience, PHP and Laravel. And I started out with the newsletter. I was really kind of proud of it, so I didn't just do link aggregators. Because there's a lot of aggregation newsletters at the time that you and I subscribed to. And I was just like, here's links from the community. I started writing actual articles so the newsletter would be real articles that I wrote kind of once a week. Way before kids and even... I don't remember if I had a girlfriend at this time. I think I did. I had time in other words.

Chris Fidao: So I did all that. That grew pretty well. It got into the tens of thousands, at 10,000. Something like that. Kind of pretty quickly, which is not something I've been able to replicate since. But I hit a good vein there, I think. And that newsletter transformed into a blog type thing and has gone through some revisions. And now I have serversforhackers.com, which has articles, videos, short video things, and then links to premium content, like courses that I've sold over the years. In the last few years, the site has ratted away as my interest has changed into AWS focus. But then also starting side projects, like SaaS stuff and having kids and all that kind of stuff. So, it's kind of rotting away, but it's still there.

Adam Elmore: That's kind of where I wanted to take things, because I think after that, now more recently you have Cloudcast. And I kind of wanted to talk about, I guess your journey from diving into managing servers, into cloud and AWS and kind of how that came about.

Chris Fidao: Yeah, I have to remember the timeline again. So I definitely started diving into AWS at UserScape also, just because I learned server stuff. And then it really dove into AWS when we decided to make HealthSpot Cloud, which is a hosted offering of this help spot, the software that I was working on at UserScape, which is customer support software. And it was typically on premise. It was a decade old app when I joined, so old school PHP, very much not container friendly, all that kind of stuff. And traditionally was an on premise application.

Chris Fidao: So we were making hosting for that. And me being the one server person at this small company was, we had to make the infrastructure simple also. It couldn't be fully containerized and all this crazy stuff where I would be the only person who would know what's going on. But that, to get to the point, is where I started learning and diving into AWS stuff. And the traditional services there, like EC2 and all that kind of stuff. Not really any container, or Lambda, I don't think even existed yet, then, that kind of stuff.

Adam Elmore: Right. So, then you started Cloudcast, which is sort of courses specifically geared toward learning how to manage. Is it more those types of services? EC2, traditional workloads?

Chris Fidao: It's a mix. So Cloudcast... This is also zooming years later. There's like five, six years in between these ads. Cloudcast I made, and it's very specific to AWS. So far, it's very geared towards PHP developers and [inaudible 00:06:52]. But it doesn't matter too much, because the technology doesn't necessarily matter as much as just the AWS stuff. The biggest course I've done so far is one that's like auto scaling EC2 servers. And I also have a serverless course that's kind of in process there, but it's released as I go.

Chris Fidao: And some other stuff. So Packer, Terraform, those are two free courses. Because it's sort of prerequisite knowledge, sort of-ish... Or at least I wish it was, but people are kind of like, I don't like Terraform. So whatever. They just skip ahead and skip that stuff. What else do I have there? I have some kind of mini courses that I call spotlights of smaller topics like IAM permissions. Which is not as small topic, but the way I cover it, is just like an intro. So, that's like a smaller video course.

Adam Elmore: And I want to come back to kind of course creation, the content game as you coined it, and sort of existential crises as developers later in the podcast. But I think one question that's sort of very specific... And in past podcast episodes of mine, I've sort of talked about Laravel as this shiny thing that's very exciting to me because the community around it seems so great. But one of the things that's sort of a barrier for me is, I don't know anything about the deployment picture for Laravel. So I don't know if I couldn't interact with AWS while building Laravel applications, it'd be a non-starter. So could you explain to me how do those two worlds come together? How do you deploy a Laravel application, and can you deploy it to AWS?

Chris Fidao: Okay. So, that's fun. AWS and every place just kind of skips PHP as a default... I mean, that's not totally true and not totally fair. But PHP is often not the first thing that is supported on apps, and AWS is kind of no exception. For Lambda, especially, and that kind of thing you need to build Lambda layers and do special stuff, custom run times. So how do you deploy PHP? So PHP has this weird history, where you could just throw PHP files onto a server and it would just work, right. So hosting used to be... Most people would just get the shared hosting on some blue host or whatever, all sorts of hundreds of thousands of different hosts. And they all just kind of had PHP working in the background. So you wouldn't even care about what the PHP version you were using. You just throw your PHP files up there and 99.9% of the time it just works so, FTP, right. That's how you deploy PHP apps.

Chris Fidao: Things are more complicated now, because everything's complicated, or "made better", but really just more complicated in reality. But PHP still has that weird history where you need something sitting between the web server and the code transforming a web request into something PHP understands. That concept is similar to other programming languages, but PHP doesn't really have that built in. It's not like, I don't know, Node has an HDP receiver, Golang has HDP classes. Python has stuff, right. Green unicorn whatever. Some like past CGIs. There's all sorts of stuff, right. Python and-

Adam Elmore: So PHP there's no, there's nothing built in equivalent. I didn't know this.

Chris Fidao: Right, not really. And even... I don't know the other languages super well enough, but I've done Python hosting, that kind of thing. And there is kind of the same concept, where there's something sitting between the web server and the code's, that's transferring requests into it.

Adam Elmore: But there's lots of options that are sort of first party-ish-

Chris Fidao: There's many different ones. So PHP has always... What I like about PHP, and this is something I didn't figure out til I actually started programming other languages years later after learning PHP. But what I like about it, is that PHP rebuilt its entire universe every single web request. So you don't care about global state and that kind of stuff so much. Versus, if it's Python, OGS, Golang, whatever, those are long running processes. So you could put stuff in global state by accident and eat up your ram or whatever. All sorts of issues can come from that.

Adam Elmore: So it seems like PHP would be really great in a serverless context, or rendered at the edge. But is it? Is that true? I mean, if it's just like a... There's a PHP process that takes a request and generates a response, seems like that would be really well suited to like-

Chris Fidao: Yes.

Adam Elmore: Serverless deploy or... But it seems like it's more often deployed in sort of containerized context, or UC2 or whatever, is that accurate? Maybe I don't even know what I'm talking about.

Chris Fidao: I think you're right. I think Lambda makes sense for PHP, because PHP just like... Because the Lambda model makes sense. You kind of just run it once or a few times within a lambda container at lambda function, whatever you want to call it, a lambda run time. And then that dies, and new one spun up. And it's kind of that same model. I think what I was headed to, is that now everyone's using Nginx and PHP FPM to host PHP apps as part of the stack. And so you have Nginx accepting web request. It does fast CGI. It transforms it into a fast CGI protocol, whatever. Throws that into PHP FPM, and then PHP FPM has this kind of nasty thing where it has a max number of processes that you have to configure and it defaults really low. And what that is limiting is your concurrency. So it defaults to like five concurrent requests or something pretty low. Because most web port hosting is assumed to have a lower amount of resources available. So they kind of default it to being kind of conservative.

Chris Fidao: So, but it's also restrictive in modern hosting. You almost don't need that anymore. It's almost better to let your server run out of ram and monitor that, and just add more capacity. More Lambda functions, more servers to your EC2, auto scale group, whatever. More containers to your ECS test, all that kind of stuff. So I don't like that. And I hate that when you containerize PHP, you kind of have to have all this stuff. So there's the people who are super, super dogmatic about their container stuff. So they only want one process running in the container at a time, which I do not subscribe to. I like being way more pragmatic. But that also means throwing all sorts of stuff in a Docker container. And of course I'm talking about Docker specific error, just containers.

Chris Fidao: Containerizing PHP kind of sucks, I think, because you end up with this weird thing where you need to run multiple processes. So you're often throwing Nginx and PHP FPM in there on top of your application. Dockers logging mechanism wants, just grab whatever's coming out from standard error, standard out or whatever. But PHP is so weird, it doesn't really work like that, because you... Well have multiple things going on. Like Nginx is throwing out logs. PHP FPM is throwing out logs. Your application is throwing out logs, but with PHP it doesn't write out to standard error or standard out like it would with a Golang app or noTES app or something.

Chris Fidao: So if that stuff's lost, unless you do some really funky configuration with PHP FPM, and you make your PHP app log out to standard error, because there's no standard out, it's just standard error in some cases for some reason. And then you tell PHP FPM to capture that. And then PHP FPM is redirecting that to the thing that supervisor is listening to, or whenever you're in it process thing... Because you need a process manager in there because you're running multiple processes. So that's got to capture the output. And then that forwards that stuff to its own standard in or standard out, so that the Docker logging mechanism can get its logs out. And then you get the logs finally. But then Nginx and PHP FPM, and your application logs are all mixed together out of one big stream, just puking logs out everywhere.

Adam Elmore: This all sounds really awful.

Chris Fidao: So there's all this operational stuff in PHP that I just hate.

Adam Elmore: Yeah, everything... All the enchantment I had around Laravel is melting away. So I need you to save me here. What are the managed offerings, I guess, because I hear words like forge and vapor. I think those are all under Taylor's suite of products. Are those managed hosting offerings, or are they different things?

Chris Fidao: No, they are. So, and I should say that I very recently, like last two days ran into the stalker stuff with Laravel, so that's why it's fresh my memory and why I'm complaining about it.

Adam Elmore: Yeah, you know all the painful... Yeah.

Chris Fidao: But PHP and Laravel itself is actually super great. Laravel I joke is secretly the best web framework out there. And I say it secretly, because I don't want to sound arrogant. But, when I see people programming in Rails and stuff and the kind of challenges they have, I'm just like... Laravel just has stuff for this. This is easy. You guys don't-

Adam Elmore: See, I want something like that. I want something that just has answers to all of my... I've lived mostly in this sort of JavaScript ecosystem, that side of the web. And I feel like everything is, go grab some library and research which one's going to do it best, and which one's the lightest footprint, all this stuff. I want a framework so badly. I've craved what Rails developers had, and now what Laravel developers have had, now that I know about it. I want that sort of opinionated framework that has answers to everything. I want it badly. So, beat on that drum you'll sell me real quick.

Chris Fidao: Node it has some of that, right. But, it's such a fragmented ecosystem, and moves so fast that everything is kind of hard to keep that in the Node ecosystem. Keeping that together. And a few months later you come back to a project and all your Node dependencies are broken. Which is just like-

Adam Elmore: Yup.

Chris Fidao: I just hate that developer UX so much. Wasting hours, just solving dependency issues from MPM. Can't get behind that.

Adam Elmore: So with Forge, are Forge and Vapor both hosting options then? Is one... How do they differentiate?

Chris Fidao: Okay, so Forge was Taylor's... First thing, so these are all first party to Laravel things. They're very nice because Taylor has a huge audience, right. It's like the number one framework, the number one language of the world, which I assume PHP is still up there. I'll call it number one, because why not.

Adam Elmore: Yeah, sure. This is your episode. PHP is king right now. Go ahead.

Chris Fidao: Right. So the stuff's charged low. The pricing is low, which is nice. Now, we're calling it managed hosting, but it's bring your own servers, for both cases. So Vapor is-

Adam Elmore: Oh, really.

Chris Fidao: Serverless on AWS, on Lambda, but bring your own AWS account.

Adam Elmore: So it's your account?

Chris Fidao: Yup.

Adam Elmore: Okay. That's actually more attractive to me, personally. I prefer those models.

Chris Fidao: It's like Taylor has a super small team working at Laravel. And even the fact that he has employees is relatively new, relative to how long Laravel has existed. And they do so much crazy... Successful businesses with so few employees relative to anywhere you've ever heard of, it's crazy. Part of that is Taylor being really good at simplicity. And part of that is, the downstream effect of that is that Forge is bring your own server, right. So you can hook up your Digital Ocean account, your Linode account, Vultr account and AWS account and others. And it just creates a BTU server for you. It provisions it, which is literally like not even Terraform or packer, it's just running a shell script. Where do you spit it up? And that just works.

Adam Elmore: That is awesome. Huge business built on single shelf script. I love that kind of stuff.

Chris Fidao: Well, I mean there's more, because it manages stuff. You can add a sales certificates, you can add sites, it'll let you edit your Nginx configuration if you need to tweak it. There's all sorts of good stuff on top of... It's managing your servers, it's just your servers. If you fill up your disc drive, that's not their problem. That's your problem.

Adam Elmore: Yep. And then Vapor is just same model, but it's serverless. So it's deploying to what, do you know?

Chris Fidao: To Lambda.

Adam Elmore: Yeah, well I guess it's in your own account. So everyone knows what it's deploy-

Chris Fidao: Yup. It's in your own account, and it does the stuff for... It handles a lot of edge cases that are annoying, which is of course that's a very Laravel thing.

Adam Elmore: When you say Lambda... So Lambda is running PHP, but what is in front of that? Is it cloud front in front of Lambda? How does the Vapor sort of footprint look once you've deployed, or do you know?

Chris Fidao: You have options, which is nice. The default is API gateway. I think version one, if I remember right. But you could use a load balancer, or you could use API gateway V2. Cloud front is also used, but I think it might just be for serving your assets, not necessarily for... I don't think that's a proxy for requests into the web application. If I remember right. And it'll handle some DNS stuff for you, or optionally let you handle it yourself. You can spin up a database for you, or an ElastiCache Redis system. All sorts of good stuff. Mostly powered by a YAML file that you just have in your repository. It just reads that and does the needful based on that.

Adam Elmore: Okay, so it's just cloud formation? I mean, you're buying a cloud formation template that deploys your layer of the application? Are you paying monthly for that? Or is it not cloud formation? Go ahead.

Chris Fidao: It's 40 bucks a month, which is actually on the expensive ed for Laravel stuff, in terms of this stuff, which is kind of nuts. It does use a little bit of cloud formation for certain stuff, but not everything. I don't think it does it for everything. I think it's literally just AWS, PHP SDk, making calls and doing [crosstalk 00:19:40] its own checks. That's the impression I get. You don't definitely have a bunch of stacks. So to say you're buying just a bunch of stacks for you is simplifying it. Because it's definitely has ongoing things go on, like setting up warming requests and then all sorts of things.

Chris Fidao: So, I mean it handles setting up your web application, queue workers, warming requests through EventBridge, if I remember right. CRON task, which is another EventBridge thing, it just sets the timed EventBridge stuff, and that triggers your Lambdas. You can make multiple queues, you can set up multiple environments, so push to staging, push to production and all that good stuff. It's really nice. And it works well.

Adam Elmore: Yeah. No, it sounds really nice. So are there any AWS first party? Does AWS offer... I think of Elastic Beanstalk, does that work with PHP applications or Laravel applications?

Chris Fidao: Yeah, it does. But I think Beanstalk... I've never heard of anything except for people complaining about how hard Beanstalk is to figure. And I don't think that's specific to PHP, but there might be some PHP specific stuff. But Beanstalk has some PHP config things out of the box that you can do.

Adam Elmore: Yeah.

Chris Fidao: I've never actually used it, just because people have complained about it so much. And like-

Adam Elmore: Yeah, so I think that's my next question, is it sort of consolidated? Do most Laravel developers deploy a certain way? Do they choose one, Forge or Vapor? Or is it a big mix bag?

Chris Fidao: I mean, the PHP is so huge that it's definitely mixed. And a lot of people are kind of using PHP at scale, at which point they probably have their own teams. Or if its just a person or two, they might be doing their own AWS deployment stuff. But most, or a huge percentage of people I think are on Forge and less on Vapor. But because Forge has been around longer and it's just kind of easier.

Chris Fidao: I think because... The other side of the PHP community is that years of just being able to FTP a file to a server has made people not care about the server thing. So, traditionally the PHP developer is not a super server savvy person, because they don't have to be to deploy their stuff. So that's why Forge works out very well. It's kind of, people are fairly familiar with the BTU and that thing and that's just what you get in Forge. And people know their way around it. It's easy to Google about for issues and figure your stuff out. And it doesn't really do anything surprising. It uses all the things you would expect for firewalls, and how it runs its databases, or it just adds a database to your server and that kind of stuff. There's no big surprises there.

Adam Elmore: Yeah. So I think Laravel... I'm going to ask you a question, you may not know the answer because it's Rails. Laravel seems to have this unique... It's Rails like experience as a developer, because it's got everything, sort of batteries included, right. But did Rails have an equivalent sort of hosting picture, where there was a clear path to get your thing deployed into prod? And to have all the developer niceties around CICD and all that stuff? Did that exist for Rails, or does Laravel have that uniquely? Are there even any other... Now I'm just spit balling here. Are there even any other full, like batteries included frameworks, outside of Rails and Laravel, like modern day people using? I'm asking all kinds of questions to the air. If you don't know them it's okay.

Chris Fidao: I know. And I don't know all the answers. So I think Heroku existed long enough where all the Rails people kind of throw stuff on Heroku first.

Adam Elmore: Oh yeah, okay.

Chris Fidao: And then get off of that when it gets crazy expensive.

Adam Elmore: Yeah. That makes sense.

Chris Fidao: I think Python's kind of on a similar thing there, is my experience.

Adam Elmore: Like they just went to Heroku, that was kind of... You use Jango or whatever as a framework and then you deployed over to Heroku. That makes sense.

Chris Fidao: And then there's Phoenix, is out there for Elixir. And its growing as far as I know too, which is another kind of one. And of course Node JS has a thousand, because everyone makes a framework every weekend for Node JS. And what else is there? There's Crystal, which I'm not super familiar with. Golang is disappointingly and doesn't have this, but I kind of wish it did, I think. But that language is strict type languages like that are compiled, I think, by a default. Couldn't necessarily have something as nice as a Laravel, Python, Rails type thing, just because it's so much harder to make stuff dynamic.

Adam Elmore: Yeah. No, I think I'm just trying to work out all kinds of loose thoughts in my head. I've been ranting on various episodes of my podcast about these things. It's like this divide, I guess, that's so fascinating to me between the Laravel community and the, I don't know, Twitter web dev community. But, Laravel, you're all on Twitter. You're right there. But it feels so foreign. We have so much in common and yet nothing in common. When I see you people on the PHP side post screenshots of stuff, it just looks like hieroglyphs to me. I can make no sense of what you guys do, but I know you're developers. We have a very similar life, so it's this weird, like these two communities... I feel like the whole JavaScript ecosystem, there's a million things going on. There's a lot of drama, and I see the Laravel thing, and it's like, everyone knows what to do. You build applications with Laravel, you're all nice. And it just seems really wonderful.

Chris Fidao: Ah, that's great. Yeah, come join us.

Adam Elmore: Yeah, I'm thinking about it.

Chris Fidao: The grass is truly greater.

Adam Elmore: I mean you've helped today, I think, for me just to see... I didn't know that it was bring your own accounts. That's huge for me, because I do prefer kind of building everything out in my own AWS accounts. Anytime I go out into a managed service like Versil for deploying my front end stuff in JavaScript land, I feel a little bad. It's just like a little painful.

Chris Fidao: I'm like you there. And I have actually done the thing where I create an AWS server myself in Terraform and have that kind of set up. But then I... You can add your own custom BPS into Forge. So I just do that. It's just a AWS server, I provisioned it in Terraform and Packer, sort of, just to have some base stuff on there. And then I just have Forge manage the rest of it. So it'll set up adding sites and... Even that feels a little skivy to me, depending on the situation just. But that's kind of the curse of knowledge. I know how to do it all myself and can do it-

Adam Elmore: Yeah, it makes it harder and harder to enjoy all the managed services when-

Chris Fidao: Yeah, but then sometimes you do [crosstalk 00:25:50] the managed stuff and you're like, this is amazing. I don't have to care about so much now.

Adam Elmore: Never do this again. I never have to do all the other stuff. Yeah, no. So I want to talk a little more, just kind of career less PHP, AWS specific, like the course thing. You had quite a lot of success with courses, right. I think you mentioned to me in the past, it was doing as much as your dev salary, is that accurate? Could you tell a little-

Chris Fidao: For a few years I was building up to it, and then I had kids and it all went downhill for there. Because the time it takes, and the noise and everything for recording videos was hard. So I did. And when did I start doing that stuff? So that's all trailing the Servers for Hackers newsletter and the site we were talking about. I made a good guess on making a course on Docker that was kind of well timed for the PHP communities. So that one did, that's still like the best course I've ever done. So the year I made that I made more than my dev's salary, I think. Maybe like 150,000 to 200,000 that year, I forget.

Adam Elmore: And that was on the single, the Docker course?

Chris Fidao: Yeah. And then at the next year I made a Laravel course, and that didn't do as well, but still did pretty well. So I had two good years, and I socked that money away and that really helped save up for a mortgage and all kind of stuff. And I think the Laravel course came out just after my first kiddo was born. So that was good then. But then it was kind of too hard to keep it up. So I did some other courses. So right after that, I actually did another course, but I wanted to do a course that was secretly a way to gauge interest in SaaS applications. So the course was on my SQL backups, and that was a potential app I was going to make.

Chris Fidao: I didn't end up making it, because I didn't think there was enough interest in it. Because I think everyone just kind of rolls their own database backups, if they're not on RDS or something. And doesn't necessarily care to pay, or there's weren't enough customers to that, I didn't think.

Adam Elmore: But you were building a course around it. I love the idea of doing things-

Chris Fidao: Yeah, so the point there is that the course... The course didn't do well. It did okay. But like really disappointing compared to other courses. So, and I kind of expected that, because I knew I had this alternative strategy, but then I didn't end up making the app anyway. So in the end, it was a kind of a bum thing. And it's almost my favorite course, because there's so much interesting stuff around databases. But like whatever. So that course came out and then I started maybe the next year-ish working on a SaaS app with a friend of mine, and that app is still going. And that's there, but it's not replacing a developer salary or anything.

Adam Elmore: The Chipper is that... Yeah, Chipper CI. Could you explain what that is?

Chris Fidao: Yup. Continuous Integration for Laravel. So in the Laravel community, that is what I started building on. I kind of knew... I had this course that didn't do well. And then I was making this time trade off, where instead of making courses I was making the SaaS app. So I knew... And that was in the SaaS app of course is a super long term play. So this is kind of a risky move. So I not making, was not at that time making as many courses and that kind of thing. And then putting time into the SaaS application, in addition to work, in addition to kids. And that's still going. So that actually might work out long term, but now it's like three years after the fact that was gone out.

Adam Elmore: I don't want to just rant. I did right before our podcast, you saw my tweet, sort of melting down on Twitter. I think this whole, the content game as you said at the beginning of the podcast, I think is the epitome of what's in my brain that just, I want to rip out and throw away. It's this idea... Because I'm working on a course, and I'm also working on a SaaS application. I know that's sort of super long term, all these different things we can do as senior developers have different characteristics in terms of, payout to effort, and time horizons and all this. But then I spend 10 seconds on Twitter and I just want to never touch a computer again. I don't know.

Adam Elmore: It's not like seeing all of the other things that are going on. It's just something about the connectedness and getting on the internet, just starts to grade on me. And the whole content thing, like I should tweet and I should promote my podcast, or I should promote my, whatever I'm doing, just makes me kind of want to vomit. Do you have that? Is this only me? Am I alone?

Chris Fidao: No, that background threat that's always there is super stressful. And it also leads you down the path of comparing yourself to other people, and it's all kind of grim from there.

Adam Elmore: Yeah, it is.

Chris Fidao: At the time I was making courses, I'm watching Adam Wayland just lap me over and over again. You know what I mean? I'm just like, wow, that guys' doing such amazing things. You know what I mean? So sometimes that's really hard.

Adam Elmore: No, it's super hard. And then you mentioned kids, there's the family element. Wanting to spend more time with your family, but then there's a line where... My wife and I have talked about this a lot, where I'm around too much. Okay. I need to work more, because it just kind of messes with the flow of the household. I took a couple weeks off and it was great to connect more as a family, but it's like everyone's ready for the kind of the normal routine, where I'm not just there all the time. And I'm kind of going crazy, because if I'm not doing something...

Adam Elmore: Wow, I've gone way off the rails here. I'm sorry. This is like... I just did a podcast. The last thing I recorded was just me, and it was 30 minutes of me ranting about all kinds of... I ended up talking about gun control, it got dark. I didn't mean to. It just sort of... Yeah, I don't know. It's an interesting time I think to be a developer, to be a developer that's been doing this for a decade, like the two of us. It just feels like there's too many options. There's cool startups that it'd be fun to join, maybe, I guess. I don't know what I want anymore. You just left and joined a startup, is that right?

Chris Fidao: I did. Yes.

Adam Elmore: Can we talk about this?

Chris Fidao: Yeah, for sure. So I wasn't even looking for work, but I did come across a job posting at fly, which has been on hacker news in a bunch lately, which is cool. So they're sort of... I guess they would call them a hot startup, right. I don't know. They pop up on hacker news all the time. So they were looking for a Laravel specialist, is what they call it. So it was someone to help get their platform working smoothly for Laravel developers.

Chris Fidao: They had a lot of success to this in the Phoenix Elixir community, especially people using live view, which is just a fancy way to make JavaScript work nicely with your application. So they had good success with the Phoenix community. They want to do the same thing with Laravel and other communities. So they're hiring people who kind of are in those communities to do content and other stuff. So right now I just started this week. I'm working on getting just Laravel easy to use with Fly. So you can run a command like Fly launch, and it understands that you have ever Laravel application, and sets up whatever you need to with its Docker based.

Chris Fidao: So building a Docker community for Laravel and deploying it. It's sort of Heroku style to their platform, which is really neat. There's a lot of fun things to do. And, I'll tell you the funnest thing is... It's not, I don't know if it's fun, but I'm in their Slack, and there's certain channels that I'm not part of, like the dev and ops rooms or whatever. Where they're just talking about development and what's going on with servers and that kind of stuff. And I've never worked at a place where I haven't been one of the important people trying to fix stuff or developing at stuff. So I've always tried to jump... And I've always stopping myself from jumping in. Because A, I'm useless, because a lot of it is Rails. And they're just like... I have no idea what Ruby... I barely know Ruby. So I'm useless to begin with. But I'm just like, oh I don't have to care about this. Okay I can actually just do my own thing over here for a bit, which is kind of neat.

Adam Elmore: Yeah, so you're mostly... It's mostly content creation. I mean you're creating, or you're writing and docs and things like that or?

Chris Fidao: Will be. The first thing this week is actually... The first few weeks here is actually going to be a little more development heavy, just to get stuff working. Luckily I know Golang, so their main command line tool is Golang. So I'm editing that as, right before this podcast to get Laravel working with that Fly launch command. That will read and recognize the framework that you're working in, and just auto configure stuff for you. So that's kind of neat. It's fun.

Adam Elmore: This is like a first, I guess, change of roles at a company that you've worked at. Have you ever done this sort of role before?

Chris Fidao: No, this is bringing my side projects life and making it full time.

Adam Elmore: That's what I thought. This is what you did in creating courses. You're kind of creating content in other ways, newsletters. Now you're doing it as a job. Are you excited about that? I mean, obviously you're going to say you're excited about that.

Chris Fidao: Yeah, it's a complete change of pace, right. I also don't job hop a lot. So I went to one job for six years, that agency I was talking about. Eight years at UserScape, and now four days at this class of job, so.

Adam Elmore: As long as you stick with it.

Chris Fidao: So, it's definitely a change of a role that way too. A, working at a VC back startup is new. Although there's no weird surprises there or anything. I knew what that is really. And I'm also not... I was talking about not responsible for keeping servers alive and in all that kind of stuff.

Adam Elmore: Are you off pager duty and all that? You don't have to-

Chris Fidao: Which I've never was on that in the last job. But because the... It was actually really stable, because it was such a simple infrastructure. It was like 300 servers. But it was just, a customer gets a server and it's just like PHP, what can go wrong? Not a lot. Some stuff did, but not terribly.

Adam Elmore: I really got to get out of the JavaScript thing, because when you see 300 servers and nothing ever goes wrong. I can't imagine that life.

Chris Fidao: Some stuff does, but it's not... It wasn't super bad. A lot of it was AWS would retire a hardware instance. And when you have 300 servers, and within two availability zones, it's not multi-region or even... It's still mostly within just a few AZs. So sometimes they'd retire a harder instance and 20 servers would be retired or something, and you'd have to just reboot them.

Adam Elmore: Yeah, just turn it back on.

Chris Fidao: Right. And it's not a big deal, which works out for, helps about that app too. Because some customers are on it 24/7, but very few. Most people's use cases are, oh, if my server went off for a minute, it's fine. So there was a lot of factors making that kind of lower stress. But you know, it was stressful when things went wrong, certainly in some cases. But I've lost the thread of what I was talking about.

Adam Elmore: Your role at Fly. Just sort of changing pace. That's a good question. So what is your outlook, I guess... We're similar age, sort of position in our career. What's your outlook on side projects. And now that you have a family, and life is very different than it was a decade ago, how do you view spending your time, the time that you work? What do you prioritize?

Chris Fidao: I mean, I don't know if I'm healthy about it.

Adam Elmore: No, that's fine. I don't think any of us are. I'd just love to know how other people think about it.

Chris Fidao: You have to... Or I have had issues deciding what to work on certainly. And because your time is compressed, you have to figure out, you have to prioritize stuff for sure. So, I think part of what I was saying before, but didn't explicitly say, is that I'm not sure my gambles are going to pay off. Because it feels way more of a gamble when your time is compressed so much and you have to choose what to prioritize. So I made that my single backups course, that didn't pan out to anything. It was a disappointing course money wise. I didn't do an app related to it or anything.

Chris Fidao: And then I started working on the SaaS, but then the SaaS plateaued really quickly, at a few thousand MRI, 3,000 MRI or something. And then we both kind of stopped working on it for a while. And then I bought out my business partners half of it. And then just this January I've been hammering on it, and then I has grown. But not... And that hasn't been an amazing growth. I'm not going to quit my job anytime soon, but it is growing. So there's that thing. So, right now I've chosen to keep spending time on Chipper mostly, and less on other stuff. But it's all trade offs, because I also want to make more stuff for cloud course, but I haven't found the time between switching jobs and... I'm pushing out new pricing for Chipper and that kind of stuff, and all of that's a lot of work.

Adam Elmore: Yep. It's all trade offs.

Chris Fidao: It's all trade offs. And I don't know at any point if I'm working on the right thing, I don't know if... Chipper obviously has a ceiling too because it's like a niche thing, right. Laravel specific.

Adam Elmore: Yeah, Laravel developers. Sure.

Chris Fidao: And even when in that, how many are even using CI, a lot. But not everyone. And then there're other options, like GitHub actions and that stuff. And some people are, on top of that, need CI apps that aren't just PHP. This is basically just PHP and Node JS stuff on it. So I don't know if I'm doing the right thing, but I'm doing it. So far results are good. And I think the SaaS has a... SAS has such a good potential, but it's a slog. So, I'm keeping with that.

Chris Fidao: The other thing I didn't say about Cloudcast, is that I made Cloudcast thinking that Chipper would just not go anywhere. And then I released all that stuff. But then we decided where I could buy out my business partners half of chipper CI. Then I owned, had all of Chipper, but I also have Cloudcast. And now I'm in a tough spot where, oh, I have to kind of keep both of these going, or not. Or, I don't know what to do with Cloudcast really yet.

Adam Elmore: Ah, okay. I don't know if I feel better. It sounds like you've got a good handle on your schedule. I don't know. Just this whole thing. I question most everything I do. I think it's even hard too. Its good problems. I realize there's people outside of tech, people struggling in America and the world, in terms of just enjoying the work that they do. I really enjoy the work that I do. I just feel there's so many different ways I could spend that time doing things I still enjoy. And just not knowing which ones... Do you feel you know what you're most passionate about? People talk about within your work, this is the thing that makes you come alive. Do you feel like you have that?

Chris Fidao: No.

Adam Elmore: Or is it just broadly? No, thank you. Okay. Me neither.

Chris Fidao: I'm also broken. I just want to make money.

Adam Elmore: That's also a big driver. I mean, at the end of the day... And you said it earlier that comparing... When you look at people that, like Adam Wathan making a ton of money, doing the same thing you did, it does get in your head. I could spend less time working and making the same or more if I just did it right. Or if I just did the right things. That's that underlying pressure of, am I going to work myself to death till I'm 60? Or is there a faster path, and I'm just missing it?

Chris Fidao: I've been listening to the, My First Million podcast, which is kind of secretly a great podcast. Although it's super common.

Adam Elmore: I had never heard of it secret.

Chris Fidao: But the two people are sort of douchey, but they've sort of had exits from their own companies and stuff they started. So we would call them rich. Not mega rich, just sold a business for, in the millions of dollars rich. So, I mean, that's pretty rich. So, but they're super interesting. And a lot of stuff they talk about is mindset, and is kind of, if there's one person out there in the world who could just say the right sentence to me would change my mindset just the right way. And all of a sudden I'd be making a lot of money, because I just didn't realize some stupid thing that, some mind block I have. And I'm always... So I feel I'm on this cusp of having this realization that's going to lead down the path to something good. But I'm not having it. So, part of me making my own podcast was trying to talk to people and see what I could get out of that, from just people seeing, hearing people's perspectives on stuff.

Adam Elmore: Yeah. Someone could be hearing this, and you made $200,000 off of a course one year. And it's all relative. I mean, to hear that and think that you still feel you're just missing it.

Chris Fidao: Right. Well, I mean, my business checking account is egregiously low now, and it's just getting lower, you know what I mean. So-

Adam Elmore: No, yeah. Sure. I saw an article that was sort of talking about, it was America centric. It was U.S. earners who made over $250,000 a year or something, that they live paycheck to paycheck. It's 40% of them. Did you see that survey?

Chris Fidao: Yeah, my dad sent that to me.

Adam Elmore: And it does... I know there's a lot of news around inflation and all these other things. But it does feel like whatever you earn, there are pressures at that level that it's just, it's all the same pressures. We're all just trying to, I don't know.

Chris Fidao: Yeah. And life is expensive. I don't feel like I spend lavishly in anything. I bought a house less technically well within the means of a devs for salary. The mortgage was 280,000 before the price of crazy stuff went up.

Adam Elmore: Yeah, totally modest.

Chris Fidao: But the credit card bill is always high. But if I look at the credit card bills, there's not anything crazy we're spending on. It actually... The financial advice is like, don't worry about the latte, worry about your big nuggets, your mortgages and stuff like that. But the mortgage is kind of low. And then it's just like, there're thousands of dollars of lattes, I guess. I don't know. [inaudible 00:43:11] Like what? So I guess that's spending lavishly in one point of view. But it's not like we're buying expensive stuff. I haven't bought a new laptop or anything in forever. I'm not buying hundreds of dollars of stuff all the time, but the money's still go somewhere. So I don't know. [crosstalk 00:43:28]

Adam Elmore: It goes somewhere. Yeah. I hope someone listening to this can relate. I know I feel a lot better hearing other people share similar sort of struggles. Just, I don't know. It's a lot. And you know, it hasn't helped I think, mental health with being in sort of isolation for a couple years. There's been a lot less going on. Yeah, I don't know. It's a particularly sensitive time for me, just trying to figure out how to spend each hour. And it's nice to hear from other people that struggle with the same thing.

Chris Fidao: I'll tell you, this is a complete tangent. But you've-

Adam Elmore: This whole episode is a complete tangent.

Chris Fidao: Which I love. This is one of my favorite things I recorded in a long time.

Adam Elmore: Yeah, I'm having a good time.

Chris Fidao: I live in San Antonio right now, but just the last few weeks, my wife and I have decided that we're probably going to move to Connecticut kind of within a year, back to Connecticut.

Adam Elmore: Oh, wow.

Chris Fidao: That's where I grew up. And that actually is related to the... We were thinking we were going to move either somewhere else in San Antonio, with a slightly better school district, if we could. Or back to Connecticut, because we have family and friends there. My family, because Natalie's... My wife's family is in Houston, this area. But up there is, friends that are good friends, that we still have connections with. Because I grew up there and Natalie was there for years. So we were thinking about doing that. But then we had the school shooting.

Adam Elmore: Yeah, that's close, right. Uvalde's close to San Antonio.

Chris Fidao: Yeah, it's close. And then across the street, two cars just got shot one night, like the next day. Five bullets in each car. One of the bullets went through someone's living room. That's not a thing that happens in this area of town, but really it is. And then a friend of mine's middle school had a lockdown that ended up being a real thing, where they arrested a kid that had a nine millimeter in his backpack. So, me and my wife were just like, ah, let's move this timeline.

Adam Elmore: Well then, and then how many more stories in the news? Yeah. How many more stories have there been just since Uvalde? That being close to home for you, and then every single day since then there's been a mass shooting, I think.

Chris Fidao: Right. Yup. It is. My friend has a running joke in a room in one of our Slacks here. And he is like, today's mass shooting is here. And it was pretty consistent where there's a day where there's a mass shooting somewhere. So, which of course, there's the argument that nowhere is safe where you move. But Texas is kind of special, I think. So, we're going to get out of a Dodge.

Adam Elmore: Yeah, there's probably more guns there than the Northeast. Yeah. No, it's a lot. I talked about it on my little 30 minute solo rant. I don't know. Can anything change in America? Are we at a point where it's just irredeemable? Government is too beholden to corporate interests and there's no way to break that up. I don't know. It just feels like, how many times does this happen? And is anything... I don't, I just don't know what to think.

Chris Fidao: Right. And I don't have answers. Certainly I have the same questions, and equally no answers. And I will say, it does seem like the hopelessness feeling almost feels part of a tactic also, I suppose.

Adam Elmore: Oh, maybe. That makes.

Chris Fidao: So, maybe just not feeling hopeless is a way to not be bad about that. Continuing to vote and all that stuff.

Adam Elmore: So the NRA is seeding that hopelessness.

Chris Fidao: The other problem is being on Twitter too much gives you a warped perspective of what's going on. So, too much Twitter is also an issue here.

Adam Elmore: But it also gives you a perspective of people outside of the U.S., and how they view the situation. And just that this shouldn't be normal.

Chris Fidao: Right, it certainly shouldn't be.

Adam Elmore: Well, I live in the, I mean, the rural part of Southern Missouri, the Ozarks. So we have issues like meth and drugs. But the gun violence isn't as... I mean, it's rural, so it's less, maybe less so. Hopefully you'll have that in Connecticut. I don't know. That's the last I'll say I guess, on AWS FM about guns and U.S. policy. And anyway.

Chris Fidao: It sucks though. So, kind of more financially, the houses are way more expensive too. So, all of a sudden I'm living with bigger mortgage, and I'm not really looking forward to that. I was really happy with having a cheaper house quote, unquote cheaper. And the mortgage is not a huge chunk, not as huge a chunk as it could be. But now it will be probably, we'll see.

Adam Elmore: Yeah, and then that just ratchets up the pressure. All the different things you're doing and how you spend your time. Anyway, I'm going to stop.

Chris Fidao: Right. That's always helpful.

Adam Elmore: Well, it's been really good to have you Chris. I'm giving the AWS FM listeners something different every week, I guess at this point. This is the podcast still about AWS. I appreciate the first half of this. You definitely gave us some good insights on PHP deployed AWS. And I appreciate you just coming on and being open with me. And it's been great to... We've had a few of these calls now. So, thank you so much.

Chris Fidao: I'm happy to.

Adam Elmore: All right. I never have a good way to end a podcast episode.

Chris Fidao: I know. It's always awkward.

Adam Elmore: I generally say, join the discord. There's some people on discord and we talk about AWS. Love to see you there. That's all I got. So thank you and goodbye.