For as long as there have been computers, companies have employed networks to monitor, update and fix the software that runs on them. Witness desktop and laptop PCs where Microsoft Corp. and vendors of a hundred or so software programs invest heavily in software and services that allow them to constantly watch and fix problems on deployed code, mostly in the form of binary executables.
That trend will only accelerate in the current age of mobile devices and in the emerging age of the Internet of Things. If you look closely at the apps running on your mobile smartphone device, odds are good that what you think is running locally is actually being executed elsewhere on servers in the cloud. Similarly, in the Internet of Things, MCU-based devices are so severely constrained in terms of power and local resources, they will be dependent on external data and software resources for an array of ongoing, back-and-forth network transactions: device to device, device to cloud, and cloud to cloud.
In the face of this increasingly complex software environment, a new breed of middleware distribution-as-a-service companies are beginning to emerge. One company that I have come across is Israel-based JFrog with its Bintray platform and its Artifactory binary repository manager. It counts among its customers a wide range of technology companies, including Amazon, Alcatel-Lucent, Apple, Bosch, Cisco, Google, Fujitsu, HP, Intel, National Instruments, Nokia, Oracle, Raytheon, Rockwell and Sony.
According to Fred Simon, cofounder and chief architect at JFrog, the company's binary repository manager is a software hub that simplifies management of various deployed software executables and related files or artifacts. It does this by centralizing the management of all the diverse binary artifact types, their position in the overall workflow, and the sets of dependencies between them.
He said that the role of a binary repository manager is somewhat like what revision control is to software code source files. But unlike the source code files with which every software developer is familiar, binary executables deployed on the network come with a lot of baggage that must located somewhere and managed. Where a source code and its associated files may require from a few hundred kilobytes to several megabytes, a deployed binary executable of that same program requires on the order of hundreds and thousands of megabytes.
In an interview with EE Times, Simon said traditional tools are no longer adequate for dealing with the explosion in the number of connected devices and their need for minute-to-minute and second-to-second monitoring of not only of the health of the data being exchanged, but of the program code in the form of software executable binaries.
To enhance its capabilities in that area, JFrog has just released its new Artifactory Query Language (AQL) to help programmers, developers, and quality assurance teams using its repository to track deployed software executable binaries and their associated artifacts regardless of the platform on which they are resident: embedded MCU, wireless IoT device, mobile smartphone, laptop, desktop, or network server.
AQL takes advantage of the inherent database structure of its repository to allow flexible, precise, and lightning fast queries across the entire development environment, which is essential in the new network environment. “Software enterprises often generate many artifacts," Simon said. "At each stage of the process, everyone who touches the code, from developers to DevOps to QA teams, needs a way to search for these artifacts and get results quickly.”
Simon also said great care was taken in creating a flexible query language that supports unlimited search criteria to identify exactly the artifacts that are required. At the same time they took care to make it easy to use across a broad range of programmers and developers. "We think the syntax we have come up with is a syntax that simplifies formulation of complex queries that specify any number of search criteria, filters, sorting options, and field output parameters. We also make use, when possible, of a RESTful API, which uses data streaming to provide output data, resulting in extremely fast response times and low memory consumption."
To further enhance its usability JFrog is continuing to add a variety of front end software ‘containers’ for various programming environments, the most recent of which is one for Docker, an open-source platform that provides an additional layer of abstraction and automation relating to operating-system-level virtualization on Linux.
If a company of any size expects to participate in any significant way in the new Internet environment of both people and things, they will have to get used to the concept of continuous delivery. But that requires a software engineering approach that allows software upgrading very quickly so that it can be reliably released at any time. "We think the binary repository approach is going to be the best way for companies to do that and participate in this new and fast changing connected environment," said Simon.
文章评论(0条评论)
登录后参与讨论