Sunday, December 29, 2019

Cloudy mainframes in 2020

So you have a mainframe you want to move to Azure Cloud?

With the new NTT and Microsoft Alliance announced this month, look for interesting things to happen in this space and more in the coming months.  NTT Research opened its Palo Alto offices in July 2019 as a new Silicon Valley Startup.

Some of the initiatives listed in the PR include:

1. Global Digital Fabric.
2. Cybersecurity threat intelligence analytics
3. Social robotics with relational AI for digital companions
4. Digital workpace solutions
5. Knowledge discovery and management.
6. All-photonics networks
7. Digital twin computing
8. Innovative Optical and Wireless Network (IOWN)
9. Natural interactions between people, nature and technology.

The NTT DATA Group's 2019 Annual report may shed some light on these initiatives.

The PHI, CIS and MEI Labs within NTT Research are working with universities to research hardware, materials and computational techniques.   See this presentation on Quantum Computing with some of these partners mentioned.

What's Global Digital Fabric?  I don't think it's nanotech shirts, though they sound pretty game-changing for athletes and the medical industry.  According to this announcement, it's combining Microsoft Azure with NTT's "globally-connected ICT infrastructure".

Social robots will be fascinating.  Robot companions could shadow you during sports, at home, in school, at a hospital or at work.  Something as simple as a robot pet or insect gently reminding you about your prescriptions or monitoring your blood sugar could change many people's lives. A physical, interactive robot nagging you about your homework, guiding your studies and providing conversational AI for languages could change the way you learn.

What if we could take a child's stuffed toy and use Relational AI and some motors to turn it into a trusted teaching companion?  Jacqueline Westlund's post on MIT's web site is really fascinating.  There is an open-source MIT AI Ethics Education Curriculum available here.  Human-robot interaction (HRI) will be huge in 2020.

All-photonics networks will accomodate "petabit-class scalable optical networks".  I can see AI & ML playing a big part in reducing noise and improving performance across large ranges.  Intel, Sony and NTT announced an "innovation forum" called the Innovative Optical and Wireless Network (IWN) Global Forum to accelerate R&D in this space.

Speaking of noise reduction, I hope we see noise reduction home "appliances" emerge in 2020.  Perhaps some active acoustic soundproofing foam which uses noise cancellation on a room-scale.  Having that soundproof tunnel at home would be great for relaxation, concentration.  Being able to cheaply control the acoustic properties of a room using some fabric or foam would be great for musicians and music aficionados.

The topic of natural interactions between people, nature and technology is super-broad and could apply to many areas of study.   The NTT DATA Group's AI Guidelines provide some guidelines for transparency and understanding in AI.  The NTT DATA Technology Foresight 2019 highlights predictions in areas such as XR Space (AR/VR/MR), brain tech, social and digital divides and many other topics.  A great read towards 2020 tech.

A 2018 presentation on "corevo" from NTT identifies 4 types of AI: Agent, Ambient, Heart-Touching, Network.

It's the Heart-Touching AI's which excites me in 2020.  Analyzing people's minds and bodies to understand their deep psyche, their intellect, and their instincts.  Tech such as mind and body reading and bidirectional mind communication, emotional and tactile feedback loops will bring us closer to natural interactions with AI devices.

Now back to old school computing, AzureCAT has you covered on the mainframe front with Deploying NTT Data UniKix in Azure.  

Part 1 Deploying the VM
https://techcommunity.microsoft.com/t5/AzureCAT/Deploying-NTT-Data-UniKix-in-Azure-Part-1-Deploying-the-VM/ba-p/775840

Part 2 - Configure TPE and compile the ACCT Application
https://techcommunity.microsoft.com/t5/AzureCAT/Deploying-NTT-Data-UniKix-in-Azure-Part-2-Configure-TPE-and/ba-p/779142

Open Mainframe Project
https://github.com/openmainframeproject
https://landscape.openmainframeproject.org/

x3270 terminal emulator
http://x3270.bgp.nu/

I truly hope I am not on any Cobol projects in 2020.

Wednesday, October 30, 2019

Useful DOS commands

From the 80s to 2020, I find myself living more and more in DOS, Windows, Powershell, Bash/Zsh, Kube and Cloud shells, and looking forward to leveraging the new Windows Terminal once my work laptop gets upgraded.

I appreciate the complexity and flexibility that Zsh has vs. DOS, and miss a lot of the features.

Sometimes though, there are some interesting tricks I forget about when using DOS/Windows/Powershell.

Grab the history to a file.  I always hit F7, and would appreciate having my session's file around for a basic command window.

doskey /HISTORY > history.txt
https://www.howtogeek.com/298163/how-to-use-your-command-history-in-the-windows-command-prompt/

Also see Start Transcript
https://4sysops.com/archives/powershell-transcript-record-a-session-to-a-text-file/

Pipe a python script's output and stderr output
python -m myscript.py &2>1

Teeing Objects
https://adamtheautomator.com/tee-object-powershell/

Ascii Doom
https://dario-zubovic.itch.io/1337-doom

Last one should be cross-platform!

Monday, October 28, 2019

Common Kubernetes Commands


The Kubernetes Client kubectl recently became an independent tool outside of the main Kubernetes repo.

Some common Kubernetes kubectl commands.

https://kubernetes.io/docs/reference/kubectl/overview/
https://github.com/kubernetes/kubectl/
https://kubernetes.io/docs/reference/kubectl/cheatsheet/

Get the current cluster / namespace context

kubectl config get-context

Use the specified cluster context
kubectl config use-context my-cluster-name

Which cluster am I on
kubectl cluster-info

Create my service/deployment/secret/configmap/replicationcontroller/pod/job
kubectl apply -f myyaml.yaml

Delete the applied object(s)
kubectl delete -f myyaml.yaml

Delete a pod
kubectl delete -n dev mydevpod

Get a list of pods for all namespaces
kubectl get pods -A

Get the logs for a pod
kubectl logs -n dev mydevpod-abcde

kubectl get internals
https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/cmd/get/get.go

Copy files to a pod
kubectl cp /tmp/foo_dir <some-pod>:/tmp/bar_dir

Other commands
https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/cmd/cmd.go

get, describe, delete, label, edit, patch, annotate, expose, scale, autoscale, taint, rollout, logs, exec, rolling-update, cordon, config use-context, config delete-cluster, cp

kubectl get namespace
kubectl config get-context
kubectl config get-clusters
kubectl config get-users



Saturday, February 16, 2019

Microsoft Learning Resources and Restructuring Big Data

Microsoft has recently disrupted their learning paths and retired a number of exams.  I am happy to have passed AZ-102 - Microsoft Azure Admin Certification Transition last year, while it was in beta. 

A number of exams have been retired recently or are set to retire.
https://buildazure.com/2018/12/21/microsoft-exams-scheduled-to-retire-in-early-2019/

Microsoft is leveraging edX for its Microsoft Professional and Capstone tracks.  Pick a topic and go.

Microsoft Virtual Academy is going away and being replaced with Microsoft Learn.  What's great about learn is that it provides a no-cost sandbox in Azure for learning, directly in the labs!  Microsoft is pursuing developer adoption, and developers have concerns with their credit cards and cloud services.  A former colleague of mine rang up a large bill in Amazon after leaving on some Hadoop clusters he was using for training.  This fear of costs and the pay-as-you-go model will continue to limit the cloud experience for entry-level developers.

Speaking of cost containment, it is 2019 and we still can't pause HDInsight clusters.... I think that this feature alone would "Spark" increased growth of Hadoop on Azure.  Azure Databricks and its job-based cluster model seems to have the right approach, and the friction of spinning up and pausing clusters is much less than in HDInsight. 

With Databricks being the fastest growing company in North America, I see adoption of Cloudera (+ the former Hortonworks) and HDInsight in the cloud continuing to increase.  The vast zoo of services between Hortonworks Data Platform (HDP) and Cloudera Data Platform (CDP) being combined and deprecated will make for an interesting gene pool.

And all will sit on Azure Data Lake Gen2 Blob Storage?  Microsoft marketing needs a better name than hierarchial namespace for their game-changing big-data filesystem....

When Apache and Microsoft worlds collide - there are some amazing code reviews coming out of those JIRA tickets where companies such as Microsoft enter the open-source arena.

Microsoft Azure HDInsight Big Data Analyst




Monday, May 14, 2018

Durable Functions goes GA

Azure Durable Functions is an extension of Azure Functions and Azure WebJobs for managing state, checkpoints, and restarts.
  • They can checkpoint on await and maintain state
  • They can orchestrate other functions
  • They define workflows as code. 
There are some complex problems that can be solved by leveraging durable functions, including processes requiring manual intervention.

Be sure to view the release notes and open issues to make sure durable extensions will work in your scenario.

https://github.com/Azure/azure-functions-durable-extension/releases/tag/v1.4.0https://github.com/Azure/azure-functions-durable-extension/issues
 

Saturday, January 21, 2017

Azure DocumentDB Emulator Released

Azure DocumentDB Emulator was released late last year.  It provides an on-premise way of testing DocumentDB databases without spinning up a DocumentDB service in Azure.  Based on the comments thread it is a bit unstable, yet there is still plenty of interest.

Most enterprise organizations and developers doing testing against cloud services require on-premise versions of those services.  This simplifies development, reduces latency instead of connecting to cloud resources, and reduces costs. For customers using on-premise builds, it is vital to making sure that all builds and tests are contained in their own silo.

https://docs.microsoft.com/en-us/azure/documentdb/documentdb-nosql-local-emulator

Comparison of HBase, MongoDB and DocumentDB
http://db-engines.com/en/system/HBase%3BMicrosoft+Azure+DocumentDB%3BMongoDB

DocumentDB provides protocol support for any apps written to use MongoDB to convert MongoDB servers to a PaaS Azure model.  Some features such as aggregation pipelines are not yet available.
https://docs.microsoft.com/en-us/azure/documentdb/documentdb-protocol-mongodb

DocumentDB has been around since 2014, however MongoDB is still the beast in its category.
http://db-engines.com/en/ranking/document+store

An intro to DocumentDB
https://docs.microsoft.com/en-us/azure/documentdb/documentdb-introduction

Analyze data with HDInsight and DocumentDB
https://docs.microsoft.com/en-us/azure/documentdb/documentdb-run-hadoop-with-hdinsight

The MongoDB Spark Connector
https://github.com/mongodb/mongo-spark

DocumentDB as a device registration store for Azure IoT Hub
https://docs.microsoft.com/en-us/azure/iot-suite/iot-suite-what-are-preconfigured-solutions

I'm still looking for a good way to do on-premise Azure Data Factory tests for simulating pipelines.... just upvoted Support MSBuild...

https://feedback.azure.com/forums/270578-azure-data-factory?filter=new&page=4

Friday, December 2, 2016

Azure HDInsight Apps & Domain-Joined Premium HDInsight Clusters

Up until recently, HDInsight had a separate security model from Azure AD.  Microsoft has introduced Domain-Joined HDInsight clusters, which brings authentication with Azure AD & authorization with Apache Ranger to HDInsight.  Currently this feature is part of Premium HDInsight, and supports Hive, though you should be able to install/custom configure other applications.

When spinning up an Azure HDInsight cluster, there are a few options during setup, including adding marketplace apps from 3rd-party vendors.

The blurb from the install screen.

External Apps

  • DatameerDatameer offers analysts an interactive way to discover, analyze, and visualize the results on Big Data. Pull in additional data sources easily to discover new relationships and get the answers you need quickly.
  • Streamsets Data Collector for HDnsight provides a full-featured integrated development environment (IDE) that lets you design, test, deploy, and manage any-to-any ingest pipelines that mesh stream and batch data, and include a variety of in-stream transformations—all without having to write custom code.
  • Cask CDAP 3.5 for HDInsight provides the first unified integration platform for big data that cuts down the time to production for data applications and data lakes by 80%. This application only supports Standard HBase 3.4 clusters.
More info on each of these.

Datameer is a data ingest, transformation, and visualization tool.  Connects to tons of sources, including cloud-based, on-prem, relational, nosql, and even Cobol.  
There's a built-in plugin to export to a Tableau Server.

Streamsets Data Collector, for building data pipelines and providing operational dashboards.

Cask CDAP

Each of the applications have specific requirements for the version of HDInsight / HDP that will be used and additional configuration within the applications themselves.

Custom Apps

In addition to the apps in the Azure Marketplace, you can install custom applications, one way is by using shell actions.  

Some resources for installing custom applications with Azure HDInsight.
https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-apps-install-custom-applications

HDInsight provides several scripts to install the following components on HDInsight clusters:



Installing the script action for Hue and some other components will restart the HDInsight cluster services, rendering the server unavailable for jobs.

Bootstrapping Config Files

If you download configs through Ambari or from command-line, you can provision new clusters with changed configuration files.

Connectivity

Connecting to the cluster using ssh

Working with HD Insight, Hue and many of the other browser-based tools sometimes requires Setting up SSH tunneling, if you don't have access directly to HDInsight network.

You can avoid this by setting up some edge nodes in the cluster.
https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-apps-use-edge-node

Extending the network is also useful.  When provisioning an HDInsight cluster, you can assign it to a VNet.
https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-extend-hadoop-virtual-network

RStudio & RevoR

Rikard Sandström has some helpful links - installing a Premium HDInsight Spark cluster with RStudio + Tunnel and Creating HDInsight Clusters with Templates.

 








Tuesday, May 31, 2016

ChatOps and Azure Resources

Working with Azure this week, I setup a few Azure Logic Apps to send messages from Twitter to Slack using Zapier, Very interesting use case for using up your Slack message limits. :)  Similar functionality exists(ed) with Yahoo Pipes (RIP),  ITTT and other web 2.0 integration tools, this one is great since it can live inside a protected Azure network, is relatively simple to setup with a visual designer, and lets you upsize to Biztalk functionality for BPM activities.

Slack seems to be the method of choice for many firms coming back to the '90s realm of IRC, with persisted chat windows, ChatOps continuous integration and automated deployments.  Companies like Shopify use it for their deployments activities and for their customers feature stories.

The ability to do ChatOps activities, wire up deployment commands and notification messages in Slack is really cool.

Not to be late to the party, Microsoft introduced /skype integration with Slack in the new year.
https://www.skype.com/en/features/slack/  The motto of Microsoft in 2016 seems to be if you can't beat 'em... hang out with them.

Coming back to Azure with a _few_ resources, an enormous amount of Azure shortcuts here.
https://blogs.technet.microsoft.com/tangent_thoughts/2016/02/04/bookmark-this-aka-msazureshortcuts/

The Azure ML Learning Cheat Sheet
https://azure.microsoft.com/en-us/documentation/articles/machine-learning-algorithm-cheat-sheet/

The Azure Web Sites (Web Apps?) Cheat Sheet
http://microsoftazurewebsitescheatsheet.info/

A Complete List of Microsoft Azure Tools
http://scottge.net/2015/08/03/a-complete-list-of-microsoft-azure-tools/

With Microsoft Canada adding its new data centres and ExpressRoute functionality, it's an exciting time to be a cloud developer above the 49th parallel north.


Wednesday, June 13, 2012

Meet the New Windows Azure - ScottGu's Blog

Scott Guthrie announces full VM support in Windows Azure.  Host your VMs, Linux, Windows, DOS in the cloud.

Now if they had a VM to VHD converter they may get even more traction.

Windows Azure now allows you to deploy up to 10 web-sites into a free, shared/multi-tenant hosting environment (where a site you deploy will be one of multiple sites running on a shared set of server resources). This provides an easy way to get started on projects at no cost.

Microsoft has gone and given away free hosting.

Lots more features here.

Meet the New Windows Azure - ScottGu's Blog

Wednesday, May 2, 2012

Crowdsourcing and Cloud Labor

Technology isn’t the only thing contained in the cloud.  There are people floating around in there too. 

One of the challenges with natural learning, neural networks and text analysis is the ability to categorize an opinion context.  Using a lexicon of various terms, and the syntax of the terms in a statement, you can do a general categorization.  However, what’s to say that “you’re so dumb” and “you’re SO dumb” mean the same thing.  The one with capitals could be a sarcastic comment, depending on the context.

We can do some general analysis of text terms, however manually tagging these may prove to be more accurate.  How do you setup a manual tagging job using real labor?

CrowdFlower’s system leverages large groups of workers to solve massive but technically simple tasks. One of these services is sentiment analysis, the study of public opinion on a given subject. Other sentiment analysis programs use computational linguistics to perform this task, but computers cannot always discern nuances of tone, such as sarcasm or irony. CrowdFlower’s version is unique in that actual humans perform the sentiment analysis.

What Motivates Crowdsource Workers on CrowdFlower & Kaggle – Highlights of SXSW 2012′s “Pay or Play” Crowdsourcing Talk | The CrowdFlower Blog

Sounds interesting!

Monday, April 9, 2012

SSIS Junkie : AdventureWorks2012 now available for all on SQL Azure

Why not host your training platforms in the cloud?  It only makes sense, especially for databases, as every developer doesn’t need the latest Adventureworks database on their laptop, and it’s a big waste to add to a local server.

AdventureWorks2012 now available for all on SQL Azure

SSIS Junkie : AdventureWorks2012 now available for all on SQL Azure

Awaiting the launch of Tailspin toys to the cloud….

Monday, April 2, 2012

The R programming language for programmers coming from other programming languages

Learning R?  An introduction and comparison against other common programming languages.

R is more than a programming language. It is an interactive environment for doing statistics. I find it more helpful to think of R as having a programming language than being a programming language. The R language is the scripting language for the R environment, just as VBA is the scripting language for Microsoft Excel. Some of the more unusual features of the R language begin to make sense when viewed from this perspective.

The R programming language for programmers coming from other programming languages

Thursday, March 22, 2012

Stack Exchange Data Explorer and Big Data

There are a lot of properties under the StackExchange banner.  Here is a tool that lets you run SQL-style queries against them all.

Stack Exchange Data Explorer

Friday, March 16, 2012

Installing hadoop development cluster on Windows and Eclipse -- Introduction

Hadoop & HDFS on Windows here for all the non-Linux types.  Of course, this is missing all the Hive/Pig/etc goodness and the Cloudera configuration.

This tutorial describes how to set up such a cluster on a computer running Microsoft Windows. It also describes how to integrate this cluster with Eclipse, a prime Java development environment.

Installing hadoop development cluster on Windows and Eclipse -- Introduction

Wednesday, March 14, 2012

Java interop with .NET

To wire up those cloud apps that are written using Java, use some translation tools.

IKVM.NET is useful for several different software development scenarios. Here is a sampling of some of the possibilities.

Uses for IKVM.NET

Monday, March 12, 2012

How-to install R on CentOS « /home/kOoLiNuS

Once you get your Hadoop cluster setup, you’ll probably want R.  Here’s how to install it.

A not so christmas-connected topid today as I’m going to write down a few lines on how-to install the open source statistical tool and relative developement libraries R on CentOS release 4 and 5.

How-to install R on CentOS « /home/kOoLiNuS

CentOS 5 - Networking Support - Setting up a folder share using Likewise over an Active Directory Network

You may want to access your CentOS VM using a file share at one point.  Here’s how.

I'm making a shift from Ubuntu to CentOS 5. Things are obviously quite a bit different between the two, as I've discovered. I'd appreciate some input as I make the shift.
The first problem (and hopefully easiest) is designating a folder to be shared. In Ubuntu it was as easy as right-clicking a folder and click Share Folder. I need to learn what the method is for CentOS, either via the GUI or otherwise.

www.centos.org - Forums - CentOS 5 - Networking Support - Setting up a folder share using Likewise over an Active Directory Network