Topic

Backend

22 articles

Showing 22 of 22
Slack Engineering

Refactoring Backend Engineering Hiring at Slack

For anyone who’s ever been involved in the hiring process, it’s no easy feat — particularly in a growing company. To get hiring practices right, it takes iteration based on feedback — both on the internal processes within your company as well as on the external process a candidate experiences. Continuously improving hiring is important for a host of…

11 min read
Shopify Engineering

Using GraphQL for High-Performing Mobile Applications - Shopify

GraphQL is the syntax that describes data that a client asks from a server. The client, in this case, is a mobile application. GraphQL is usually compared with REST API, a common syntax that most mobile application developers use. We will share how GraphQL can solve some of the pain points of REST API in mobile application development and discuss tips and best practices that we learned at Shopify by using GraphQL in our mobile applications. Why Use GraphQL? A mobile application generally has four basic layers in the codebase: Network layer: defines the connection and the server to connect to send/receive data. Data model layer: translates data coming from the network layer to understandable data for local app models. View models layer: translates data models to understandable models for the user interface. User interface layer: presents/receives data to/from the user. A network layer and data model layer are needed for an app to talk to a server and translate that information to view layers. GraphQL can fit into these two layers and base a data graph layer and solve most of the pain points mobile developers used to have when using REST APIs. One of the pain points when using REST APIs is that the data coming from the server should be mapped many times to different object types in order to be presented on the screen or vice versa from input in the screen to be sent to the server. Simpler apps might have fewer of these mappings depending on if the app has a local database to store data or if the app is online only. But mobile apps surely have the mapping to convert the JSON data coming from an API to a class object (for example, Swift objects ). When working with REST endpoints these mappings are basically matching statically typed code with the unstructured JSON responses. In other words, mobile developers are asked to hard code the type of a field and

13 min read
Spotify Engineering

In praise of “boring” technology | Spotify Engineering

In this article I will explain how Spotify uses different mature and proven technologies in our backend service eco-system and architecture, and why we do so. In addition, this article will also attempt to explain when Spotify has chosen not to use certain proven technologies, the reasons why and the associated pitfalls associated with each.

Björn Edström10 min read
Spotify Engineering

Scalable User Privacy | Spotify Engineering

At Spotify, we have a complex and diverse data processing ecosystem. Our backend infrastructure handles millions of requests per second, which are processed by over a thousand (micro)services. Our batch pipeline environment is equally complex and diverse; we run thousands of jobs written in a variety of frameworks such as , ,  and . The data processed by these services and pipelines power critical parts of our organization. We use data to calculate royalties, run A/B tests, process payments, serve playlists and suggest new tracks to our users.

Bram Leenders12 min read
Spotify Engineering

Improving Critical Infrastructure Rollouts | Spotify Engineering

Spotify began using Docker with a few prototype services in 2014. We upgraded and configured it many times since and have almost every time come across issues that were often hard to detect and fix. When the number of backend services running on Docker was low, the impact of these issues was small. As Docker adoption grew so did the risk and impact of faulty Docker changes until they reached unacceptable levels. In October 2016, we deployed a bad configuration change that significantly affected the user experience.

David Xia6 min read
Shopify Engineering

Navigating Recurring Payments in India: A Backend Perspective - Shopify

To address the new RBI framework for recurring payments in Shopify’s billing platform, we worked with a local payment provider that could accommodate both card-based payments as well as a local payment method called Unified Payments Interface (UPI).

17 min read
CNCF Case Studies

BRZ

The Austrian Business Service Portal (USP), developed and operated by the Federal Computing Center (BRZ), is the central eGovernment platform connecting businesses to over 130 digital public services. To securely manage access for more than 2 million users, USP now relies on a modern architecture powered by Keycloak, microservices, and GitOps.

9 min read
CNCF Case Studies

Lunar

Lunar, a Scandinavian online bank that embraced cloud native tech early on, has been running Kubernetes since 2017. Today, they have over 250 microservices distributed across three clouds.

13 min read
Spotify Engineering

Backend infrastructure at Spotify | Spotify Engineering

backend infrastructure at Spotify. Our backend infrastructure is very much work in progress – in some areas we have come a long way and in others we have just started.

Spotify Engineering9 min read
Spotify Engineering

Achieving fault-tolerance with intelligent daemons | Spotify Engineering

Powering the Spotify service is a backend of dozens of different, specialized service implementations. For example, we have a playlist system that is responsible for the storing and retrieval of users playlists, a user service responsible for login, and we have an ad system with advertisements and the surrounding business logic.

Björn Edström9 min read
Spotify Engineering

Painting a Picture of Your Infrastructure in Minutes | Spotify Engineering

As a Security responder, it is important to have access to relevant information quickly in order to get a more complete picture of an ongoing or potential incident. Modern microservice architecture usually means that the number of services, and thus hosts and related assets, are much higher than they used to. This means that getting an overview of them is no longer a trivial task and as resources become more and more ephemeral, the inventory is not only large in volume but it’s also rapidly changing.

Carly Schneider +1 other4 min read
Shopify Engineering

Behind The Code: Jennice Colaco, Backend Developer - Shopify

Behind the Code is an initiative with the purpose of sharing the various career stories of our engineers at Shopify, to show that the path to development is non-linear and quite interesting. The features will showcase people just starting their careers, those who made career switches, and those who've been in the industry for many years. Enjoy!

6 min read
CNCF Case Studies

CVTE

CVTE, an electronics company that embraced cloud native tech early on, has been running services on Kubernetes for years. Today, they have a large number of microservices distributed across regions.

8 min read