PragmaRAD - technology stacks/methodologies early adoption in pragmatic way
RAD abbreviation can be read as: either R&D (Research&Development) or RAD(Rapid App Development, a term from 2000s). More like the 1st.
PragmaRAD is web/enterprise software consulting company. Currently, it's in prototype phase, no official business entity created. It can be considered as a umbrella for early adoption projects.
This site is about gathering in 1 place links to different resources related to exploring / searching
for pragmatic solutions based on modern cutting/bleeding edge tech stacks and approaches. Idea was born after watching overhyped flashy technology raises and fails in delivering value in real world apps.
As IT field is huge, let's reduce a scope to mere subset of IT fields: web, clouds, containers, APIs, databases. In other words, typical web/enterprise software areas.
"Standard" research steps:
- Gather current state in particular (enterprise,web) tech field from different sources
- Analyze implementations
- Create PoCs of apps/services typically using those implementations (or create own when it's about methodology)
- Write report (e.g. blog post, article) about benefits / limitations / interesting outcomes of approaches and implementations
- Update PoCs in case of implementations/paradigms upgrade and revalidate points/conclusions of previous iteration
Is particular combination of tech stacks and/or suggested new design approaches is ready for production / everyday use?Along with this main question supplement ones can be addressed. For instance, how easy "day2" operations (governance) can be done. An example of "day2" failed is long list of code generators, which allowed to jump start quickly, but crippled updates if developers already changed parts of generated code.
Requirements to case studies:
- PoCs should not be on "Hello World" level (there are tons of such projects, why to add a few more?). They should have simplified, but practical application of real life problem domain.
- PoCs should show how *ilities(scalability, maintainability, extensibility, security, performance) are addressed by tech stack under check
- Microservices, service meshes
- Workflows, BPMS
- Cloud-native 12 factor services/apps
- Containers (Docker, K8S)
- Databases (RDBMS, NoSQL (Document, Graph, Key/Value, Columnar etc), Big Data)
- Backend / Cloud services integration
- Reactive systems, Event Sourcing, CQRS, Akka, Vertx
- Messaging, Streaming
- Json, XML, Avro, Protobuf, Parquet
- Java/Scala/Kotlin
- Spring Boot/Security/Cloud/Batch
- A little bit of Machine Learning, with DL spices
- Some Python (for web and ML)
- Basic UI (brutally simple, for showing up possible ways of integration with APIs/backends)
- CI/CD (using Github Actions, Jenkins, TeamCity etc)
- Various kinds of service simulators for integration/stress/load tests
- Containers handling for quick deployments e.g. Docker Compose
- Data migrations along with code deployments
- Flexible and secure configuration on different environments