WILL_BUTTON:
What's going on, everybody? Welcome to another episode of Adventures in DevOps. And it feels like we haven't done this in a while. Podcasts
JONATHAN_HALL:
Yeah.
WILL_BUTTON:
have been coming out weekly, so y'all don't know that. But I'm here to tell you, it has been a while. I'm Will Button. Joining me in the studio today is my co-host, Jonathan Hall.
JONATHAN_HALL:
I will.
WILL_BUTTON:
How are you, man?
JONATHAN_HALL:
I feel like we've both grown beards since we saw each other last. Probably
WILL_BUTTON:
Right?
JONATHAN_HALL:
shaved them off a couple times.
WILL_BUTTON:
For sure. It's looking like the Rip Van Winkle duo on here. Or ZZ
JONATHAN_HALL:
That's
WILL_BUTTON:
Top.
JONATHAN_HALL:
right.
WILL_BUTTON:
ZZ
JONATHAN_HALL:
That's
WILL_BUTTON:
Top
JONATHAN_HALL:
even
WILL_BUTTON:
needs
JONATHAN_HALL:
better.
WILL_BUTTON:
some, yeah. ZZ Top may need a new bass player because Dusty Hill passed away.
JONATHAN_HALL:
Oh,
WILL_BUTTON:
Yeah.
JONATHAN_HALL:
sad news.
WILL_BUTTON:
It is. It is. So I don't know. I guess if you're looking for a job, maybe hit up ZZ Top.
JONATHAN_HALL:
DevOps isn't working out,
WILL_BUTTON:
Yeah.
JONATHAN_HALL:
grab that bass guitar and start practicing.
WILL_BUTTON:
be an opportunity to move to Austin, Texas, could be worse. But
JONATHAN_HALL:
Yeah, I can think of where spaces to live.
WILL_BUTTON:
yeah, so today we're going to talk about AWS and GCP specifically around the differences between the two, which has been a new venture for me. I recently. took the Google Professional Cloud Architect, PCA. I think that's what the PCA stands for. Took that exam, passed it, and in the course of getting ready for that, went deep into GCP, which I had only touched GCP a few times prior to that, and came away with a whole different outlook on GCP. And so we're going to talk about that today, compare and contrast AWS and GCP.
JONATHAN_HALL:
Awesome.
WILL_BUTTON:
Now most of your experience has been in GCP, right?
JONATHAN_HALL:
Yeah, I've used GCP more than AWS. I've definitely used both. Yeah, I don't even know why I started with GCP. I started late with the cloud stuff. So now it's been several years, but I wasn't one of the early adopters of AWS when it first came out. So I guess when I started looking into it, I probably chose GCP first because of GKE, the Kubernetes platform. I don't even think. EKS existed yet, like it came out a year or so after I started using GKE. So that's probably why I chose Google, was because of Kubernetes.
WILL_BUTTON:
Yeah, and if we're being honest here, EKS probably still shouldn't exist.
JONATHAN_HALL:
Yeah, yeah, I'm not gonna argue very hard with that. Ha ha ha ha.
WILL_BUTTON:
Yeah, so my experience has been just the opposite. I started with AWS, I think it was like in. 2008, 2009, somewhere in there. Right. They hadn't been doing the whole AWS thing for very long. And my exposure to it was. the company I was working for troubleshooting some applications. and was having difficulty finding the servers. And that's when I learned that this thing called AWS existed.
JONATHAN_HALL:
Hehehe
WILL_BUTTON:
And the dev team got tired of waiting for IT to provision the hardware and the data centers. And so they just whipped out the manager's old credit card and boom, they were live on AWS. And that
JONATHAN_HALL:
There
WILL_BUTTON:
was
JONATHAN_HALL:
you go.
WILL_BUTTON:
my entry point into it. And I've been using AWS ever since then. But.
JONATHAN_HALL:
Mm-hmm.
WILL_BUTTON:
So let's just
JONATHAN_HALL:
So
WILL_BUTTON:
jump
JONATHAN_HALL:
what,
WILL_BUTTON:
into it.
JONATHAN_HALL:
yeah, I was gonna ask what services you've mostly used, because I mean, there's so many services on both platforms. It's kind of hard to compare, broadly speaking, but I'm curious what specific services you've used on, maybe start with AWS.
WILL_BUTTON:
Yeah, for AWS, I'm a heavy into ECS Fargate. I actually like that product a lot. And I try to push everything into Fargate versus running it on an EC2 instances. And avoid EKS at all costs. Just mainly because
JONATHAN_HALL:
Hehehehe
WILL_BUTTON:
I don't like when it comes to EKS it feels like they tried to or they did integrate it with IAM but it feels like
JONATHAN_HALL:
Mm-hmm.
WILL_BUTTON:
that was an afterthought like after they released EKS they're like oh, we should do something with IAM. And they kind of duct tape some stuff on top of it. And so you have all these different processes and containers and things running that feel like they're only there to satisfy what the marketing team put on the web page.
JONATHAN_HALL:
Right. OK.
WILL_BUTTON:
But Fargate, I've used a lot and then used their. CloudFront for CDN quite a bit, and then their database platforms. They do have some pretty nice database offerings.
JONATHAN_HALL:
Cool? And then recently with Google, what services have you been using
WILL_BUTTON:
Over in Google,
JONATHAN_HALL:
or learning
WILL_BUTTON:
we're
JONATHAN_HALL:
about?
WILL_BUTTON:
using the database offerings there. And GKE, everything's going into
JONATHAN_HALL:
Mm-hmm.
WILL_BUTTON:
GKE. And then we've moved a lot of our CDN stuff off to Cloudfront. So I haven't really used Google's CDN a lot. But
JONATHAN_HALL:
Mm-hmm.
WILL_BUTTON:
after going through there, we're all of their stuff on it. It looks like that would be just a simple no-brainer as well. And so I'll use this as a segue into one of the big things I like about GCP that I didn't realize I disliked about AWS as much. And the fact that when you set up a VPC in Google, it's global. So you can use
JONATHAN_HALL:
Hmm.
WILL_BUTTON:
the US region and the European region, and all of that is within the same VPC, which turns out to be really nice if you're doing something that is has .. . geographic distribution and compare that to AWS, a VPC is specific to a region in AWS. So if you have infrastructure on US East Coast and US West Coast, in Google they can just talk to each other over the RFC 1918 address space that you're using. But in AWS you have to use different address spaces for those and then do VPC peering to It's fine, but it's a bit of a hassle, you know? Especially as you branch out. Like if you're just doing US East Coast and West Coast, fine, you know? It's not really a big deal. But when you start adding Europe and Asia Pacific and different places like that into it, it gets to be a bit of a hassle.
JONATHAN_HALL:
So one of the places where I think, and I don't know how much this is an honest, useful comparison, but I've always had a better experience with IAM on Google than on AWS. I feel like it's a little bit more straightforward. That's not to say it's fun.
WILL_BUTTON:
Alright.
JONATHAN_HALL:
It's still a pain in the rear end.
WILL_BUTTON:
for sure.
JONATHAN_HALL:
Especially if you're trying to set up Terraform to manage that stuff for you. I find on both platforms, it's... so difficult to find out which, what the name of the permission is that I need. You know, I can find it in the web console or I can find it in the Terraform docs, but I can't figure out how those two things map to each other all
WILL_BUTTON:
Right?
JONATHAN_HALL:
the time.
WILL_BUTTON:
Right?
JONATHAN_HALL:
It's often very difficult.
WILL_BUTTON:
Right? For sure, yeah. Implementing least privilege has seemed to be a lot easier in GCP than AWS for that reason. It feels like GCP has approached it with a least privilege first approach.
JONATHAN_HALL:
Mm-hmm.
WILL_BUTTON:
And they've built a lot of predefined roles that cover your most common use cases. Whereas I feel like AWS, it's like, Hey, here's about 30,000 different permissions that you can apply. Like, which ones? Like, oh, they're all fine. They're all good. They're all really nice.
JONATHAN_HALL:
Right, right. Those
WILL_BUTTON:
Even
JONATHAN_HALL:
are some of the best permissions, you know.
WILL_BUTTON:
in AWS, I'm trying to think of a specific example here. Like when you look at the, they've got the little help menu there in the AWS console, and you'll look up a specific permission and. like something like Database Validator, and you'll click on the help and it says, allows you to validate the database. And so I kind of figured that part out from the name.
JONATHAN_HALL:
Right.
WILL_BUTTON:
How about telling me what that actually does or why I might want that permission? I feel like that's a big miss on AWS. And so far it feels like GCP may have the same problem there, but their predefined roles. have prevented me from discovering that yet.
JONATHAN_HALL:
So I'm pretty sure that when I think I mentioned this, when I started with Google, it's because I was using Kubernetes. And after having essentially learned Kubernetes on GKE, then I later tried EKS. And I don't think I've ever successfully used EKS, honestly. I think the
WILL_BUTTON:
Yeah.
JONATHAN_HALL:
last time I tried, we ended up just switching to Google.
WILL_BUTTON:
I've been billed for it, but I've never used it. Ha ha ha.
JONATHAN_HALL:
Now to be fair, it wasn't a big project. It wasn't like we really cared a whole lot about. We were pretty platform agnostic. And it was like, well, if EKS is easy, we'll do that because we already have an account. It's like, no, this isn't easy. Setting up the account of Google is easier than figuring out EKS. So it wasn't like it was a huge amount of like, we spent months trying to figure it out and it failed. I don't mean something that catastrophic, but like it wasn't, yeah, it wasn't as easy as setting up a Google account is basically what our metric was.
WILL_BUTTON:
Yeah, for sure. Yeah, one of the things I liked about GKE is when you set up a new Kubernetes cluster, you have your control plane and your nodes that manage the control plane. They just kind of do that in the background, say, those are done. Don't worry about it. We've got that taken care of for you. You don't have to see that infrastructure. And then the dashboard for it is really nice and really straightforward, so you can see all the things that you're doing. in Kubernetes.
JONATHAN_HALL:
Yep. Yeah, I've used GKE on, I don't know, four or five projects now, and I've always found it to be quite usable.
WILL_BUTTON:
Yeah, one of the
JONATHAN_HALL:
So
WILL_BUTTON:
other
JONATHAN_HALL:
when
WILL_BUTTON:
areas.
JONATHAN_HALL:
was the, I was gonna ask, when was the moment that you kind of had the idea, maybe GK, or maybe Google Cloud isn't so bad after all. It sounds like you kind of had this preconceived notion that it was, I don't know, if worse than AWS or different, or you didn't need it, what changed your mind initially?
WILL_BUTTON:
You know, the deciding factor for me was building it out for enterprise use. To compare that to an AWS environment, the AWS enterprise model is to use control tower and that allows you to launch. separate AWS accounts for dev, staging, and prod. And so you'll have all your resources running in a specific, like all your dev resources running in a specific AWS account. But it's kind of. Control tower is an afterthought. It's a thing that was bolted on top of the AWS account to manage that. And it feels like that when you use it. It's very cumbersome. And it's just not user friendly at all. And then there's, in addition to setting up control tower, you also end up with other. AWS accounts for auditing and logging and things like that that you may or may not want but they're there anyway and If you compare that to the way that Google handles it you have one GCP account and then you can create folders of dev staging and prod And then you create your projects inside of those folders. And it's all in the same place. You can see it all from one location. And then your permissions. This is the part that I really liked. So you can set up your VPC, like I was talking about earlier, your core infrastructure that exists across all of your accounts. You can set that up and share it with those subfolders. And then when you set the permissions, like in, let's say, your production folder you set a set of permissions on that folder and they cascade all the way down to any resources created in that folder. And it makes managing your infrastructure a lot like the way you would manage file permissions on a server,
JONATHAN_HALL:
Mm-hmm.
WILL_BUTTON:
which is very intuitive
JONATHAN_HALL:
Yeah.
WILL_BUTTON:
and something I've personally done a lot of in the past, so it just logically made sense to approach it that way. And...
JONATHAN_HALL:
Mm-hmm.
WILL_BUTTON:
So those two things, like setting up one VPC and sharing it across all of my environments and then being able to set my permissions for dev, staging, and prod in one location, and it's still in a single GCP account was just the light bulb moment for me where I was like, I'm a GCP guy.
JONATHAN_HALL:
So do you think you'll be using GCP from now on or when would you choose still to use AWS on a new project?
WILL_BUTTON:
Um. For that, I'm going to have to go with the same answer that I use for when people ask me if I'm going to use Node.js or Go or whatever. And because I'm going to go with the skills that I have surrounding me with the team that I'm working with.
JONATHAN_HALL:
Mm-hmm.
WILL_BUTTON:
So if
JONATHAN_HALL:
Mm-hmm.
WILL_BUTTON:
I'm working with a team that has a lot of AWS experience, And that's their core skill set. I would probably still lean on AWS if I felt like the transition to GCP is going to be too much for them to take on. Like if they're already overcommitted on project timelines and deliverables, then I probably wouldn't introduce something new to that and would stick
JONATHAN_HALL:
Mm-hmm.
WILL_BUTTON:
with AWS.
JONATHAN_HALL:
Mm-hmm.
WILL_BUTTON:
But aside from that, I would. I would steer people towards GCP.
JONATHAN_HALL:
Mm-hmm. Mm-hmm. Are there any features where you think AWS is still better than Google?
WILL_BUTTON:
Yeah, for sure. The big place where I see the difference is that GCP really embraces the infrastructure as code philosophy. So you can go
JONATHAN_HALL:
Mm-hmm.
WILL_BUTTON:
into the GCP console, and you can point and click your way to build whatever you want. But even when you do that, down at the bottom, there's two buttons there that say, show me the equivalent command line for doing this, or show me the equivalent API calls for doing this. So you can point and click your way to whatever you want, and then get the equivalent command line version with all the flags and switches and values right there set up for you. So GCP really embraces infrastructure whereas I feel like AWS is more of like a Microsoft Windows type interface. Everything is done through pointing and clicking and so yeah if your business model I think you're not really going to embrace infrastructure as code you just want to go in and point and click and figure out what you want that away then I think AWS might be the way to go there.
JONATHAN_HALL:
Okay, interesting. Yeah, I hadn't realized that before, but I think I hadn't consciously realized that before. I think you're right that reading AWS docs versus reading Google docs, Google usually have those three tabs, right? It says, here's the way to do this thing in the console. And it has links sometimes. And you know, step one, step two, step up to step six, whatever. Here's how you do it with G cloud command line tool. And here's how you do it with, you want to make a, an API call.
WILL_BUTTON:
Yeah.
JONATHAN_HALL:
And I don't, I don't remember seeing that on AWS's docs. So. I'm not going to say it doesn't exist in any form, but it's not in your face with those three different options.
WILL_BUTTON:
Yeah, I know it's always an afterthought with AWS. Like they'll release a new product and it's available through the console. And then sometime later, it will be added to the APIs. And then sometime after that, it will be added to cloud formation. And somewhere in between the API and the cloud formation stuff, the community usually adds it to Terraform.
JONATHAN_HALL:
Yeah. Yeah. cool. I'm trying
WILL_BUTTON:
Yeah,
JONATHAN_HALL:
to think
WILL_BUTTON:
one
JONATHAN_HALL:
of
WILL_BUTTON:
of
JONATHAN_HALL:
what
WILL_BUTTON:
the
JONATHAN_HALL:
else
WILL_BUTTON:
other
JONATHAN_HALL:
I can
WILL_BUTTON:
things I liked about
JONATHAN_HALL:
add here.
WILL_BUTTON:
GCP is the billing. Like everything seems like everything you click on over on the right hand side, it's like, Hey, here's what it's going to cost you.
JONATHAN_HALL:
Hehehe
WILL_BUTTON:
Which is kind of cool, you know, because every, every organization now is very cost conscious, but in AWS it's. You have to go someplace else to figure out what this is going to cost you. And GCP, they're very straightforward with it. And I think GCP has a better handle on budgets as well. You can set each project can have its own. billing methods, so each project can be on a different credit card or invoice or whatever. But then you can also have budgets for projects as well. And say, hey, this project is capped at $1,000 a month. And then you can set up alerts based on that, but you can do that in AWS as well. But then the the budget itself, when you exceed that budget, GCP can also actually block you from launching more resources that will exceed your budget. And I think that's pretty cool, especially, as I mentioned, other companies, all companies are getting more cost conscientious right now. But to tie the operating costs back to the development team, I think helps bring them full circle into what it is that they're doing and... puts them in a more performance-minded approach where whenever they start encountering scaling issues, instead of defaulting to, oh, we need bigger instances, more resources, more containers, or whatever, having that budget associated with that team puts them in the frame of mind to say, is there some way we can optimize this without spending more money?
JONATHAN_HALL:
Mm-hmm. Cool. I need to go back and optimize my GCP bill, actually.
WILL_BUTTON:
Yeah
JONATHAN_HALL:
I know I have some services I haven't been using for a while that I need to go shut down. Just let's stop paying for them.
WILL_BUTTON:
Yeah, that's one area where I think they're both fairly, on fairly level playing ground there about identifying resources that need to be optimized, looking at CPU
JONATHAN_HALL:
Mm-hmm.
WILL_BUTTON:
and network utilization to say, hey, this thing looks like it's being underutilized.
JONATHAN_HALL:
I don't know if AWS does this, but I know that Google will tell you, it looks like you can downsize this, you're not using all the memory or whatever. And it does the same thing on permissions too. AWS may as well, but if it sees that you have... Actually, let me just click on the IAM dashboard right now and I'll see if it shows me the same thing. Yeah, it says 6,722 out of 6,722 excess permissions.
WILL_BUTTON:
Hahaha!
JONATHAN_HALL:
I have a role here or an account here that has, that's not using any of its permissions and is telling me I should disable them. Or one of them says 7,000, my personal one says 7,704 out of 7,705 excess permissions. So
WILL_BUTTON:
Yeah!
JONATHAN_HALL:
of those 7,000 plus permissions, I only use one of them.
WILL_BUTTON:
That's fantastic.
JONATHAN_HALL:
I don't know how it calculates that. I'm assuming it looks at which ones have been used over the last year or something like that. But that's nice to see that if you're trying to lock down security.
WILL_BUTTON:
Yeah, I think AWS has a very similar feature, but the implementation of it is a bit rough because it will, it's one of those areas where they point you to, they're like, hey, you can optimize this, and then they point you to another resource, and then that resource starts asking you questions about things that you don't know.
JONATHAN_HALL:
Hmm.
WILL_BUTTON:
VPC logs or VPC, is that the right one? It's the network accessibility thing operates very similar because I was just in there recently. And it's like, hey, you can do an accessibility check to verify connectivity between these two. And I'm like, oh, cool, I want to do that. And then you click on that. And then it starts asking me for the resource ID of the network interfaces I'm interested in. I'm like, dude, I have no idea. You took me here.
JONATHAN_HALL:
Right.
WILL_BUTTON:
This whole thing was your idea.
JONATHAN_HALL:
I feel like the Google Docs do a pretty good job, not perfect, but a good job of trying to link you to, like when it tells you click on, navigate to this, to this, to this, it usually gives you links that take you straight to your property that are relevant. So if you're trying to, I don't know, enable an SQL server or something, it'll take you to the right page in your account. It doesn't just, yeah, it doesn't take you to the wrong place, which is useful, very useful.
WILL_BUTTON:
Yeah, for sure.
JONATHAN_HALL:
And I
WILL_BUTTON:
It's.
JONATHAN_HALL:
haven't had the same... pleasant experience reading AWS docs.
WILL_BUTTON:
No, especially if you use Control Tower in AWS, because in the event that they do give you a URL to click on, that URL is only going to work if you're already signed into that specific AWS account from within Control Tower.
JONATHAN_HALL:
Mm-hmm. Mm-hmm. Yeah. Okay, what else can we talk about? This wasn't as long a conversation as I expected.
WILL_BUTTON:
Yeah, I really thought this would go a lot further. Ha ha ha.
JONATHAN_HALL:
Have you played with Azure to compare that or DigitalOcean or any of the others?
WILL_BUTTON:
I used Azure a few years back. but only at a very, like, Azure 101 level. Like I needed
JONATHAN_HALL:
Mm-hmm.
WILL_BUTTON:
to launch an instance. I can't even remember what they call their instances or their machines. But the thing I noticed about Azure is it's, you know, obviously this is probably like a duh statement, but it's very Microsoft centric, you know, it's integrated right up front with Active Directory and it's built to let you leverage your Active Directory infrastructure to assign permissions and groups and things like that.
JONATHAN_HALL:
Mm-hmm.
WILL_BUTTON:
Which I think that's a really strong selling point for someone who has an Active Directory background or for organizations that want to leverage their existing on-prem Active Directory. And that's what we actually did. The company I was working with had Active Directory on-prem. And so we set up Active Directory in Azure and then moved their or synchronized the two I can't remember what the top root container in Active Directory is called, but they were synchronized there.
JONATHAN_HALL:
Yeah, okay. I've never used Azure at that level. I've only had access to their sort of GitHub project competitor. I guess, is that Azure DevOps or is it more than that? I'm not sure, but that's the only Azure product I've played with before.
WILL_BUTTON:
Yeah, that was a really strange product name, I felt. Azure DevOps.
JONATHAN_HALL:
Terrible name.
WILL_BUTTON:
Yeah. It's like, did you even Google the word before you decided to
JONATHAN_HALL:
Right.
WILL_BUTTON:
use it for this product? I don't think you did a lot of research into this because it's a ticketing system.
JONATHAN_HALL:
Yeah, yeah, they just tried to ride the hype train, no doubt.
WILL_BUTTON:
Yeah.
JONATHAN_HALL:
And I'm really curious what they're going to do with that word because, you know, that DevOps, I think I feel like starting to fall out of favor, or at least in terms of buzzword hype. So, you know, once it's no longer the cool word, are they going to rename the product? Probably. But what are they going to call it? I don't know.
WILL_BUTTON:
Well, I think it's on us to create some type of scandal to bring the DevOps phrase back into popularity.
JONATHAN_HALL:
Okay.
WILL_BUTTON:
So we could do a DevOps cryptocurrency and then rug pull everyone who invests in it. That seems to be a popular model these days.
JONATHAN_HALL:
Yeah, yeah. And we can even tell people we're doing that and they'll still buy our coins,
WILL_BUTTON:
Right?
JONATHAN_HALL:
according to history.
WILL_BUTTON:
It's like at that point, is it even illegal? Because you told him exactly what
JONATHAN_HALL:
Ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha
WILL_BUTTON:
you were going to do. Yeah, this is how I end up on an FBI watch list. Ha ha ha.
JONATHAN_HALL:
Ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha Yeah, fun, fun stuff.
WILL_BUTTON:
So since we're talking about it though, what other cloud providers have you used? You mentioned DigitalOcean.
JONATHAN_HALL:
Yeah, so I have used DigitalOcean, but only for a VM.
WILL_BUTTON:
Yeah.
JONATHAN_HALL:
But I hear that their Kubernetes offer is pretty nice these days, too. So I'm curious to try it. Next time I need to set up a new Kubernetes cluster, I'll probably give it a shot and see how I like it. I also use hetzner.de. They're a German, as you can tell from the.de domain. cloud provider and I just use them for a VM to run some back-end jobs and stuff, you know, simple stuff, but they're super cheap. I think I pay three euros a month for my VM there. So
WILL_BUTTON:
Oh wow.
JONATHAN_HALL:
I've been using them for years, so I'm happy with them. And I still use an old school and that's where I host my website. And it's just a, it's a PHP in big quotes, hosting service, you know, you get the old school PHP MyAdmin and MySQL and
WILL_BUTTON:
Oh,
JONATHAN_HALL:
all
WILL_BUTTON:
nice.
JONATHAN_HALL:
that stuff, run your Perl CGI scripts, whatever you want there. I just use it to host static websites from Hugo. So, you know, I don't use any of the fancy capabilities, but I think that's $10 a year or something like that. So it's very, very affordable, much cheaper than paying for S3 or something for the same amount of traffic and whatnot. So.
WILL_BUTTON:
Right on.
JONATHAN_HALL:
But yeah, as far as like full-fledged clouds, AWS and Google are really the experience I've had.
WILL_BUTTON:
Yeah, I used to use, years ago, I used Heroku a lot, and really
JONATHAN_HALL:
Oh
WILL_BUTTON:
liked
JONATHAN_HALL:
yeah.
WILL_BUTTON:
it, just because it was a very low barrier, yet highly scalable solution. You could let your developers just add their YAML file to find how it should look. and Heroku just kind of figured it all out and deployed it. And with scale, you know, they were for smaller scale apps, they were close enough to AWS costs that it wasn't worth the effort to go to AWS. So I used them quite a
JONATHAN_HALL:
Mm-hmm.
WILL_BUTTON:
bit for my smaller clients. And then in terms of like static website and single page application hosting, I've used Cloudflare pages. I think that's what it's called.
JONATHAN_HALL:
Mm-hmm.
WILL_BUTTON:
It's actually pretty nice. They have a really nice GitHub integration that handles your deployments. And then they will also do preview branches as well. So when you open up a pull request, they spin up a temporary URL to show you what the merged version would look like. And then just being on Cloudflare, performance is great because they've got a great CDN network. And then the other one I've used recently is Vercell for Next.js apps. That one's
JONATHAN_HALL:
Mm-hmm.
WILL_BUTTON:
actually pretty nice. I think that one's pretty, I would consider that one to be like an updated version of Heroku. Very,
JONATHAN_HALL:
Okay.
WILL_BUTTON:
very, very low barrier to entry. easy to use. I haven't really tested it in terms of scalability, but it seems to have the infrastructure to scale. And then they've got a little bit of a product lock in there. So you use Next.js, they have their own internal components in React for image optimization and things like that that are native to the Vercell platform. So if you're using Next.js, they're almost just like just shooing you into using Vercell for the deployment on that.
JONATHAN_HALL:
Mm-hmm. All right.
WILL_BUTTON:
That's about it that I've used, aside from some WordPress sites. But.
JONATHAN_HALL:
Oh yeah, I've done that too.
WILL_BUTTON:
That's going to trigger
JONATHAN_HALL:
Sadly.
WILL_BUTTON:
PTSD, so I'm not going to bring that subject up.
JONATHAN_HALL:
Exactly, exactly. I still have a couple WordPress sites and every time I get reminded of my annual billing, I'm like, I should move those off to Fugo.
WILL_BUTTON:
Right?
JONATHAN_HALL:
And then I go look at it and I'm like, oh, I don't wanna do this.
WILL_BUTTON:
Right?
JONATHAN_HALL:
I'll just let it sit there for another year.
WILL_BUTTON:
Yeah, so if you're listening and you're trying to figure out how to start your own consulting business or wanting to bring in some side income, I think there's probably an avenue there of I will convert your WordPress site to something that is not WordPress. And I bet
JONATHAN_HALL:
Yeah.
WILL_BUTTON:
people will just give you money to do that. Right?
JONATHAN_HALL:
Call me, I will give you money to do that. I mean, I will give you two years of my WordPress hosting fee, which is, I don't know, 200 bucks a month or something, so times two, I'll pay you 400 bucks to move my WordPress sites off of WordPress, and then in two years, I'll be making that money back.
WILL_BUTTON:
Yeah.
JONATHAN_HALL:
And I'm sure somebody in the Philippines would love to do that.
WILL_BUTTON:
Oh for sure, yeah. That'll be interesting. If you do that, let us know. I really want to hear how
JONATHAN_HALL:
Of
WILL_BUTTON:
it
JONATHAN_HALL:
course,
WILL_BUTTON:
works
JONATHAN_HALL:
I
WILL_BUTTON:
out.
JONATHAN_HALL:
will. Yeah.
WILL_BUTTON:
And
JONATHAN_HALL:
Yeah. Yeah.
WILL_BUTTON:
I'll help promote you on Twitter and on my YouTube channel, wherever, just to hook you up.
JONATHAN_HALL:
Definitely, yep, yep.
WILL_BUTTON:
because that'll be fun to watch.
JONATHAN_HALL:
Cool. Well,
WILL_BUTTON:
Cool still,
JONATHAN_HALL:
it sounds like we're winding down. Should we
WILL_BUTTON:
I think so.
JONATHAN_HALL:
flip over to some pics?
WILL_BUTTON:
Um, yeah, let's...
JONATHAN_HALL:
else you want to talk about first.
WILL_BUTTON:
Um. Yeah, let me recap the actual Google PCA exam real quick, because I felt
JONATHAN_HALL:
Mm-hmm.
WILL_BUTTON:
like that was a really challenging exam. Because I went into it when I first started down this path, I was thinking, oh, OK, I'll figure out the GCP equivalence to AWS services and just do the old, you know. copy and paste where you see EC2 instance replace that with. I can't remember what Google calls the instances now. But whatever, I thought it was going to be like a word replace thing. But it's really not. The exam, I think, does a really good job of testing not only that you know what the GCP products are, but their actual implementation details as well. For example, you'll see questions like a client who needs a relational database solution. And then they'll throw in some details that they need global connectivity for a high throughput application. And so your choices there are Google's Cloud SQL or Spanner. But then you have to know that Cloud SQL is regional only. And
JONATHAN_HALL:
Mm-hmm.
WILL_BUTTON:
Spanner is the one that has global consistency. So you have to understand enough about the implementation details to pick the right product based on those little details that they drop off into question. So that was one
JONATHAN_HALL:
Alright.
WILL_BUTTON:
of the things that I think was really helpful in preparing for the exams to know that it's not only about the product, but the implementation details of the product as well. And You have to read the question carefully because there'll be little things there. I don't consider them to be trick questions, like trying to trip you up, just trying to validate that you actually understand the differences between the products, because they do have a lot of products that overlap. In SQL databases, there is Cloud SQL and Spanner. And then for document-oriented databases, there's different products there as well. And even whenever it comes to like, connecting to the Google network. You can use carrier peering, which gives you a peer connection to Google Public Services, or an interconnect connection, which is an actual tunnel into the GCP cloud for RFC 1918 communications.
JONATHAN_HALL:
Okay. Have you ever received an AWS certification as well?
WILL_BUTTON:
No, I have not.
JONATHAN_HALL:
Okay, I was curious if you had, if you could compare them, the tests and whatnot. But if not, then I guess not.
WILL_BUTTON:
Yeah, I've often considered doing it, but as we know, I haven't considered it very far.
JONATHAN_HALL:
So what prompted you to do this test?
WILL_BUTTON:
It was because I'm working at Polygon, and Google is now partnering with Polygon for the deployment of blockchain nodes on the GCP infrastructure. They offered it up to us as an incentive. And I was like, yeah, free training, I'm in.
JONATHAN_HALL:
Nice. Yeah, if it was free, I'd probably do it too. So,
WILL_BUTTON:
Yeah, I'll go through a lot of hoops and hurdles for something free, even if it's something of low value. Not saying that the GCP certification is low value. I'm just saying that's where my threshold is.
JONATHAN_HALL:
Right.
WILL_BUTTON:
Cool, let's do some picks, what you got?
JONATHAN_HALL:
All right, so I got something in the mail recently. I got this. Only you can see it, Will, since this is a podcast. But I got this little deck of cards. I hope I can say what it's called. It's called the
WILL_BUTTON:
I love it.
JONATHAN_HALL:
Agile Bullshit deck of cards. So I don't know if that'll be bleeped out in the final edit or not. It's 56 cards, and each one has some Agile Bullshit on it. So let me just pick a random one here. I'll read it to you. That's not what we do here. Why should we change?
WILL_BUTTON:
Hahaha
JONATHAN_HALL:
or team members cherry pick their work.
WILL_BUTTON:
Yeah
JONATHAN_HALL:
Or same old retrospective.
WILL_BUTTON:
Oh no.
JONATHAN_HALL:
user stories with the word user marked out
WILL_BUTTON:
Hahaha!
JONATHAN_HALL:
So you can head over to simulearn.net, simu-learn.net. And I'll put a link in the show notes, of course. Or you could just Google for SimuLearn Agile Bullshit Cards. And there's different ways you can play. You could do Agile Bullshit Bingo, or they have a few different ways you can play with it. I'm thinking about taking one of these each week and writing a little blog post about it, and my experience with each one of these. I haven't decided if I'll do that, but that's what I'm thinking of. So that's my pick for the week, is this bit. deck of Agile bullshit cards from Simulearn.
WILL_BUTTON:
That's hilarious.
JONATHAN_HALL:
At the very least, it's a fun conversation piece. Sit around with your colleagues or over a beer or over lunch and just talk about, how many of these things do you do on your team?
WILL_BUTTON:
For sure. Just from the few that you read there, it sounds like someone who has lived the story.
JONATHAN_HALL:
Yes.
WILL_BUTTON:
This wasn't their first
JONATHAN_HALL:
Yes
WILL_BUTTON:
day
JONATHAN_HALL:
indeed.
WILL_BUTTON:
in Agile.
JONATHAN_HALL:
So that's about it.
WILL_BUTTON:
Right on. So I was thinking about picks, and I really haven't been up to anything. As you can tell on my YouTube channel, I haven't put out any videos because I spent quite a bit of time getting ready for this Google PCA exam. I spent a lot of time getting ready for it, and it was all time. I felt like well spent because I needed that time in order to pass the exam. And then prior to that, I was like, I'd been training for that 100k race that I did. So my YouTube content is down, which is why this week I am going to pick as my pick my YouTube channel, DevOps for Developers. because I'm working on some new videos and by the time this releases there should be some new stuff out there. Part of that is going to be doing a deep dive in AWS versus GCP and then because of my recent newfound love affair with GCP there's going to be some GCP specific content coming out as well. So check that out if you would please.
JONATHAN_HALL:
I will, I promise.
WILL_BUTTON:
on. Cool well I think we've got ourselves an episode.
JONATHAN_HALL:
Thanks, that's it. I hope you'll
WILL_BUTTON:
All
JONATHAN_HALL:
all join us again next week.
WILL_BUTTON:
right, right on. See you everyone.