Skip to content

Explore Agent's rewrite options#3236

Closed
masci wants to merge 1 commit intomasterfrom
massi/rewrite
Closed

Explore Agent's rewrite options#3236
masci wants to merge 1 commit intomasterfrom
massi/rewrite

Conversation

@masci
Copy link
Copy Markdown
Contributor

@masci masci commented Apr 1, 2019

What does this PR do?

Design proposal for a POC of a new Agent. The prototype would help us assessing the current development cycle is the best we can get and will let us plan in advance in case we want to steer the project in a different direction.

Rendered link

@masci masci requested review from a team as code owners April 1, 2019 07:16
Copy link
Copy Markdown
Member

@olivielpeau olivielpeau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

One oversight though IMO: we should also seriously consider switching to a pure functional programming language for the Agent. I'm concerned that going with an imperative language will not create as much hype as we'd want.

Comment thread docs/proposals/rewrite.md
## Constraints

1. Solution must be packaged with Omnibus Software
2. Agent must run integrations in Go and Python
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what about Lua?

Comment thread docs/proposals/rewrite.md

- Strengths
- fast as C, slick as Ruby
- its Ruby-like syntax will make Omnibus specialists feel at home
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread docs/proposals/rewrite.md

## Constraints

1. Solution must be packaged with Omnibus Software
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's great to see this in the requirements. that's definitely the #1 requirement for a smooth developer experience 💯

Comment thread docs/proposals/rewrite.md

## Open Questions

*Note any big questions that don’t yet have an answer that might be relevant.*
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm surprised we haven't considered C, it seems like a strong candidate for a full rewrite of the agent. Plus its hype score is very stable: https://trends.google.com/trends/explore?date=all&geo=US&q=c

Comment thread docs/proposals/rewrite.md

- Strengths
- fast as C, slick as Ruby
- its Ruby-like syntax will make Omnibus specialists feel at home
Copy link
Copy Markdown
Member

@xlucas xlucas Apr 1, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about crystal's release cycle? It changes fast and regularly ships breaking changes (https://github.com/crystal-lang/crystal/releases). Looks like a green light to me.

@masci masci closed this Apr 2, 2019
@dd-devflow dd-devflow Bot deleted the massi/rewrite branch April 19, 2024 00:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants