Wednesday, June 6, 2018

What is Cloud Computing?

"Cloud" has become a very over-hyped term over the last few years. One of the characteristics of over-hyped words is that they have little or no definition to them .
As it turns out there is an excellent definition of cloud computing available, from none other that https://www.nist.gov/. It's available by a wonderfully short and easy to understand standards document. (https://csrc.nist.gov/publications/detail/sp/800-145/final)
NIST defines cloud as access to a pool of computing resources (servers, storage, networks, services etc) that can be rapidly provisioned and made available with minimal overhead.
It briefly defines:
  • Five essential characteristics: on demand self-service, broad network access, resource pooling, rapid elasticity, and measured service.
  • Three service models: software, platform, and infrastructure (all as a service).
  • Four deployment models: private, community, public, and hybrid.

Cloud Computing For NIST:


Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model is composed of five essential characteristics, three service models, and four deployment models.


Wednesday, September 27, 2017

What is Python and will it replace JAVA?

What is Python?

The name “Python” is reported to come from Monty Python’s Flying Circus. All computer languages have their own expressions, but Python users have their own meta-expressions, too. Those who are adept at coding with Python may be known as Pythonistas.

Those who are adept at coding with Python may be known as Pythonistas.

What is it about Python that has attracted this devoted following? 

Python is a dynamic language, built for speed, and thus works well in applications like automation, Natural Language processing, and Artificial Intelligent development. It is a favored language of Google developers and has had a hand in YouTube. In fact, the Python site includes a quote by YouTube architect, Cuong Do, about the efficiency and ”record speed” with which the language allows them to work.

Will Python replace JAVA?

According to the IT programming trend, Java is currently more popular than other programming languages in terms of number of jobs, number of existing Java developers and overall usage statics in IT compared to Python. According to the latest usage statistics posted on a popular Technology Survey site, Java is being used by 3.0% websites as a server-side programming language, whereas only 0.2% of websites use Python. However, all the recent reports have highlighted that the usage and popularity of Python is growing drastically compared to Java where the Java usage is coming down year on year.

At myTectra we have been monitoring the Trend of Python and Java since 2013 based on number of Jobs posted in Naurki for Bangalore region since 2013. In the below table we could able to see that Java requirement is coming down year on year whereas Python requirement has grown from 200 in 2014 to 6500+ in 2017.


Language
2014 April   
2015 April   
2016 April   
2017 April
Java Job Posting for Bangalore City
17000+
17000+
15000+
12000+
Python Job Posting for Bangalore City
200+
500+
3500+
6500+


Job Posting Statics from Indeed shows python is the only Programming language consistently growing compared to Java which is going down drastically.

So it becomes essential for programmers to understand some of the major differences between these two popular programming languages.

Understanding Important Differences between Java and Python

Both Java and Python are general purpose programming languages. While the former is a statically typed language wherein the programmers have to declare all variable names explicitly, the latter is looked upon as a dynamically typed language where developers are not required to declare variable names explicitly.

Java requires developers to write longer lines of code to accomplish common programming tasks. They also have to put in additional time and effort to organize, maintain and update the Java code base.

On the other hand, syntax of Python enables developers to express concepts without writing longer lines of code. It further emphasizes on reusable and readable code generation. Thus, it becomes easier for programmers to maintain and update the code base.

Java makes it easier for programmers to create portable cross-platform applications. These applications can run on any device on which Java virtual machine (JVM) is running.

On the other hand, the developers have to use a Python compiler to convert the code written in Python into code understandable by the specific operating system.

As JVM is installed on many devices, the developers can run Java applications on various devices without requiring any specialized tools and compilers.


Along with being a popular web technology, Java is also used widely for developing apps for world's most popular mobile operating system, i.e., Android.

The Android SDK includes a number of standard Java libraries. The developers can easily create Android apps by taking advantage of networking, data structure, graphics, and math libraries.

They can even avail a number of tools and frameworks to speed up Android app development. But those into Python development know that it cannot be used for mobile app development directly and exclusively.

The developers have to use additional frameworks and tools to use it for mobile app development. Many programmers prefer developing mobile apps with Java to save both time and effort.

The reason for Python is becoming more popular and huge surge in number of requirement year on year is Python become a language of choice for all the current trending Technologies in IT.


Python adopted as a language of choice for almost all the domain in IT including Web Development, Cloud Computing (AWS, OpenStack, VMware, Google Cloud, Oracle Cloud, etc.. ), Infrastructure Automation , Software Testing, Mobile Testing, Big Data and Hadoop, Data Science, etc.

If the current trends continues Python will become the most sought after language and overtake the number of jobs requirement in next 2-3 years.

Tuesday, March 7, 2017

IOT platform of Amazon : Infinite Use Cases

What is IOT?

The Internet of Things (IoT) is the network of objects or "things" embedded with electronics, software, sensors, and network connectivity, which enables these objects to collect, process and analyze data.

IoT allows objects to be sensed and controlled remotely across existing network infrastructure, creating opportunities for more direct integration between the physical world and computer-based systems and can result in improved efficiency for the end user.


Why everyone is talking about IOT?

We will have 20 to 25 billion connected devices by 2020. That's the massive numbers of connected devices. To support this all the major players are looking to build the framework to support IOT implementations. Google, Amazon, Microsoft, Apple are already developing something which will help organizations to gather, monitor and control the data flow to take the real-time actions.

Amazon IOT Button

Amazon has started looking into IOT in 2014 and introducing devices called amazon dash buttons, A wifi connected device which allows users to order a single item by just clicking dash button and item arrives at your doorsteps. A user can program this button to based on the Amazon dash hardware. A user can use multiple dash button and keep ordering these items by just pushing dash buttons. Now amazon is expanding its reach in IOT space developing IOT platform.


Amazon IOT Platform

AWS has launched IOT platform that lets connected devices easily and securely interact with cloud platform and application and other devices. AWS IOT can supports millions even billion devices and trillion messages and also it can process and send messages to AWS endpoints securely.

Amazon has launched very powerful IOT framework which also works with other amazon services, like s3.

To more detail about AWS IoT is here:


AWS IoT components:


  1. Device gateway
  2. Authentication and Authorization
  3. Registry
  4. Device Shadows
  5. Rules Engine
  6. AWS IoT API


Amazon IoT Works will provide more information into the IoT platform.


Please share your views about IOT and this article in comments.