Oracle has introduced a new release train for the Java platform. Instead of having relatively long lived major releases with no breaking changes, new major releases will now be published every six months. Furthermore Oracle announced that binary compatibility may be broken between major releases. The new model of releasing Java versions together with Java's module system poses new challenges on library authors. This talk explores what this means for the Apache Commons project - a project providing some of the most used libraries in the Java ecosystem.
This talk is about tools and mechanism we developed and used to improve productivity and teamwork in our team (of 6 currently) while developing 70+ operators for Airflow over more than 6 months.
We developed an "Airflow Breeze" simplified development environment which cuts down the time to become productive Apache Airflow developer from days to minutes.
It is part of Airflow Improvement Proposals:
- AIP-10 Multi-layered and multi-stage official Airflow image
- AIP-7 Simplified development workflow
Soon it is going to be default development environment for all Airflow developers hopefully.
I started off my life as a developer writing machine code and C and working on some low-level hardware projects. Then this thing called the internet came along and I moved into the web application space for a couple of decades. More recently I've moved back into commercial IoT development, and not unexpectedly a lot has changed over that time.
In this talk, I'll cover what it's like developing IoT projects. I'll go over the tools you need and the protocols you need to be familiar with. I'll look at how the C language has evolved to what it is today and how to write code that works well on memory constrained devices. I'll go over producing prototypes, rapid development, debugging and testing embedded applications and what and how much electronics you should learn.
Industrial IoT platforms are undergoing rapid shift away from vertically integrated systems built mostly out of embedded software towards an Edge Virtualization Platforms and commodity, cloud native software. While the cloud, big-data, fast-data, machine-learning has been a huge thing in the IT industry for the last years, the production industry was stuck in a proprietary world, dominated by some of the big players. Two open source projects now offer the building blocks for the new platform that can hope to break that proprietary chokehold. Linux Foundation's Project EVE (Edge Virtualization Engine) aims to develop an open and standardized edge container runtime platform capable of orchestrating cloud-native applications across the enterprise, on-premises edge and IoT deployments. It does so by leveraging hardware-assisted virtualization and provides software defined networking and I/O virtualization capabilities to the end user applications running on it.
We use EVE as a runtime for the new Apache PLC4X project that in turn provides a unified API for communicating with industrial controllers via a wide variety of protocols. Besides providing the APIs and driver implementations, PLC4X also provides integration modules to other Apache frameworks such as Apache Edgent, Apache Camel and Apache Kafka that are also supported by the unified EVE IoT edge container runtime. This makes it really easy to integrate industrial controllers into our Open-Source world. Self-optimizing production processes, predictive maintenance, industrial control systems running in the companies cloud. This was all almost impossible until now. With Apache PLC4X and LF Edge EVE it will be easy.