The beginning of a year is the perfect time to address changes in the IT industry and technology trends. We asked our specialists where, in their opinion, is technology headed. Look at our subjective opinion about technology trends.
Kamil - Cloud Engineer and DevOps enthusiasts who loves to create new things and enhance existing ones.
Mateusz - PHP developer with 15 years of experience who shares his knowledge with university students.
Łukasz - Admin with 3 years of experience in saving the world. He loves sports and new technologies, not necessarily in that order.
Kamil: technology trends #Cloud #CNCF #OpenSource #Kubernetes #GitOps
Technological development shows no signs of slowing down-on the contrary, it keeps accelerating every year. From what I’ve seen, the majority of people will be interested in Cloud Native apps. The most fully fledged solution for launching microservices in the cloud. This definition outlines the challenges that applications will have to overcome to seamlessly work in the cloud - Compute Cloud. It does not specify any tools, it only suggests good practices to support it. Those practices include microservices architecture or the famous Twelve-Factor App methodology.
As you can see, Cloud Native based on simple passwords may soon become the standard that will include multiple tools to support app maintenance in the cloud.
The Cloud Native Computing Foundation (CNCF) supports and sustains Open Source applications.
To use CNCF tools, we must first prepare ourselves for certain adaptations. Why? Because those products are not always fully fledged and stable. Most of them don’t have versions higher than 0.1.0 (which denotes a product that can be used in “production”). In practice, these products have very dynamic life cycles where frequent updates can lead to… errors. Interestingly, those are not weaknesses, but rather strengths of the products. We can quickly improve them, and all Open Source Community requests for new functions are handled immediately (in actively developed projects). This gives the community more influence over the development of an app by taking active steps.
I’m certain that, despite a high risk of unexpected project closures, Open Source projects will keep attracting new people.
Kubernetes (K8s) and #GitOps are also trending. They greatly reduce upgrade release times (known as “time to market”). They are among the most important tools and methodologies for launching microservices as Docker Containers. In recent years, this system has been developed as a solution for quickly implementing services. Its beginnings were rough due to low stability and complicated launch procedure. In time, Cloud Platform providers started including K8s in their portfolios (mostly as Elastic Kubernetes Service and Azure Kubernetes Service).
GitOps is a methodology that offers great flexibility in implementing all kinds of services. This is mostly seen in its use in Kubernetes. Creating a whole CI/CD based on e.g. GitLab Pipeline combined with Flux and HelmOperator gives you a tool that ensures fully automated microservice implementation. It leaves a visible trail in the Git repository. This lets you deliver new versions of microservices to your customers more quickly and securely. As well as react to the changes of customer needs more quickly.
Mateusz: technology trends #Clouds #SymfonyCloud #Languages
The impact of “clouds” on technology development is significant. Although I personally don’t think that any revolution should be anticipated here. I’d rather expect stable development, and an evolution of the global infrastructure that slowly moves to running all apps in the “cloud”. As a developer rooted in PHP, I am especially interested in the tool called Symfony Cloud. To me, the most interesting feature is the automation of running apps directly from a project (a Symfony console in this case). Savings in time otherwise needed for implementing various services are particularly appealing for developers and clients alike.
When talking about clouds, especially noteworthy are the visible changes in the AWS ecosystem. For example, Amazon tries to try out repetitive app modules as well as release their own versions, using the SaaS model. This has a direct impact on shortening the time spent on repetitive elements, such as logging-in or signing-up, by replacing them with e.g. Cognito or Amplify. The AWS cloud allows us to run whole app infrastructures, in the “infrastructure as a code” model. Especially when we know the load that the service in development must cope with. This solution becomes even more attractive in unpredictable market conditions, where customers not always have a set of precise marketing goals.
Thanks to clouds like AWS, services can be automatically scaled, which is indubitably a huge advantage.
Will the homogenisation happen in 2020? I don’t think it fully will, but chances are that paradigms will spread further between languages.
Łukasz: technology trends #APM #Monitoring #Blockchain#APM
When analysing technology trends, I’d focus on three areas. The first one must be monitoring, which is still ailing in many companies. Here, I’d like to point to APM (Application Performance Monitoring). It is a key technology in app and infrastructure monitoring that enables thorough analysis of app performance. Why do I choose it as my No. 1? Because it provides e.g. AI algorithms for modelling transaction flow, error analysis capabilities, and traffic monitoring, while maintaining a proactive approach towards identifying potential issues.
APM is a tool that allows for monitoring at code level. Which means it can point us to slow method calls or latency of particular components. Any enhancements are created already at the app design and development level, which makes it more immune to failures.
The growth of APM can also be observed in open-source projects, for instance Elastic APM.
This direction is particularly interesting to me and I think it’s worth paying attention to. Elastic implements this technology in their tool and shares it free of change. Such solutions may not be able to compete with systems like Dynatrace. On the other hand they will give users options to choose from.
Looking at the market, I can see a growing interest in the blockchain technology. However, I’d like to leave Bitcoin out of it. Why? Because I think that this way of thinking strips this technology from its wide range of capabilities in various areas. For instance, Spotify has implemented blockchain and successfully solved the issue of connecting artists in the context of licensing agreements.
In the next few years, I’d expect to see a growing number of blockchain-based apps, the so-called game changers.
Places like Estonia, widely recognised as a highly digitalised country, seem to confirm my theory. This is a perfect example of a state where the majority of government services are provided online 24/7, and data integrity is ensured by blockchain. This includes services like e.g. e-Tax, e-Banking, e-Ticket, e-School, e-Governance Academy, or i-Voting. E-signing various documents, submitting tax declarations and reimbursements, all of this is realised through using blockchain to protect registers against unauthorised access. Furthermore, the e-Estonia service, largely based on blockchain, is a perfect example of how to facilitate the operation of public sector and contain the expenditures.