Saturday, August 19, 2023

Azure Function Blob Trigger to Import Excel from Blob Storage to CosmosDB

Example code to create an Azure Function Blob Trigger using Python that imports an Excel file sourced from Azure blob storage, convert to a CosmosDB DocumentList, and save to an Azure Cosmos DB NoSQL database.


Monday, August 14, 2023

Azure Application Services

 Azure App Service

Create front-end and back-end web applications.  Development languages supported include:
  • ASP.Net
  • Node.js
  • PHP
  • Python

Azure Static Web App

Create front-end static web application that can connect to back-end APIs and services using client-side scripting.   Supported front-end frameworks include:

  • HTML (no framework)
  • Angular
  • JavaScript
  • jQuery
  • React
  • Vue

Azure Function App

Create API application that can connect to databases, services, and other APIs triggered by an HTTP Request, Message Queue, or Timer.   Development languages supported include:

  • C#
  • Java
  • JavaScript
  • Node.js
  • PowerShell
  • Python
  • TypeScript

Application Architecture Styles

N-Tier - traditional architecture for enterprise applications.  Dependencies are managed by dividing the application into layers that perform logical functions. Example: presentation, business logic, and data access.

Web-Queue-Worker - this application style has a front-end that handles HTTP requests and a back-end worker that processes requests.  The front-end communicates to the back-end through an asynchronous message queue.

Microservices - composed of many small, independent services.  Services are loosely coupled and communicating through APIs.

Event-Driven - uses a publish - subscribe where producers publish events and consumers subscribe to them. IoT solutions are a good example of event-driven applications. 

Big Data - divides large datasets into smaller chunks of data and perform parallel processing across the entire dataset for analysis. 

Big Compute - high performance computing (HPC) makes parallel computations across a large number of processor cores. 

Types of Data Store Models

 Relational Database Management System (RDBMS)

Organize data as a series of two-dimensional tables with rows and columns. 

RDBMS solutions include
  • Azure SQL
  • DB2
  • MariaDB
  • MS SQL Server
  • MySQL
  • Oracle
  • PostgreSQL
  • Teradata (Server)

Key-Value Database (NoSQL)

Stores each data value with a unique key.
  • Amazon DynamoDB (Snapchat)
  • Azure Cache
  • Azure Table
  • Cosmos DB
  • Redis

Document Database (NoSQL)

A document that can be into an code object.  JSON or XML for example.
  • Amazon Document DB
  • Cosmos DB
  • Google Firestore
  • MongoDB

Graph Database

Highly-connected datasets.  Uses graph structures for semantic queries with nodes, edges, and properties to represent and store data.
  • Amazon Neptune
  • Cosmos DB for Apache Gremlin
  • MS SQL Server
  • Neo4j
  • Oracle

Object Storage

Storing and retrieving binary files (images, videos, audio, PDFs, documents) 
  • Amazon Simple Storage Service
  • Azure Blob Storage
  • Azure Data Lake Storage

Data Files

Simple flat data files used to store and retrieve data.
  • Apache Parquet
  • Delimited Text Files: Comma Separated Values (CSV), Tab Delimited
  • JSON
  • XML

Data Analytics

Provide parallel solutions for ingesting, storing, and analyzing data.
  • Amazon Athena
  • Apache Hadoop
  • Apache Spark
  • Azure Synapse Analytics
  • Azure Data Lake
  • Azure Databricks (Spark)
  • MS SQL Analysis Services

Tuesday, August 1, 2023

Zion

We entered Zion from the east and went through the historic Zion-Mt. Carmel Tunnel.  When you exit the tunnel you get a wonderful view of the Zion Canyon below.
Our first hike was the Riverside Walk that starts at the Temple of Sinawava, the last stop on the Zion Canyon Shuttle.  The Riverside is an easy sand covered paved trail the ends at the famous Narrows.
We strapped on our Keen water sandles and up the Virgin River we splashed as the canyon walls got closer and closer together.  
A short way up the river we got to a section that was 3 to 4 ft deep.  Most turned back but I took it as an opportunity to take a swim in the 64F water.  
The kids had a great time.  They said it was the best hike they had been on "ever".  Dad did good.
Back at the Riverside Walk trail, we found a tree to dry our bags, shoes, and clothing before hiking back to the bus.
Next we too the bus to Weeping Rock.  
For our last hike we wanted to do the Lower Emerald Pool hike but the trail was closed due to a rock slide.  Instead we took the Kayenta Trail to the Emerald Pools.  This was a 2 mile rocky hike along the edge of the mountain with views of the Virgin River and the Zion Lodge.
By the end of our hike to the Emerald Pools we headed back into Springdal for lunch and to the hotel to cool down at the Desert Pearl pool.

We left Zion the same way we entered through the historic tunnel headed to Bryce Canyon.  Before we left Zion National Park we got to see a couple of mountain goats and the Checkerboard Mesa.