Simplified Infrastructures for Enhanced Agility
Nicolas St-Aubin

Simplified Infrastructures for Enhanced Agility

At Thirdbridge, we believe that project-oriented teams deliver superior quality results, and do so more quickly. Given that they are responsible for the entire value creation flow, these teams can increase their velocity by eliminating bottlenecks themselves. Moreover, entrusting end-to-end flow responsibility to our developer teams makes their work even more engaging and motivating.

Yet, in practical terms, we've faced certain challenges while endeavoring to break down the numerous silos within the organization. Not surprisingly, the major challenge has been to make teams autonomous in relation to their infrastructure, particularly those who must manage a Kubernetes cluster.

A Bit of History

Long ago, when Thirdbridge consisted of just a few programmers fresh out of school, our infrastructures were poor. All our projects were hosted on the same server. Deployments were done manually by connecting via SSH, syncing the git history, and then restarting the process. Very quickly, we realized that if we want the company to grow, we have to be more serious about our infrastructure. Based on the various challenges we faced at the time, we began looking for a technology that could help us level up.

  • Automatic Horizontal Scaling: Some of our clients experienced highly variable traffic loads, and we sought an elastic solution to automatically scale our systems.
  • Manual Horizontal Scaling: Automatic scaling works well in most cases when traffic increases steadily. However, some of our clients ran significant advertising campaigns with mobile notifications, causing almost instantaneous traffic spikes. For these scenarios, the chosen technology needed to allow us to manually scale the system in preparation for these events.
  • Progressive Deployment: Manually stopping and restarting systems always caused a small service interruption. For small projects, these interruptions weren't really problematic. However, for our larger clients, we wanted technology that would allow us to deploy new versions without any interruption.
  • Continuous Deployment: Manually deploying new versions wasn't a scalable approach. We were looking for an automatable solution with a few lines of configuration in our GitLab pipeline.
  • Autonomous System: We were still traumatized by a bug that caused an infinite loop in one of our systems. As the project was in JavaScript (single thread), the infinite loop had paralyzed the entire project for a few hours. So, we were looking for technology that could continuously monitor our various processes and restart them in case of a major problem.
  • Docker Support: We were beginning to realize the potential of containerization and were looking for a Docker-compatible solution.
  • After studying the existing technologies at the time, we settled on Kubernetes.

Back to the Present

Many years have passed since we made this choice. Overall, we consider it a very good decision! Kubernetes has allowed us to solve all the technical challenges we encountered, and we are aware that we have only scratched the surface of the features offered by this tool.

However, as Uncle Ben told Peter Parker in a deep discussion about elastic systems: "With great power comes great complexity."

Now that Thirdbridge is approaching 50 employees, the company is divided into several teams, each responsible for one or more projects. As mentioned initially, we want these teams to be as autonomous as possible, and for developers to be maximally empowered.

Over time, we realized that the steep learning curve of Kubernetes made it difficult to adopt this technology within multiple teams. The result was predictable and disappointing. The few people with advanced Kubernetes expertise quickly became bottlenecks. Teams lacked the confidence to innovate and improve their infrastructure.

Faced with this situation, we made the decision to give AWS ECS a chance. It was not an easy decision but rather the result of several compromises.

Simplicity vs. Functionality

A common compromise in the web development world (and probably in many other domains) is reducing the scope of features in exchange for a better experience.

For example, Vercel offers a better experience to developers than AWS for deploying certain modern web frameworks like NextJS or SvelteKit. The same paradigm applies to serverless functions in JavaScript. By accepting some initial constraints, Cloudflare Workers offer a better experience and more advantageous pricing than AWS Lambda.

The first question we had to answer was whether the features offered by ECS covered the needs listed above, as well as new needs we had added over time (e.g., advanced observability, CloudFormation support, private DNS resolution, etc.)

The answer was positive. We were able to replicate the majority of the features present in our existing Kubernetes clusters.

The reduction in complexity was significant!

No need to run a Fluent DaemonSet for logging; we can now simply use Firelens.

No need to set up a Horizontal Pod Autoscaler, a Metric Server, and a Cluster Autoscaler; we can simply use CloudWatch alarms to set up automatic horizontal scaling.

That being said, we're not naive. We're aware that Kubernetes offers more features than ECS. However, for our use cases, these additional features are unnecessary and introduce too much complexity.

AWS Dependency

The second concern we had was vendor lock-in.

Kubernetes is supported by most major cloud players and is also available through several open-source products like k3s. In contrast, ECS is a closed, proprietary technology owned by AWS. But even worse, the fact that ECS is a proprietary technology is just the tip of the vendor lock-in iceberg.

The subtler part is that ECS uses several other AWS services to function. For example, AWS Secret Manager for secret management, AWS Cloud Map for internal DNS resolution, or AWS EventBridge for creating periodic tasks.

Even for a system with a relatively low level of complexity, half a dozen AWS services may be needed to replicate some basic Kubernetes features.

However, once this reality is accepted, there are certain benefits. At Thirdbridge, we are strong proponents of infrastructure as code. My colleagues and I believe that every serious project should use this approach to define its infrastructure.

One difficulty we had with Kubernetes is that you need to know two syntaxes to define a system. All components related to Kubernetes (e.g., Deployments, Cronjob, DaemonSet, etc.) are written in Kubernetes definition files, while other resources (CloudFront CDN, Route 53 record, S3 bucket) are defined in CloudFormation files.

By migrating to ECS, we can define our infrastructures using exclusively CloudFormation. It's a small detail, but it greatly simplifies things. We hope that by lowering the complexity barrier, junior developers will be able to more easily familiarize themselves with infrastructure as code.

Serverless Adoption

Although Fargate is also available for EKS, we never used this approach. Our reasoning was that running administrative Pods (e.g., CoreDns, CertManager, etc.) in a dedicated Fargate container was unnecessary. Since these Pods usually don't consume many resources, it makes sense to co-locate them on the same EC2 instance.

Now that we have migrated to ECS, using Fargate is more natural. Not having to manage EC2 instances at an additional cost seems like a good compromise. It's true that most of the time, no interaction was required with the EC2 instances, but when a problem arose, it was usually complex and difficult to resolve.

Moreover, even though we now use Lambda functions regularly for certain types of tasks, we believe that a long-running process has significant advantages for more traditional REST APIs where the majority of execution time is IO-bound anyway.

For now, we consider Fargate to be the serverless abstraction that makes the most sense for several of our systems.

In Conclusion

In all transparency, this change saddens me a little. I love Kubernetes and have invested a considerable amount of time in learning this technology.

However, my feelings are not relevant to the smooth operation of Thirdbridge.What is important is laying the foundations to build superior quality software solutions.

We believe that by reducing infrastructure complexity while offering a wide range of features, ECS will enable teams to more easily take ownership of their project infrastructures, thus fostering innovation and increasing velocity. So for now, ECS will be our default technology for our infrastructures.

However, we are still aware of the limitations and compromises associated with this choice. We will also closely monitor the advancements of Cloudflare Workers. Their execution and pricing model being more suitable for classic REST APIs than AWS Lambda. Now that their JavaScript execution environment is approaching parity with Node.js, this technology could be an interesting choice in the future.


share this article

Other articles

Apr 24, 2025

Why Is Building an App So Expensive?

We've realized there’s a real need for education around the actual costs of designing and developing a digital product.

Apr 21, 2025

Passkeys: What are they?

Answers to the most frequently asked questions about Passkeys

Mar 31, 2025

Ratings & Reviews: Their Impact on an App's Success

An app’s success isn’t solely based on meticulous engineering or eye-catching designs. It’s crucial to deliver a product that is high-performing, accessible, useful, and user-friendly, alongside a go-to-market (GTM) strategy tailored to the digital product ecosystem.

Mar 17, 2025

Why Apple Hates PWA

PWAs have made progress, but in my humble opinion, most of them offer an experience inferior to their native counterparts.

Feb 18, 2025

Boost Customer Loyalty: The Power of a Mobile App

Boost customer loyalty and engagement with KPI-focused mobile app strategies, driving measurable results and maximizing ROI.

Feb 18, 2025

Proximity Technologies

Presentation of various technologies enabling mobile applications to interact with the physical world.

Feb 10, 2025

User Interviews: A Key but Often Overlooked Step

A great idea doesn’t always guarantee success. Before making any decisions, it's essential to consider the actual needs and expectations of end users.

Jan 20, 2025

Thirdbridge in the spotlight: L'Arrière-Scène's digital partner

Thirdbridge is proud to announce that it is the official digital partner of JA Hypothèques and their latest project: L'Arrière-scène.

Jan 6, 2025

25 Key Trends to Optimize Your Mobile App in 2025

The Thirdbridge team has compiled this article outlining 25 trends to consider for mobile app development or strategy, or any other type of digital product in 2025.

Oct 24, 2024

Leverage Mobile to Optimize the Online Shopping Experience

The holiday season is a strategic time and a crucial opportunity for businesses to maximize their sales through mobile while enhancing the online shopping experience.

Oct 15, 2024

Enhancing Product Management: Key to Success in Software Development

The distinction between product management and project management is essential for ensuring optimal productivity. It’s not enough to treat them as interchangeable concepts; it’s crucial to adopt a proactive approach to place the right resources in the right places.

Sep 27, 2024

Thirdbridge in La Presse: Vision and Growth

Our President and Co-Founder, Pierre-Étienne Bousquet, was recently the guest of Camille Dauphinais-Pelletier of La Presse, where he shared his thoughts on Thirdbridge's journey.

Sep 12, 2024

Maximizing Engagement with User-Generated Content

The emergence of user-generated content (UGC) is revolutionizing co-creation. As a key tool in brands' marketing strategies, UGC is changing the way content is created and consumed.

Aug 9, 2024

PWAs: Test the Potential of Mobile Apps

With the advent of mobile applications, our daily lives have been transformed: these simple tools have become essential facilitators of daily tasks and catalysts for professional and personal interactions.

Jun 26, 2024

Thirdbridge in La Presse

As a business leader, one must ask themselves, "What am I trying to accomplish with my project?" and answer with a vision that extends beyond one's own interests.

Jun 14, 2024

Recruiting an In-House Team or Hiring an Agency for Developing Your Application?

When embarking on a project as significant and important as developing an application, a crucial dilemma quickly arises: choosing between a specialized agency or recruiting your own in-house team to accomplish the work. One thing is certain, both options present distinct advantages and constraints.

Jun 14, 2024

Mastering App Development: A 5-Step Guide to Success

Developing an application isn't something you can just wing. To succeed in this coveted domain, being well-prepared is essential. Unfortunately, a vast majority of large-scale digital projects fail due to inadequate preparation.

May 30, 2024

Do You Really Need an Application?

Don't furrow your brows! This is a genuinely good question. Just observe people on the subway, for example, or in a waiting room: almost everyone has a phone in hand, whether to read, text, play, get information, meet a soulmate, order food, or shop...

May 22, 2024

Optimizing Synergy with Your Software Development Partner

The digital realm, especially that of custom digital solution development, is constantly evolving—between fast technological advancements and changing consumer needs, it's quite challenging to predict what the future holds for web players.

May 14, 2024

Succeeding in Your Updates in 5 Steps

Did you know that at least 20% of the development time of an application should be allocated to testing and quality assurance?

Apr 25, 2024

Beyond Launch: Ensuring the Longevity of Your Application

You've diligently followed the development stages of your application and are about to launch it: congratulations! But even though this is a great accomplishment, your job is far from over...

Mar 22, 2024

Our 12 tips for succeeding in a software project after 12 years in the industry

Thirdbridge celebrates its 12th anniversary!

Apr 23, 2025

Gamification: Turning Engagement into a Performance Driver

Far beyond just playfulness, gamification is a powerful experiential strategy for positively influencing behavior.

Apr 4, 2025

CMS for your mobile app?

A quick guide to choosing the right CMS for your mobile app—comparing top platforms and highlighting integration tips for scalability and flexibility.

Mar 26, 2025

Why a Maintenance Plan?

One of the most overlooked aspects of software development projects is the maintenance phase. A project is rarely ever truly finished; it will continue to require a non-negligible amount of work over time.

Feb 25, 2025

Strategic Workshops: A Tailored Approach to Your Project Needs

Strategic workshops are at the core of our collaborative process, enabling us to co-create relevant and innovative solutions for our clients and their customers.

Feb 18, 2025

AWS, SPA and SEO

How to optimize the SEO of a SPA hosted on AWS

Feb 13, 2025

Aligning SSO with Business Models

It’s essential to align your business model with the cost structure of the SSO provider. Otherwise, the success of your product could quickly become a financial burden!

Jan 30, 2025

Game Day

It’s crucial to remember that the primary goal is to uncover the blind spots in the project.

Jan 14, 2025

Modern Password Management

At Thirdbridge, providing peace of mind to our clients is at the heart of our priorities, and we believe it all starts with the reliability of our internal practices and processes.

Oct 29, 2024

AI driving innovation: A new Era for Mobile Apps and User Experience

Artificial intelligence (AI) represents a digital transformation that impacts us all. This rapidly advancing technology, fueled by data analysis, not only enables informed decision-making and reliable forecasting but also allows for the completion of many tasks at a faster pace.

Oct 17, 2024

How to Gauge your Mobile App's performance?

A mobile application is the extension of a brand's customer experience.

Oct 15, 2024

Pierre-Étienne Bousquet guest of "Les Affaires"

Our president and co-founder, Pierre-Étienne Bousquet, discussed with Jean-François Venne from Les Affaires the significant growth of digital technology in the retail industry and its impact on online sales, which are becoming increasingly crucial for revenue.

Sep 24, 2024

Cybersecurity and Mobile Applications: Choosing the Right Authentication Method

Mobile applications are essential tools that handle personal data, access sensitive information, and are part of our daily lives. However, in an age where the term cybersecurity is on everyone's lips, ensuring the security of these applications and the information they contain is crucial.

Sep 4, 2024

The impact of UX research

Integrating user experience (UX) principles and practices into the software or application development process has become crucial.

Jul 15, 2024

The Phygital: Rethinking the Retail

Businesses have always had to innovate and rethink their approaches to remain relevant, and this is even more true in the digital age.

Jun 18, 2024

Hybrid vs. Native: Making the Right Choice

At Thirdbridge, the preferred development approach is hybrid. But let's delve deeper by comparing hybrid and native development across key stages of application development: costs, performance, security, and maintenance.

Jun 14, 2024

Funding Your Digital Project

It's no secret that realizing your wildest dreams regarding digital innovation within your company brings many benefits.

Jun 13, 2024

Launching Your Application: The Key to a Well-Planned Budget

Very few digital projects end within their initial budgets and timelines.

May 23, 2024

Tips and Tricks for Sustainable Software Design

When we think about reducing our ecological footprint, our first instinct is to consider the means of transportation we use or our recycling and consumption habits.

May 17, 2024

Maximizing Your App's Profitability: Our Advice

Whether you're looking to save time for your users, retain them, or enhance their shopping experience, we're sharing here the three key elements to consider to maximize your return on investment (ROI).

May 6, 2024

Couche-Tard Connecté: The Cashierless Convenience Store

Congratulations to our mobile development team, who gave their all in recent weeks to ensure a smooth launch of the Couche-Tard Connecté project.

Apr 12, 2024

The Thirdbridge Entrepreneurial Scholarship

Thirdbridge is more than proud to be able to support a project and individuals full of promise.