Thursday, November 16, 2017

Mass Transit

Mass transit enables peer to peer sending device similar to bittorrent for sending. It can be useful for remote users. It's a open source Microsoft technology called Mass Transit which works with RabbitMQ. Here are a couple points that struck me:

The RabbitMQ server is written in the Erlang programming language and is built on the Open Telecom Platform framework for clustering and failover. 

RabbitMQ was started by LShift and CohesiveFT in 2007,[1] and was acquired in April 2010 by SpringSource, a division of VMware.[2] The project became part of GoPivotal in May 2013.[3]


The MassTransit project from Microsoft . Supports multicast, versioning, encryption, sagas, retries, transactions, distributed systems and other features. It is said to be similar to the older nServiceBus.

The protocol behind RabbitMQ is AMQPL is used in many banks for branch locations:AMQP was originated in 2003 by John O'Hara at JPMorgan Chase in London, UK.[1] From the beginning AMQP was conceived as a co-operative open effort. Initial development was by JPMorgan Chase from mid-2004 to mid-2006 who contracted iMatix Corporation for a C broker and protocol documentation.[note 1] In 2005 JPMorgan Chase approached other firms to form a working group that included Cisco Systems, IONA Technologies, iMatix, Red Hat, and Transaction Workflow Innovation Standards Team (TWIST). In the same year JPMorgan Chase partnered with Red Hat to create Apache Qpid, initially in Java and soon after C++. Independently, RabbitMQ was developed in Erlangby Rabbit Technologies, followed later by the Microsoft and StormMQ implementations.
The working group grew to 23 companies including Bank of America, Barclays, Cisco Systems, Credit Suisse, Deutsche Börse, Goldman Sachs, HCL Technologies Ltd, Progress Software, IIT Software, INETCO Systems Limited, Informatica (including 29 West), JPMorgan Chase, Microsoft Corporation, my-Channels, Novell, Red Hat, Software AG, Solace Systems, StormMQ, Tervela Inc., TWIST Process Innovations ltd, VMware (which acquired Rabbit Technologies) and WSO2.
In August 2011, the AMQP working group announced its reorganization into an OASIS member section.[9]
AMQP 1.0 was released by the AMQP working group on 30 October 2011, at a conference in New York. At the event Microsoft, Red Hat, VMware, Apache, INETCO and IIT Software demonstrated software running the protocol in an interoperability demonstration.
OASIS AMQP was approved for release as an ISO and IEC International Standard in April 2014.[14]AMQP 1.0 was balloted through the Joint Technical Committee on Information Technology (JTC1) of the International Standards Organization (ISO) and the International Electrotechnical Commission (IEC). The approved OASIS AMQP submission has been given the designation, ISO/IEC 19464.
Previous versions of AMQP were 0-8, published in June 2006, 0-9, published in December 2006, 0-10 published in February 2008[15] and 0-9-1, published in November 2008. These earlier releases are significantly different from the 1.0 specification.
Whilst AMQP originated in the financial services industry, it has general applicability to a broad range of middleware problems.
I've attached some screenshots of RabbitMQ and Microsoft MassTransit.

Ulteo

I was working with ulteo which is a VDI which runs on linux. It is created by the person who did mandrake linux.

https://distrowatch.com/table-mobile.php?distribution=ulteo
http://www.cio.com/category/infrastructure/?start=8260
https://en.m.wikipedia.org/wiki/Ulteo


ulteo likes to see Google Chrome work with their product because they believe it can help them stay more secure. https://betanews.com/2017/06/26/google-chrome-microsoft-edge-battery-life-tests/

Wednesday, November 15, 2017

The Great Patching systems Debate

I watched a debate about patching systems for security.  I hope to be able to do research off this debate. I will add more to this placeholder in a few days.

“The Great Debate: Anti Virus and Monthly Security Patching Should Be Abandoned In ICS.” YouTube, 9 Nov. 2017, youtu.be/-GHOrwpQI-8.


Shout-out to SQLZoo

I found this website was really good at helping me practice SQL when I was a new comer.

https://sqlzoo.net

The super semicolon of SQL

One of my assignments was to do a query that returned three values. How many people gave gifts that were small,  medium, or large.  I found the answer was to use a semicolon. Here are two cool solutions. The first is specific for transact SQL or T-SQL and the next one is more generic using semicolons as promised.


USE CRM: GO DECLARE @SmallDown NVARCHAR(0);

DECLARE @SmallUp NVARCHAR(100);

DECLARE @MediumDown NVARCHAR(101);

DECLARE @MediumUp NVARCHAR(1000);

DELARE @LargeDown NVARCHAR(1001);

COUNT Gift (IF BETWEEN SmallDown AND SmallUp) FROM Contribution
AS SmallGiftsCount;
SET @SGC = SmallGiftsCount;
AVG Gift (IF BETWEEN SmallDown AND SmallUp) FROM Contribution AS SmallGiftsAVG;
SET @SGA = SmallGiftsAVG;
SUM Gift (IF BETWEEN SmallDown AND SmallUp) FROM Contribution AS SmallGiftsSum;
FROM Contribution AS SmallGiftSUM;
SET @ SGS = SmallGiftSUM;

COUNT Gift (IF BETWEEN MediumDown AND MediumUp) FROM Contribution
AS MediumGiftCount;
SET @MGC = MediumGiftCount;
AVG Gift (IF BETWEEN MediumDown AND MediumUp) FROM Contribution AS MediumGiftAVG;
SET @MGA = MediumGiftAVG;
SUM Gift (IF BETWEEN MediumDown AND MediumDown) FROM Contribution AS MediumGiftSUM;
SET @MGS = MediumGiftSUM;

COUNT Gift (IF LargeDown =<) FROM Contribution AS LargeGiiftsCount;
SET @LGC = LargeGiftsCount;
AVG Gift (IF LargeDown =<) FROM Contribution AS MediumGiftAVG;
SET @LGA = LargeGiftAVG;
SUM Gift (IF BETWEEN MediumDown AND MediumDown) FROM Contribution AS MediumGiftSUM;
SET @LGS = LargeGiftSUM;

PRINT 'Report'
PRINT 'About' + @ SGC + 'people contributed' + @SGS ' averaging  gifts of' + SGA + '.'


PRINT 'Report'
PRINT 'About' + @ MGC + 'people contributed' + @MGS ' averaging  gifts of' + MGA + '.'

PRINT 'Report'
PRINT 'About' + @ LGC + 'people contributed' + @LGS ' averaging  gifts of' + LGA + '.'


Note:

Values can be assigned to variables using the SET statement or the SELECT INTO statement or as a default value when the variable is declared. Literals, expressions, the result of a query, and special register values can be assigned to variables.

If the donations are made in chunks here is the way combine them all  HAVING SUM(SaleAmount) > 1000

Two neat tools that are available is called linqpad, https://www.linqpad.net and EMS lite 
https://www.sqlmanager.net/en/tools/free

I am working on three posts,  one for data entity framework another one for desired state configuration with Chef,  one about Asterisk PBS from Digium.

Immense value of Microsoft Graph API

When Yahoo shut down Yahoo pipes,  I was dissapointed.  Google also tried to have a Mash-up system. Mozilla has been in this space too with a natural language derived system.  When tech giant Microsoft put forth their Graph API, I was skeptical but Microsoft has several advantages. First of all they created Visual Studio and Visual Studio code.  During the 2017 Powershell Conference presentation on the state of Powershell, Jeffrey Silver explained that Microsoft Powershell and Microsoft code is not simply a port for Linux but a powerful recreation of the editor and language that could be useful for Linux administration.  All this to say Microsoft Visual Studio is a mature professional product.  Other technologies such as Microsoft Office 365 are valuable assets as far as natural language processing is concerned.  Microsoft is considered a leader in the enterprise email space.
Microsoft created their first edition of Microsoft word in 1983.

Sharepoint is a leader in organizations communicating internally to other employees.  Because of the increasing amount of videos and voice communications and texts natural language processing is an important part of sharepoint.  Microsoft expressed desires to make determinations about how to allocate resources easier by using natural language processing. For example whom is talking to who within an organization.  Here is a picture from almost three years ago:
Today,  three years later, Microsoft connects with many Microsoft services.

Microsoft Delve is used to aggregate data across office 365. An example is and can tell a person if they are spending too much time at meetings and can aggregate data from emails about what meetings to skip if a person is double scheduled. It can be used to plan active directory federation services. 


Microsoft Flow is another utilization of Microsoft Graph. It can be used in automating workflow online such as posting files online or over a hundred social sites online including Twitter or Salesforce and can be embedded within your own applications.  It could be used to get notifications. Buttons are created and are like Macros except they require almost no coding.  Also triggers wait for an event to happen such as an email from a boss could be forwarded and others ignored. 

There are a couple different prices for Microsoft flow but there is also a free version which could be a mobile version.

The Microsoft Flow could be especially powerful when combined with Microsoft CRM or Skype for businesses.

When a part of Microsoft 365 your company can view your email address. Another caviot is at the present time is the only way to share a workflow is globally.  There might be a way in the future to only share the workflow.

For more information be sure to check out: https://docs.microsoft.com/en-us/flow/guided-learning/get-started

Containers are the next phase in IT advancement

Virtual machines were once the defacto way of running an infrastructure on a single server.  This needs to change because of patching levels on each virtual server.  Some system administrators install the entire GUI which is ring 1 on Windows server meaning when the graphics card is slowed down by doing many calculations,  the server cannot run.
When the GUI crashes this causes a blue screen of death on a windows server.  To avoid this, the system must be as simple as possible.



The part of a car which requires the most servicing is the transmission.  This is because it is the most complex.


The ignition system is closely integrated with the transmission.

To reduce complexity,  might I suggest containers so everything can use one operating system. Like the sandbox,  containers isolate pieces of the programs into segmented different pieces called microservices.  Micrroservices are like Lego's,  a single process is run in each.  

Each microservice communicates with other microservice through an API or programmable interface.  

Programmers who use object oriented programming languahe's such as C++ and Java are familiar with the concept of reusing code by stringing classes together.  Why invent the wheel if someone else has used tested code and are confident that it would help someone else?
=
The right step for you and your organization might be to use docker.  Docker is a cross platform and can work natively on Linux or Windows server 2016 and greater. It also works with the cloud service such as EC2 or Azure. It can but it does not have to run on a cloud infrastructure.

The reason they chose a whale with some shipping containers is that they want to show compare the generic shipping containers with how shipping companies saved money when they used standard sizes.  When I was a kid I had three toy dump trucks,  a large Tonka dump truck,  a medium sized one.  When there were large tasks I used the large dump truck.  


Real dump trucks have fuel economics to deal with so there is a great cost for using the large dump truck as compared to one trip with its smaller counterpart.



 In computing a slightly larger container is used than what might be the current case because of future modifications. 
Hard disks are divided into bits which are a binary yes and no. 
In arrays,  seemingly consecutive pieces of the hard drive are used.


There are two versions of Docker,  a community model and an enterprise model. 

It can be possible to use the community edition and combine it with other projects such as Terraform to begin with. When starting off with a workflow it can be intimidating.
There are wizards for provisioning new microservice nodes which are collected into pods to form a single service.

Kubernetes is an open source system for automating deployments. 
Kubernetes was created by Google engineers and can load balance for fault tolerance and load balancing.  Google is described as using not special task oriented hardware but using a lot of commodity hardware. The acronym RAID stands for redundant array of inexpensive disks.  The goal of RAID is to alow for failure.  Failure of hard disks and other hardware components is a part of every data center and should be embraced and planned for. Do not plan to avoid failure otherwise when the unexpected happens you would be surprised rather than prepared. 

I found that Hashicorp did some other products besides Terraform like Vault and many are implemented in the Mantle.io which is now a division of Cisco.  For a while Cisco has been a leader in the software defined networking space. They are a leader in the routing and switching sector of information technology. They have industry recognized exams in cloud artitcture.

Another dependable but not free solution was put forth by VMWare in a 2017 VMWorld convention which is Vsphere integrated containers. They, like the paid version of Hashicorp do reporting for legal compliance. I hope to study this more to do further blog reports.