For those who want to understand “Serverless architectures”, I recommend reading this post by Mike Roberts. The term Serverless was already used in 2012. Mike defines the following characteristics of serverless architectures:
Mike Roberts’ Definition of Serverless
No management of server hosts or server processes
You as a developer don’t have to care about e.g. the number of servers running your software or where where it runs or things like OS upgrades, etc.
Self auto-scale and auto-provision based on load
Costs based on precise usage
Get charged based on usage. Don’t get charged if you don’t use a service. Platform itself should auto-scale or spin up new things and also terminate them according to the current need without having anybody involved.
Performance capabilities defined in terms other than host size/count
Serverless gives you higher level of abstraction which also means that you loose some of the control of lower levels.
Implicit high availability
You don’t have to apply concious thought, you get high availabilty as a side effect of using the serverless product.
Serverless is all about abstracting away things in certain levels. Kelsey Hightower’s tweet makes an interesting point:
I now understand what all the Serverless fuss is about. When you have a great idea the last thing you want to do is setup infrastructure.— Kelsey Hightower (@kelseyhightower) April 23, 2017
I hope you found some interesting links in this article and if you did, post additional material or share this one.
(via GOTO 2017)
Most Popular Projects Overall
Vue.js strikes again
Once again, Vue.js is the trendiest project of the year, with more than 40,000 stars added on GitHub during the year.
The Big-3: Vue, React and Angular
In 2016 Create React App solved the problem of how to start coding a React application by providing a nice set of presets, very well packaged. Facebook keeps releasing new versions very often and it was by far the most popular project in 2017 among the React ecosystem.
In this category, we find again the 3 main actors of the “Front-end frameworks”:
It’s maybe the biggest surprise of the year, the trendiest building tool is Parcel, a brand new project that gathered more than 14,000 stars since the project was launched on GitHub in August.
Parcel offers all the goodies of modern web development with a killer feature: zero configuration!
IDEs & Editors
They also led the way in 2017 but VS Code took a big advantage over its rival.
Number 2 in 2016, Gatsby gets revenge in 2017. It comes with a lot of great features to optimize your static site:
- Fast browsing & exporting
- Aggressive preloading
- Intelligent code splitting (templates + page data)
This were the most important sections in this article.
Currently I work on an implementation for authentication and authorization using Spring Boot, Spring Security, OAuth 2.0 and JSON Web Tokens (JWT). In order to get a good understanding on these topics I found several talks that I’m going to list here.
“100% Stateless with JWT (JSON Web Token)” by Hubert Sablonnière. I found it very useful to get a better understanding on using JWTs to create a really stateless authentication architecture.
There is another interesting talk on Stateless authentication with OAuth 2 and JWT by Alvaro Sanchez-Mariscal.
This post will be updated as I find new resources.
I’m interested in Apache Kafka Streams and would like share some information on this topic with you. There is a great talk about Stream Processing from Neha Narkhede who co-authored Apache Kafka and is currently a co-founder and Head of Engineering of Confluent.
There is also a good article on Apache Kafka Streams with lots of background information.
Here is a good introductory video on Docker for Java Developers:
Have you ever wondered how git works internally or why git does certain things in a certain way? Recently I found an interesting talk about git’s internals on goto; conference. It explains all the building blocks that you need to understand to better understand git.
Knowledge is Power: Getting out of Trouble by Understanding Git