Srinath Perera is vice president of research at WSO2.
APIs have become the mechanism of choice for connecting internal and external services, applications, data, identities, and other digital assets. As a result, APIs now have the potential to serve as a similarly valuable mechanism for analytics. Equally important, APIs can provide a significantly easier-to-use alternative to the traditional, ad hoc approaches to data collection and data analysis that have slowed the process of converting information into the intelligence required by today’s data-driven organizations.
Quick! Name a log analysis service. If the first word that popped out of your mouth was “Splunk,” you’re far from alone.
But Splunk’s success has spurred many others to up their log-analysis game, whether open source or commercial. Here is a slew of contenders that have a lot to offer sysadmins and devops folks alike, from services to open source stacks.[ The essentials from InfoWorld: What is big data analytics? Everything you need to know • What is data mining? How analytics uncovers insights. | Go deep into analytics and big data with the InfoWorld Big Data and Analytics Report newsletter. ]Elasticsearch (ELK stack)
The acronym “LAMP” is used to refer to the web stack that comprises Linux, the Apache HTTP web server, the MySQL database, and PHP (or Perl, or Python). Likewise, “ELK” is used to describe a log analysis stack built from Elasticsearch for search functionality, Logstash for data collection, and Kibana for data visualization. All are open source.
React Native, Facebook’s framework for building native mobile apps, is to be rearchitected for flexibility and mproved integration with native infrastructure.
Rearchitecting the framework to be more lightweight and better fit into existing native apps involves three major internal changes:
Backup is just good policy. You need the ability to back up data and applications someplace, so they can be restored somehow, to keep the business running in case of some natural or manmade disaster that takes the primary business-critical systems down.
We have whole industries that provide backup sites and backup technology. They can be passive, meaning that you can restore the site in a short period of time and get back to operations. Or they can be active (which costs more), meaning it can instantly take over for the disabled systems with current data and code releases—in some cases, without the users even knowing.[ Working with data in the cloud requires new thinking. InfoWorld shows you the way: How Cosmos DB ensures data consistency in the global cloud. | Stay up on the cloud with InfoWorld’s Cloud Computing Report newsletter. ]
In the cloud, disaster recovery inolves a new set of choices that don’t look much like the ones you have for on-premises systems. The approach that you take should represent the value that the applications and data sets have for the business. I suggest that you look at the practicality of it all, and also make sure that you’re not spending more than the disaster recovery configuration is worth.
Building on Facebook’s React, Microsoft is delivering tools for building cross-platform code for Windows, the web, and beyond.
There are a lot of tools needed to build applications on top of TypeScript, especially if you want to deliver a native user experience. While Electron works well as a host, with API calls that link your application to the Windows platform, it’s still only the foundations. TypeScript on top of Electron alone would just give you another console application, missing all the familiar elements of a modern user experience, from windows and controls to a canvas for your own user elements.
Azure Functions is the serverless compute offering in the Microsoft Azure cloud. Essentially, you don’t even need a virtual machine (VM) to run an Azure Function. Azure Functions are just an implementation of platform as a service (PaaS), one that is based on an event-driven programming model. This article presents an introduction to Azure Functions, why they are useful, and how we can work with them.
As there are no servers that you have to manage, Azure Functions can scale automatically, and you pay only for the time your code runs. You can leverage Azure Functions for event processing in real time, or for scheduled data processing jobs, such as scheduled data backup or data clean-up. You can even use Azure Functions as serverless back ends to mobile applications.
Chef has been a leading open source tool for automating the provisioning and configuration of servers for the better part of a decade. In recent years the company added InSpec and Habitat to the portfolio, open source projects that automate policy compliance testing and the deployment and configuration of applications, respectively. The company’s flagship commercial offering, Chef Automate, brings all of these pieces together.
Chef Automate provides a suite of enterprise capabilities for workflow, node visibility, and compliance, and integrates with the open source products Chef, InSpec, and Habitat. Chef Automate comes with support services for the entire platform, including the open source components. In addition to providing views into operational, compliance, and workflow events, it includes a pipeline for continuous delivery of infrastructure and applications.
Microsoft has PowerApps and Microsoft Flow for low-code development of apps that use data and services from its Office 365 productivty and communications suite. Now Google has released Google App Maker, a low-code development environment for developing software based on its G Suite productivity and communications suite.
Angular provides dependency injection, particularly useful for assembling data services for applications, along with use of an HTML template to compose components. In Angular, developers still compose components with an HTML component that connects to TypeScript code for imperative parts of the program.
The cloud was supposed to kill open source. Instead, savvy cloud operators appear to be using open source as an on-ramp to proprietary services, giving them reason to increase investments in complementary open source projects. Google is the obvious example, spinning out TensorFlow and Kubernetes as a way to raise a generation of developers anxious to perfect machine learning and container-driven workloads on the Google Cloud Platform.
Migrating workloads to the public cloud is taking most enterprise IT organization’s time these days. Although analyst predictions vary, I would say we’re at about 20 percent migrated in the Global 2000, including PaaS, IaaS, and SaaS.
Common mistakes are beginning to emerge in these cloud migrations. Here are the top three mistskes I'm seeing—and they are easily avoidable if you know what to watch for.
Version 1.2 of the statically typed Kotlin language, a version of Java endorsed by Google for Android app development, offers an experimental feature enabling reuse of code across platforms, as well as compatibility with the Java 9 module system. The latest version is Kotlin 1.2.50.Where to download Kotlin 1.2
You can access the Kotlin source code on the project’s Github repo.[ What is Kotlin? The Java alternative explained. • Tutorial: Get started with Kotlin. • Kotlin frameworks: A survey of JVM development tools. | Keep up with hot topics in programming with InfoWorld’s App Dev Report newsletter. ]What’s new in Kotlin 1.2.50
Kotlin Version 1.2.50, released on June 14, 2018, includes an experimental beta of improved scripting capabilities, along with library updates.
The new open source Jetpack package manager promises to make it easier to manage project dependences for code written in the R language.
Jetpack provides a way to specify project dependencies in a single file and enables project collaboration. When other collaborators pull the latest version of code, they run jetpack install to have all dependencies installed on their PC. This process makes it easy to forge a reproducible environment.[ Get Sharon Machlis’s R tips in our how-to video series. | Read the InfoWorld tutorials: Learn to crunch big data with R. • How to reshape data in R. • R data manipulation tricks at your fingertips • Beginner’s guide to R. | Stay up to date on analytics and big data with the InfoWorld Big Data Report newsletter. ]
Jetpack also uses the Packrat dependency management system for R to set up a virtual environment.
When working with or mentoring other developers, one problem I’ve noticed is that many developers can’t write to save their life. This goes beyond “poorly documented” or whether grammar they get wrong (such as when writing in a second language). The main problem is one of organizing thoughts for a purpose and communicating them to an audience. This is something that everyone struggles with sometimes.
Most organizations, readers, and even managers don’t expect perfect grammar or prose from technical people. What they, or any reader, expect is that you get your point across clearly and in a manner they can understand. Learning to do this can often be the difference between being the leaders in a development organization and the folks that get tasked with all of the dreaded maintenance code.
The term “cloud-native” gets thrown around a lot, especially by cloud providers. Not only that, but it even has its own foundation: the Cloud Native Computing Foundation (CNCF), launched in 2015 by the Linux Foundation.‘Cloud-native’ defined
In general usage, “cloud-native” is an approach to building and running applications that exploits the advantages of the cloud computing delivery model. “Cloud-native” is about howapplications are created and deployed, not where. It implies that the apps live in the public cloud, as opposed to an on-premises datacenter.
The CNCF defines “cloud-native” a little more narrowly, to mean using open source software stack to be containerized, where each part of the app is packaged in its own container, dynamically orchestrated so each part is actively scheduled and managed to optimize resource utilization, and microservices-oriented to increase the overall agility and maintainability of applications.
Docker announced today new features for Docker Enterprise Edition and Docker Desktop to port and manage apps on Kubernetes-based clouds, and to build containers via template-based workflows. Both features are scheduled to appear in Docker editions released in the second half of the year.
Federated application management, as the first announced feature is called, is intended to unify the different ways each cloud provider and operating system runs Docker by way of Kubernetes. Federation is intended to work interchangeably across multiple cloud providers, and between both Linux and Windows editions of Docker.
As I discussed in my article “What is Kotlin? The Java alternative explained,” Kotlin is a general purpose, open source, statically typed “pragmatic” programming language that combines object-oriented and functional programming features. You can use Kotlin to build applications for the Java Virtual Machine (JVM), Android, browsers, and native apps on MacOS, Linux, Windows, iOS, WebAssembly, and Android. Kotlin was created by JetBrains and released to open source under the Apache 2 license.
Why learn Kotlin? The short answer is that Kotlin is a better language for the JVM than Java. Kotlin is less verbose, supports all the features of functional programming, eliminates the danger of null pointer references, streamlines the handling of null values, and maintains 100 percent interoperability with Java and Android. All of that will make you a more productive programmer than you would be writing Java, even if you start by using Kotlin to build new features into an existing Java application.
If you’re doing work in statistics, data science, or machine learning, the odds are high you’re using Python. And for good reason, too: The rich ecosystem of libraries and tooling, and the convenience of the language itself, make Python an excellent choice.
But which Python? There are a number of distributions of the language, and each one has been created along different lines and for different audiences. Here we’ve detailed five Python incarnations, from the most generic to the most specific, with details about how they stack up for handling machine learning jobs.Related video: How Python makes programming easier
Perfect for IT, Python simplifies many kinds of work, from system automation to working in cutting-edge fields like machine learning.