Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Pricing

Ufuk Kayserilioglu

👤 Person
252 total appearances

Appearances Over Time

Podcast Appearances

Ruby Rogues
Sorbet with Ufuk Kayserilioglu - RUBY 664

It sounds believable, though. As for the code base, it's most probably the largest Ruby on Rails code base in the world right now. It has about 30,000 Ruby files in our core monolith. So I'll keep referring to core. So when I say core, that's our main monolith that provides almost all of the Shopify solutions.

Ruby Rogues
Sorbet with Ufuk Kayserilioglu - RUBY 664

It sounds believable, though. As for the code base, it's most probably the largest Ruby on Rails code base in the world right now. It has about 30,000 Ruby files in our core monolith. So I'll keep referring to core. So when I say core, that's our main monolith that provides almost all of the Shopify solutions.

Ruby Rogues
Sorbet with Ufuk Kayserilioglu - RUBY 664

Even though we now have some other services that operate outside of core, most of our code base and most of our operation is actually still being handled by core, which is our monolith. And that's about 30,000 Ruby files. And on each push, on each deploy, there are about 150,000 tests that run to ensure that everything is still the same. So that's the size of the code base.

Ruby Rogues
Sorbet with Ufuk Kayserilioglu - RUBY 664

Even though we now have some other services that operate outside of core, most of our code base and most of our operation is actually still being handled by core, which is our monolith. And that's about 30,000 Ruby files. And on each push, on each deploy, there are about 150,000 tests that run to ensure that everything is still the same. So that's the size of the code base.

Ruby Rogues
Sorbet with Ufuk Kayserilioglu - RUBY 664

That's the size of the platform.

Ruby Rogues
Sorbet with Ufuk Kayserilioglu - RUBY 664

That's the size of the platform.

Ruby Rogues
Sorbet with Ufuk Kayserilioglu - RUBY 664

So I've only been at the company for about a year and a half, and most of the infrastructure has been in place before I joined. And I'm also still learning about some of the infrastructure that we use, but like I can tell you it's it's a Kubernetes deploy. So everything's virtualized in Docker containers and deployed to Kubernetes pods. And there are like some load balancing solutions.

Ruby Rogues
Sorbet with Ufuk Kayserilioglu - RUBY 664

So I've only been at the company for about a year and a half, and most of the infrastructure has been in place before I joined. And I'm also still learning about some of the infrastructure that we use, but like I can tell you it's it's a Kubernetes deploy. So everything's virtualized in Docker containers and deployed to Kubernetes pods. And there are like some load balancing solutions.

Ruby Rogues
Sorbet with Ufuk Kayserilioglu - RUBY 664

And we also have this concept of pods. Pods are these logical units that host, um, a group of certain merchants in one location with their own basic infrastructure. So that's like one way of sharding the customer database and the customer load across different machines.

Ruby Rogues
Sorbet with Ufuk Kayserilioglu - RUBY 664

And we also have this concept of pods. Pods are these logical units that host, um, a group of certain merchants in one location with their own basic infrastructure. So that's like one way of sharding the customer database and the customer load across different machines.

Ruby Rogues
Sorbet with Ufuk Kayserilioglu - RUBY 664

I'm pretty sure that like others from the company have presented at various conferences talking about that infrastructure part, but that's not necessarily my strongest point. So I don't want to really go much more in depth about that. even though the team that I'm working on, the Ruby and Rails infrastructure team, is a part of the product line in the company called

Ruby Rogues
Sorbet with Ufuk Kayserilioglu - RUBY 664

I'm pretty sure that like others from the company have presented at various conferences talking about that infrastructure part, but that's not necessarily my strongest point. So I don't want to really go much more in depth about that. even though the team that I'm working on, the Ruby and Rails infrastructure team, is a part of the product line in the company called

Ruby Rogues
Sorbet with Ufuk Kayserilioglu - RUBY 664

Kernel is basically responsible for ensuring that the platform is up and running. So it's responsible for all the infrastructure problems, but also it includes developer acceleration, which my team is a part of as well, which provides solutions for the developers within the company so that they can do their work better. They can produce solutions faster.

Ruby Rogues
Sorbet with Ufuk Kayserilioglu - RUBY 664

Kernel is basically responsible for ensuring that the platform is up and running. So it's responsible for all the infrastructure problems, but also it includes developer acceleration, which my team is a part of as well, which provides solutions for the developers within the company so that they can do their work better. They can produce solutions faster.

Ruby Rogues
Sorbet with Ufuk Kayserilioglu - RUBY 664

And also we provide solutions for the infrastructure part of the team as well.

Ruby Rogues
Sorbet with Ufuk Kayserilioglu - RUBY 664

And also we provide solutions for the infrastructure part of the team as well.

Ruby Rogues
Sorbet with Ufuk Kayserilioglu - RUBY 664

Sure. Again, maybe I should give a little bit more context as to what Sorbet is, who developed it, what it's used for. Sorbet is a gradual type checker for Ruby that was developed by the fine folks at Stripe. So Sorbet provides you the tools needed

Ruby Rogues
Sorbet with Ufuk Kayserilioglu - RUBY 664

Sure. Again, maybe I should give a little bit more context as to what Sorbet is, who developed it, what it's used for. Sorbet is a gradual type checker for Ruby that was developed by the fine folks at Stripe. So Sorbet provides you the tools needed

Ruby Rogues
Sorbet with Ufuk Kayserilioglu - RUBY 664

to add type checking information to your Ruby code base, and it gives you both static type checker and a runtime type checker to ensure that your type assumptions make sense and are valid. The static type checker is the most important part of Sorbet, The static type checker is a tool. It's an executable built using C++. It has its own Ruby parser.

Ruby Rogues
Sorbet with Ufuk Kayserilioglu - RUBY 664

to add type checking information to your Ruby code base, and it gives you both static type checker and a runtime type checker to ensure that your type assumptions make sense and are valid. The static type checker is the most important part of Sorbet, The static type checker is a tool. It's an executable built using C++. It has its own Ruby parser.