StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Home
  2. Companies
  3. Uswitch
Uswitch

Uswitch

The Cooperage, 5 Cooper Row, London SE1 2LHwww.uswitch.com

Compare and switch gas and electricity suppliers, also compare broadband deals, mobile phone deals, car & home insurance, credit cards, boiler cover & more.

51tools
3decisions
35followers
OverviewTech Stack51Dev Feed

Tech Stack

View all 51
Stack by Layer
Application & Data26
Utilities11
DevOps12
Business Tools2
Application & Data
26 tools (51%)
Utilities
11 tools (22%)
DevOps
12 tools (24%)
Business Tools
2 tools (4%)

Application & Data

26
KubernetesDockerEnvoyGitHub PagesNGINXClojureElixirRubyReduxRailsNode.jsMongoDBAmazon RDSGoogle BigQueryHaskellJavaScriptRedisGolangSassPostgreSQLMySQLAmazon RedshiftAmazon AuroraReact NativeAmazon EC2CoreOS

Utilities

11
SlackKafkaAmazon KinesisVaultSidekiqElasticsearchAmazon Kinesis FirehoseMandrillTwilio SendGridetcdCilium

DevOps

12
PrometheusDrone.ioTerraformSentryGrafanaKibanaAirbrakeBrowserStackLogstashGitHubThanosFluentd

Business Tools

2
ReactFullStory

Latest from Engineering

View all
Joseph Irving
Joseph Irving

DevOps Engineer at Uswitch

May 15, 2019

Needs advice

At uSwitch we wanted a way to load balance between our multiple Kubernetes clusters in AWS to give us added redundancy. We already had ingresses defined for all our applications so we wanted to build on top of that, instead of creating a new system that would require our various teams to change code/config etc.

Envoy seemed to tick a lot of boxes:

  • Loadbalancing capabilities right out of the box: health checks, circuit breaking, retries etc.
  • Tracing and prometheus metrics support
  • Lightweight
  • Good community support

This was all good but what really sold us was the api that supported dynamic configuration. This would allow us to dynamically configure envoy to route to ingresses and clusters as they were created or destroyed.

To do this we built a tool called Yggdrasil using their Go sdk. Yggdrasil effectively just creates envoy configuration from Kubernetes ingress objects, so you point Yggdrasil at your kube clusters, it generates config from the ingresses and then envoy can loadbalance between your clusters for you. This is all done dynamically so as soon as new ingress is created the envoy nodes get updated with the new config. Importantly this all worked with what we already had, no need to create new config for every application, we just put this on top of it.

740k views740k
Comments
Joseph Irving
Joseph Irving

DevOps Engineer at Uswitch

May 10, 2019

Needs advice

At uSwitch we use Vault to generate short lived database credentials for our applications running in Kubernetes. We wanted to move from an environment where we had 100 dbs with a variety of static passwords being shared around to a place where each pod would have credentials that only last for its lifetime.

We chose vault because:

  • It had built in Kubernetes support so we could use service accounts to permission which pods could access which database.

  • A terraform provider so that we could configure both our RDS instances and their vault configuration in one place.

  • A variety of database providers including MySQL/PostgreSQL (our most common dbs).

  • A good api/Go -sdk so that we could build tooling around it to simplify development worfklow.

  • It had other features we would utilise such as PKI

25.9k views25.9k
Comments
Joseph Irving
Joseph Irving

DevOps Engineer at Uswitch

Dec 3, 2018

Needs advice

We recently implemented Thanos alongside Prometheus into our Kubernetes clusters, we had previously used a variety of different metrics systems and we wanted to make life simpler for everyone by just picking one.

Prometheus seemed like an obvious choice due to its powerful querying language, native Kubernetes support and great community. However we found it somewhat lacking when it came to being highly available, something that would be very important if we wanted this to be the single source of all our metrics.

Thanos came along and solved a lot of these problems. It allowed us to run multiple Prometheis without duplicating metrics, query multiple Prometheus clusters at once, and easily back up data and then query it. Now we have a single place to go if you want to view metrics across all our clusters, with many layers of redundancy to make sure this monitoring solution is as reliable and resilient as we could reasonably make it.

If you're interested in a bit more detail feel free to check out the blog I wrote on the subject that's linked.

64.9k views64.9k
Comments

Team on StackShare

15
Alexander Curtis
Brendon Boshell
Callum Evans
Francisco Debs
Dewald Viljoen
giorgia-amici
Joseph Irving
Jumee-LDN
Nathan Hynes
Ninju
okwujeisrael
Phil Helm
tombooth
oztk
simonjhau