Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Beats (metricbeat filebeat) Universal 2 and/or ARM64 binaries for MacOS builds #27741

Closed
jasonslater2000 opened this issue Sep 3, 2021 · 4 comments
Assignees
Labels
8.1-candidate Filebeat Filebeat Metricbeat Metricbeat Team:Elastic-Agent Label for the Agent team

Comments

@jasonslater2000
Copy link

Universal 2 (and/or ARM64 binaries).

With Apple's shift to using the ARM64-based architecture on their Apple Silicon chips (also known as "M1 chips"), I believe it would be prudent for Elastic to start distributing the Beats packages' underlying binaries as "Universal 2 binaries". These types of binaries are not exactly "new" (insofar that, back in the day, Apple did a similar thing during their transition between PowerPC and Intel architectures) so there should be more than sufficient documentation on compiling binaries in this manner. Conversely, another alternative to allowing Beats binaries to run natively on Apple Silicon devices would be to compile architecture-specific versions of each Beat agent (i.e. "metricbeat-1.2.3-darwin-x86_64" and "metricbeat-1.2.3-darwin-arm64"). That being said, I believe we would prefer a Universal 2 binary as it decreases the required complexity of our Beats deployment logic (stated more simply: We can deploy a Universal 2 macOS binary to any architecture and have confidence it will work as desired).

It would be amiss of me if I did not acknowledge Apple's Rosetta 2 here; the quick run-down of Rosetta 2 is that it is an application which runs in the background and "translates" x86_64-based binaries to allow them to run on Apple Silicon devices. While Rosetta 2 is of high value for macOS administrators -- as it allows us to get through this transitional period between Intel and Apple Silicon architectures -- it should not be considered a "solution" for software vendors and, instead, should be considered a temporary band-aid that can be used in the interim.

@jasonslater2000 jasonslater2000 added Filebeat Filebeat Metricbeat Metricbeat labels Sep 3, 2021
@botelastic botelastic bot added the needs_team Indicates that the issue/PR needs a Team:* label label Sep 3, 2021
@kaiyan-sheng kaiyan-sheng added the Team:Elastic-Agent Label for the Agent team label Sep 3, 2021
@elasticmachine
Copy link
Collaborator

Pinging @elastic/agent (Team:Agent)

@botelastic botelastic bot removed the needs_team Indicates that the issue/PR needs a Team:* label label Sep 3, 2021
@nimarezainia
Copy link
Contributor

@AndersonQ
Copy link
Member

AndersonQ commented Dec 20, 2021

Currently the decision seems to be in favour of the Universal 2 binary. Perhaps we could close this issue?

@AndersonQ
Copy link
Member

AndersonQ commented Dec 20, 2021

closing this issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
8.1-candidate Filebeat Filebeat Metricbeat Metricbeat Team:Elastic-Agent Label for the Agent team
Projects
None yet
Development

No branches or pull requests

5 participants