HAProxy Technologies | Pre-Sales, Software, & Systems Engineers, Technical Marketing Engineer | Waltham, MA | Paris, France | REMOTE
HAProxy Technologies is the company behind the world's fastest and most widely used open-source software load balancer.
- Technical Marketing Engineer: We are looking for a Technical Marketing Engineer that can aid in creating and promoting technical content. This position requires a unique combination of technical understanding, a high level of creativity, attention to detail and eagerness to learn, as well as the goal to teach others. Basic Linux experience is a must. An ideal candidate has real world experience in a DevOps or SysAdmin environment (bonus if you have programming exp.)
- Pre-Sales Engineer We are looking for a skilled Pre-Sales Engineer with in-depth knowledge in Linux who will help to expand our client base. Experience with load balancing and networking is a requirement.
- C: We are looking to reinforce the development team of HAProxy and are looking for developers who have solid skills in Shell, C, HTTP, TCP/IP and Git. Knowledge of cloud environments is a plus. We are looking for people who are not afraid of patching the Linux Kernel and who can quickly become autonomous.
- Golang: We are looking for Go developers with 2+ years of experience in Kubernetes and Cloud environments, as well as load balancing. A Bachelors or higher degree in IT is desirable. If you want to contribute to the software enabling performance and reliability of some of the largest websites on the internet.
- Senior Systems Engineer: We are seeking Senior Systems Engineers (Linux) to work out of our Waltham, MA office or remotely in the EST/CST/MST/PST time zones. Knowledge of HAProxy is a plus.
IMO you would use OpenResty as a web server and HAProxy as a load balancer in front of it. HAProxy focuses on being a high-performance load balancer. OpenResty is built ontop of NGINX and many of the load balancing features in NGINX are locked behind their "Plus" product, all of which are provided by default within HAProxy. In order to take advantage of these features in OpenResty (such as active health checking and DNS service discovery) you would need to use Lua scripts where in HAProxy they are implemented in the core.
Well said, to add to this, HAProxy is also closing the gap on convenience with its recent addition of AWS EC2 service discovery [1] and Consul service discovery integrations [2].
Wow, cool. HAProxy is coming a long way. Consul integration makes me excited to take another look at using it for our mesh. Using Fabio right now, and it's fine, but I'd love to go back to HAProxy for this if it makes sense.
Thanks for the feedback. I've provided a few replies below but I think you have made some great points and I will share them internally.
> - the site does not do a good job of describing the products and what they do.
The page does lead off by telling you it is a software load balancer, but I agree, we can do a better job of giving more information on the product itself. Most people who pursue HAProxy Enterprise are already familiar with HAProxy. With that said, we're actually working on a complete overhaul to this page and I believe the new version will address this.
> - it is hard to find requirements from the first page.
This is just a reference point and typically organizations are working closely with a sales engineer.
> - is there a simpler HA setup than the 3 layer one here:
A simpler version is found under active/standby here [1]
Thank you. Just for info, my personal experience working for a very big American company is that every time I call a product company for information, I get intensely called back months in a row even if the product does not meet our needs, so I prefer not to do that anymore and to dig myself for info until I figure if that is looking very promising. Maybe it is not the same in your case, but who acts assuming it's an exception?
You don't need 5, especially when the load balancing is part of the network or infrastructure team that are a different group. Some companies have hardware load balancers, some use products like VMWare NSX or both, depending on the needs. When you are a Windows shop, HAProxy is not on the short list, hearing about it and actually knowing it are 2 different sides of the coin.
As someone who isn’t familiar with this space - is the use of HAProxy as a self hosted DDOS defense a “supported” (prioritized?) use case? I found old blog posts on this application of HAProxy but wasn’t sure if new development tries to improve those capabilities or if it is more focused on load balancing or other applications.
You can pass along timing data from every aspect of the request [1] currently there are approximately 20 events supported. You can also send over just about anything that can be stored within an HAProxy variable / header through a tag. Here's an example configuration for HAProxy (simple) [2] (advanced) [3] and the OpenTracing specific configuration (simple) [4] (advanced) [5]. I've included both simple and advanced configurations.
It sounds like ot is still in beta (but it's a little confusing that they're 1.0 but it has a message saying they're in beta on their main page).
It looks like it's being adopted by a few larger app monitoring products, wondering if datadog will follow suit or if they will stick with open tracing and their custom implementations for logging and metrics. I assume they will support ingestion from ot at some point though. It sounds neat tho, will definitely read up on it more.
The added support for FIX is interesting. As far as I can tell it's just TCP-level load balancing, is that right? HAProxy doesn't have the ability to, say, distribute each incoming order to a different backend server?
Sure, I saw that example. Maybe let me put it a different way: if a client has one inbound FIX connection to HAProxy, can HAProxy connect to N backend servers and send each FIX message from the single client connection to a different backend?
I have not tested that use case but I do not think so. It has the ability to parse FIX tag values and make routing decisions from the initial Logon message.
More control/flexibility (i.e. cloud provider usually gives you a limited number of "checkboxes" that they want you to be able to modify), generally better observability (HAProxy timing metrics [1] and session state at disconnection codes [2] are very helpful for debugging), and granular control over timeouts [3]. You also get builtin rate limiting [4], which from what I have seen with most cloud load balancers usually requires an up-charge through their "WAF" product.
Better health checking, circuit breaking, and layer4/layer7 retries [5].
Another consideration is whether you have spiky traffic patterns. For AWS load balancers at least, they need time to "warm up" to larger traffic levels. If you manage your own load balancing tier you can scale on demand.
I last used HAProxy about a decade ago for fairly simple load balancing and caching - worked really well.
Question about the suitability for a dynamic backend case. I have a system where clients are assigned to backends exclusively for the duration of a session. At the moment I have a pool of backends and each client is explicitly told which backend to use so they can route to it. Ideally I’d make this transparent so it was easier to reassign on the fly. Is this case reasonably supported with HAProxy and which features should I be looking at to get a sense of it?
I’m working under the assumption that I’ll need to build the machinery to maintain the pool and registry of where clients should be routed to.
While I have not tested this specific use case, I would start by exploring map files [1] and/or stick tables [2]. Map files can be updated on-the-fly through the HAProxy Runtime API. With stick tables you can persist a session/client based on anything found within the request headers, which would include a users session id.
HAProxy Technologies | Pre-Sales, Software, & Systems Engineers, Technical Marketing Engineer | Waltham, MA | Paris, France | REMOTE
HAProxy Technologies is the company behind the world's fastest and most widely used open-source software load balancer.
- Technical Marketing Engineer: We are looking for a Technical Marketing Engineer that can aid in creating and promoting technical content. This position requires a unique combination of technical understanding, a high level of creativity, attention to detail and eagerness to learn, as well as the goal to teach others. Basic Linux experience is a must. An ideal candidate has real world experience in a DevOps or SysAdmin environment (bonus if you have programming exp.)
- Pre-Sales Engineer We are looking for a skilled Pre-Sales Engineer with in-depth knowledge in Linux who will help to expand our client base. Experience with load balancing and networking is a requirement.
- C: We are looking to reinforce the development team of HAProxy and are looking for developers who have solid skills in Shell, C, HTTP, TCP/IP and Git. Knowledge of cloud environments is a plus. We are looking for people who are not afraid of patching the Linux Kernel and who can quickly become autonomous.
- Golang: We are looking for Go developers with 2+ years of experience in Kubernetes and Cloud environments, as well as load balancing. A Bachelors or higher degree in IT is desirable. If you want to contribute to the software enabling performance and reliability of some of the largest websites on the internet.
- Senior Systems Engineer: We are seeking Senior Systems Engineers (Linux) to work out of our Waltham, MA office or remotely in the EST/CST/MST/PST time zones. Knowledge of HAProxy is a plus.
HAProxy Technologies | Pre-Sales, Software, & Systems Engineers, Technical Marketing Engineer | Waltham, MA | Paris, France | REMOTE
HAProxy Technologies is the company behind the world's fastest and most widely used open-source software load balancer.
- Technical Marketing Engineer: We are looking for a Technical Marketing Engineer that can aid in creating and promoting technical content. This position requires a unique combination of technical understanding, a high level of creativity, attention to detail and eagerness to learn, as well as the goal to teach others. Basic Linux experience is a must. An ideal candidate has real world experience in a DevOps or SysAdmin environment (bonus if you have programming exp.)
- Pre-Sales Engineer We are looking for a skilled Pre-Sales Engineer with in-depth knowledge in Linux who will help to expand our client base. Experience with load balancing and networking is a requirement.
- C: We are looking to reinforce the development team of HAProxy and are looking for developers who have solid skills in Shell, C, HTTP, TCP/IP and Git. Knowledge of cloud environments is a plus. We are looking for people who are not afraid of patching the Linux Kernel and who can quickly become autonomous.
- Golang: We are looking for Go developers with 2+ years of experience in Kubernetes and Cloud environments, as well as load balancing. A Bachelors or higher degree in IT is desirable. If you want to contribute to the software enabling performance and reliability of some of the largest websites on the internet.
- Senior Systems Engineer: We are seeking Senior Systems Engineers (Linux) to work out of our Waltham, MA office or remotely in the EST/CST/MST/PST time zones. Knowledge of HAProxy is a plus.