Presentation: Digital Publishing for Scale: The Economist and Go
This presentation is now available to view on InfoQ.com
Watch videoWhat You’ll Learn
-
Learn about the pros and cons of leveraging Go as a development platform.
-
Hear about strategies for decomposition of a monolith into Go Microservices.
-
Understand how Go address concurrency and how it can benefit you.
Abstract
The Economist newspaper was first printed in 1843. Since then, readers consume news in rapidly evolving ways and technology has taken the forefront in delivering content and enabling the severe contest between intelligence, which presses forward, and an unworthy, timid ignorance obstructing our progress.
To meet these challenges, The Economist restructured its platforms for digital delivery by breaking down a monolithic CMS and adopting a distributed, microservices architecture. The Economist implemented Go to write services responsible for delivering content across products and platforms. Go has enable the team to quickly adapt to business needs and scale for growing demand, but it has not been without its own challenges. This talk will cover the struggles and victories in transitioning to Go and how Go has uniquely fit The Economist’s digital publishing goals.
Would you describe your work at The Economist?
I am the lead engineer for the content platform team at The Economist. We deliver content to different products within The Economist (as well as to our external consumers). Our team is responsible for adding new features to the content platform thereby helping the business build new products.
Technically, it is a distributed platform, that is DevOps heavy. We use the Go language for coding applications. On the frontend, we have a Rest API but we also use GraphQL for some of the advanced queries. We use Elasticsearch for indexing and linking content.
What is the motivation for your talk, Digital Publishing for Scale: The Economist and Go?
At The Economist we moved from a traditional monolith Drupal CMS architecture to a distributed system implemented using the Go programming language. I want to share this experience, and talk about some interesting use cases, where using Go helped us. I would also like to highlight the use cases where it was not a good fit.
Who is the target audience for this talk?
It is mostly for developers who are interested in the Go programming language and have considered using it. I will talk about some of the well-known benefits of Go, together with some of the lesser known features, which we found useful.
I will also talk about the overall framework, and how we moved from a monolith to a distributed architecture. Architects may find this part of the talk interesting.
What can a developer expect to take away from this talk?
The talk will be helpful for developers who are interested in Go but haven't work with it much before, as well as developers looking to breakdown systems into smaller, scalable components. I will show how many features of the language help developing scalable platforms, such as Go's built in concurrency support.
The talk will give both the pros and cons of using Go. So on the downside, I will demonstrate a scenario which was easier to implement in JavaScript as compared to Go.
Similar Talks
Scaling DB Access for Billions of Queries Per Day @PayPal
Software Engineer @PayPal
Petrica Voicu
Psychologically Safe Process Evolution in a Flat Structure
Director of Software Development @Hunter_Ind
Christopher Lucian
Not Sold Yet, GraphQL: A Humble Tale From Skeptic to Enthusiast
Software Engineer @Netflix
Garrett Heinlen
PID Loops and the Art of Keeping Systems Stable
Senior Principal Engineer @awscloud
Colm MacCárthaigh
Are We Really Cloud-Native?
Director of Technology @Luminis_eu
Bert Ertman
The Trouble With Learning in Complex Systems
Senior Cloud Advocate @Microsoft
Jason Hand
How Did Things Go Right? Learning More From Incidents
Site Reliability Engineering @Netflix
Ryan Kitchens
What Breaks Our Systems: A Taxonomy of Black Swans
Site Reliability Engineer @Slack, Contributor to Seeking SRE, & SRECon Steering Committee
Laura Nolan
Cultivating High-Performing Teams in Hypergrowth
Chief Scientist @n26