Here’re some technology predictions for 2018 based on my technology focus and interesting areas:
- Kubernetes, the open source container orchestration engine, will be the technology of 2018 in all aspects. Kubernetes, one of the most successful projects in the history of open-source ecosystem, will be the “new Linux” in cloud computing platforms. Kubernetes will be a key technology in 2018 to run massively scalable cloud-native applications. When Kubernetes is adopting in larger enterprises, some organizations may look for customizing it, thus developers with expertise on both Kubernetes and Go language, will be very demanding in such enterprises.
- Go programming language will be most popular choice of language in modern enterprises. (When I say modern enterprise, I refer organizations like Uber, Netflix, Square, SoundCloud, etc, but not conventional corporates). The Scala language will never have been a darling of modern enterprises.
- Rust programming language will get lot of popularity in 2018, and it will be used for building many high performance systems. Rust is a finest language to replace C and C++. IMO, both Go and Rust are the best programming languages in the world at this moment.
- Elixir, a functional, concurrent language that runs on the Erlang virtual machine, will get surprise popularity in 2018. Many Ruby developers may move to Elxir, and many people might be attracted to Elixir’s concurrency model, which is based on Actor model.
- People will continue to migrate apps built with Ruby and Python, to other technology platforms. Lot of people will realize that how hard is it to develop complex applications with Node.js, and hence migrations from Node.js to other technologies will rise.
- Both Java and .Net will never have been a primary choice of technologies for building new products.
- Technologies that use HTTP 2 for their transportation layer will get lot of popularities.
- gRPC will become a primary choice of technology for making inter-process communications in distributed systems architecture. People will also start to use gRPC for building backends for mobile apps.
- Modern SQL databases like CockroachDB, for building massively scalable fault-tolerant systems that survive disasters, are great choice of Databases for modern applications. CockroachDB’s internal architecture is brilliant to build a fault-tolerant system that provides global scale distributed database system.
- Serverless computing will get more maturity in 2018. For me, Serverless computing platforms like AWS Lambda and Azure Functions are not a reliable solution, which have lot of limitations. But running Containers as Functions (Funtainers) do make more sense, and it may emerge in the space of Serverless computing. The open-source projects based on the concept of containers-as-functions, such as IBM OpenWhisk, Spotinst Functions and OpenFaas are seem like more reliable solutions, which may get more attraction in 2018.
- Service Mesh, a new concept, which is a dedicated layer for managing, controlling, and monitoring service-to- service communication in Microservices architecture will get more traction in 2018. Service Mesh platforms like Linkerd and Istio will get more adoption. Conduit, a newly announced open source service mesh for Kubernetes from the team who built Linkerd, does look very promising. Conduit might be the Service Mesh platform of 2018.
- Event-driven architectures will be backbone for most of the Microservices based distributed systems. More people will adopt Event-Sourcing and CQRS patterns based approaches for building their distributed systems despite the fact that it has lot of complexity.
- Like 2017, lot of people will try to adopt Microservices architecture for the sake of adopting Microservices just because of the hype over it, and will try to adopt something (their own Microservices) to be called as Microservices without understanding the basics of distributed systems architectures. Some fools will continue to say that Microservices are about building apps with Spring Boot, while others will say that Microservices are about running apps in Azure Service Fabric. Others will say that running apps in containers and orchestrating it with Kubernetes are Microservices. Hence Microservices will be the most misinterpreted terminology in 2018 too.
- Ethereum on Blockchain will be skyrocketing, and building smart contracts for Blockchain network will generate massive opportunities.
You can follow me on twitter at @shijucv. I do provide training and consulting on Go programming language (Golang) and distributed systems architectures, in India.