Git Product home page Git Product logo

intelligentexperiences.oncontainers's Introduction

Intelligent Experiences On Containers

Hands-on workshop to create containers-based backend platform that exposes async AI services

architecture

Service Build Release
Cognitive Orchestrator Build Status cognitive orchestrator
Cam-Frame Analyzer Build Status camframe analyzer
Crowd Analyzer Build Status crowd analyzer
Core Lib Build Status CoreLib package in Mo.Packages feed in Azure Artifacts
Cognitive Services Helper Build Status CognitiveServiceHelpers package in Mo.Packages feed in Azure Artifacts

Overview

Almost all retail shops already include a networked CCTV cameras all over the store. Why not extend these cameras capability to include some useful intelligence on top of it to improve customers experiences trough innovation and AI.

NOTE: Leveraging and designing AI powered solutions should always adhere to responsible and ethical principles that reflect trust and timeless values. I personally like Microsoft's principles about fairness, inclusiveness, reliability, safety, transparency, privacy, security and accountability. Read more

Crowd Analytics

This workshop walks through the steps to deploy a connected, secure and reliable Crowd Analytics platform leveraging cloud native solution.

Crowd analytics (also known as footfall analytics) is about understanding who (age, gender, emotion,...) visit your location, when and how many.

Crowd analytics scenario can be used in:

  1. Retail shops in many industry (like telecom shops, consumer goods retailers, malls…)
  2. Public and Private Parks
  3. Events
  4. Any many other scenarios

Using advanced cloud technologies can provide key business metrics that allows stakeholders to make informative decisions to improve experience and/or performance.

Open Source and Azure Technologies

azure-tech

Azure already provides a sophisticated platform to develop and operate such system.

Kubernetes became the defacto cloud native technology to develop and operate sophisticated containerized systems anywhere and with Azure Kubernetes Service takes a lot of the cluster management tasks out of your way to focus more on the solution you want to build.

Key technologies used in the workshop include:

  • Azure Kubernetes Service (AKS)
  • Azure Container Registry (ACR)
  • Azure Service Bus
  • Azure IoT Hub
  • Azure Cognitive Services
  • Azure Storage
  • Azure DevOps
  • Power BI
  • and many more

I'm really excited to share with you the great journey I took to build such system.

Workshop Agenda

  1. Dev Environment Setup
    • Visual Studio Code
    • Azure CLI
    • Other tools
  2. Solution Whiteboarding & Architecture
    • Walkthrough the system objectives
    • Review Azure architecture
  3. Creating Azure Prerequisites
    • Resource Group
    • Storage Account
    • Cosmos DB
    • Service Bus
    • Cognitive Service
    • Container Registry
    • Virtual Network
    • Log Analytics
    • App Insights for each app
  4. AKS Cluster
    • Essential kubernetes cluster provisioning
    • Kubernetes cluster preparations
  5. Creating IoT Hub and IoT Edge Device
    • IoT Hub Provisioning
    • Message Routing to Service Bus
    • Device Options
    • Workshop Device Setup
  6. Services Deployment & Testing
    • Connecting to Azure
    • Source Code
    • Continuos Integration
    • Continuos Delivery
    • Testing
  7. Data Visualization
    • Power BI Desktop
    • Connecting to Cosmos Db
    • Query edit and data prep
    • Design the report
    • Publish the report
  8. BONUS Tracks (coming soon)
    • Advanced AKS Provisioning
      • AKS Preview Features
      • Azure AD Integration
      • Helm initialization
      • Node pools (with Windows Pool)
      • Virtual Nodes
      • Application Gateway Ingress Controller
      • Azure Firewall and Egress Lockdown
    • API Management
    • Azure AD Integration
    • Realtime Communication
      • Cosmos DB Change Feed
      • SignalR client communication
    • IoT Edge Deployment
      • IoT Edge on Kubernetes
      • Custom Modules
      • IoT Edge on Raspberry Pi with USB Camera

Suggested 1-Day Workshop Agenda

Topic Duration
Registration and Setup 15 mins
Why Intelligent Experiences? 20 mins
Intelligent Retail - Crowd Analytics Overview 25 mins
Break
Solution White-boarding 30 mins
Lab - Azure Services Provisioning 60 mins
Lab - AKS Provisioning 60 mins
Lunch
Lab - IoT Hub Provisioning 30 mins
Lab - DevOps & Services Deployment 90 mins
Break
Lab - Dashboard & Data Visualization 30 mins
Q and A + Next Steps 30 mins
Bonus Workshop Material (Take home tasks)
Bonus 1 - Advanced AKS Provisioning -
Bonus 2 - IoT Edge Development -

About the project

I tried to make sure I cover all aspects and best practices while building this project, but all included architecture, code, documentation and any other artifact represent my personal opinion only. Think of it as a suggestion of how a one way things can work.

Keep in mind that this is a work-in-progress, I will continue to contribute to it when I can.

All constructive feedback is welcomed 🙏

Support

You can always create issue, suggest an update through PR or direct message me on Twitter.

Contributors

Cognitive-Samples-IntelligentKiosk

Part of this workshop source code is based on Cognitive-Samples-IntelligentKiosk. Visit the GitHub repo to know more about all of the great capabilities of Azure Cognitive Services.

HTML5 UserMedia

Using a webcam through HTML5/JS code based partially on the great demo from DaveVoyles

Author

Photo
Mohamed Saif
GitHub
Twitter
Blog

License

All Intelligent Experiences On Containers documentation and samples are licensed with the MIT License. For more details, see LICENSE

Developer Code of Conduct

The image, voice, video or text understanding capabilities of the Intelligent Kiosk Sample uses Microsoft Cognitive Services. Microsoft will receive the images, audio, video, and other data that you upload (via this app) for service improvement purposes. To report abuse of the Microsoft Cognitive Services to Microsoft, please visit the Microsoft Cognitive Services website at https://www.microsoft.com/cognitive-services, and use the “Report Abuse” link at the bottom of the page to contact Microsoft. For more information about Microsoft privacy policies please see their privacy statement here: https://go.microsoft.com/fwlink/?LinkId=521839.

Developers using Cognitive Services, including this sample, are expected to follow the “Developer Code of Conduct for Microsoft Cognitive Services”, found at http://go.microsoft.com/fwlink/?LinkId=698895

intelligentexperiences.oncontainers's People

Contributors

mohamedsaif avatar mohaom avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.