Azure Marketplace new offers – Volume 77

Azure Marketplace new offers – Volume 77

This article is contributed. See the original author and article here.

We continue to expand the Azure Marketplace ecosystem. For this volume, 80 new offers successfully met the onboarding criteria and went live. See details of the new offers below:

Applications

Apache ActiveMQ on CentOS.png

Apache ActiveMQ on CentOS: Websoft9 provides this CentOS virtual machine preconfigured with Apache ActiveMQ for quick deployment on Microsoft Azure.

Bonobo Git Server for Windows Server 2019.png

Bonobo Git Server for Windows Server 2019: Quickly deploy a Bonobo Git Server using this image, preconfigured by Tidal Media Inc. with Windows Server 2019 on Azure. Features include Microsoft IIS support, Active Directory integration, and more.

CLIFE - Digital Twin.png

CLIFE – Digital Twin: Create a digital twin of your factories and analyze your manufacturing data in real time on Azure with CLIFE from Bertrandt AG. This app is available in German and English.

Cloud Consumption and Financial Optimization.png

Cloud Consumption and Financial Optimization: Manage and optimize cloud spending with this total cost of ownership analysis from PwC. Deliverables include analyzing existing services, recommending ongoing efficiency changes, and identifying costs for future workloads.

CoAP Receiver.png

CoAP Receiver: This app allows your Internet of Things edge device to receive Constrained Application Protocol (CoAP) messages. The app supports the Linux ARM 32-bit environment and has the option to convert part of the CoAP message to a JSON document.

DataVisor dVector UML Fraud and Risk Solution.png

DataVisor dVector UML Fraud and Risk Solution: dVector from DataVisor uses machine learning to help financial services and insurance companies identify risks and minimize loss due to fraud from humans or bots.

EcomExperts.png

EcomExperts: This set of apps manages, analyzes, and synchronizes your e-commerce data, allowing you to publish and manage your product catalog across multiple sales channels. These apps are available only in Spanish.

EUGENIO IoT Platform.png

EUGENIO IoT Platform: EUGENIO is a hardware and software platform from PTLS Servicos for the implementation of Internet of Things devices. Accelerate solution development, manage devices, integrate via APIs, and more.

EuVantage for WVD Monitoring.png

EuVantage for WVD Monitoring: EuVantage from Anunta Tech enables monitoring and analysis of your Windows Virtual Desktop environment on Microsoft Azure. Manage applications and virtual desktops across the enterprise.

FarEye.png

FarEye: This software as a service manages logistics operations from the first mile to delivery. Integrate with over 40 logistics partners to organize, track, and optimize operations using predictive analytics.

Fortanix Confidential Computing Enclave Manager.png

Fortanix Confidential Computing Enclave Manager: Verify the integrity of confidential computing environments on Microsoft Azure with Enclave Manager from Fortanix. Features include identify verification, access control, and more.

FTP Server for Windows Server 2019.png

FTP Server for Windows Server 2019: Deploy Azure-based FTP services with this Microsoft Windows Server 2019 virtual machine, customized by Tidal Media Inc. The preconfigured image supports encrypted connections and strong password protection.

Grafana Open Source Edition on CentOS.png

Grafana Open Source Edition on CentOS: Websoft9 provides this CentOS virtual machine image containing a preconfigured installation of Grafana, an interactive analysis application. Define metrics, create visualization dashboards, and more.

hMail - Mail Server on Windows Server 2019.png

hMail – Mail Server on Windows Server 2019: Deploy a preconfigured version of the hMail mail server on a Microsoft Windows Server 2019 virtual machine packaged by Tidal Media Inc. hMail features include web administration, support for Active Directory integration, and more.

Indoor Geolocation Platform.png

Indoor Geolocation Platform: This offering from PwC provides location data for Internet of Things devices, without the need for in-room infrastructure or additional beacons. Create a digital map that locates staff, tracks assets, and visualizes your inventory.

ioTORQ Utility Bill Management (UBM).png

ioTORQ Utility Bill Management (UBM): ioTORQ UBM from Panevo provides the utilities sector with expenditure analysis, dashboard visualization, and automated supplier billing. Manage multiple sites and deploy with ISO 50001 energy management systems.

Jenkins on CentOS.png

Jenkins on CentOS: Websoft9 provides this CentOS virtual machine image containing a preconfigured installation of Jenkins, an automation server used in software development. This package also includes Java, Nginx, and phpMyAdmin.

Mantis Bug Tracker for Windows Server 2019.png

Mantis Bug Tracker for Windows Server 2019: Mantis Bug Tracker is a free, open-source, web-based bug tracking system commonly used to track software defects. This is a preconfigured, quick deployment image from Tidal Media Inc. for Windows Server 2019.

Mattermost - Enterprise Team Chat Server on Ubuntu.png

Mattermost – Enterprise Team Chat Server on Ubuntu: Mattermost is a Slack-compatible, open-source service that hosts secure team communications. It brings messaging and file sharing into one place, accessible across PCs and mobile, with archiving and search.

Metabase on CentOS.png

Metabase on CentOS: Metabase is an open-source, user-contributed database of biological databases. SQL Mode for analysts allows anyone on your team to ask questions without knowing SQL. This image is offered by Websoft9.

Minecraft Bedrock Game Server for Ubuntu 18.04 LTS.png

Minecraft Bedrock Game Server for Ubuntu 18.04 LTS: This Minecraft Bedrock Game Server offer from Tidal Media Inc. is a perfect way to host a Minecraft server for a few friends or to launch a massive effort to re-create your favorite TV show’s world.

Minecraft Java Game Server for Ubuntu 18.04 LTS.png

Minecraft Java Game Server for Ubuntu 18.04 LTS: This specially prepared template powered by Tidal Media Inc. deploys and sets up a customized Minecraft Java Game Server for Ubuntu 18.04 LTS, with you as the operator of a multiplayer server for Minecraft.

Mingdao On-Premise (CentOS).png

Mingdao On-Premise (CentOS): Websoft9 Mingdao stack is a preconfigured, ready-to-run image for Azure that allows every citizen developer to build their own business app in minutes when adopting digital transformation.

Neo4j Community Edition on CentOS.png

Neo4j Community Edition on CentOS: Neo4j is a high-performance graph store with features such as a friendly query language and ACID transactions. This Websoft9 image allows one-click deployment of Neo4j Community on Azure.

NginX-RTMP for LINUX CentOS 7.7.png

NginX-RTMP for LINUX CentOS 7.7: NginX-RTMP is a real-time messaging protocol and a standardized way to broadcast video online with stream relay support for distributed streaming (push and pull models). This offer is certified by Tidal Media Inc.

NuOCR - OCR automation.png

NuOCR – OCR automation: NuOCR is a paper-to-digital optical character recognition (OCR) solution that extracts information from scanned documents (forms, surveys, invoices) that can be uploaded to a database or a spreadsheet.

OpenVINO DL Streamer with Gstreamer.png

OpenVINO DL Streamer: Deep Learning (DL) Streamer is a component of OpenVINO Toolkit that offers a streaming analytics framework based on GStreamer for creating complex media analytics pipelines using OpenVINO Inference Engine.

OTRS - Ticket Request System Server for Ubuntu.png

OTRS – Ticket Request System Server for Ubuntu: This ready-to-run image from Tidal Media Inc. delivers a ticket request system with many features to manage customer telephone calls and emails, helping you react quickly to inbound inquiries.

Python Django and Flask developer suit.png

Python Django and Flask developer suit: This virtual machine from TechLatest provides an out-of-the-box environment for learning, developing, and deploying Python web applications using Django and Flask frameworks.

RabbitMQ on CentOS.png

RabbitMQ on CentOS: This Websoft9 image delivers RabbitMQ, a widely deployed, open-source message broker. RabbitMQ is lightweight, easy to deploy, and supports multiple messaging protocols.

Redmine Project Management Server on Ubuntu 18.04.png

Redmine Project Management Server on Ubuntu 18.04: This image from Tidal Media Inc. delivers Redmine, the web-based, open-source project management and issue-tracking tool. Manage and track multiple projects with separate tools for each.

Restyaboard - Kanban Project Management for Ubuntu.png

Restyaboard – Kanban Project Management for Ubuntu: Tidal Media Inc presents a one-click-deploy image of Restyaboard, the open-source tool to manage tasks, to-dos, and chat. Use Restyaboard for Kanban and business process or workflow management.

SafeToOpen Instance for Azure.png

SafeToOpen Instance for Azure: This virtual machine works with SafeToOpen’s central threat intelligence, the SafeToOpen browser extensions, and the Microsoft Outlook add-in to allow your organization to prevent, detect, and respond to phishing attacks.

Smarsh Enterprise Supervision.png

Smarsh Enterprise Supervision: Smarsh Enterprise Supervision helps clients provide auditors with evidence of supervision. Its highly configurable policy engine applies granular filters to employee communications to surface policy violations while reducing false positives.

Solo Endpoint Protection.png

Solo Endpoint Protection: Solo Endpoint Protection is a managed solution offering active protection for your corporate environment, from the implementation of the software to the monitoring of suspicious activities. This app is available only in Portuguese.

TransientAccess Container.png

TransientAccess Container: TransientAccess is a zero trust network access (ZTNA) solution that uses an application networking paradigm to simplify remote access, revolutionizing the way enterprises integrate third-party users.

Wekan - Kanban Project Management for Ubuntu.png Wekan – Kanban Project Management for Ubuntu: This image offered by Tidal Media Inc. is designed for quick deployment and contains Wekan, an online tool that represents tasks visually. Wekan is an open-source alternative to Trello that allows you to set up triggers when taking actions on cards, checklists, and labels.

Consulting services

10vu Azure Economics Assessment - 8wk.png

10vū Azure Economics Assessment – 8wk: This 10th Magnitude assessment is designed to accelerate cloud adoption with an evaluation of your datacenter environment. Leverage the power of quantitative data and qualitative workshops to inform your strategy and develop a detailed plan for migrating to Microsoft Azure.

Accelerating Big Data ROI with Databricks-2 Wk POC.png

Accelerating Big Data ROI with Databricks – 2 Wk POC: Velrada’s two-week proof of concept uses Azure Databricks to combine big data and data science capabilities in one place, enabling data engineers and data scientists to collaborate more closely and accelerate your returns on investment.

Application Modernization- 2-Hr Briefing.png

Application Modernization: 2-Hr Briefing: This free briefing from Enfo provides an overview of the benefits of modernizing legacy applications with Microsoft Azure to help your organization accelerate its digital transformation.

Application Modernization- 2-Hr Briefing (U.K.).png

Application Modernization: 2-Hr Briefing (U.K.): This free briefing from Enfo provides an overview of the benefits of modernizing legacy applications with Microsoft Azure to help your organization accelerate its digital transformation. This offer is available in the U.K.

ArcGIS-Azure Cloud Consultation- 1-Hr Briefing.png

ArcGIS/Azure Cloud Consultation: 1-Hr Briefing: In this free briefing, GCS architects will discuss migrating your on-premises ArcGIS system to Microsoft Azure. GCS will address questions regarding ArcGIS auto-scaling, high availability, managing large datasets, and more.

Azure AKS- 2-Wk Proof of Concept.png

Azure AKS: 2-Wk Proof of Concept: Demonstrate the power of Azure Kubernetes Service for your organization. With your engineers’ help, Perficient will deploy a development environment with your modernized application and show the benefits and concepts that come with moving to this technology.

Azure Cloud Migration- 6-Wk Imp.png

Azure Cloud Migration: 6-Wk Imp: 10th Magnitude’s Cloud Migration Center is designed to quickly provide success with Microsoft Azure while maintaining Azure best practices. Accelerate your journey to the cloud with proven processes and toolsets that facilitate efficient and cost-effective migrations for organizations of every size.

Azure FAQ Bot- 3-Wk Proof of Concept.png

Azure FAQ Bot: 3-Wk Proof of Concept: Looking into bots to free up your staff from answering the same questions over and over? This Perficient engagement provides consulting, real-world experience, and solution architecture design to get your organization up and running with an FAQ bot powered by Microsoft Azure.

Azure Foundation - 2-Week Implementation.png

Azure Foundation – 2-Week Implementation: Data#3 Limited’s Azure Foundation service is designed to help organizations develop, realize, and implement a secure Azure environment through security, governance, access policy, tagging, and subscription topologies.

Azure Health Check - 1-Day Assessment.png

Azure Health Check – 1-Day Assessment: The Azure Health Check from Data#3 Limited helps you understand, assess, and monitor your Azure expenditures and mitigate risks. The assessment reviews the state of your cloud adoption to identify critical issues and ensure your environment is configured properly, backed up, and secure.

Azure Migration Engagement- 6-Wk Assessment.png

Azure Migration Engagement: 6-Wk Assessment: The six-week Azure Migration assessment from Neudesic provides your organization with an in-depth analysis of a workload or application for migration to Microsoft Azure, complete with architecture design and migration plan.

Azure Migration Service - 4-Week Implementation.png

Azure Migration Service – 4-Week Implementation: Transitioning to the cloud requires adequate planning and a considered approach to minimize business disruption. The Azure Migration Service from Data#3 Limited will help you retire your technical debt, assess your application portfolio, and transition your organization to Microsoft Azure.

Azure Monitoring Service - 4-Week Implementation.png

Azure Monitoring Service – 4-Week Implementation: Gain insights into your Microsoft Azure environment, including compliance reporting, application performance, cost optimization, and security monitoring, with Data#3 Limited’s Azure Monitoring Service implementation.

Azure Readiness Assessment - 3-Week Assessment.png

Azure Readiness Assessment – 3-Week Assessment: Data#3 Limited offers this assessment to help you improve your cloud strategy and roadmap. Learn how to identify and prioritize workloads for Azure along with how much it would cost to migrate, run, and manage your current environment in the cloud.

Azure Remediation Service - 2-Week Implementation.png

Azure Remediation Service – 2-Week Implementation: Data#3 Limited’s Azure Remediation Service takes the output from Data#3 Limited’s Azure Health Check and implements the recommendations for your organization, including improving security, subscriptions, resource tagging, and rightsizing.

Azure & Sitecore Infrastructure- 2-wk Assessment.png

Azure & Sitecore Infrastructure: 2-wk Assessment: Kin + Carta’s Azure infrastructure assessment will provide recommendations to deliver performance benefits, improved redundancy options, and potential improvements, such as failovers, backup plans, and more. Take full advantage of Microsoft Azure.

Cloud Adoption Planning- 2-Hr Briefing (U.K.).png

Cloud Adoption Planning: 2-Hr Briefing (U.K.): Enfo’s workshop-driven engagement delivers an Azure transformation strategy, a cloud adoption plan, and a technology roadmap based on your organization’s requirements and aligned with the Microsoft Cloud Adoption Framework. This offer is available in the U.K.

Cloud Backup- 3-day Assessment.png

Cloud Backup: 3-day Assessment: Atende’s Cloud Backup assessment is a three-day evaluation of your backup requirements and business needs and goals. The analysis covers available cloud backup options and includes a high-level design solution and TCO estimate.

Cloud Enablement- 2-Hr Briefing.png

Cloud Enablement: 2-Hr Briefing: In this free briefing, Enfo will focus on enabling Microsoft Azure for your organization to provide a modern and secure platform that supports and empowers new business initiatives.

Cloud Enablement- 2-Hr Briefing (U.K.).png

Cloud Enablement: 2-Hr Briefing (U.K.): In this free briefing, Enfo will focus on enabling Microsoft Azure for your organization to provide a modern and secure platform that supports and empowers new business initiatives. This offer is available in the U.K.

Cloud Native Accelerator- 10-Week Assessment.png

Cloud Native Accelerator: 10-Week Assessment: Kainos’ Cloud Native Accelerator focuses on applying the latest cloud-native technology, tooling, and techniques to drive organization-wide transformation and solve your business problems using Azure DevOps and Azure Kubernetes Service.

Cloud Platform Migration- 2-Hr Briefing.png

Cloud Platform Migration: 2-Hr Briefing: In this free briefing, Enfo will focus on how to implement a robust and repeatable structure for migrating workloads to Microsoft Azure and preparing your organization for transforming to a cloud-based model.

Cloud Platform Migration- 2-Hr Briefing (U.K.).png

Cloud Platform Migration: 2-Hr Briefing (U.K.): In this free briefing, Enfo will focus on how to implement a robust and repeatable structure for migrating workloads to Microsoft Azure and preparing your organization for transforming to a cloud-based model. This offer is available in the U.K.

Cloud Security Enablement- 2-Hr Briefing.png

Cloud Security Enablement: 2-Hr Briefing: In its free Cloud Security Enablement briefing, Enfo will deliver valuable security insights to organizations that will help them understand and prevent attacks while protecting corporate data from compromise.

Cloud Security Enablement- 2-Hr Briefing (U.K.).png

Cloud Security Enablement: 2-Hr Briefing (U.K.): In its free Cloud Security Enablement briefing, Enfo will deliver valuable security insights to organizations that will help them understand and prevent attacks while protecting corporate data from compromise. This offer is available in the U.K.

DaaS Solution on Microsoft Azure- 3 Day POC.png

DaaS Solution on Microsoft Azure – 3 Day POC: This three-day proof of concept from Cloud4C enables users to work from anywhere securely while ensuring organizational compliance. Quickly migrate your user base to a virtual desktop environment with no disruption using a DaaS solution on Microsoft Azure.

Esri ArcGIS in Azure- 3-Wk Proof of Concept.png

Esri ArcGIS in Azure: 3-Wk Proof of Concept: This proof of concept from GCS will introduce your organization to the benefits of an ArcGIS Azure cloud migration with minimal risk and cost. Deliverables include an ArcGIS architecture diagram, an ArcGIS proof of concept workload running on Azure, and more.

ES Systems Managed Services.png ES Systems Managed Services: ES Systems will manage services for a range of Microsoft Azure products, from a single server to a globally distributed environment of databases and virtual machines. Offerings include system design, backups, monitoring, and more.
Free 3 Day Smart UBI Assessment Offer.png

Free 3 Day Smart UBI Assessment Offer: This assessment from Zensar Technologies looks at your digital security, smart lighting control, and HVAC control and monitoring. Use Azure IoT to implement preventative measures, reduce accident risk, and lower energy usage and electricity leakage.

Free 5 Day Azure Migration Assessment Offer.png

Free 5 Day Azure Migration Assessment Offer: Zensar Technologies’ comprehensive Microsoft Azure migration services provide seamless workload migration to Azure. This free five-day assessment will provide you with recommendations and a roadmap to help you transform your business processes, operations, and technology models with Azure.

GO2Azure App Remediation- 10 Wk Assessment.png

GO2Azure App Remediation: 10+ Wk Assessment: T-Systems enables business application readiness for Azure. Each application will be scored on its readiness to be moved to Azure, and potential remediations will be indicated. Our cloud experts will further analyze and fine-tune gathered information to prepare the assessment.

GO2SAP on Azure 10 days Assessment.png

GO2SAP on Azure 10 days Assessment: T-Systems will advise you on migration for your current IT infrastructure, financial aspects of the migration, and projected costs of a new Azure environment. Additionally, T-Systems will help you develop a solid feasibility study for migrating your IT SAP infrastructure to the cloud.

GoFast - Azure Data Foundation Services- 4 Wk POC.png

GoFast – Azure Data Foundation Services – 4 Wk POC: Velrada’s proof of concept will enable you to have Azure Data Services in place within an Azure environment that is scalable, manageable, and fit for purpose. This engagement also utilizes three days of highly structured workshops to understand your needs.

Identity Governance and Admin- 2-Hr Briefing.png

Identity Governance & Admin: 2-Hr Briefing: Enfo’s five-step process will guide and lead the customer from ideation to defining a roadmap outlining business cases and proposed investments. Establish a strategy for identity governance and administration powered by Active Directory and Azure Active Directory.

Identity Governance and Admin- 2-Hr Briefing (U.K.).png

Identity Governance & Admin: 2-Hr Briefing (U.K.): Enfo’s five-step process will guide and lead U.K.-based customers from ideation to defining a roadmap outlining business cases and proposed investments. Establish a strategy for identity governance and administration powered by Active Directory and Azure Active Directory.

Kubernetes Pathfinder- 5-Week Proof Of Concept.png

Kubernetes Pathfinder: 5-Week Proof of Concept: Quickly, safely, and securely migrate a workload to Kubernetes using industry best practices. Kainos, an advanced Microsoft Azure Kubernetes specialist, will help you identify the latest cloud-native technologies to positively transform your business.

Red Hat OpenShift on Azure- 3-Day Assessment.png

Red Hat OpenShift on Azure: 3-Day Assessment: Let Shadow-Soft review your OpenShift environment and provide a high-level report with recommendations, best practices, and a roadmap. Shadow-Soft’s engineers can architect, implement, and integrate an Azure Red Hat OpenShift solution to meet unique requirements.

Red Hat OpenShift on Azure- 5-Day PoC.png

Red Hat OpenShift on Azure: 5-Day PoC: Get running with a Red Hat OpenShift cluster and this assessment from Shadow-Soft. Rapidly provision and configure an ARO cluster and integrate it directly with Azure services, allowing your organization to automate container management and enable developer speed.

Trivadis Azure DevOps- 4-Day Assessment.png

Trivadis Azure DevOps: 4-Day Assessment: Understand technological challenges, explore automation-related constraints, and establish the needs of software delivery pipelines in this short assessment from Trivadis AG. At the end of this assessment, everything will be presented in a consolidated report to your team.

VOW Microsoft Azure 4-wk Proof of Concept.png

VOW Microsoft Azure 4-wk Proof of Concept: Tech Mahindra’s Virtual Operations Workforce (VOW), built on Microsoft Azure, addresses one of several optional use cases: triaging, auto monitoring, ticket creation, handover to Level 2, ticket closures, and so on. As a starter kit, this POC focuses on automating Level 1.

Windows Virtual Desktop- 4 Week Implementation.png

Windows Virtual Desktop: 4 Week Implementation: Enable work from anywhere, on virtually any device OS (Windows 7 to Windows 10, iOS, or Android) to access and utilize a powerful desktop in a virtual datacenter. United Data Technologies will also connect with up to three SaaS or on-premises apps for up to 1,000 users.

Work At Home Azure Solution 2-Wk Assessment.png

Work At Home Azure Solution 2-Wk Assessment: This Tech Mahindra global service offering voice, chat, email, back-office functions, and social media support runs on Microsoft Azure. Score better on customer KPIs, provide better staffing solutions for erratic call traffic, lower overall cost, and more.

Workspace as a Service 3-Week PoC on Azure Cloud.png

Workspace as a Service 3-Week PoC on Azure Cloud: WaaS NxT from Tech Mahindra is designed to consolidate all end user computing services into a universal single URL built on Microsoft Azure. Deliver the highest level of security while avoiding duplication of investment and improving the end user experience.

Unraveling the Azure Maya Mystery and Building A World

Unraveling the Azure Maya Mystery and Building A World

This article is contributed. See the original author and article here.

Story of a Mansion

 

Last Hallowe’en, it was my pleasure to help launch the Azure Mystery Mansion, a text-based game built using Twine. Users explore the various rooms of an old house, picking up keys that allow final access to the attic where she or he can claim the deeds to the house. In the process, rooms are unlocked by means of discovering solutions to small puzzles and gathering clues from Microsoft Learn.

 

 

The Azure Mystery MansionThe Azure Mystery Mansion

 

 

I learned a great deal on the making of this type of game from Em Lazer-Walker, who led the development of the original Mystery Mansion and enhanced Twine to work better for multiple developers. She also perfected its integration with PlayFab, the game’s backend.

 

 

PlayfabPlayfab

 

 

The game was a hit. A big hit. So big that it caught the imagination of many folks at Microsoft. We were soon making plans for a V2 of the Mystery Mansion, which I envisioned as a continuation of the old house motif. But the Mansion storyline ends so nicely, with the user gaining the keys to get the house deeds in the attic, that I couldn’t seem to find a good way to continue the trope. Do we continue with a tour of outbuildings and old antiques stuck in a shed? Somehow the “Mystery Outhouse” doesn’t have quite the same panache. Clearly, a new tale had to be told. In addition, we wanted to somehow localize the experience to make it more pertinent to a regional audience.

 

From Mansion to Mystery

 

Enter my work with my brother, an Art Historian at Cal State Chico, Matthew Looper. Inspired by his work, it struck me that a game centered around ancient Maya culture would resonate with our pan-Americas group with Cloud Advocates and Project Managers who cover Canada, US, and LATAM who were particularly interested in continuing the project. We gathered a team of regional PMs and marketing experts to make this idea a reality. Foremost in my mind was to not spin up an ‘Indiana Jones’ type mish-mash of exploitative cultural tropes, but to create something genuinely respectful of ancient Maya culture that was both educational and fun.

 

And so our path became plain. We would partner with experts to create a game that taught about Maya glyphs while exploring a mysterious pyramid, encountering surprises along the way. Working with an illustrator who is an expert in creating architectural drawings and reproducing glyphs would ensure its cultural appropriateness, so we contracted with illustrator Dana Moot II to create accurate depictions of a fictional Maya pyramid.

 

An early prototype of the pyramidAn early prototype of the pyramid

 

In addition, our experience in December with the success of our 25DaysOfServerless event, also a large group effort centered on exploring aspects of Microsoft Azure, provided a supplemental road map for the game. By building a scavenger hunt that also pushed users to solve puzzles by actually shipping code, we would showcase product launches progressively over a three-month three part release. The first one would be Azure Static Web Apps, and the user would be given a challenge to discover the meaning of one of the three glyphs that makes up the temple’s name. Not to reveal too much, but didn’t you always want to chat with a goddess? You’ll deploy a chat interface built with React and use Azure Static Web Apps to view it live, learning via chat part of the name of the mysterious pyramid.

 

Tech Challenges

 

While Twine worked brilliantly for the Mystery Mansion I wanted to try a tool that gave me a little more design freedom and was a JavaScript-native tool that would foster collaboration. I wanted something that would enable many people to write parts of a game or to localize it, and that would be easier to scale and maintain. And of course, I reached for a tool that was most familiar to me (my blog is built using it): VuePress.

 

The Tech Stack

 

As a Vue.js developer I immediately gravitated towards VuePress, a static site generator that would work well for storytelling using files written in markdown. By using this toolset, which allows both styling via Tailwind.css and importation of standard Vue.js single-file components, we were able to get better control over the interface and more flexibility in the way we designed it, while keeping the ‘vintage’ look of the text-based game intact.

 

An example of the storytelling-friendly format of the game can be seen by perusing the markdown files that tell the tale of the pyramid exploration:

 

---
backdrop: images/1-nostairs-closest.png
---

# The West Wall

Walking west, you encounter thick underbrush. Vegetation has grown in close to the wall, and dangling vines whack your face as you push through.

As you move vines aside to pass, your hand brushes a carving embedded in the wall. It's another glyph.

<Item id="7" />

<Page url="398" instructions="Another puzzler. Your guidebook provides another clue: '3: Machine Learning can help you predict the prevalence of this kind of species.'" action="Walk south" condition="7" />

 

Child components display a glyph to collect, and once that condition is solved, the matching page navigation is displayed. Props are sent from the parent page to its child, to display instructions and actions to take. Item clues are contained in a localized json file:

 

 

        "gameItem": "snake glyph",
        "filename": "snake",
        "initialHide": true,
        "clues": {
            "es": {
                "clue": "4: El lenguaje que lleva el nombre de esta criatura convierte el código fuente en código de bytes que se puede ejecutar en cualquier plataforma compatible."
            },
            "en": {
                "clue": "4: The language named after this creature turns source code into byte code which can be run on any supported platform."
            },
            "fr": {
                "clue": "4: Le langage nommé d'après cette créature transforme le code source en code octet qui peut être exécuté sur n'importe quelle plate-forme prise en charge."
            },
            "pt": {
                "clue": "4: A linguagem com o nome desta criatura transforma o código-fonte em código de bytes que pode ser executado em qualquer plataforma suportada."
            }
        },

 

The Game Engine

 

Jen: “Let’s use VuePress! How do we make a game in VuePress?”

Chris Noring: “Hold my Glögg”

 

Within a ridiculously short amount of time, Chris had spun up a basic VuePress-based game engine using scoped slots, local storage, and a basic storyline written in markdown. I took this kernel of a game and built it into a journey to explore a pyramid, taking pictures and solving puzzles to restore glyphs vandalized by looters.

 

A camera interface displays the ids of images stored in local storage:

 

showCameraItems() {
    var ids = getItems();
    this.polaroids = ids.map(id => items.find(item => item.id == id));
},
 

 

v84vrvon5i6n2kdgd2wd.png

 

Localization

 

Since we knew, given that the game was for the Regional team, that we would need to localize it, providing translations in French, Spanish, and Portuguese as well as English, we had to create an interestingly hybrid approach to translate both the markdown files supported by VuePress as well as the localizable strings used in the Vue.js files for the more complicated game play.

 

While VuePress has a built-in way of handling translations using routing (/zh vs. /fr routes, for example, will display appropriately translated content), there needed to be a way to propagate those changes to nested Vue.js files, such as puzzles embedded as child components. Enter the EventBus, a good way to signal to child components that changes to translations have occurred, and to pick up different translated strings.

 

When the UI is told to switch locales, the EventBus emits a command:

EventBus.$emit("lang_changed", lang);

 

And this command is acted upon, informing the child components that the language has changed and that the locale controlled by the i18n plugin must be switched

EventBus.$on("lang_changed", lang => (this.$i18n.locale = lang));

 

Portuguese translationsPortuguese translations

 

The Backend

 

Since this site is deployed on Azure Static Web Apps, the game is contained in /app and any API calls are contained in /api. Using the PlayFab SDK for Node, we are able to consolidate all API calls to the backend in this separate area and use Azure functions to invoke them. A login request can thus occupy only 20 lines:

 

const { PlayFabClient } = require('playfab-sdk');

module.exports = function (context, req) {
    var request = {
        Email: req.body.email,
        Password: req.body.password,
        RequireBothUsernameAndEmail: false,
    };
    PlayFabClient.settings.titleId = <This is the game's title id, set in PlayFab console>;
    PlayFabClient.LoginWithEmailAddress(request, function (error, result) {
        if (error == null) {
            context.res = { body: result.data };
            context.done();
        } else {
            context.res = { body: error };
            context.done();
        }
    });
};

 

Deployment

 

Dogfooding is a great exercise, and the Azure Maya Mystery lives in the very product showcased by its embedded challenge, Azure Static Web Apps. It was shockingly easy to deploy the app; the challenge for us occurred when we were obliged to move the game into a subfolder so that it could be deployed on the Microsoft.com subdomain. This requirement forced some reshuffling of assets and the addition of a postinstall script after the app is built by VuePress, to copy images to an internal folder, but the deployment process was quite smooth.

 

uy4u8dyktqkxwfjpgvo7.png

 

Learn how to Publish an Angular, React, Svelte, or Vue JavaScript app and API with Azure Static Web Apps.

 

And also check out:

 

Playtesting

 

When developing this type of game, especially one with an educational component, it was really important to have playtesting by a diverse set of users. Interestingly, but not surprisingly, it was the 10 year old son of a Microsoft employee in the UK who gave us particularly solid feedback. He first noted that there weren’t enough spiders (stay tuned, Tommy) and that we needed more puzzles (I added two!). Thanks, intrepid testers!

 

So, with a bit of imagination, some useful QA from our creative director, Em, and a lot of rethinking, rewriting, and translating, we were able to build the first part of a three part adventure that should satisfy the hardiest of explorers. It was exciting to see folks who had never tried to deploy a website on Azure suddenly able to solve the coding challenge and complete the code challenge, gaining entrance into the mysterious pyramid. In future months, we will allow users to continue their progress, exploring surprises that appear underneath the pyramid and working up to the summit, where the name of the temple and its owner will be revealed. Get ready for a true adventure, explorers!

 

What’s Next? Mysteries-As-A-Service

 

Playtesting revealed another interesting possibility for our mysteries. We have talked to Museums who were curious about their potential application as they allow for online walk-throughs of their collections. Tommy and his Dad recommended that we create a stripped-down version of the game engine and release it for students to fork and alter for their own needs, to learn how to manage a project in GitHub and how to handle building and deploying a web site. So, I did! You can use this repo to build your own game.

 

17d8a0suf2dh979chnck.jpg

 

This engine has unlimited potential for helping build both gamified experiences and for helping teach concepts such as basic CS and programming curriculum. As students write their storyline, they learn how the parts of the site fit together and how to gradually alter a codebase to suit their needs. I’m encouraging folks to tell me about their games in the Issues tab on GitHub.

What will our next stop be? For the kids, a trip through space? For the Azure Maya Mystery, a trip to the depths of the pyramid…hint, I hope you know how to swim!

The blue glyphThe blue glyph

Join us in our Adventure

 

Enter the jungle with us and explore!

Monitoring SQL Server with Azure Sentinel

Monitoring SQL Server with Azure Sentinel

This article is contributed. See the original author and article here.

For years Microsoft SQL Server has served as a backbone of critical applications for enterprises.

Due to the nature of critical data stored on the SQL Server databases, it has always been a point of Interest for internal or external adversaries and one of the primary targets for exploitation.

 

It is important to monitor all your SQL database instances and servers for any sign of threats.

 

If you are running Azure SQL or Azure SQL Managed Instances or Azure Synapse Analytics, Azure Data Security (ADS) provides comprehensive database security in relation to Data Discovery and Classification, Vulnerability assessment and Advanced Threat Protection.

We recently released a public preview of ADS for SQL Machines to extend all the capabilities to SQL Server running on machines.

 

This post compliments the capabilities of ADS by enabling monitoring of SQL Server databases running on Windows Server VMs on premises or on Cloud IaaS by ingesting SQL Server Audit events into Azure Sentinel, build various custom threat hunting queries, correlate events and create alerts.

 

Let us get started.

 

Ingesting Logs from SQL Server

 

Step 1 – Enable audit on SQL server and create a policy Audit:

 

As a first step we need to enable auditing to track and log various types of events on the Server and Database levels. For this post, I have enabled these following specifications on my database.

 

  1. Database Role Member Change Group.
  2. Database Permission Change Group.
  3. Schema Object Permission Change Group.
  4. Database Principal Change Group.
  5. Schema Object Change Group.
  6. Schema Object Access Group

More information on enabling audit can be found here.

 

Step 2 – Write SQL Server Audit Events to the Security Log

 

One of the easiest ways of getting logs from SQL servers to your Azure Sentinel workspace is to write SQL Audit Events into Windows Security Events or Application Events. For this blog post, I am configuring my SQL Server to write audit events into Application logs of Windows events.

 

DB_Audit.png

 

Step 3 – Sending logs from SQL Server to Azure Sentinel using Microsoft Monitoring Agent.

 

If you are writing SQL Audit events to Windows Security Events, you may use the Azure Sentinel Security Event Connector to collect the logs from the SQL Server system using the MMA Agent.

 

In this post, I am writing the SQL Audit events to the Windows Application log and hence it requires an additional step of collecting Application Log from the systems in the advanced Settings of your Log Analytics workspace.

PS: It is recommended to apply this configuration only to the systems from where we need these logs as MMA agent will collect all Application logs.

 

MMA Setting.png

 

Once the MMA agent starts sending the events logs to the Azure Sentinel, you should see all the logs in the “Event” table.

 

 

 

Event
| where Source has "MSSQL"
| project TimeGenerated, Source, Computer, EventID, RenderedDescription

 

 

 

EventTable.png

 

All the critical information about these audit events is available in the RendererdDescription column including Action ID, Client IP, Current Logged on User, Database Name, Object Name and SQL Statement.

 

Action ID is a critical item which illustrates a specific activity on the SQL Server which you could choose to monitor.

Here are some of the Critical Action IDs recommend to review:

 

AL

ALTER

CR

CREATE

APRL

ADD MEMBER

DPRL

DROP MEMBER

DL

DELETE

DR

DROP

IMP

IMPERSONATE

LGIF

LOGIN FAILED

LGIS

LOGIN SUCCEEDED

PWC

CHANGE PASSWORD

PWPL

PASSWORD POLICY

TO

TAKE OWNERSHIP

 

 

Parsing the data

 

Now that we have our logs coming into Azure Sentinel, we need to parse the “RenderedDescription” field to provide relevant information for us to create and test threat hunting queries against.

 

 

 

// KQL SQL Audit Event Parser
// SQL Server
//
//
// Parser Notes:
// This parser works against the SQL Audit events being written to Application Log of Windows Events.
//
// Usage Instruction: 
// Paste below query in log analytics, click on Save button and select as Function from drop down by specifying function name and alias (e.g. SQLEvent).
// Function usually takes 10-15 minutes to activate. You can then use function alias from any other queries (e.g. SQLEvent | take 10).
// References: 
// Using functions in Azure monitor log queries :queries: https://docs.microsoft.com/azure/azure-monitor/log-query/functions
// Tech Community Blog on KQL Functions : https://techcommunity.microsoft.com/t5/Azure-Sentinel/Using-KQL-functions-to-speed-up-analysis-in-Azure-Sentinel/ba-p/712381
//
//
let SQlData = Event
| where Source has "MSSQL"
;
let Sqlactivity = SQlData
| where RenderedDescription !has "LGIS" and RenderedDescription !has "LGIF"
| parse RenderedDescription with * "action_id:" Action:string 
                                    " " * 
| parse RenderedDescription with * "client_ip:" ClientIP:string
" permission" * 
| parse RenderedDescription with * "session_server_principal_name:" CurrentUser:string
" " * 
| parse RenderedDescription with * "database_name:" DatabaseName:string
"schema_name:" Temp:string
"object_name:" ObjectName:string
"statement:" Statement:string
"." *
;
let FailedLogon = SQlData
| where EventLevelName has "error"
| where RenderedDescription startswith "Login"
| parse kind=regex RenderedDescription with "Login" LogonResult:string
                                            "for user '" CurrentUser:string 
                                            "'. Reason:" Reason:string 
                                            "provided" *
| parse kind=regex RenderedDescription with * "CLIENT" * ":" ClientIP:string 
                                            "]" *
;
let dbfailedLogon = SQlData
| where RenderedDescription has " Failed to open the explicitly specified database" 
| parse kind=regex RenderedDescription with "Login" LogonResult:string
                                            "for user '" CurrentUser:string 
                                            "'. Reason:" Reason:string 
                                            " '" DatabaseName:string
                                            "'" *
| parse kind=regex RenderedDescription with * "CLIENT" * ":" ClientIP:string 
                                            "]" *
;
let successLogon = SQlData
| where RenderedDescription has "LGIS"
| parse RenderedDescription with * "action_id:" Action:string 
                                    " " LogonResult:string 
                                    ":" Temp2:string
                                    "session_server_principal_name:" CurrentUser:string
                                    " " *
| parse RenderedDescription with * "client_ip:" ClientIP:string 
                                    " " *
;
(union isfuzzy=true
Sqlactivity, FailedLogon, dbfailedLogon, successLogon )
| project TimeGenerated, Computer, EventID, Action, ClientIP, LogonResult, CurrentUser, Reason, DatabaseName, ObjectName, Statement

 

 

 

Save this as a KQL Function with the name SQLEvent(). More Information on using KQL functions can be found here

We can now call this function [ SQLevent() ] and project our relevant information extracted like Action, ClientIP, DatabaseName, Statement and more.

 

Function.png

 

 

Hunting Queries

 

Next, we go hunting based on the information that we have parsed from the logs. 

Here are a few examples of hunting queries which can also be used to create analytics rules for alert creation after further tuning.

 

All Failed Logons

 

 

SQLEvent
| where LogonResult has "failed"
| summarize count() by CurrentUser, Reason

 

 

 

Notice the use of the parser where we have extracted the SQL statement into a separate column “Statement”. All of the actions made to the SQL server or the database are listed here. Now your hunting capabilities are enormous by simply parsing this field at query time. There is no need to tax the system by parsing it in the primary parser when there is no use case for it. This will allow you to get results more efficiently.

 

Here are some of examples of hunting for various anomalies based on the text in the “Statement” column.

 

New User Created

New user creation on SQL Server should be monitored for any suspicious patterns like, New User created by unauthorized accounts.

 

 

//This query checks for new user account created on SQL Server using the SQLEvent() parser
//
SQLEvent
| where Statement has "Create Login"
| parse Statement with "CREATE LOGIN [" TargetUser:string
                       "]" *
| project TimeGenerated, Computer, Action, ClientIP, CurrentUser, DatabaseName, TargetUser, ObjectName, Statement 

 

 

 

Here the CurrentUser is the current logged-on user who has created the new user account i.e TargetUser. We can easily extend this query to see if CurrentUser != “[Authorised User Name]”  to find if the new user creation was done by non-authorized accounts.

 

User Role Altered in SQL

Also, monitoring changes made to user roles on SQL server can help with detecting anomalous privilege escalations.

 

 

// This query looking for Alter role commands and extracts username which was altered and target objectName
//
SQLEvent
| where Statement contains "Alter role" and Statement has "add member"
| parse Statement with * "ADD MEMBER [" TargetUser:string
                       "]" *
| project TimeGenerated, Computer, Action, ClientIP, CurrentUser, DatabaseName, TargetUser, ObjectName, Statement 

 

 

 

User added in SecurityAdmin Role

Users being added to some of the critical groups of SQL server should be monitored for anomalous persistence and privilege escalation.

 

 

SQLEvent
| where Statement has "Alter Server role" and Statement has "add member"
| parse Statement with * "ADD MEMBER [" TargetUser:string
                       "]" *
| where ObjectName has "securityadmin"
| project TimeGenerated, Computer, Action, ClientIP, CurrentUser, DatabaseName, TargetUser, ObjectName, Statement 

 

 

 

Removed User from Database

Large numbers of users being removed from the databases correlated with other changes like ALTER ROLE can help detect ongoing attacks on critical databases.

 

 

// This query checks for user removed from a database by parsing the statement field at the query time.
//
SQLEvent
| where Statement has "Alter role" and Statement has "drop member"
| parse Statement with * "DROP MEMBER [" TargetUser:string
                       "]" *
| project TimeGenerated, Computer, Action, ClientIP, CurrentUser, DatabaseName, TargetUser, ObjectName, Statement 

 

 

 

User Removed from ServerRole

 

 

SQLEvent
| where Statement has "Alter Server role" and Statement has "drop member"
| parse Statement with * "DROP MEMBER [" TargetUser:string
                       "]" *
| project TimeGenerated, Computer, Action, ClientIP, CurrentUser, DatabaseName, TargetUser, ObjectName, Statement 

 

 

 

User removed from SecurityAdmin Role

 

 

SQLEvent
| where Statement has "Alter Server role" and Statement has "drop member"
| parse Statement with * "DROP MEMBER [" TargetUser:string
                       "]" *
| where ObjectName has "securityadmin"
| project TimeGenerated, Computer, Action, ClientIP, CurrentUser, DatabaseName, TargetUser, ObjectName, Statement 

 

 

 

You can now create similar hunting queries based on the information available in the Statement column with the combination of Action Ids like:

  1. Deletion of database
  2. Database Ownership changes
  3. New users becoming owners of large number of databases etc.

 

Incident Creation

Now, go ahead and create some Analytics rule for Incident creation.

 

Multiple Failed Logons in short span of time

 

 

//This detection rules checks for multiple failed logon attempts within short span of time.
// the timeframe and threshold can be changed below as per requirement
//
let TimeFrame = 10m;
let failedThreshold = 3;
SQLEvent
| where TimeGenerated > ago(TimeFrame) 
| where LogonResult has "failed"
| summarize StartTimeUtc = min(TimeGenerated), EndTimeUtc = max(TimeGenerated), TotalFailedLogons = count() by CurrentUser
| where TotalFailedLogons >= failedThreshold
| project CurrentUser, TotalFailedLogons

 

 

 

Multiple Failed Logons by multiple accounts from same IP

 

 

//This detection rules checks for multiple failed logon attempts from same IP within short span of time.
// the timeframe and threshold can be changed below as per requirement.
//
let TimeFrame = 10m;
let failedThreshold = 3;
SQLEvent
| where TimeGenerated > ago(TimeFrame) 
| where LogonResult has "failed"
| summarize StartTimeUtc = min(TimeGenerated), EndTimeUtc = max(TimeGenerated), TotalFailedLogons = count() by ClientIP, CurrentUser
| where TotalFailedLogons >= failedThreshold
| project ClientIP, TotalFailedLogons, CurrentUser

 

 

 

With this blog post, we are just scratching the surface with the kind of custom threat hunting possible on SQL Server environments with Azure Sentinel, hope this helps you to get started.

 

References

 

Enable audit on SQL server and create a policy Audit:
https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-database-engine?view=sql-server-ver15

 

Write Audit SQL log to Windows Event

https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/write-sql-server-audit-events-to-the-security-log?view=sql-server-ver15

 

Advanced data security for SQL machines (Preview)

https://docs.microsoft.com/en-us/azure/security-center/security-center-iaas-advanced-data#set-up-ads-for-iaas

 

Hunting queries and detection queries are available on our GitHub community page.

Why Azure SQL is Best for Developers (Part 1) | Data Exposed

This article is contributed. See the original author and article here.

Azure SQL has a lot of built-in features that make it the best database in the cloud for developers. In this first part of this two-part series, Davide Mauro discusses what those features are and which kinds of customers can benefit most from them.

View/share our latest episodes on Channel 9 and YouTube!