Jon couldn’t make it for this podcast due to a recent job change, but will be back soon
Stuart and Jerry talk some about their new jobs.
Stuart is a Site Reliability Engineer for a VoIP/Communications company. He talks about using Puppet, Terraform, Nomad and Kubernetes. Jerry and Stuart both talk about the move to containers in both their jobs.
Jerry mentions learning Amazon AWS’s ECS (AWS managed Docker/Container solution) using Fargate. Stuart mentions using ECS previously, but using AWS EC2s rather than Fargate. Stuart also mentions that ECS is a lot simpler than Kubernetes, but the simplicity does have some trade offs.
Al mentions he has recently recertified his Azure Administrator Associate certiication. He mentions how the certifications are “point-in-time”, in that it doesn’t reflect some of the newer features.
Al mentions Azure Web Apps, which are effectively Docker containers in the background.
Al asks an open question about monitoring and how it changes in the world of cloud, PaaS (Platform-As-A–Service) and microservices. He mentions how throwing machine resources at a problem doesn’t always fix an issue.
Stuart talks about the idea of contention in the cloud being desirable, compared to being avoided in on-premises environments. He mentions his issues with using purely thresholds for monitoring. He refers to distributed tracing to get insights into requests/services (especially when running across a number of microservices).
Stuart mentions OpenMetrics (which is the Prometheus metrics format but as an open standard) which can be exposed by any application, not just a specific exporter. He mentions adding this to his own applications, and writing exporters as well.
Stuart talks about eBPF, how it relates to monitoring, as well as tracing and forwarding packets. He mentions eBPF programs that are allowed to sit alongside the kernel itself, allowing direct kernel tracing or taking actions on network packets before they reach the kernel.
Stuart references Brendan Gregg and his website for information on eBPF usage and examples. He also later mentions Liz Rice for great information and tutorials on eBPF, having started learning eBPF because of her great tutorials.
Stuart mentions about start to learn C to be able to write eBPF programs. He also mentions that you can interact with eBPF programs using Go, Python, C and Rust, whereas the eBPF programs themselves are either in C or recently in Rust.
Al mentions that Azure Web Apps for PHP include Apache for PHP 7, and Nginx for PHP 8.
Jerry brings up Terragrunt, which is a thin wrapper for Terraform. Terragrunt extends Terraform with some useful features like being able to run Terraform across multiple directories, and to make Terraform DRY (Don’t Repeat Yourself). It can also show a graph of dependencies too. Stuart mentions why separating Terraform files into different directories is desirable, but comes with a trade off that Terragrunt can help resolve.
Jerry mentions how using Terragrunt to separate environments and parameterise Terraform helps significantly with keeping repitition of code lower.
Al talks about Terraform Workspaces as a way of separating environments.
Al brings up the subject of other podcasts we listen to, including: –
- Ship It – About deployment, infrastructure and the operation of software
- Rent, Buy, Build – About the cloud native world and whether to use a managed solution, an off-the-shelf solution, or building it yourself for different technologies
- Al’s Code Snippets Podcast – About Al’s journey into coding and his learnings along the way