Microservices, Mayhem, and Main Branches

In this episode, Julie begins by expressing concern about technical issues with Zoom and her camera being off, Andrew discusses the shortage of certain ADHD medication in the U.S. due to supply issues, and then the topic of keeping tidy beds and using chopsticks for eating comes up.   The conversation then shifts to Andrew introducing asdf as a runtime version manager and he dives into the complexity of managing different versions of tools.  The discussion touches on Docker, version consistency, and Podia’s smooth transition to a new database version. They emphasize the importance of planning and backups during database upgrades and share insights into moving local databases. We end with a reflection on microservices and their evolving role in the tech industry. Hit download now to hear more! 

[00:00:13] Julie expresses concern about Zoom not working and her camera being off, and Andrew shares his thoughts on the shortage of ADHD medication in the U.S and how it’s been affecting his life. 

[00:02:59] The topic of keeping their beds tidy comes up, bed habits, and converting to chopsticks for eating. 

[00:08:15] Andrew explains that he was helping a designer upgrade his Postgres database from version 13 to 15. He mentions the challenge of not knowing how the designer was running Postgres initially and the decision to use GUI app (Postgres app) for ease of use. 

[00:11:38] What is asdf?  Andrew asks Julie if she uses rbenv or RVM, and he explains that rbenv is a runtime version manager for Ruby and discusses the need for managing multiple versions of Ruby due to the default outdated version in macOS. Also, Andrew explains that it’s a tool that manages various services, including Redis, Yarn, Node, Ruby, and more. 

[00:13:49] Julie brings up if Andrew had any issues with asdf, and he acknowledges some past issues, but has a strong preference for using asdf consistently.

[00:14:12] Julie asks how Andrew’s use of asdf at work compares to others who might not use it, and he relates the discussion to Docker, explaining that Docker containers can help standardize environments and avoid issues related to different versions of tools and services on different machines. 

[00:16:48] Julie asks whether applications can still run smoothly even if developers are using different version of tools like Redis.  Andrew confirms it’s possible but explains the potential pitfalls and the importance of version consistency. 

[00:20:00] Andrew discusses the switch from database version 13 to 15 in production and mentions the challenges of upgrading databases compared to simpler updates like changing a Node.js version. 

[00:20:43] Julie asks about Podia’s staging environment for testing changes before deploying to production, and Andrew mentions using Heroku pipelines and how the company relies on feature flags and aims to keep the main branch always deployable.

[00:22:05] Andrew explains the potential for breaking changes when upgrading database versions, mentioning the PostgreSQL 16 is coming out and Heroku plans to support version 14 through 16 while dropping support for version 13. 

[00:23:14] Andrew tells us their backup plan in case the database upgrade to version 15 fails and discusses the importance of having backups and a fast recovery plan. 

[00:25:43] Julie asks Andrew what he meant by SSH into a box and about moving a local database to another computer, and he explains that it’s possible using commands like PG dump and restore, as well as providing options for moving a local database.  

[00:29:55] Why doesn’t Podia use Docker? Andrew explains, citing previous experiences with Docker and the complexity it can introduce.

[00:32:22] Julie wonders if Andrew uses microservices, to which he explains that when he began his career, microservices were popular, but the industry’s perspective has since shifted.  Docker was initially associated with microservices, but the trend has changed over time.

[00:33:01] What are the benefits of using microservices and why have some companies moved away from them? Andrew tells us the complexity of microservices became more apparent as they were adopted more widely, and some now consider them an anti-pattern. 


Panelists:
Andrew Mason
Julie J.


Sponsor:


Links:


Creators and Guests

Andrew Mason
Host
Andrew Mason
Senior Product Developer at Podia, co-host of the Remote Ruby podcast, and co-editor of the Ruby Radar newsletter
Julie J
Host
Julie J
Software developer at Codecademy
Microservices, Mayhem, and Main Branches
Broadcast by