Category

Blog

EdgeX Foundry Member Spotlight: ZEDEDA

By | Blog, EdgeX Foundry

The EdgeX Foundry community is comprised of a diverse set of member companies that represent the IoT ecosystem. The Member Spotlight blog series highlights these members and how they are contributing to and leveraging open source solutions. Today, we sat down with Joel Vincent, the Chief Marketing Officer for ZEDEDA, to discuss the power of IoT, edge computing, the reason they recently joined EdgeX Foundry and preview the new demo they are debuting at IoT Solutions World Congress in a few weeks.

What does your company do?

Quite simply, ZEDEDA is building an applications services platform for the cloud-native edge. Our vision is to free cloud apps and allow any app to run anywhere on any device. As edge computing expands beyond the constraints of embedded computing, ZEDEDA effectively completes the cloud.

Why is your company investing in the IoT ecosystem?

IoT and the world of Edge Computing is not just expected to be orders of magnitude larger than the cloud itself, it’s going to be a world of inter-networked, multi-vendor, multi-owner, hardware diversity. We haven’t seen anything like this since the advent of TCP/IP itself. How do you get this diverse universe of computing working together to allow businesses to use the edge to evolve?  It’s going to require multi-vendor cooperation, open source efforts, and universal standards built around an IoT ecosystem.

How has IoT impacted your company? What benefits have you seen or what do you expect to achieve?

The forces that made the Internet of Things possible gave rise to the fundamental technologies that made ZEDEDA possible. Compute power continues to shrink in size and cost and increase in capabilities. It was only a matter of time before compute power that was once considered server-class was small enough, powerful enough, and cheap enough to be embedded in everyday devices that even a consumer can afford. That meant a new compute orchestration layer was required. That’s where we came in. In fact, we couldn’t have created ZEDEDA 3 or 4 years ago. Computing technology and IoT have advanced that quickly.

Why did your company join EdgeX Foundry?

EdgeX Foundry represents an opportunity to collaborate with other thought leading companies in edge computing and really make an open edge framework a reality. With a vision of apps running anywhere, on any device, over any network the goals of EdgeX Foundry aligned perfectly with our vision and mission for the future of computing.

How are you going to use the framework?

For us and the orchestration of the edge virtualization requires apps to view, understand, and address hardware in a standard fashion. Initially on of the most difficult things to orchestrate is how an app accesses the hardware resources its running on and with the diversity of hardware a framework defining how resources are handled and abstracting the “sausage making” away from the app development so that any app can address any hardware resource is a major key.

So our first effort, which we are demonstrating at IoT Solutions World Congress 2018 is how to get the EdgeX microservices deployed on thousands of devices that are geographically distributed in a simple, repeatable, and secure fashion. Once enabled, an app build to the EdgeX framework will be able to “work” on the hardware we’ve enabled.

Where do you see enterprise and industrial IoT in 20 years?

You won’t see it. It will just be. Everything will be connected, the cloud will be ubiquitous (seamless between the cloud we know today and the edge that is being built in a standard fashion tomorrow), and from this how we experience the world will be completely different. You will EXPERIENCE IoT in everything you do, but you won’t see a damn thing!

Seeding an Open Marketplace for IoT Edge Computing

By | Blog, EdgeX Foundry

Guest post by Jason Shepherd, EdgeX Foundry Chair of the Governing Board and Dell IoT and Edge Computing CTO

Hello Members and Friends of the EdgeX Community,

I hope you’ve had a great summer with friends and family. As we head into some big project announcements at IoT Solutions World Congress (SWC) in Barcelona from October 16-18, I wanted to take the opportunity to make sure you’re aware about a few member opportunities.

First, a quick update on the project momentum. We’re seeing a big ramp in the number of unique code contributors on the heels of the switch to Go Lang for the baseline reference implementation in our recent ‘California’ release. We’re now approaching 70 as of this month. Net-net, more and more people by the day are seeing the benefits of our approach to facilitating greater interoperability at the IoT edge!

As a result, some very large names will be announced as new project members at IoT SWC on October 16. We see many more on the horizon as the word continues to spread and the community meets commitments on delivering a high quality foundation to facilitate interoperability across the complex IoT landscape.

The community has chosen to organize around an October/April semi-annual release cadence, so the Delhi runway is a little shorter. Still, we’re going to see some major enhancements including the first management features, more security enhancements, C and Go Lang-based Device Service SDKs and a reference GUI for demos and simple deployments.

The latest project overview deck including more on progress to date and where we’re headed can be found here.

Other big news at IoT SWC will be the impending release of Delhi code, the launch of our community demonstrator to showcase the value of the project and enable future plug-fests and hackathons, EdgeX developer kits and more Vertical Solution Working Groups (VSWGs). I’ll focus on the latter two for the rest of this project update.

EdgeX-enabled Dev kits

The IoT journey often starts with an aspirational view seeded through a simple PoC to work through architectural and business model considerations before scaling up into deployment. Low-cost developer (dev) kits comprised of a board, collection of pre-integrated sensors and integration with an IoT platform stack are great tools to enable software developers to quickly prototype their ideas with a “fail fast” mentality.

However, the plethora of dev kits out there typically lock the developer into a particular backend platform or cloud. In comparison, kits based on the EdgeX Foundry framework will provide developers with complete freedom of choice, backed by the vendor-neutral EdgeX APIs that bind together choice of devices and applications regardless of protocol, OS, or underlying hardware used.

These dev kits and associated plug-in value-add will give developers confidence that they can prototype with their choice of ingredients while taking advantage of plug-in components from the growing EdgeX ecosystem. And perhaps more importantly, they’ll be able to readily swap out elements later as they optimize their solution and ramp into production and day to day operation.

In all cases these EdgeX dev kits will enable developers to innovate rather than reinvent. The following is a high-level summary of benefits specific to two key personas:

Benefits for end-user developers:

  • Get started developing your IoT solution at a low cost of entry while maximizing options from edge to cloud and minimizing potential for vendor lock-in
  • Facilitate integration and build/buy/partner decisions by tapping into the open ecosystem
  • Have confidence that the foundation of your PoC efforts has staying power due to backing from a growing, vendor-neutral community

Benefits to developers with IoT ecosystem providers (e.g. Device Makers, OEMs, ISVs, SIs):

  • Realize drag from end-user developers earlier in their PoC efforts without having to support myriad custom integrations with your commercial offerings
  • Grow your business faster via the network effect stemming from an open ecosystem with transparent and trusted security and manageability
  • Influence the development of an open commercial marketplace for EdgeX-certified components

More detail can be found in the overview deck. As highlighted, there will be community and commercial tracks for the dev kits. For options in the community track the bill of materials will be purchased independently online, code downloaded straight from a special repository on the project GitHub and questions answered through forums like the EdgeX Rocket Chat. We’re going to start small here and let the open source contributions grow organically.

The commercial track will provide EdgeX members with the ability to seed the emergence of an open marketplace for IoT edge computing. In turn, this will afford end users with attractive options to get started with professional support so they can focus on their preferred value-add instead of working with open source code.

The dev kit program will also help shape the definition of the formal certification program within the EdgeX project targeted for launch with the ‘Edinburgh’ code release in April 2019.  This program will enable anyone to certify that their proprietary offer is “EdgeX-compliant” based on following the specified set of interoperability APIs in Core Services regardless of additional IP added.

 

This is why the project is called “EdgeX Foundry” instead of the obvious “Edge Foundry” – the “X” allows the name to be trademarked. Imagine that “X” on your website which gives your customers comfort that you’re part of a broader, interoperable and trusted ecosystem. Stay tuned for more on this front and we welcome you to get involved in the certification planning working group!

Getting back to the dev kits, there will be several options available to you as a Technology or Services provider in the commercial track:

  1. “Core”: Offered by a provider who’s supporting the baseline EdgeX framework in a ‘Red Hat’ model while ultimately being completely neutral to all value-add such as hardware, OS, connected devices, analytics, security enhancements, platform, cloud, etc.
  2. “Platform”: A kit linked to a specific IoT software platform or cloud, enabling the customer to dive right in with your offer while still being able to take advantage of the ecosystem of plug-in EdgeX value-add
  3. “Plug-in”: Discrete plug-in value-add for devices/sensors, analytics, database, security, management, etc.

The benefit here is the network effect, for example if you offer an IoT platform you don’t need to support the baseline open source EdgeX framework if you don’t want to. Instead, you could partner with a “Core” commercial dev kit provider and simply support an Application microservice for your platform that complies with the APIs in Core Services while leveraging the communication protocol of your choice (standard or proprietary).  In another example, you might be a sensor maker who only supports Device Services in your chosen protocol and programming language (plugging into others’ “Core” and “Platform” dev kits), and so forth.

In order to participate in the dev kit program simply get going with the EdgeX code to develop your offer, establish your preferred commercial terms and contact pr@edgexfoundry.org to let the Linux Foundation team know your plans no later than October 5 if you want to be included in the IoT SWC press release.  More information will be available publicly closer to the announcement.

Note that we’re limiting the benefit of advertisement of commercial dev kit offers through official EdgeX channels to EdgeX project members at this time in order to limit scope while we perfect the process. This ultimately leads to an open commercial marketplace, so get in early and ride the wave!

Vertical Solution Working Groups

The Vertical Solution Working Groups (VSWGs, led by Samsung) are an important function within the EdgeX Foundry project.  We’ve had groups for Smart Factory (Samsung) and Oil and Gas (NOV) for some time to work through the process and are now ready to start ramping more groups to accelerate the strong foundation we’ve built to date. The VSWGs serve several important purposes:

  • Developing unique requirements and code contributions for their respective markets
  • Feeding requirements back into the EdgeX core working groups to optimize the baseline framework to be suitable for as many use cases as feasible spanning Industrial to Enterprise to Consumer, including B2B2C crossover in the domains of retail, healthcare, insurance, utilities, etc.  After all, the true promise of IoT is bringing together a system of systems, and what better way to span private and public domains than an open interoperability framework!

We welcome any member to volunteer to lead a new VSWG or join one already in flight. It’s a great way to demonstrate thought leadership while making sure the EdgeX foundation has the right features and specific extensions for the verticals and use cases that matter the most to you.

We’ve talked with members that are considering working groups around Buildings, Retail, Transportation, Healthcare, Smart Cities and Smart Homes so if any of these areas or others interest you, join on in, or create one for another domain! It’s a low time commitment to help speed up time to revenue in your respective space, not to mention learn from and influence others focused on the same space through open, vendor-neutral collaboration.

To learn more or start a new VSWG please email EdgeX-TSC-Vertical-Solutions@lists.edgexfoundry.org.

Exciting times ahead!

In closing, we have a lot of great things going on as a community just 16 short months since we launched the project, and we’re just scratching the surface of the opportunity ahead. Our future is bright, let’s really put on the gas as we head into the tail end of 2018!

Regards,

Jason Shepherd

Chair of the Board, EdgeX Foundry

EdgeX Foundry Member Spotlight: Linaro

By | Blog, EdgeX Foundry

The EdgeX Foundry community is comprised of a diverse set of member companies that represent the IoT ecosystem. The Member Spotlight blog series highlights these members and how they are contributing to and leveraging open source solutions. Today, we sat down with François-Frédéric Ozog, Director of the Linaro Edge & Fog Group, to discuss open source, the edge, the impact EdgeX has made in their business and what the future holds for the company.

What does Linaro do and what is your role within the company?

Linaro gathers Arm ecosystem partners and leads collaborative engineering efforts. It helps companies work with the latest open source technology, build support in upstream projects, ensure smooth product roll outs and reduce maintenance costs. It is a major contributor to more than 70 open source projects and is consistently listed as one of the top five contributors to the Linux Kernel. I lead the group that focuses on the Edge & Fog upstream projects such as EdgeX Foundry and the Akraino Project.


Instead of duplicating efforts, Linaro members share development costs of core platform technologies to accelerate innovation and time to market. Linaro segment groups (Data Center & Cloud, IoT and embedded, Edge & Fog, Consumer) tackle market specific requirements. The IoT and Embedded group is focused on the things themselves with Zephyr Real Time OS while the Edge & Fog group is dedicated to solving gateways and edge computing nodes.

Why is your company investing in the IoT ecosystem?

The success of IoT relies on economically efficient solutions. This assumes software shall transparently leverage any available hardware features across processor architectures and models. Linaro and its members are collaborating to maintain Arm leadership and promoting cross architecture support.

Businesses currently have to invest a lot of time and energy into developing their own edge computing solutions. What are some of the business or technical challenges you have faced when adopting edge computing technologies? How have you overcome them?

There will be multiple edge stack solutions at least for regulatory reasons: a manufacturing edge gateway does not have the same regulatory constraints as an automotive edge node. Furthermore, a single node may host a number of stacks with different orchestration environments. From a feature perspective it makes no sense to unify all stacks and orchestration solutions. As a result, Linaro is building a common platform software substrate that can be used by all stacks and all orchestration solutions to simplify overall ecosystem control.

Why did your company join EdgeX Foundry?

Linaro sees EdgeX Foundry as an important edge stack that can be applied in a wide range of use cases. As a result, Linaro members want to ensure the stack can benefit from efficiency advances of any Arm processor providers to ensure best TCO.

If you’re interested in Linaro, Linaro Connect will take place on September 17-21 in Vancouver. Below are the edge-related tracks and the link to register: https://connect.linaro.org/register/.

Edge computing:

The Networking of Edge Computing and Edge Stack on Arm Platform  

The practice of Contiv/VPP high performance container networking solution on Arm platform

Network switches and TSN configuration

LEDGE/Automotive reference platform

System Firmware and Device Firmware Updates using Unified Extensible Firmware Interface (UEFI) Capsules

Edge AI with Linaro

A Call to Action: Accelerating Python with FPGAs

Security:

BoF: IOT Security with Arm OSS

Isolation using virtualization in the secure world

EB corbos and the L4Re microhypervisor: Open-Source Automotive Safety

Xen on ARM for embedded and IoT: from secure containers to dom0less systems

Containers in Embedded

Securing the Edge with EdgeX Foundry’s California Code

By | Blog, EdgeX Foundry

The recent EdgeX Foundry release, “California”, was the first to introduce security features built right into the platform. Operating on the edge means deploying hardware and running software outside the confines of well managed data centers, making IoT devices more vulnerable to exploitation by hackers. Our new security features make it easier to keep your data safe even when deploying solutions in insecure or untrusted environments.

The two new security services introduced in this release are the Security Secret Store, and the Security API Gateway. Between them they allow you to safely store sensitive information, such as encryption keys or authentication credentials, and restrict access to the data being processed by EdgeX to only authorized users and applications.

Security Secret Store

The Security Secret Store allows microservices to safely store and retrieve sensitive data that is only accessible after the secret store has been unlocked by an authorized service. Your secrets are encrypted both on disk (Consul backend) and during transport (TLS 1.2) to and from the Security Secret Store, ensuring that only the microservices that are authorized to access it can do so.

EdgeX Foundry uses Vault, by Hashicorp, as the reference implementation of the Security Secret Store. Vault provides a well tested secret storage solution with a failover architecture and flexible levels of control over access.

Security API Gateway

EdgeX Foundry is composed of a number of microservices that communicate with one another using standard networking protocols. This allows for a great amount of flexibility in how you deploy parts of the stack in your solution, but it also directly exposes the microservices to anybody who can connect to them. The new Security API Gateway provides a way for you to restrict outside access to your data by acting as a middleware between external applications and the EdgeX platform, requiring authentication before forwarding commands or read requests on to the relevant microservices.

EdgeX Foundry uses Kong as the reference implementation for the Security API Gateway.

For more information:

If you have questions or comments, visit the EdgeX Rocket.Chat and share your thoughts in the #community channel.

Part 2: The Evolution of EdgeX’s User Interface

By | Blog, EdgeX Foundry

Written by Vinoyang, EdgeX Foundry Technical Contributor and Tencent Big Data Engineer

This is the second part of the EdgeX User Interface blog. The first part of the blog focused on the work that was recently completed. You can read part 1 here. This blog will detail where we are now and where we’re headed with the next code release, named Delhi, later this year.

This blog will be divided into several sections:

1. Prepare for the participation of the community;

As mentioned earlier, the structure of the project is standardized, the details of the README file are enriched, the Make file is provided to improve the ease of use of the project, and the ongoing integration is to verify the validity of the community PR, etc..  All of this work helps insure we are ready to accept contributions from the EdgeX community.

Regarding continuous integration, I have been communicating with Jeremy Phelps of EdgeX Foundry’s DevOps working group. As with all of EdgeX, we hope to use Jenkins as the continuous integration tool for the new UI as well. In addition, we will integrate code quality inspection tools to protect the edgex-ui-go code quality.

2. Persist the data to the database and lay the foundation for subsequent database switching

As mentioned above, the data storage method implemented by edgex-ui-go is simple and a bit crude. It caches data in memory. As we all know, memory is volatile, and once power is lost, all data will be lost. Therefore, we must provide data persistence capabilities for the edgex-ui-go. We hope that the logic of edgex-ui-go maintains a loosely coupled relationship with its database, which will allow edgex-ui-go to switch between different databases according to user needs. So we implemented a data access interface (DAO for existing domain objects), and those who have worked on Java Web development should be familiar with this design pattern. Currently, I am developing a DAO implementation that interfaces with the  MongoDB database.

3. Using a classic three-tier architecture for the web backend

“Control/service/dao” is a classic three-tier architecture for Web backends. Its advantage is to implement a layered structure. We are also refactoring the code to use this design pattern.

4.  Reliable login verification

As we all know, security is a big problem that the Internet of Things faces. EdgeX Foundry also believes security is important. The TSC F2F conference in early June focused on security issues. The Edgex UI landing page may be one of the first and most critical interfaces for users to interact with EdgeX. So, we have to make sure that edgex-ui-go has a logical login authentication function.  I will be working with David Ferriera, chair of the Edgex Security Working Group to select and use one of multiple alternatives to provide user authentication.

5. Integration testing with the GoLang version of the microservices released by EdgeX California

The California version of EdgeX has been released.  The entire EdgeX Foundry community is excited, because this is the first version of EdgeX based on GoLang implementation (I was fortunate to have been a big participant in the development of the first version of EdgeX in GoLang). edgeX-ui-go is currently integrated to the old Java version of the EdgeX microservice. In this next refactoring effort , we are integrating and testing edgex-ui-go with the GoLang microservices. This will help improve consistency, integrity, stability and availability of the entire EdgeX ecosystem in GoLang.

6. Build a Docker image of edgex-ui-go

As with all EdgeX microservices, we need to containerize the edgex-ui-go for easy of deployment.  However, this is a lesser priority in our current work.

7. Fix some remaining bugs

At present, most of the base UI is working, but there are a few bugs to fix.  For example, the device profile cannot be upload as required, but we are working to solve these issues.

The EdgeX UI as part of the Delhi Release and Future Work

So what’s the plan for formally releasing the new UI?  The current work – and all the refactoring, is expected to be released with the Delhi Release of EdgeX (October 2018).

Beyond the current release there is more work to complete.  First, we want to push the front end of edgex-ui-go. At present, the front end of edgex-ui-go can be said to be very rudimentary, and data visualization capabilities are very limited. Currently I am researching and experimenting with an open source and powerful admin template named gentelella. Here is an example of the type of data visualization that gentelella can produce.

The reasons for using this type of UI tool are as follows:

  •      A feature-rich, elegant interface UI that will give user a good first impression of edgex
  •      Easy to use; which is important in a community were very few community members have professional front-end development experience, and most people only have experience in developing back-end languages
  •      A popular template capability that can save a lot of front-end workload, such as interface layout, settings, components (such as login, table, forms, uploads, downloads, etc.), and is created by many people with professional experience

We also hope to add support for more management and visualization of EdgeX itself. At present, edgex-ui-go provides only simple support of device onboarding, export client registration, rule configuration and other functions.  We hope to provide more and improved management capabilities to include better metadata management, scheduler management, log viewing, and more. At the same time, we expect to collect more EdgeX user needs for monitoring and visualization and incorporate those needs into future implementations.

Edgex-ui-go is part of the community effort. If you want to participate in EdgeX UI development, we welcome your comments, suggestions, bug fixes, code contributions and reviews. Find out more on our wiki page here

Or, you can visit EdgeX Rocket.Chat and share your thoughts in the #community channel.

Part 1: The Evolution of EdgeX’s User Interface

By | Blog, EdgeX Foundry

Written by Vinoyang, EdgeX Technical Contributor and Tencent Big Data Engineer

This is a two-part blog that introduces a User Interface project in the incubation area of the EdgeX Foundry. This first blog post will disclose some of the work that was recently completed. The second blog will detail the latest developments and plans for this UI project in the future.

edgex-ui-go Refactoring

First, I’d like to thank Huaqiao Zhang from VMware for providing a Java version of the implementation of EdgeX UI. This was a huge milestone as it provided EdgeX with its first user interface:

Based on discussions with him, we decided to follow the EdgeX Foundry direction and use GoLang for the backend EdgeX UI’s operations. This  allows it to more easily operate in more resource constrained IoT edge environments. In fact, Huaqiao recently completed work on an initial GoLang implementation. A screenshot from Github of the initial Go implementation is below.

This version basically matches the capabilities provided by the original Java version. After he provided the initial version, I made a holistic and comprehensive review of the entire project. There were some areas for improvement with the initial version and work that needed be done before the work is ready to be accepted by the community. Here is a list of the improvements that needed to be made:

  • The overall layout and directory structure of this project is not a general practice of GoLang
  • There are common project code normative issues: such as hard-coded, annotated code, inconsistent code format, etc.
  • The project’s README file does not have a detailed description of the project, such as installation, deployment, compilation, and operation instructions
  • Mixed use of console printing and logging
  • Relevant information is stored in memory (volatile storage) and does not provide a database-based implementation
  • Missing a real login verification implementation
  • Lack of continuous integration to support validation of PR validity

Much of the work came from the fact that we first concentrated on simply converting the Java version to GoLang version.  As with much of the EdgeX development team, Huaqiao has just begun to learn the Go language and there was also work to do in order to bring the code into alignment with standard Go idioms, design and practices.

Overall, we corrected more than 25 issues (there are still more than 15 issues that are not outstanding). Now the code base looks like this:

Importantly, we also worked to simplify the getting, building and running of the new UI.  Now even a new EdgeX UI user, one who is completely unfamiliar with GoLang, can run a local version of EdgeX-UI by using a series of make commands.

This simplicity was not there in the initial version.

This blog focused on providing a version of the Golang implementation for edgex-ui and refactoring it so that it matches the functionality of the original Java version but looks more like a Golang project. We’ve made significant progress but the work isn’t over yet. In part 2 of this article, which will post next week, I’ll  introduce where we are now and where we’re headed with the next code release named Delhi later this year.

If you have questions or comments, visit the EdgeX Rocket.Chat and share your thoughts in the #community channel.

Welcome California!

By | Blog, EdgeX Foundry

Written by Jim White, Vice Chair of the Technical Steering Committee and Distinguished Engineer and Project Lead of the IoT Platform Development Team within Dell Technologies IoT Solutions Division

The second major release of EdgeX Foundry is now available!

While EdgeX is only a year old, our community is demonstrating its staying power with the second major release in its first year.  The California release, which follows Barcelona, shows the commitment and dedication of many who see the importance and potential of developing a flexible, open source, IoT software platform for the edge that provides connectivity and interoperability while still allowing value add.

So, what is new with the California release?  A lot! But before we get into the details, I want to highlight that the biggest focus of this release was to introduce a few key security capabilities and to make EdgeX smaller and faster.

Security

EdgeX began its existence without security and organizations wanting to leverage the platform had to add their own security capability. Today, EdgeX incorporates some of the first security elements.  These initial elements, while useful on their own, are essential building blocks to additional security features in the future.

The first security elements include a reverse proxy that helps protect the REST API communications and a secrets store.  With the EdgeX reverse proxy in place – as provided by incorporating an open source product called Kong – any external client of an EdgeX micro service must first authenticate themselves before successfully calling on an EdgeX API.

The secure storage facility was provided by incorporating the open source Vault (Hashicorp) product, and it allows items such as username/password credentials, certificates, secure tokens, etc. to be persisted and protected within EdgeX.  These types of “secrets” will allow EdgeX to, for example, encrypt data, make HTTPS calls to the enterprise, or connect EdgeX to a cloud provider in a secure manner.

Performance and Scalability

The EdgeX Foundry Technical Steering Committee decided early last year in the project’s formation that we would release twice a year – once in April and once in October.  You probably noticed that it’s not April.

Last year, we decided that EdgeX needed to be smaller and faster to better function effectively at “the edge”, which the largely-Java code from the seed donation was going to make difficult. To do this, we needed to rebuild the EdgeX microservices in Go Lang – and do so by our spring 2018 release.  This was not a small endeavor and it was made at a time when the EdgeX Foundry developer community was just coming on board.  We knew it would take a bit more time, but we were committed to this, and added two more months to this release cycle.

The extra time was well worth it!  With the California release, we’ve dramatically lowered the footprint, startup time, memory and CPU usage. Take a look at the statistics below, which compares services from our first community release last October (Barcelona) to our current release (California).

We still have work to do, but it’s now possible to run all of EdgeX on something like a Raspberry Pi 3.

Additional Features

In addition to the initial security capabilities and reducing the size and latency of the platform, this release includes other work – some visible to the user while some features are more hidden but improve the overall quality of EdgeX.

  • Several additions were made to the export services to provide additional “northbound” connectivity, to include connectors for XMPP, ThingsBoard IoT, and Brightics IoT
  • We improved the documentation and now have documentation stored with the code in Github – allowing it to be maintained and updated more like code by the community
  • Arm 64 is now fully supported.  In fact we worked with the Linux Foundation to add external environments and tools to create native Arm 64 artifacts.
  • We added blackbox tests for all the micro services.  These are now kicked off as part of our build and continuous integration processes.
  • Other improvements were made to our continuous integration – to help streamline developer contributions

We invite you to try out the California release today (Docker Compose file here)!  

On to Delhi

Our next release, named Delhi, will come out in October 2018.  Due to the extended release cycle for California, the Delhi release cycle is going to be short. The significant features planned for Delhi include:

  • Initial manageability services and capability
  • Device Service SDKs (Go/C) and at least one example device service
  • The next wave of security features to include access control lists to grant access to appropriate services and improved security service bootstrapping
  • Better/more unit testing and added performance testing
  • Adding the last of the refactored and improved Go Lang microservices
  • Outlining options and a potential implementation plan for alternate or additional database support
  • An EdgeX UI suitable for demos and smaller installations

Come join us!

We would like to thank the talented men and women who are working very hard to turn the vision announced when the EdgeX project launched in April 2017 into the product we see emerge and improve with each release.  In the past six months, we have seen the number of unique authors contributing to the project code base double to more than 50. We hope you’ll consider joining our growing development community to build on this momentum by contributing to the Delhi release as well as using EdgeX in your edge/IoT solutions!

If you have questions or comments, visit the EdgeX Rocket.Chat and share your thoughts in the #community channel.

Spreading EdgeX Foundry News in Asia

By | Blog, EdgeX Foundry

Written by Jim White, Vice Chair of the Technical Steering Committee and Distinguished Engineer and Project Lead of the IoT Platform Development Team within Dell Technologies IoT Solutions Division

Over the past couple of weeks, I have been traveling to China and Japan to attend the LinuxCon/Container Con/CloudOpen (LC3) conference in China as well as IoT meetups for EdgeX Foundry in Beijing and Tokyo.

As the name of the LC3 implies, it was actually 3 conferences in one and thus a full venue of keynotes, sessions and events spread over 3 days.  I was impressed by the overall scope and attendance of the conference. While there was a predominance of Chinese companies and speakers as one would expect, this was a global event with attendees and speakers flying into Beijing from all over the world.

Speaking at the LC3 show were the likes of Linus Torvalds, Chris Aniszczyk (Cloud Native Computing Foundation – CNCF COO), Abby Kearns (Cloud Foundry Foundation Executive Director), Dan Kohn (CNCF Executive Director), and Alan Clark (director for openMainframe and member of the CTO office at SUSE).  I presented a talk to around 50 attendees about using a microservice architecture to address the needs of edge computing – using EdgeX Foundry as an example. You can view the presentation here.

In addition to my talk on microservices and EdgeX, there were 11 talks over the three days in the IoT & M2M track.  A few of the ones I found interesting were:

Tiejun and his team are doing great work on all sorts of IoT-related matters.  I had a chance to visit with them at the VMware Beijing office and got to see one of his experimental robots using EdgeX!

Tiejun also played an integral role in orchestrating an EdgeX Foundry Meetup to occur simultaneously with LC3 – giving even more awareness to EdgeX in China.  Around 40-45 people showed up at the Meetup to hear a great roster of speakers share their experiences with our open source project and EdgeX Foundry member The Zephyr Project. In fact, Professor Yonghua Li from Beijing University of Posts and Telecommunications (BUPT), which is a member of both EdgeX and Zephyr, brought a few of his students along so they could discuss how they are using the EdgeX framework and the Zephyr RTOS in their IoT solutions. You can read more about their work in this blog post.

Another one of the speakers was Huaqiao Zhang from VMware (pictured below) speaking about the EdgeX UI he recently contributed to the project. This will be released with the Delhi release in October. Check out the roadmap.

For those not keeping up on all the EdgeX Foundry news, the Industrial Internet Consortium, (IIC) recently announced the formation of the first Optimizing Manufacturing Processes by AI (OMPAI) testbed and it will be led by Wanxiang Group out of China. Read the blog post here.

China is a global leader in machine-to-machine (M2M) technology, which allows devices to wirelessly exchange information and execute tasks. M2M connections can communicate in various ways, including Wi-Fi, Bluetooth, and cellular. Interoperability is an important piece to this puzzle and I think that’s why there was so much interest in EdgeX Foundry in China. We hope to continue working with our members in China like VMware and the Wanxiang Group to coordinate more meetups and continue spreading awareness for EdgeX Foundry through WeChat. If you would like to be added to the EdgeX Foundry WeChat group, please email info@edgexfoundry.org with your WeChat ID.

Next on the Agenda: Tokyo

While in Japan visiting with a number of Dell Technologies customers, I had the pleasure of presenting at a Tokyo EdgeX Foundry Meetup.  Around 50 people were at this event – making it the most well attended EdgeX Meetup at which I have had the pleasure to present. Even more impressive was the fact that more than half my audience had been up since 3 am that morning to watch the Japanese national team in elimination round of the 2018 World Cup!  Interest in IoT is palatable in Japan – especially for use in the manufacturing sector.

 

The desire to learn more about edge computing and EdgeX Foundry was considerable from the Tokyo IoT crowd with the Q&A portion of my talk lasting almost as long as the talk itself.  The Q&A discussion even spilled over into a great drink/appetizer social afterwards. It was truly an engaging group and a fun afternoon.

Questions from this community included:

-Why did EdgeX chose Go? Because of its multi-platform support, ability to compile to a native executable and run small/fast and its concurrency model among other reasons

– Is EdgeX Foundry involved in standards work? EdgeX Foundry community members are actively involved with Industrial Internet Consortium (IIC), OpenFog Consortium, IEEE and many other industry and consortia groups and will work to be an implementation of edge standards we think are beneficial to the space, but we are not trying to get EdgeX to be a standard.

– Are EdgeX and Edgecross related projects? The Edgecross Consortium is a Japanese-based organization that is currently working on a Windows-based edge platform that members of our community continue to have discussions with, but there is no relation between the two projects today.

Next year, The Linux Foundation announced LC3 will simply be called Open Source Summit China, which will be held in Shanghai. If you’re interested in IoT, open source and more, put the Open Source Summit China or Open Source Summit Japan on your conference list.  I don’t think you’ll be disappointed in what you’ll see and learn there.

If you have questions or comments, visit the EdgeX Rocket.Chat and share your thoughts in the #community channel.

Michael Hall Joins EdgeX Foundry

By | Blog, EdgeX Foundry

Written by Michael Hall, Project Evangelist and Developer Advocate for EdgeX Foundry

This week, I began a new chapter in my career by joining The Linux Foundation as a developer advocate and community manager for the EdgeX Foundry, an open platform for IoT edge computing.

I started using open source before I even knew what it was. Perl was my first programming language, and so installing libraries from CPAN became a routine task (as well as a routine challenge on SunOS). I posted my first open source code on SourceForge soon after, still thinking of it as a way for hobbyists to share their hobby, but not as something serious developers or companies would do. I still remember the feeling I had when Netscape announced that the next version of their browser, Netscape Navigator 5, would be released as open source. As a web developer in the late 90’s, Netscape was the killer app, the king of the hill, the virtual monopoly that was leaps and bounds ahead of IE4. For them to release their source code in a way that let other people see it, copy it, even improve on it, was revolutionary. And it changed forever the way I thought about open source.

Of course, anyone who lived through those turbulent times knows how that Netscape 5 story actually turned out, not because it was open source but because of business decisions and buyouts (thanks AOL!) that kept pulling the development one way and then the other. But my own journey into open source was much more straight forward. I dove in completely, releasing everything I could under an open license, using as much openly licensed software as possible. I bought (yes bought) my first copy of Linux from Best Buy in 1999, and switched my desktop permanently in 2006 when Canonical mailed me a free CD of Dapper Drake. Five years later I would join Canonical myself, and eventually land on the Community Team where I was building new communities and growing existing ones around Ubuntu and all its upstreams and downstreams. Last year, I was doing the same at Endless Computers, bringing the benefits of open technology to users in some of the most remote and disconnected parts of the world.

So, having the opportunity to join the Linux Foundation is a dream come true for me. I’ve seen first-hand how collaboration on common technology leads to more and better innovation across the board, and that is the core idea behind the Linux Foundation.

I’m excited to be joining EdgeX Foundry, which will play a crucial role in developing the way the rapidly expanding number of IoT devices are going to connect and communicate with the already massive cloud ecosystem. I will be working to improve the way new developers get started using and contributing to EdgeX Foundry, as well as teaching new organizations about the benefits of working together to solve this difficult but shared problem. I look forward to bringing my past experiences in desktop, mobile and cloud developer communities into the IoT space, and working with developers across the world to build a vibrant and welcoming community at the network edge.

Follow me at @mhall119  and stayed tuned at @EdgeXFoundry for more. Or, if you have questions or comments, visit the EdgeX Rocket.Chat and share your thoughts in the #community channel.

University Students Leverage EdgeX Foundry and Zephyr OS in New Projects

By | Blog, EdgeX Foundry

Written by Professor Yonghua Li with Beijing University of Posts and Telecommunications (BUPT) and active EdgeX Foundry and Zephyr Project member

The Beijing University of Posts and Telecommunications (BUPT) recently became new members of EdgeX Foundry and the Zephyr Project but students studied both projects long before then. In fact, students are currently working on IoT projects that are based on these open source technologies.

The first project uses the EdgeX platform (using the Java micro services) running on a Raspberry Pi. EdgeX Foundry core, supporting and export micro service artifacts were created in Eclipse using Java Maven.  Docker containers were created around the micro service artifacts and deployed to the Pi running Ubuntu 16.04 Linux using Docker Compose. In addition to the EdgeX export, core, and supporting micro services, the students choose to build and deploy an MQTT based device service to ingest sensor data into EdgeX which utilized CloudMQTT as the underlying broker.

For this project, the students used a random number generator to simulate sensor data on the Pi.  The simulated sensor data was passed in with an MQTT messages through the device service (again utilizing CloudMQTT) while receipt messages were sent back out from the device service through another MQTT pipe.  Because of CloudMQTT’s WebSocket user interface, students could easily view the JSON-wrapped random number data enter EdgeX as well as be acknowledged by EdgeX – demonstrating the successful establishment of an IoT edge platform.

EdgeX Foundry uses the random number as messages through the MQTT Microservice, passes it to CloudMQTT, and receives the response again through the MQTT Microservice. CloudMQTT’s WebSocket UI allows you to view JSON random number data and send data to EdgeX, demonstrating the successful establishment of it.

The other project aims to develop a Bluetooth-enabled heart rate monitor based on Zephyr OS, which is ideal for resource-constrained systems and small IoT devices. The system implements heart rate measurement for users and transmits the user’s heart rate data to user’s mobile phone via Bluetooth, so that users can monitor his or her heart rate in real-time.

The system is mainly divided into two parts: hardware and software. The main functions of the hardware is data collection, data transmission and data display. The hardware is designed and implemented centered on the Arduino101 development board. On the other hand, the software is mainly used for data conversion and analysis. The development and implementation of software are performed under Zephyr OS.

If you’d like to learn more about the BUPT student projects, we invite you to join the IoT Meetup on Tuesday, June 26 from 6-9 pm at VMware’s office in China. There is no cost for this event but space is limited, so RSVP is required. Register now https://www.bagevent.com/event/1491965   

If you have questions or comments, visit the EdgeX Rocket.Chat and share your thoughts in the #community channel.