Join us on June 5th for a Tech Talk with Bill Doerrfeld and Kenn Hussey as we discuss the future of open source. Register now
.

Blog

The latest posts and insights about Ambassador Labs - our products, our ecosystem, as well as voices from across our community.
Microservices Essentials
Microservices

Microservices Essentials: The Key to High Velocity Software Development

Companies thriving in the new world order have technology as a core competency. They build complex cloud applications. They constantly bring new capabilities and features to the market. And despite the constant iteration and updates to their cloud application, their software is rock-solid reliable. How do they achieve such agility and reliability? Over the past few years, Amazon, Uber, Airbnb, Netflix, Yelp, and many other industry disruptors adopted a new paradigm for developing cloud applications – microservices. The velocity that microservices is giving these disrupters is even raising software architecture to board agendas. Whether the term microservices is vaguely familiar or something you haven’t encountered yet, this article will cover what it is, why it matters, and what will change in your company when you adopt it.

August 4, 2016 | 14 min read
Software Development Insigths
Software Development

What You Actually Need to Know About Software Development

The single most important thing to remember about software is that there is No Magic Every behavior you see, every effect you run across, only happens because some code is making it happen, and it is always possible to track that code down.

July 29, 2016 | 8 min read
Docker Images
Docker Images

How to Not Be the Engineer Running 3.5GB Docker Images

Let’s cut to the chase: you’re adopting a microservice architecture, and you’re planning to use Docker. There’s a reason it is so en vogue – it solves lots and lots of problems and has zero negative effect on our projects, right As with every tool, technology, or paradigm thrust upon us as we scrappily try to maintain our sanity while jumping from shiny to shiny, we need to learn the gotchas. To do this, I like to start with a simple question: How might this new shiny bite me on the ass, and what can I do to avoid having teeth marks on my rear? I want to tackle a problem I have seen repeatedly during my consultations with teams/organizations adopting Docker. Behemoth Docker Images

May 9, 2016 | 7 min read
Avoid Technical Debt
Microservices

Build Well-Designed Microservice APIs to Avoid Technical Debt

In my experience, most of the effort associated with adopting and owning microservices is due to lack of automation and the repayment of microservice technical debt. Teams moving from monolith to microservices might discover natural points of segregation in their existing code base. For those working in an object oriented language these points typically occur at an interface (in the object-oriented sense of the word, or protocol), or a point where an interface should be. Microservice Technical Debt Problems A problem with monolithic code bases is that even segregated components share the same memory. Specifically, they share access to the program itself. It is as easy to code to interface as it is to code to implementation. Further, it is as easy for a developer with access to an entire code base to refactor an interface as it is to refactor implementation. “But wait,” you might be thinking, “making things easy is a positive trait.” “Why is this a problem?”

April 18, 2016 | 9 min read
Distributed Systems
Microservices

The Other Kind of Distributed System

Last week, our Chief Architect, Rafael Schloming, presented at the Node.js Meetup in Boston on The Other Kind of Distributed System. The talk covers the intersection between distributed systems and distributed development. Developers are already used to thinking about the challenges of dividing a single large task into many smaller tasks – something we often call distributed computation or distributed systems. Today, though, the challenge of dividing development into many smaller pieces is arguably more critical, for example, divvying work amongst distributed teams.

February 29, 2016 | 2 min read
AWS Lambda
Microservices

3 Reasons AWS Lambda Is Not Ready for Prime Time

If you’re not familiar with Lambda, it’s a AWS feature that’s meant to give you a way to quickly write a service and let Amazon worry about all the boilerplate junk that normally goes with standing your service up in a way that people can actually talk to it. You don’t configure subnets or instances or load balancers with Lambda: you just write some code and then tell Amazon to hook you up. It’s a pretty compelling promise. When we at Ambassador Labs tried to actually use Lambda for a real-world HTTP-based microservices we found some uncool things that make Lambda not yet ready for the world we live in: Lambda is a building block, not a tool

February 9, 2016 | 12 min read