SlideShare a Scribd company logo
TECH TRENDS 2018-2019
JOHAN NORMÉN @ UNSQUARED
Tech trends 2018 2019
MICRO-FRONT ENDS
Tech trends 2018 2019
Tech trends 2018 2019
Tech trends 2018 2019
• Record, Replay, and Stub HTTP Interactions
• Why Polly?
• Keeping fixtures and factories in parity with your APIs can be a time consuming
this by recording and maintaining actual server responses without foregoing
• Record your test suite's HTTP interactions and replay them during future test runs for
deterministic, accurate tests.
• Use Polly's client-side server to modify or intercept requests and responses to
application states (e.g. loading, error, etc.).
Tech trends 2018 2019
HTTP3
• The protocol that’s been called HTTP-over-QUIC for quite some time has now changed name and will
officially become HTTP/3
• The QUIC Working Group in the IETF works on creating the QUIC transport protocol. QUIC is a TCP
replacement done over UDP. Originally, QUIC was started as an effort by Google and then more of a
“HTTP/2-encrypted-over-UDP” protocol.
Tech trends 2018 2019
ARCHITECTURE DECISIONS RECORD (ADR)
FORMAT
• <nr>-<name>.md (Eg: 0001-RepositoryPattern.md)
• In each ADR file, write these sections:
• Title: short present tense imperative phrase, less than 50 characters, like a git commit message.
• Status: proposed, accepted, rejected, deprecated, superseded, etc.
• Context: what is the issue that we're seeing that is motivating this decision or change.
• Decision: what is the change that we're actually proposing or doing.
• Consequences: what becomes easier or more difficult to do because of this change.
Tech trends 2018 2019
Tech trends 2018 2019
Tech trends 2018 2019
Tech trends 2018 2019
HTTPS://GITHUB.COM/JOELPARKERHENDERSON/
ARCHITECTURE_DECISION_RECORD
SECRET AS A SERVICE
CHAOS ENGINEERING
• Advances in large-scale, distributed software systems are changing the game for software engineering.
• How much confidence we can have in the complex systems that we put into production?
• Chaos Engineering is the discipline of experimenting on a distributed system
in order to build confidence in the system’s capability
to withstand turbulent conditions in production.
PRINCIPLES
• Build a Hypothesis around Steady State Behavior
(Chaos verifies that the system does work, rather than trying to validate how it works.)
• Vary Real-world Events
(Server failing etc…)
• Run Experiments in Production
(Chaos strongly prefers to experiment directly on production traffic)
• Automate Experiments to Run Continuously
( Chaos Engineering builds automation into the system to drive both orchestration and analysis.)
• Minimize Blast Radius
(Chaos Engineer ensures the fallout from experiments are minimized and contained.)
CHAOS KATAS
Q#
• Q# (Q-sharp) is a domain-specific programming language used for expressing quantum algorithms.
Tech trends 2018 2019
CANARY RELEASE
• Canary release is a technique to reduce the risk of introducing a new software version in production by
slowly rolling out the change to a small subset of users before rolling it out to the entire infrastructure
and making it available to everybody.
Tech trends 2018 2019
Tech trends 2018 2019
EVENT STORMING
• Event storming is a workshop-based method to quickly find out what is happening in the domain of a
software program
• The business process is "stormed out" as a series of domain events which are denoted as orange
stickies. It was invented by Alberto Brandolini in the context of domain-driven design.
• The basic idea is to bring together software developers and domain experts and learn from each other.
Tech trends 2018 2019
OBSERVABILITY AS CODE
COMPLEXITY NEED MONITORING…
ASP.NET CORE BLAZOR (WEB ASSEMBLIES)
• Lets skip this part? :P
• Nhaaa… Let take a look at some code…
INTERPRETED MODE
IN INTERPRETED MODE, THE MONO RUNTIME ITSELF IS COMPILED TO WEBASSEMBLY, BUT YOUR
.NET ASSEMBLY FILES ARE NOT.
AHEAD-OF-TIME (AOT) COMPILED MODE
IN AOT MODE, YOUR APPLICATION’S .NET ASSEMBLIES ARE TRANSFORMED TO PURE
WEBASSEMBLY BINARIES AT BUILD TIME. AT RUNTIME, THERE’S NO INTERPRETATION: YOUR
CODE JUST EXECUTES DIRECTLY AS REGULAR WEBASSEMBLY CODE.
• Which mode is best? We don’t know yet.
• What we do know is that interpreted mode
provides a much faster development cycle
than AOT. When you change your code, you
can rebuild it using the normal .NET compiler
and have the updated application running in
your browser in seconds. An AOT rebuild, on
the other hand, might take minutes.
NULLABLE IN C# 8.0
AZURE DEVOPS
https://www.thoughtworks.com/radar/techniques
TACK!
GOD JUL OCH GOTT NYTT ÅR FRÅN MIG TILL ER…
KUL ATT NI KOM… HOPPAS NI FÅR ETT FANTASTISKT 2019…

More Related Content

Tech trends 2018 2019

  • 1. TECH TRENDS 2018-2019 JOHAN NORMÉN @ UNSQUARED
  • 7. • Record, Replay, and Stub HTTP Interactions
  • 8. • Why Polly? • Keeping fixtures and factories in parity with your APIs can be a time consuming this by recording and maintaining actual server responses without foregoing • Record your test suite's HTTP interactions and replay them during future test runs for deterministic, accurate tests. • Use Polly's client-side server to modify or intercept requests and responses to application states (e.g. loading, error, etc.).
  • 10. HTTP3 • The protocol that’s been called HTTP-over-QUIC for quite some time has now changed name and will officially become HTTP/3 • The QUIC Working Group in the IETF works on creating the QUIC transport protocol. QUIC is a TCP replacement done over UDP. Originally, QUIC was started as an effort by Google and then more of a “HTTP/2-encrypted-over-UDP” protocol.
  • 13. FORMAT • <nr>-<name>.md (Eg: 0001-RepositoryPattern.md) • In each ADR file, write these sections: • Title: short present tense imperative phrase, less than 50 characters, like a git commit message. • Status: proposed, accepted, rejected, deprecated, superseded, etc. • Context: what is the issue that we're seeing that is motivating this decision or change. • Decision: what is the change that we're actually proposing or doing. • Consequences: what becomes easier or more difficult to do because of this change.
  • 19. SECRET AS A SERVICE
  • 20. CHAOS ENGINEERING • Advances in large-scale, distributed software systems are changing the game for software engineering. • How much confidence we can have in the complex systems that we put into production? • Chaos Engineering is the discipline of experimenting on a distributed system in order to build confidence in the system’s capability to withstand turbulent conditions in production.
  • 21. PRINCIPLES • Build a Hypothesis around Steady State Behavior (Chaos verifies that the system does work, rather than trying to validate how it works.) • Vary Real-world Events (Server failing etc…) • Run Experiments in Production (Chaos strongly prefers to experiment directly on production traffic) • Automate Experiments to Run Continuously ( Chaos Engineering builds automation into the system to drive both orchestration and analysis.) • Minimize Blast Radius (Chaos Engineer ensures the fallout from experiments are minimized and contained.)
  • 23. Q# • Q# (Q-sharp) is a domain-specific programming language used for expressing quantum algorithms.
  • 25. CANARY RELEASE • Canary release is a technique to reduce the risk of introducing a new software version in production by slowly rolling out the change to a small subset of users before rolling it out to the entire infrastructure and making it available to everybody.
  • 28. EVENT STORMING • Event storming is a workshop-based method to quickly find out what is happening in the domain of a software program • The business process is "stormed out" as a series of domain events which are denoted as orange stickies. It was invented by Alberto Brandolini in the context of domain-driven design. • The basic idea is to bring together software developers and domain experts and learn from each other.
  • 30. OBSERVABILITY AS CODE COMPLEXITY NEED MONITORING…
  • 31. ASP.NET CORE BLAZOR (WEB ASSEMBLIES) • Lets skip this part? :P • Nhaaa… Let take a look at some code…
  • 32. INTERPRETED MODE IN INTERPRETED MODE, THE MONO RUNTIME ITSELF IS COMPILED TO WEBASSEMBLY, BUT YOUR .NET ASSEMBLY FILES ARE NOT.
  • 33. AHEAD-OF-TIME (AOT) COMPILED MODE IN AOT MODE, YOUR APPLICATION’S .NET ASSEMBLIES ARE TRANSFORMED TO PURE WEBASSEMBLY BINARIES AT BUILD TIME. AT RUNTIME, THERE’S NO INTERPRETATION: YOUR CODE JUST EXECUTES DIRECTLY AS REGULAR WEBASSEMBLY CODE. • Which mode is best? We don’t know yet. • What we do know is that interpreted mode provides a much faster development cycle than AOT. When you change your code, you can rebuild it using the normal .NET compiler and have the updated application running in your browser in seconds. An AOT rebuild, on the other hand, might take minutes.
  • 37. TACK! GOD JUL OCH GOTT NYTT ÅR FRÅN MIG TILL ER… KUL ATT NI KOM… HOPPAS NI FÅR ETT FANTASTISKT 2019…