You gotta have one of each. Or several.
Overview
- Governance
- Implications
- Development environment:
- Servers
- VPN (Virtual Private Network)
- Cloud environment
- Load Balancer
- Content Distribution Network
- Server Operating System
- Source repository
- Bit and Image Repository
- Task runner CI
- Build Tool
- Specifications repository
- Programming Languages
- Integrated Development Environments
- Static Code Scanner
- UX Design Tools
- Graphics Processing
- Mobile platforms
- Mobile testing
- Unit & Functional testing
- Performance testing
- Defect Management (ALM)
- Logging and log management
- Data Visualization
- In-Memory Databases
- Back-end Databases
- Geographic Databases
- Message queuing
- Notifications
- Email & SMS
- REST API management
- Machine Learning
- Other technologies
- More on DevOps
This page is one of a series on DevSecOps.
There are many choices of specific technologies within each category:
- Governance
- Development process
- Microservice management
- Single-Sign On Authentication
- Input formats
- VPN
- Cloud environment
- Load Balancer
- Content Distribution Network
- Server Operating System
- Source repository
- Bit and Image repository
- Continuous Integration Task Runner
- Specifications repository
- Programming Languages
- Integrated Development Environments
- Static Code Scanner
- UX Design Tools
- Mobile platforms
- Mobile testing
- Unit/Functional testing
- Performance testing
- Logging and log management
- Visualization
- In-Memory Databases
- Back-end Databases
- Message queuing
- Notifications
- Email & SMS
- REST API management
- Machine Learning
- Other technologies
Governance
What is it about forcing manual approval from “executive” level personnel?
Is it to encourage (force) more participation from them?
If so, what do we want them to do before approving or disapproving each request?
How often are those actions actually performed (versus perfunctory approval)?
Since approvals may cause some delay, is the price of such delays worth the actual security increase?
Can those actions be automated to ensure that they actually get done, every time, with less delay?
That is the basic question asked by DevSecOps.
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
- Tablet?
Microservice management
- Docker
- Vagrant (on Macs)
- Mesos (open source)
- Marathon
- Docker Swarm
- Kubernetes
- VMWare vRealize suite (vRA, vRO)
- etc.
Single-Sign On Authentication / User Management
- Forgerock (federated)
- Okta
- LDAP
- ASP.Net Identity
- PKI/encryption CA server
- OAuth0 (SaaS)
- 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
- Red Hat OpenStack
- 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)
- Nexus
- etc.
Task runner CI
- Jenkins (licensed Cloudbees SaaS)
- CircleCI
- TravisCI
- Concourse (from )
- 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 management
- 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:
- DevOps_2.0
- ci-cd (Continuous Integration and Continuous Delivery)
- User Stories for DevOps
- Git and GitHub vs File Archival
- Git Commands and Statuses
- Git Commit, Tag, Push
- Git Utilities
- Data Security GitHub
- GitHub API
- Choices for DevOps Technologies
- Pulumi Infrastructure as Code (IaC)
- Java DevOps Workflow
- AWS DevOps (CodeCommit, CodePipeline, CodeDeploy)
- AWS server deployment options
- Cloud services comparisons (across vendors)
- Cloud regions (across vendors)
- Azure Cloud Onramp (Subscriptions, Portal GUI, CLI)
- Azure Certifications
- Azure Cloud Powershell
- Bash Windows using Microsoft’s WSL (Windows Subsystem for Linux)
- Azure Networking
- Azure Storage
- Azure Compute
- Digital Ocean
- Packer automation to build Vagrant images
- Terraform multi-cloud provisioning automation
-
Hashicorp Vault and Consul to generate and hold secrets
- Powershell Ecosystem
- Powershell on MacOS
- Jenkins Server Setup
- Jenkins Plug-ins
- Jenkins Freestyle jobs
- Docker (Glossary, Ecosystem, Certification)
- Make Makefile for Docker
- Docker Setup and run Bash shell script
- Bash coding
- Docker Setup
- Dockerize apps
- Ansible
- Kubernetes Operators
- Threat Modeling
- API Management Microsoft
- Scenarios for load
- Chaos Engineering