Wilson Mar bio photo

Wilson Mar

Hello. Hire me!

Email me Calendar Skype call 310 320-7878

LinkedIn Twitter Gitter Google+ Youtube

Github Stackoverflow Pinterest

You gotta have one of each. Or several.


Overview

This page is one of a series on DevOps.

There are many choices of specific technologies within each category:

  1. Development process
  2. Developer laptop

  3. Microservice management
  4. Single-Sign On Authentication
  5. Input formats
  6. Input locations

  7. VPN
  8. Cloud environment
  9. Load Balancer
  10. Content Distribution Network
  11. Server Operating System
  12. Source repository
  13. Bit and Image repository
  14. Continuous Integration Task Runner
  15. Build tool

  16. Specifications repository
  17. Programming Languages
  18. Integrated Development Environments
  19. Static Code Scanner
  20. UX Design Tools
  21. Graphics Processing

  22. Mobile platforms
  23. Mobile testing
  24. Unit/Functional testing
  25. Performance testing
  26. Defect Management (ALM)

  27. Logging and log management
  28. Visualization
  29. In-Memory Databases
  30. Back-end Databases
  31. Geographic Databases

  32. Message queuing
  33. Notifications
  34. Email & SMS
  35. REST API management
  36. Machine Learning
  37. Other technologies

Implications

So many choices lead to integration nightmares as many of the pieces don’t all work together easily.

There is wasted time learning a technology to later learn that it can’t be used (such as Windows Mobile).

Too many choices lead to conflict among people.

There are two extremes in how organizations cope with so many choices:

  • limit fragmentation (and costs) by enfocing available choices

  • allow for individual experimentation for creativity.

Which really yields the fastest speed to market and quality?

Which yield a fragile environment?


Development environment:

Development process

Boards, burn-down charts.

  • Scrum
  • Kanban
  • Lean
  • Atlassian JIRA
  • etc.

Developer laptop

  • Apple Macintosh OSX
  • Microsoft Windows 7
  • Microsoft Windows 10
  • Linux

Microservice management

  • Docker
  • Vagrant (on Macs)
  • Mesos (open source)
  • Marathon
  • Docker Swarm
  • Kubernetes
  • etc.

Single-Sign On Authentication / User Management

  • Okta
  • LDAP
  • ASP.Net Identity
  • PKI/encryption CA server
  • OAuth1 (PKI certificates)
  • OAuth2 (SHA1)
  • etc.

Input formats

  • CSV, JSON, XML, YML, config
  • Google Sheet (online)
  • Excel .xlsx, .xls (Microsoft Office, Office365)
  • Word .docx, .doc (Microsoft Office, Office365)

Input cloud locations

  • Dropbox
  • Box
  • Google Drive
  • Microsoft OneCloud
  • etc.

Servers

  • HP
  • Dell
  • IBM

VPN (Virtual Private Network)

  • Cisco
  • etc.

Cloud environment

  • AWS is the most popular, most expensive
  • Microsoft Azure
  • Google Cloud
  • Heroku (runs in AWS)
  • Rackspace (runs in AWS)

  • HP private cloud
  • Oracle
  • etc.

Load Balancer

  • F5
  • etc.

Content Distribution Network

  • GitHub Issues (free)
  • Amazon EC2 (subscription)
  • Google (subscription)
  • etc.

Server Operating System

  • Shell scripts
  • CentOS (open source)
  • Ubuntu (open source)
  • RedHat Enterprise Linux (licensed)
  • etc.

Source repository

  • GitHub (the most popular, supported by AWS CodePipeline)
  • Bitbucket
  • Stash (Atlassian)
  • Subversion
  • Mercurial (hg)
  • Perforce
  • Assembla
  • BeanstalkApp
  • Codebase
  • Gitlab
  • Gitorious
  • ProjectLocker
  • Kiln
  • Solano (supported by AWS CodePipeline)
  • CodeCommit in AWS cloud
  • etc.

Bit and Image Repository

  • Artifactory (open source)
  • etc.

Task runner CI

  • Jenkins (licensed Cloudbees SaaS)
  • CircleCI
  • TravisCI
  • Fabric
  • CodeShip.com
  • CruiseControl
  • Bamboo from Atlassian (licensed)
  • TFS from Microsoft (licensed)
  • TeamCity from JetBrains (licensed)
  • Wercker (pronounced like worker)
  • AppVeyor
  • BuildForge

Build Tool

  • Ant for Java
  • NAnt for .NET
  • Phing for PHP
  • Rake for Ruby based on haml files.
  • Maven
  • Grunt, Gulp (for Node)
  • ActionScript (Mac)
  • etc.

Specifications repository

  • Swagger
  • RAML
  • WADL
  • etc.

Programming Languages

  • Scala is the new darling
  • Java continues to dominate

  • C# (ASP.NET or MVC) from Microsoft

  • Python
  • Perl
  • PHP

  • Clojure
  • Go (popular within Google)
  • etc.

Integrated Development Environments

  • JetBrains
  • Eclipse (favored by Java)
  • Visual Studio with ReSharper, TestDriven.Net
  • etc.

Static Code Scanner

  • custom for the language
  • SonarQube
  • Persoft
  • etc.

UX Design Tools

  • Axure
  • Photoshop PXD
  • etc.

Graphics Processing

  • Adobe Photoshop
  • Sketch (Mac)
  • etc.

Mobile platforms

  • Desktop (GitHub Electron)
  • Google Android (Java) native
  • Apple iOS native
  • Hybrid Web (Sencha and others based on Apache Cordova)
  • Generators (React Native from JavaScript v6)
  • etc.

Mobile testing

  • Appium (Java)
  • Perfecto (mobile device cloud)
  • SauceLabs
  • Amazon Device Cloud
  • etc.

Unit & Functional testing

  • Karma with Jasmine
  • Selenium (Java, JavaScript, .NET, etc.)
  • RedwoodHD
  • Mocha
  • etc.

Performance testing

  • JMeter (Java)
  • SOASTA (cloud subscription)
  • etc.

Defect Management (ALM)

  • FogBugz
  • etc.

Logging and log mangement

  • Logstash / ElastiSearch (open source)
  • AppDynamics
  • NewRelic

  • SumoLogic (subscription)
  • AWS (subscription)
  • Splunk
  • etc.

Data Visualization

  • Kibana (from Elastisearch)
  • Tableau
  • Qlik
  • PowerBI
  • etc.

In-Memory Databases

  • Redis
  • SQLite (mobile)
  • HTML5 local storage

  • Varnish
  • Memcached
  • etc.

Back-end Databases

  • Cassandra
  • CouchDB
  • Neo4J graph database
  • MongoDB
  • SparkDB

  • PostgreSql
  • MySQL (local and in Amazon)
  • Microsoft SQL Server
  • Oracle
  • DynamoDB
  • etc.

Geographic Databases

  • Google Maps
  • Bing Maps
  • ESRI
  • Route optimization (machine learning)
  • etc.

Message queuing

  • ZeroMQ
  • Kafka
  • ActiveMQ
  • Amazon
  • MSMQ
  • TIBCO
  • etc.

Notifications

  • PagerDuty
  • Zapier
  • etc.

Email & SMS

  • Microsoft Exchange
  • Microsoft Sharepoint
  • SMS gateway server
  • Fax gateway server
  • etc.

REST API management

  • Mulesoft
  • Mashery (Intel)
  • etc.

Machine Learning

  • Tensorflow (Google)
  • Semantic Analysis
  • Recommender
  • etc.

Other technologies

  • Text to speech
  • Computer vision (XBox)
  • Drones
  • Gaming (Unity)
  • GLib, Maya (motion graphics)
  • etc.

More on DevOps

This is one of a series on DevOps:

  1. DevOps_2.0
  2. User Stories for DevOps

  3. Git and GitHub vs File Archival
  4. Git Commands and Statuses
  5. Git Commit, Tag, Push
  6. Git Utilities
  7. Data Security GitHub
  8. GitHub API
  9. TFS vs. GitHub

  10. Choices for DevOps Technologies
  11. Java DevOps Workflow
  12. AWS DevOps (CodeCommit, CodePipeline, CodeDeploy)
  13. AWS server deployment options

  14. Digital Ocean
  15. Cloud regions
  16. AWS Virtual Private Cloud

  17. Azure Cloud Onramp
  18. Azure Cloud
  19. Azure Cloud Powershell

  20. Powershell Ecosystem
  21. Powershell on MacOS
  22. Powershell Desired System Configuration

  23. Jenkins Server Setup
  24. Jenkins Plug-ins
  25. Jenkins Freestyle jobs
  26. Jenkins2 Pipeline jobs using Groovy code in Jenkinsfile

  27. Dockerize apps
  28. Docker Setup
  29. Docker Build

  30. Maven on MacOSX

  31. Ansible

  32. MySQL Setup

  33. SonarQube static code scan

  34. API Management Microsoft
  35. API Management Amazon

  36. Scenarios for load