Skip to content

Commit e90c467

Browse files
committed
feat: expand why
1 parent 5761a59 commit e90c467

File tree

1 file changed

+54
-8
lines changed

1 file changed

+54
-8
lines changed

src/docs/concepts/why.md

Lines changed: 54 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,39 @@
22

33
<br/>
44

5-
![all hyper services](/all.svg)
5+
<p align="center">
6+
<img alt="pentagon of hyper services" src="/pentagon.svg" />
7+
</p>
68

79
<br/>
810

9-
hyper is a service framework -- a collection of core application services wrapped in a common API.
11+
Read the full story about [Why we started hyper](https://blog.hyper.io/why-start-hyper/)
1012

11-
Instead of tightly connecting your application business logic to the cloud services and products your app depends on, hyper enables you to loosely couple these cloud services, giving your application clear separation and future extensibility and scalability.
13+
## Software Development is Hard
1214

13-
hyper takes a different approach than the legacy service management architectures. This approach improves maintainability and drastically decreases unintended technical debt.
15+
Desigining software to encapsulate business rules, that exist in the bonafide world, requires deeply understanding the problem domain. These rules are incredibly diffcult to communicate (most hard problems boil down to communication ones), incredibly difficult to get right in code, and nearly impossible to get it right in code, the first time.
16+
17+
> The [Halting Problem](https://en.wikipedia.org/wiki/Halting_problem) demonstrates that, as software developers, we could never test for the total absence of bugs in our code, only the presence of them.
18+
19+
Even if we _did_ manage to get it right, by some miracle, those real-life business rules (aka. requirements) will inevitably change; it's not a question of "if", but "when".
20+
21+
Knowing this, the software must be written in such a way that is able to _change_ over time, honing in the ever-shifting problem domain, and hopefully such that changing it doesn't produce a "blast radius" effect across the entire codebase.
22+
23+
::: info
24+
The ease of which code can change to fulfill some set of requirements can be referred to as "Software Architecture".
25+
26+
Indeed, one of the key quality indicators of a piece of code is it's ability to be modified without breaking something else unrelated.
1427

15-
Read more about [Why we built hyper](https://blog.hyper.io/why-start-hyper/)
28+
Software Architecture is often-times _derived_ from things like network topology -- the deployable units, the tools we use aka. libraries, lanugages, and frameworks, or the process our team follows, but they are **not** the same thing.
29+
:::
30+
31+
Given all of this, a fair conclusion is that software development is a hard problem and will continue to be, as long as requirements change -- and they always will.
32+
33+
### Unintended Technical Debt
34+
35+
Too many times, technical debt, coupling, and complexity arise, not from a software teams inability to design software well (although we humans are pretty bad at predicting the future), but because of short deadlines, tight budgets, lack of speciailization, or security compliance.
36+
37+
Through no fault of the team, technical debt can start to creep into a Product. Over time, this unintended burden can slow productivity to a crawl, causing frustrations for the business, customer, and perhaps most importantly the teams maintaining the software.
1638

1739
## The Scaling Dilemma
1840

@@ -24,11 +46,35 @@ Because Cloud providers are increasingly complex, increasingly specialized, and
2446

2547
Organizations sputter out attempting to achieve scale, due to these costs.
2648

27-
### hyper Upgrades Software for Growth
49+
## Why hyper?
50+
51+
This is why we started hyper, a company focused on solving this problem, by providing services and patterns that change a developer's mindset about how to design software and build software systems.
52+
53+
This is not novel or magic, many leaders in our industry have been sharing these patterns in the form of principles, architectures, and paradigms, but the status quo far outweighs these pragmatic concepts:
54+
55+
- Functional Thinking
56+
- General to Specific (Clean Architecture)
57+
- Continuous Delivery
58+
59+
Applying these core concepts, software developers can create high-performing development teams and cost-efficient software maintenance. Each of these concepts requires discipline and commitment to the principles and practices of each concept. They are not easy things to do -- one change to change the way they approach solving problems.
60+
61+
The first part of this puzzle is our solution to Clean Cloud Architecture: **The hyper Service Framework**.
62+
63+
### The hyper Service Framework Upgrades Software for Growth
64+
65+
<br/>
66+
67+
![](/all.svg)
68+
69+
hyper is the name of our company, but is also the name of our service framework -- The hyper Service Framework is a collection of core application services wrapped in a common API.
70+
71+
Instead of tightly connecting your application business logic to the cloud services and products your app depends on, The hyper Service Framework enables you to loosely couple these cloud services, giving your application clear separation and future extensibility and scalability.
72+
73+
hyper takes a different approach than the legacy service management architectures. This approach improves maintainability and drastically decreases unintended technical debt.
2874

29-
Using the hyper Service Framework places a context-bound API on top of the services tier, and encourage business logic encapsulation _away_ from this layer, embracing change in the underlying software a core design principle.
75+
Using The hyper Service Framework places a context-bound API on top of the services tier, and encourage business logic encapsulation _away_ from this layer, embracing change in the underlying software a core design principle.
3076

31-
hyper transforms software growth, from an expensive, painful, high-risk, all-in blind “gamble” into a cost-efficient, pleasant, architecture-focused, and informed “investment”.
77+
This separation can provide productive semantics that keeps the cost of changing a business rule as low as possible. A side-effect of this pattern is that it provides the ability to swap or exchange service or interface without having to re-write all of the specific business rules.
3278

3379
### Team Domain Focus
3480

0 commit comments

Comments
 (0)