DEV Community

Play Button Pause Button
dev.to staff
dev.to staff

Posted on

Moving from a Java Monolith to Microservices at Squarespace

Julian Applebaum stopped by to discuss the challenges of moving Squarespace's Java monolith to a service-oriented architecture. Julian describes drawing boundaries between different layers of business logic and discovering fundamental tensions in restructuring application logic throughout the migration. Squarespace's journey to a series of RESTful API endpoints was a matter of building services and integrating them slowly as they became reliable. This move was inevitable for Squarespace's team of about 100 engineers.

Latest comments (25)

Collapse
 
andre1810 profile image
André Hester • Edited

Good example of Strangler Pattern 👍🏻

Collapse
 
andre1810 profile image
André Hester

Good example of the Strangler Pattern

Collapse
 
miguelpinia profile image
Miguel Piña

Really cool approach about how to move from monolith to microservices. :D

Collapse
 
kacperbak profile image
Kacper Bak

Awesome content, also many thanks for the subtitles (German listener).

Collapse
 
saurabhgiv profile image
saurabh.v

Nice video to understand the usages of microservices and what advantages they offer.

Collapse
 
lewiscowles1986 profile image
Lewis Cowles

I was a little surprised a monolith ever worked at the scale of squarespace for the past few years. Thanks for sharing

Collapse
 
tungnt profile image
Tom Nguyen

Thank you for the subtitles. They help non-native English speakers so much :)

Collapse
 
ben profile image
Ben Halpern

🙌

Collapse
 
vikkio88 profile image
Vincenzo

lol that sneaky github mascotte, creeping from the behind the plant pot

Collapse
 
alexkolson profile image
Alex Olson

I'm getting the same Media error as many others:

Error loading media: File could not be played.

I'm on chrome. Looking at the error console It's trying to load what looks like the movie file and then getting a 403.

Would love to be able to watch this!

Collapse
 
franzliedke profile image
Franz Liedke

You can still watch the video at youtube.com/watch?v=d2z5_kcBo8E.

Collapse
 
oysteino profile image
Øystein Øvrebø

"The owner of the file has exceeded their traffic limit."

Collapse
 
ewantoo profile image
Ewan

Obviously got more traffic than you were expecting,

"The owner of the file has exceeded their traffic limit."

as the response to content.jwplatform.com/videos/TRw3...

The price of success! :)

Collapse
 
maitreyav profile image
Maitreya Vyas

Error: Error loading media: File could not be played.

Collapse
 
cdvillard profile image
Charles D. Villard

This was actually a great way to approach this sort of breakdown.

On a content development note, I think it'd be cool to throw in little callouts to define acronyms or topics that might not be known to everyone, like when Julian mentions RPC at 3:05.

Collapse
 
ben profile image
Ben Halpern

Good call!

Collapse
 
jvanbruegge profile image
Jan van Brügge

Payment data in MongoDB, a database which does not garantuee that your data gets actually written. Nice

Collapse
 
martyonthefly profile image
Sylvain Marty

Hi! Do you have sources about this fact ?

Collapse
 
jvanbruegge profile image
Jan van Brügge • Edited

This article sums it up pretty well. Most developers dont know that the default is insecure.
Only fsynced is the option that garatuees writes. But then MongoDB does not have performance benefits. There are other NoSQL DBs that are better and For Payment data I would always use a RDBMS.

Thread Thread
 
martyonthefly profile image
Sylvain Marty

Wow this article is very interesting ! Glad to know that now :)
Thanks a lot for your sharing