Top 10 Technology Trends to watch for in 2020

Technology Trends to watch for in 2020

It is fascinating how technology is influencing in various sectors of the market. Ever since the advent of digitalization, the fundamentals of industries began to change for the better. And one of the main reasons behind this is competitiveness and user needs.

To sustain in today’s competitive market, every industry now uses innovative technologies that make their solutions more powerful. Well, a clear proof of this is big companies like Amazon, Google, and Facebook who invested valiantly in the latest technological trends like Big Data, AI, blockchain technology, etc. for enhancing the user experience.

Clearly, technology is not just changing, it is transforming very fast. Innovation in the business world is accelerating exponentially. IoT could be worth $19 trillion in the coming years. Over 1 billion people will use AR/VR in the year 2021. And by 2030, the largest industry on the internet will be the education industry. Hence, there is no doubt that universal digital transformation will soon be a reality.

Top 10 Technology Trends

Here, we present to you the latest technological trends that will surely bring significant innovative growth in 2020.

Artificial Intelligence

For quite a long time, AI is making a significant impact on industrial growth. Computers are now able to learn new things as humans do. In fact, by the end of 2019, the average person will have more conversations with a bot, than with anyone else. Modern-day researches are now enabling AI to recognize facial expressions, voice recognition, and even help in customer services as well. So, it is no surprise that we’ll be seeing AI implementations that don’t need any human interventions in the next time! Google’s TensorFlow is one such example.

Internet of Things (IoT)

In the last couple of years, IT smartification has encouraged all businesses to adopt IoT app development. Now it has become the most exciting and most familiar expression that has accessed nearly every aspect of our daily life. While still a handful, it is predicted that by the end of 2019, 40% of regional government will use IoT to turn infrastructures from assets to liabilities. Moreover, our homes, which already has a series of smart products, will soon find all new entries by 2020.

Blockchain Technology

According to The New York Times, the world’s biggest banks have already started to use blockchain technology. Undoubtedly, the rate at which this technology is growing has already placed it in top trends of 2020. While only a handful of industries are using this technology, but by 2020, we will see its mass adoption for sure. Blockchain technology is an old concept that allows technologies to communicate securely and verifiably. Although cryptocurrencies have already been in the limelight in recent years, blockchain technology is still gaining grounds across the tech market.

Voice Recognition(VR)

The future of technologies will remain incomplete without voice and face recognition. We have seen voice technological developments like Siri, Alexa, and others, and they have even proved useful in daily life. But these applications have remained limited to their use. But the future of voice-based applications is all set for the coming year. In only a matter of time, almost every device around us will be able to perform following voice commands. 62% of users plan their purchasing through their speakers, says Google. AI, ML, and voice-based apps will surely find their way in the coming future.

Natural Language Processing (NLP)

Chatbots and AI-powered aids are moving towards the mainstream. They have already revolutionized the way brands interact with their customers. However, by 2020, with the integration of NLP, chatbots will reach new heights in the market. Sarcasm, puns, and double meaning contexts would be clear to the upcoming technologies by the use of NLP. The complex algorithms behind NLP will be based on millions of computations and predictions generated by integrating AI between conversations of humans with their system.

Edge Computing

Edge computing is somewhat different from traditional computing methods. It is a method of processing the data at the place where it originated, rather than using a centralized data-processing warehouse. It enables data stream acceleration and reduce latency and enable greater autonomy at the edge. Besides that it also enables smart devices to interact with data very quickly while reducing the processing time. There are high chances of seeing this technology in the coming years. By providing faster speed and prioritizing traffic, this technology will surely boost the future market. Complex edge devices such as autonomous vehicles, drones, and robots will surely accelerate this shift.

Analytics Analytics

Presently, it plays a very crucial role in the growth of companies around the world. When integrated with software, analytics helps businesses to predict where the market will move in the next time. But in the following year, the plethora of collected user data will help businesses in a much different way. Analytics will make use of Machine Learning to identify issues, recommend actions, and make data useful and actionable. Prescriptive analytics, once a source of insights, will now become a guide for the next profitable move.

Cloud-based Solution

Cloud-based apps were never gone out of the market. They are growing rapidly and are expected to reach $150 billion at the end of 2020. Today, almost all the software firms, emphasize on cloud-based solutions. That’s because cloud-computing, besides data security, also provides business agility to the firms using AI-based apps. That’s why many companies today are shifting towards multi cloud/ distributive cloud technology. The distributed cloud service allows the distribution of public cloud to different locations while keeping all the functions within the original provider. This shows that public cloud services will surely dominate the coming era.

Cybersecurity

As per the latest reports, the cybersecurity market is expected to grow to $300 billion by the end of 2024. Obviously, the trend for increased security is still a matter of concern. Even, cloud-based solutions have risks of data leakage. This is the reason for increased government regulations on consumer awareness. Many steps have been taken to overcome the issue of cyber theft. Some measures involve third party verification, external testing of your apps, and so on. A well-respected framework can surely help the organizations to deal with cyber attacks more efficiently.

5G

By the start of 2020, 5G will become a driving factor in wireless technology growth. It will offer its users benefits like faster internet speed, lower latency, as well as higher capacities. That will ultimately allow a greater level of automation and technological advancements in cities and remote areas, as well. Along with 5G, there will be development and implementation of WiFi 6 as well. These technologies will, for sure, allow easy application of driverless-cars by offering them real-time data about the entire city. So with the coming year, we should expect the booming of wireless technologies.

Conclusion

So here were the top technological trends that we will see in the upcoming year. These aforementioned technologies are proved to bring significant changes in the market scenario. They will become a blockbuster in the market. Besides bringing safety and productivity growth, they will also facilitate quality and profitability in the market. Many big industries like food and Beverage, Medical, educational, and even financial industries will be automated by the end of 2020. Some have even started to use them, and some companies will surely use them in the coming future. So are you ready for them?

Technology Trends to watch for in 2020

How To Setup Grafana On Kubernetes

Setup Grafana On Kubernetes

Grafana is an open-source lightweight dashboard tool. It can be integrated with many data sources like Prometheus, AWS cloud watch, Stackdriver, etc.

In our previous posts, we have seen the following.

  1. Setup Prometheus on Kubernetes
  2. Setup Kube State Metrics
  3. Setup alert manager on Kubernetes

This tutorial explains the Grafana setup on a Kubernetes cluster. You can create dashboards on Grafana for all the Kubernetes metrics through prometheus.

Lets get started with the setup.

Step 1: Create file named grafana-datasource-config.yaml

vi grafana-datasource-config.yaml

Copy the following contents.

Note: The following datasource configuration is for prometheus. If you have more data sources, you can add more data sources with different YAMLs under data section.

apiVersion: v1
kind: ConfigMap
metadata:
  name: grafana-datasources
  namespace: monitoring
data:
  prometheus.yaml: |-
    {
        "apiVersion": 1,
        "datasources": [
            {
               "access":"proxy",
                "editable": true,
                "name": "prometheus",
                "orgId": 1,
                "type": "prometheus",
                "url": "http://prometheus-service.monitoring.svc:8080",
                "version": 1
            }
        ]
    }

Step 2: Create the configmap using the following command.

kubectl create -f grafana-datasource-config.yaml

Step 3: Create a file named deployment.yaml

vi deployment.yaml

Copy the following contents

apiVersion: apps/v1
kind: Deployment
metadata:
  name: grafana
  namespace: monitoring
spec:
  replicas: 1
  selector:
    matchLabels:
      app: grafana
  template:
    metadata:
      name: grafana
      labels:
        app: grafana
    spec:
      containers:
      - name: grafana
        image: grafana/grafana:latest
        ports:
        - name: grafana
          containerPort: 3000
        resources:
          limits:
            memory: "2Gi"
            cpu: "1000m"
          requests: 
            memory: "1Gi"
            cpu: "500m"
        volumeMounts:
          - mountPath: /var/lib/grafana
            name: grafana-storage
          - mountPath: /etc/grafana/provisioning/datasources
            name: grafana-datasources
            readOnly: false
      volumes:
        - name: grafana-storage
          emptyDir: {}
        - name: grafana-datasources
          configMap:
              defaultMode: 420
              name: grafana-datasources

Step 4: Create the deployment

kubectl create -f deployment.yaml

Step 5: Create a service file named service.yaml

vi service.yaml

Copy the following contents. This will expose Grafana on NodePort 32000. You can also expose it using ingress or a Loadbalancer based on your requirement.

apiVersion: v1
kind: Service
metadata:
  name: grafana
  namespace: monitoring
  annotations:
      prometheus.io/scrape: 'true'
      prometheus.io/port:   '3000'
spec:
  selector: 
    app: grafana
  type: NodePort  
  ports:
    - port: 3000
      targetPort: 3000
      nodePort: 32000

Step 6: Create the service.

kubectl create -f service.yaml

Now you should be able to access the Grafana dashboard using any node IP on port 32000. Use the following default username and password to log in. Once you log in with default credentials, it will prompt you to change the default password.

User: admin
Pass: admin

Setup Kubernetes Dashbaords

There are many prebuilt Grafana templates available for various data sources. You can check out the templates from here.

Setting up a dashboard from a template is pretty easy. Follow the steps given below to setup a dashboard to monitor kubernetes deployments.

Step 1: Get the template ID from grafana public template. as shown below.

image

Step 2: Head over to grafana and select the import option.

image 1

Step 3: Enter the dashboard ID you got it step 1

image 2

Step 4: Grafana will automatically fetch the template from Grafana website. You can change the values as shown in the image below and click import.

image 3

You should see the dashboard immediately.

image 4

Conclusion

Grafana is a very powerful tool when it comes to dashboards. It is used by many organisations to monitor its workloads. Let us know how you are using Grafana in your organisation. Also let us know if you want to add more information to this article.

Setup Grafana On Kubernetes

How To Setup Kube State Metrics on Kubernetes

Setup Kube State Metrics on Kubernetes

In this blog we will look at what is Kube State Metrics and its setup on Kubernetes.

What is Kube State Metrics?

Kube State metrics is s service which talks to Kubernetes API server to get all the details about all the API objects like deployments, pods, daemonsets etc. Basically it provides kubernetes API object metrics which you cannot get directly from native Kubernetes monitoring components.

Kube state metrics service exposes all the metrics on /metrics URI. Prometheus can scrape all the metrics exposed by kube state metrics. Here are the few key objects you can monitor with kube state metrics.

  1. Monitor node status, node capacity (CPU and memory)
  2. Monitor replica-set compliance (desired/available/unavailable/updated status of replicas per deployment)
  3. Monitor pod status (waiting, running, ready, etc)
  4. Monitor the resource requests and limits.
  5. Monitor Job & Cronjob Status

You can check out the detailed supported metrics from the documentation here.

You Might Like: How To Setup Prometheus on Kubernetes

Kube State Metrics Setup

kube state metrics is available as a public docker image. You will have to deploy the following Kubernetes objects for kube state metrics to work.

  1. A Service Account
  2. Cluster Role – For kube state metrics to access all the Kubernetes API objects.
  3. Cluster Role Binding – Binds the service account with the cluster role.
  4. Kube State Metrics Deployment
  5. Service – To expose the metrics

All the above kube state metrics objects will be deployed in the kube-system namespace

Lets deploy the components. All the deployment objects are available in Github. You can also find same deployment object in the official repo as well.

Step 1: Clone the Github repo

git clone https://github.com/devopscube/kube-state-metrics-configs.git

Step 2: Create all the objects by pointing to the cloned directory.

kubectl apply -f kube-state-metrics-configs/

Step 3: Check the deployment status using the following command.

kubectl get deployments kube-state-metrics -n kube-system

kube State Metrics Prometheus Config

All the kube static metrics can be obtained from the kube state service endpoint on /metrics URI.

This configuration can be added as part of prometheus job configuration. You need to add the following job configuration to your prometheus config for prometheus to scrape all the kube state metrics.

- job_name: 'kube-state-metrics'
  static_configs:
    - targets: ['kube-state-metrics.kube-system.svc.cluster.local:8080']
Setup Kube State Metrics on Kubernetes