Besides Docker and Kubernetes there are many other open source tools in "containers ecosystem".
This podcast interview explains many of them... Helm, Helm Charts, Draft, Brigade...
Container Native Development with Ralph Squillace – Software Engineering Daily
Helm - The Kubernetes Package Manager
kubernetes/helm: The Kubernetes Package Manager @ GitHub
kubernetes/charts: Curated applications for Kubernetes @ GitHub
Azure/brigade: Event-based Scripting for Kubernetes. @ GitHub
Introducing Brigade: event-driven scripting for Kubernetes
Azure/draft: A tool for developers to create cloud-native applications on Kubernetes @ GitHub
Thursday, May 31, 2018
Wednesday, May 30, 2018
YAML vs JSON
Containers tools "like" YAML.
YAML vs JSON
"YAML is best suited for configuration where
YAML vs JSON
"YAML is best suited for configuration where
JSON is better as a serialization format or serving up data for your APIs."
Convert JSON to YAML
The Official YAML Web Site
YAML - Wikipedia
"YAML (YAML Ain't Markup Language) is a human-readable data serialization language. It is commonly used for configuration files, but could be used in many applications where data is being stored (e.g. debugging output) or transmitted (e.g. document headers)."
"YAML version 1.2 is a superset of JSON; prior versions were "not strictly compatible"."
Convert JSON to YAML
The Official YAML Web Site
YAML - Wikipedia
"YAML (YAML Ain't Markup Language) is a human-readable data serialization language. It is commonly used for configuration files, but could be used in many applications where data is being stored (e.g. debugging output) or transmitted (e.g. document headers)."
Tuesday, May 29, 2018
event: Google Cloud Next ’18
Google's event similar to Amazon's re:Invent
Google Cloud Next ’18 | July 24–26 San Francisco
Great photo! (or PhotoShop :)
AWS CloudFormation Designer
Visual designer for AWS cloud templates.
Generates JSON or YAML files that can be used to quickly "stand up" cloud infrastructure.
AWS CloudFormation Product Details
AWS CloudFormation Designer Interface Overview - AWS CloudFormation
Introduction to CloudFormation Designer - YouTube
stelligent/cloudformation_templates: AWS - CloudFormation Templates
Generates JSON or YAML files that can be used to quickly "stand up" cloud infrastructure.
AWS CloudFormation Product Details
AWS CloudFormation Designer Interface Overview - AWS CloudFormation
Introduction to CloudFormation Designer - YouTube
stelligent/cloudformation_templates: AWS - CloudFormation Templates
Monday, May 28, 2018
cloud: AWS "bare metal" Instances
After Oracle Cloud heavily promoting "bare metal cloud", to support easy "lift and shift" to cloud with minimal changes, AWS now offers no-VMs for max performance.
Amazon EC2 I3 Instances - high I/O compute instances
"I3 instances offer bare metal size (i3.metal) that provide your applications with direct access to the compute and memory resources of the underlying next generation AWS hardware and software infrastructure. Bare metal instances let you run a variety of workloads on AWS, including non-virtualized workloads, workloads that benefit from direct access to physical resources, and workloads that may have licensing restrictions."
Amazon EC2 I3 Instances - high I/O compute instances
"I3 instances offer bare metal size (i3.metal) that provide your applications with direct access to the compute and memory resources of the underlying next generation AWS hardware and software infrastructure. Bare metal instances let you run a variety of workloads on AWS, including non-virtualized workloads, workloads that benefit from direct access to physical resources, and workloads that may have licensing restrictions."
Sunday, May 27, 2018
IoT: Misty Robotics
Misty Robotics | Get the Misty II Advanced Personal Robot for 50% Only Through May 31
Episode 164: New Wi-Fi standards and robots – IoT Podcast – Internet of Things
podcast interview
Triangulation 347 Ian Bernstein
Ian Bernstein is the founder of Misty Robotics and Sphero
He makes parallel or robots with first personal computers (Apple II etc).
Even with 50% discount the price is very high.
Misty robot is runs both Android and Windows IoT,
to provide maximum options for developers.
There other educational robots, for much less:
ASUS Zenbo - Your Smart Little Companion
Just wait for Amazon to add wheels on Echo :)
Saturday, May 26, 2018
Friday, May 25, 2018
Free eBook: .NET Microservices - Architecture for Containerized .NET Applications
Free eBook/Guide on ‘.NET Microservices – Architecture for Containerized .NET Applications’ – Cesar de la Torre [Microsoft] – BLOG
.NET Microservices. Architecture for Containerized .NET Applications | Microsoft Docs
dotnet-architecture/eShopOnContainers: Easy to get started sample reference microservice and container based application. Cross-platform on Linux and Windows Docker Containers, powered by .NET Core 2.0 and Docker engine. Supports Visual Studio 2017, VS for Mac and CLI based environments with Docker CLI, dotnet CLI, VS Code or any other code editor. @ GitHub
More free eBooks from Microsoft
GDPR
Your Guide to the GDPR - IEEE Spectrum
EU General Data Protection Regulation, goes into effect 25 May 2018
EU General Data Protection Regulation, goes into effect 25 May 2018
- Breach notification
- Right to access
- Right to be forgotten
- Data portability
- Privacy by design
- Data protection officers
Thursday, May 24, 2018
Angular: 7 methods to share data between components
Angular introduces a lot of structure to web "single page apps",
based on object-oriented components, modules, services etc
to enable creating robust and responsive web apps.
The price is initial complexity of setting up a system,
and the communication between parts of the system.
Make It Easy: Share data between Angular components - 7 methods
7 different ways for sharing data between Angular components.
based on object-oriented components, modules, services etc
to enable creating robust and responsive web apps.
The price is initial complexity of setting up a system,
and the communication between parts of the system.
Make It Easy: Share data between Angular components - 7 methods
7 different ways for sharing data between Angular components.
- Share data between parent and child component
- Share data between components using ViewChild
- Share data between sibling components
- Share data between components using service file | Communicate between components using service file
- 3 simple ways to share data through angular route.
- Create reusable component and pass data to component
- Share data between non related components (via service)
Wednesday, May 23, 2018
AI + Voice
Incredible research with analyzing human voice to detect all kinds of physical and psychological conditions of the speakers. Humans can sense a lot of information from the speech,
and apparently computer algorithms (ML/AI) could even much more,
from detecting is somebody is lying, intoxicated, physical features, health conditions...
With voice assistants now being available in as much as 70-90% of US homes,
this new research will create a whole new set of opportunities and challenges, soon...
Voice with Rita Singh | Software Engineering Daily (podcast interview)
"A sample of the human voice is a rich piece of unstructured data. Voice recordings can be turned into visualizations called spectrograms. Machine learning models can be trained to identify features of these spectrograms. Using this kind of analytic strategy, breakthroughs in voice analysis are happening at an amazing pace."
“Every person's voice is unique, just like your fingerprint and DNA, so we are on our way to converting voice to kind of like a barcode to identify every human,” said Singh, who has been studying voice for decades. “Basically, we are trying to sketch the entire persona of a human and their environment.”
and apparently computer algorithms (ML/AI) could even much more,
from detecting is somebody is lying, intoxicated, physical features, health conditions...
With voice assistants now being available in as much as 70-90% of US homes,
this new research will create a whole new set of opportunities and challenges, soon...
Voice with Rita Singh | Software Engineering Daily (podcast interview)
"A sample of the human voice is a rich piece of unstructured data. Voice recordings can be turned into visualizations called spectrograms. Machine learning models can be trained to identify features of these spectrograms. Using this kind of analytic strategy, breakthroughs in voice analysis are happening at an amazing pace."
Advanced self-driving cars research originated at Carnegie Mellon University,
and spread to Stanford, Google and many other places. Apparently AI is advancing in other domains, too.
Forget Face ID. The Future of Secure Authentication Is Your Voice | Fortune
Forget Face ID. The Future of Secure Authentication Is Your Voice | Fortune
Tuesday, May 22, 2018
Microsoft Build 2018 content, Attention economy, data
Microsoft Build Live 2018
3 days produced 46 web pages 16 "tiles" with videos and presentations on each page. That is more than 730 items, more than number of hours in a month. It is almost impossible to find anything.
Videos are hosted on YouTube, but no ads. Does it mean video paid hosting?
Attention economy - Wikipedia
"Herbert A. Simon was perhaps the first person to articulate the concept of attention economics when he wrote: "...in an information-rich world, the wealth of information means a dearth of something else: a scarcity of whatever it is that information consumes. What information consumes is rather obvious: it consumes the attention of its recipients. Hence a wealth of information creates a poverty of attention and a need to allocate that attention efficiently among the overabundance of information sources that might consume it" (Simon 1971, pp. 40–41)."
With abundant content, the navigation UI / UX is critical.
(How to Get an RSS Feed for a YouTube Channel - Daniel Miessler)
The feed below is for channel: Microsoft Developer - YouTube
there is not standard for RSS options, so data are limited to latest.
But there is a also "official" (not free) REST/JSON API for YouTube
Videos: list | YouTube Data API | Google Developers
3 days produced 46 web pages 16 "tiles" with videos and presentations on each page. That is more than 730 items, more than number of hours in a month. It is almost impossible to find anything.
Videos are hosted on YouTube, but no ads. Does it mean video paid hosting?
Attention economy - Wikipedia
"Herbert A. Simon was perhaps the first person to articulate the concept of attention economics when he wrote: "...in an information-rich world, the wealth of information means a dearth of something else: a scarcity of whatever it is that information consumes. What information consumes is rather obvious: it consumes the attention of its recipients. Hence a wealth of information creates a poverty of attention and a need to allocate that attention efficiently among the overabundance of information sources that might consume it" (Simon 1971, pp. 40–41)."
With abundant content, the navigation UI / UX is critical.
As much effort is invested in preparing content, there is not even a search box for this content!
But Google search does have a solution, by just adding "site:" to search box.
It would be very useful if the index of the content like this was available as an "API",
i.e. as an RSS or similar feed with metadata, to be able to use alternative navigation and filtering tools...
i.e. as an RSS or similar feed with metadata, to be able to use alternative navigation and filtering tools...
And, strangely enough, there is such feed from YouTube!
Even better, there is a specific feed for "playlist",
The power of XML :-)
http - What are the common URL parameters I can use against an RSS feed? - Super User
in some feeds can use http://www.anySite.com/articles?page=2http - What are the common URL parameters I can use against an RSS feed? - Super User
there is not standard for RSS options, so data are limited to latest.
But there is a also "official" (not free) REST/JSON API for YouTube
Videos: list | YouTube Data API | Google Developers
Monday, May 21, 2018
cloud: Google SRE vs DevOps
Google's "SRE" (Site Reliability Engineer) role is about effectively keeping web sites running. DevOps is a general term for mixing and collaboration of development and operations.
SRE vs Devops with Liz Fong-Jones and Seth Vargo | Google Cloud Platform Podcast
They are related, but not the same thing. This podcast explains the difference. Many useful links.
- class SRE implements DevOps youtube series
- DevOps wikipedia
- Site Reliability Engineering (SRE) site
- Terraform site
- Chef site
- Puppet site
- Ansible site
- SaltStack site
- Prometheus site
- Datadog site
- Stackdriver site
- The Site Reliability Workbook: Practical Ways to Implement SRE amazon
- Seeking SRE o’reilly
- Customer Reliability Engineering Blog Series blogs
Deploying Angular: base href
There is a lot of "magic" with modern "SPA" web apps...
Angular web apps are by default expected to be deployed on root folder of a web site "/".
This works well for testing, or deploying as a single web site app,
but in enterprise environments there are often multiple web apps on one web site.
Angular CLI "build" command has option to adjust "base-href", but that is not enough.
At the same time need to adjust "deploy-url" that is applied for static resources (scripts).
So the complete command is, assuming the app is deployed with path "/myapp/"
Observe that "/" is before and after the path of the app.
> ng build -prod --base-href /myapp/ --deploy-url /myapp/
The same adjustment is also needed when "bundling" a SPA web app with "host" web server app.
That is needed when manually adding built "dist" Angular app to web server app.
In case of Angular template with ASP.NET Core, when adjustment is done by Visual Studio
and the .net, when published app generates HTML with adjustment on the fly. Magic.
That is needed when manually adding built "dist" Angular app to web server app.
In case of Angular template with ASP.NET Core, when adjustment is done by Visual Studio
and the .net, when published app generates HTML with adjustment on the fly. Magic.
Sunday, May 20, 2018
Azure SignalR Service: Real time web for .NET
SignalR Service – Real time web | Microsoft Azure
Azure solutions architecture center | Microsoft Azure
Azure SignalR Service, a fully-managed service to add real-time functionality | Blog | Microsoft Azure
"public preview of the Azure SignalR Service. This fully-managed service allows you to use ASP.NET Core SignalR to build real-time experiences such as chat, stock tickers, live dashboards, and more, all without worrying about capacity provisioning, scaling, or persistent connections."
SignalR/SignalR: Incredibly simple real-time web for .NET @ GitHub
Microsoft Announces Preview of Azure SignalR Service @ InfoQ
"SignalR is a library and can be used to deliver real-time experiences for web applications, such as live dashboards. It achieves this by pushing content from server-side code to connected clients in real-time. The functionality is provided through WebSockets but has fall-back to server-side events, forever frames and long polling when WebSockets are not supported.
When hosting the SignalR components directly, the user is responsible for security, encryption, capacity and scaling...
The Azure SignalR Service removes some of the complexity around self-hosting instances by providing scale up and scale out capabilities directly without the need to provide your own backplane. Additionally, security is managed by the service using shared access keys."
Azure solutions architecture center | Microsoft Azure
Azure SignalR Service, a fully-managed service to add real-time functionality | Blog | Microsoft Azure
"public preview of the Azure SignalR Service. This fully-managed service allows you to use ASP.NET Core SignalR to build real-time experiences such as chat, stock tickers, live dashboards, and more, all without worrying about capacity provisioning, scaling, or persistent connections."
SignalR/SignalR: Incredibly simple real-time web for .NET @ GitHub
Microsoft Announces Preview of Azure SignalR Service @ InfoQ
"SignalR is a library and can be used to deliver real-time experiences for web applications, such as live dashboards. It achieves this by pushing content from server-side code to connected clients in real-time. The functionality is provided through WebSockets but has fall-back to server-side events, forever frames and long polling when WebSockets are not supported.
When hosting the SignalR components directly, the user is responsible for security, encryption, capacity and scaling...
The Azure SignalR Service removes some of the complexity around self-hosting instances by providing scale up and scale out capabilities directly without the need to provide your own backplane. Additionally, security is managed by the service using shared access keys."
Saturday, May 19, 2018
course: Advanced Cloud Native Go Microservices
related courses:
Getting Started with Cloud Native Go
Learning Kubernetes
"Learn to build and maintain improved Microservices with Go"
Advanced Cloud Native Go [Video] | PACKT Books
usually best deal: Advanced Cloud Native Go | Udemy
code:
lreimer (M.-Leander Reimer) @ GitHub
lreimer/cloud-native-go: Getting started with Cloud Native Go.
sample videos:
Advanced Cloud Native Go : The Course Overview | packtpub.com - YouTube
Advanced Cloud Native Go : Using Consul for Microservice Discovery | packtpub.com - YouTube
tools:
Download Visual Studio Code - Mac, Linux, Windows
GoLand: Capable and Ergonomic Go IDE by JetBrains
Get Docker | Docker
kubernetes/minikube: Run Kubernetes locally
(many) referenced/used prog. libraries:
cncf/landscape: Static Cloud Native Landscapes
afex/hystrix-go: Netflix's Hystrix latency and fault tolerance library, for Go
armon/go-metrics: A Golang library for exporting performance and runtime metrics to external metrics systems (i.e. statsite, statsd)
armon/go-metrics: A Golang library for exporting performance and runtime metrics to external metrics systems (i.e. statsite, statsd)
spacemonkeygo/monkit: A flexible process data collection, metrics, monitoring, instrumentation, and tracing client library for Go
sirupsen/logrus: Structured, pluggable logging for Go.
go-kit/kit: A standard library for microservices.
micro/go-micro: A pluggable RPC framework
NYTimes/gizmo: A Microservice Toolkit from The New York Times
Gorilla, the golang web toolkit
gin-gonic/gin: Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.
YAML - Wikipedia
Friday, May 18, 2018
Rosetta Code
Rosetta Code
"Rosetta Code is a programming chrestomathy site. The idea is to present solutions to the same task in as many different languages as possible, to demonstrate how languages are similar and different, and to aid a person with a grounding in one approach to a problem in learning another. Rosetta Code currently has 874 tasks, 224 draft tasks, and is aware of 686 languages, though we do not (and cannot) have solutions to every task in every language."
Conditional structures - Rosetta Code (Go)
Cloud Native Applications
Keynote: Cloud Native at AWS - Adrian Cockcroft, Amazon Web Services - YouTube
AWS re:Invent 2017: Cloud-Native App Protection: Web Application Security at Pearson (SID216) - YouTube
Cloud Native Applications on OpenShift/Azure – - YouTube
CNCF Webinar - Cloud Native Applications from Development to Production - YouTube
'Cloud Native': What It Means, Why It Matters - InformationWeek
"Cloud native" is not merely a buzzword; it's also enshrined in its own foundation
- the Cloud Native Computing Foundation
"At the heart of "cloud-native" lie Linux, Linux containers, and the concept of applications assembled as microservices in containers. Indeed, the Linux Foundation launched the Cloud Native Computing Foundation. But cloud-native means a lot more than implementing Linux clusters and running containers. It's a term that recognizes that getting software to work in the cloud requires a broad set of components that work together. It also requires an architecture that departs from traditional enterprise application design. The Cloud Native Computing Foundation is going to try to make it simpler to assemble these moving parts."
Developing Cloud Native Applications - Cloud Native Computing Foundation
Cloud-Native | Pivotal
Designing Cloud Native Applications - Deep dive - YouTube
How to create a cloud native app in less than 5 minutes - YouTube
what is a Cloud-Native application? - Software Engineering Stack Exchange
Using Microservices To Build Cloud Native Applications – Part 1
What real cloud-native apps will look like | TechCrunch
The Cloud-Native Architecture: One Stack, Many Options - The New Stack
course: Advanced Cloud Native Go @ LinkedIn Learning (Linda)
lreimer (M.-Leander Reimer) @ GitHub
free course (2.5 h):
Developing Cloud-Native Apps w/ Microservices Architectures | Udemy
https://github.com/cncf/landscape
cncf/landscape: Static Cloud Native Landscapes and Interactive Landscape that filters and sorts hundreds of cloud native projects and products, and shows details including GitHub stars, funding or market cap, first and last commits, contributor counts, headquarters location, and recent tweets.
Thursday, May 17, 2018
cloud storage: Wasabi, 1/5 price of AWS S3
From the same people who previously created "Carbonite", cloud backup system.
No info about SLAs, reliability and availability guaranties.
There is much more on AWS than just storage, but this is still a competition.
There is much more on AWS than just storage, but this is still a competition.
Cloud Storage Pricing | Cheaper Than AWS | Wasabi Technologies, Inc.
"price 80% less than Amazon S3, 6x faster than AWS S3"
"Wasabi’s Unlimited Egress pricing plan offers the cloud storage industry’s lowest total price of $.0049 per GB/month ($4.99 per TB/month) + unlimited free egress + no charge for API calls so you don’t pay to access your data."
"price 80% less than Amazon S3, 6x faster than AWS S3"
"Wasabi’s Unlimited Egress pricing plan offers the cloud storage industry’s lowest total price of $.0049 per GB/month ($4.99 per TB/month) + unlimited free egress + no charge for API calls so you don’t pay to access your data."
Wednesday, May 16, 2018
Kubernetes + Mesos = managing distributed systems
podcast: Cluster Schedulers with Ben Hindman | Software Engineering Daily
"Mesos is a system for managing distributed systems. The goal of Mesos is to help engineers orchestrate resources among multi-node applications like Spark. Mesos can also manage lower level schedulers like Kubernetes. A common misconception is that Mesos aims to solve the same problem as Kubernetes, but Mesos is a higher level abstraction."
"Mesos is a system for managing distributed systems. The goal of Mesos is to help engineers orchestrate resources among multi-node applications like Spark. Mesos can also manage lower level schedulers like Kubernetes. A common misconception is that Mesos aims to solve the same problem as Kubernetes, but Mesos is a higher level abstraction."
Azure CDN
Microsoft Announces Its Own Content Delivery Network in Public Preview
Microsoft will offer Azure CDN alongside existing CDN providers Verizon and Akamai
Announcing Microsoft's own Content Delivery Network | Blog | Microsoft Azure
Tuesday, May 15, 2018
SVGo: Go Language Library for SVG generation
ajstarks/svgo: Go Language Library for SVG generation @ GitHub
by ajstarks (Anthony Starks)
link from:
Go Time #79: New Go branding strategy | News and podcasts for developers | Changelog
more from the same author:
ajstarks/go-proverbs: Deck documenting the "Go Proverbs"
by ajstarks (Anthony Starks)
package main import ( "github.com/ajstarks/svgo" "os" ) func main() { width := 500 height := 500 canvas := svg.New(os.Stdout) canvas.Start(width, height) canvas.Circle(width/2, height/2, 100) canvas.Text(width/2, height/2, "Hello, SVG", "text-anchor:middle;font-size:30px;fill:white") canvas.End() }
link from:
Go Time #79: New Go branding strategy | News and podcasts for developers | Changelog
more from the same author:
ajstarks/go-proverbs: Deck documenting the "Go Proverbs"
Monday, May 14, 2018
Azure Kubernetes Service & Azure Dev Spaces
Microsoft Cloud Show - Azure Kubernetes Service and Azure Dev Spaces Live from Build
Kubernetes on Azure: Industry’s best end-to-end Kubernetes experience
"Azure managed Kubernetes service has been renamed to Azure Kubernetes Service (AKS). AKS is now officially part of the Kubernetes Conformance Program, designed to ensure consistency and portability of Kubernetes across different environments."
Monitoring Azure Kubernetes Service (AKS) with Azure Monitor container health (preview)
Azure Dev Spaces
Sunday, May 13, 2018
gVisor: Container Runtime Sandbox from Google, in Go
When adding support for containers in Windows, Microsoft has created two types of containers:
"classic" Linux-like containers, and second, based on Hyper-V virtualization, more secure, and with slightly more overhead.
Google have internally used similar technology with Linux, and now have released this as open source tool "gVisor". Such technology, when done right, can significantly reduce need for using virtual machines. In fact Google is internally not using virtual machines, only containers.
Google Cloud Platform Blog: Open-sourcing gVisor, a sandboxed container runtime
google/gvisor: Container Runtime Sandbox
"gVisor is a user-space kernel, written in Go, that implements a substantial portion of the Linux system surface. It includes an Open Container Initiative (OCI) runtime called runsc that provides an isolation boundary between the application and the host kernel. The runsc runtime integrates with Docker and Kubernetes, making it simple to run sandboxed containers.
gVisor takes a distinct approach to container sandboxing and makes a different set of technical trade-offs compared to existing sandbox technologies, thus providing new tools and ideas for the container security landscape.
...
gVisor is a user-space kernel for containers. It limits the host kernel surface accessible to the application while still giving the application access to all the features it expects. Unlike most kernels, gVisor does not assume or require a fixed set of physical resources; instead, it leverages existing host kernel functionality and runs as a normal user-space process. In other words, gVisor implements Linux by way of Linux."
gVisor Demo - a new open source sandboxed container runtime - YouTube
Open Sourcing gVisor, a Sandboxed Container Runtime - YouTube
Container Isolation at Scale (Introducing gVisor) - Dawn Chen & Zhengyu He, Google - YouTube
Google open sources gVisor, a sandboxed container runtime | TechCrunch
Google Launches gVisor, an Open Source Sandboxed Container Runtime - The New Stack
Interview: Google gVisor and the Challenge of Securing Multitenant Containers - The New Stack
KubeCon + CloudNativeCon Europe 2018 - May 2-4
CNCF [Cloud Native Computing Foundation] - YouTube - YouTube
gVisor is written in GoLang, as most of other container related tools. Info from podcast:
Go Time #79: New Go branding strategy | News and podcasts for developers | Changelog
"classic" Linux-like containers, and second, based on Hyper-V virtualization, more secure, and with slightly more overhead.
Google have internally used similar technology with Linux, and now have released this as open source tool "gVisor". Such technology, when done right, can significantly reduce need for using virtual machines. In fact Google is internally not using virtual machines, only containers.
Google Cloud Platform Blog: Open-sourcing gVisor, a sandboxed container runtime
google/gvisor: Container Runtime Sandbox
"gVisor is a user-space kernel, written in Go, that implements a substantial portion of the Linux system surface. It includes an Open Container Initiative (OCI) runtime called runsc that provides an isolation boundary between the application and the host kernel. The runsc runtime integrates with Docker and Kubernetes, making it simple to run sandboxed containers.
gVisor takes a distinct approach to container sandboxing and makes a different set of technical trade-offs compared to existing sandbox technologies, thus providing new tools and ideas for the container security landscape.
...
gVisor is a user-space kernel for containers. It limits the host kernel surface accessible to the application while still giving the application access to all the features it expects. Unlike most kernels, gVisor does not assume or require a fixed set of physical resources; instead, it leverages existing host kernel functionality and runs as a normal user-space process. In other words, gVisor implements Linux by way of Linux."
gVisor Demo - a new open source sandboxed container runtime - YouTube
Open Sourcing gVisor, a Sandboxed Container Runtime - YouTube
Container Isolation at Scale (Introducing gVisor) - Dawn Chen & Zhengyu He, Google - YouTube
Google open sources gVisor, a sandboxed container runtime | TechCrunch
Google Launches gVisor, an Open Source Sandboxed Container Runtime - The New Stack
Interview: Google gVisor and the Challenge of Securing Multitenant Containers - The New Stack
KubeCon + CloudNativeCon Europe 2018 - May 2-4
CNCF [Cloud Native Computing Foundation] - YouTube - YouTube
gVisor is written in GoLang, as most of other container related tools. Info from podcast:
Go Time #79: New Go branding strategy | News and podcasts for developers | Changelog
jsreport - javascript based reporting platform
generating HTML, PDF and Excel from HTML+JavaScript templates
jsreport - javascript based reporting platform
"javascript reporting server
innovative and unlimited reporting based on javascript templating engines"
online playground: jsreport
Getting started
innovative and unlimited reporting based on javascript templating engines"
online playground: jsreport
Getting started
free: fully featured server limited for up to 5 report templates no license key
enterprise scale: one license key valid for infinite amount of instances, 995 $ / year
enterprise scale: one license key valid for infinite amount of instances, 995 $ / year
link from: .NET Rocks! vNext
Saturday, May 12, 2018
.NET Core 3 = WinForms, WPF, EF + .NET Core, ML.NET
Microsoft .NET team is creating useful upgrade path for WinForms and WPF apps.
There is even an option to compile app code to single .EXE without dependencies, GoLang-style.
ML.NET is a Machine Learning framework, being added to .NET Core to support AI development.
Announcing .NET Core 3 with Scott Hunter @ .NET Rocks! vNext
Announcing .NET Core 2.1 RC 1 Go Live AND .NET Core 3.0 Futures - Scott Hanselman
"You'll soon be able to take your existing WinForms and WPF app and swap out the underlying runtime. That means you can run WinForms and WPF on .NET Core 3 on Windows."
Introducing ML.NET: Cross-platform, Proven and Open Source Machine Learning Framework | .NET Blog
"ML.NET enables ML tasks like classification (e.g. text categorization and sentiment analysis) and regression (e.g. forecasting and price prediction). Along with these ML capabilities, this first release of ML.NET also brings the first draft of .NET APIs for training models, using models for predictions, as well as the core components of this framework, such as learning algorithms, transforms, and core ML data structures."
Introducing ML.NET - YouTube
There is even an option to compile app code to single .EXE without dependencies, GoLang-style.
ML.NET is a Machine Learning framework, being added to .NET Core to support AI development.
Announcing .NET Core 3 with Scott Hunter @ .NET Rocks! vNext
Announcing .NET Core 2.1 RC 1 Go Live AND .NET Core 3.0 Futures - Scott Hanselman
"You'll soon be able to take your existing WinForms and WPF app and swap out the underlying runtime. That means you can run WinForms and WPF on .NET Core 3 on Windows."
Introducing ML.NET: Cross-platform, Proven and Open Source Machine Learning Framework | .NET Blog
"ML.NET enables ML tasks like classification (e.g. text categorization and sentiment analysis) and regression (e.g. forecasting and price prediction). Along with these ML capabilities, this first release of ML.NET also brings the first draft of .NET APIs for training models, using models for predictions, as well as the core components of this framework, such as learning algorithms, transforms, and core ML data structures."
Introducing ML.NET - YouTube
Friday, May 11, 2018
Angular 6
nice photo :) and some improvements and breaking changes with RxJS
Version 6 of Angular Now Available – Angular Blog
a photo by Manu Murthy of the Angular Team
Angular - Tutorial: Tour of Heroes
Home · angular/angular-cli Wiki @ GitHub
Version 6 of Angular Now Available – Angular Blog
a photo by Manu Murthy of the Angular Team
With RxJS v5.x, your imports look as follows:
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
With RxJS v6.x, they’ve changed a bit:
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
Angular - Tutorial: Tour of Heroes
Home · angular/angular-cli Wiki @ GitHub
Thursday, May 10, 2018
Golang GUI with Electron: go-astilectron
For portable desktop (hybrid) apps that are not based on JavaScript.
Electron is essentially embedded Chrome browser shell,
and Go is strongly typed language, excellent for distributed apps.
How to add a GUI to your Golang app in 5 easy steps (powered by Electron)
asticode/go-astilectron: Build cross platform GUI apps with GO and HTML/JS/CSS (powered by
Electron) @ GitHub
Electron is essentially embedded Chrome browser shell,
and Go is strongly typed language, excellent for distributed apps.
How to add a GUI to your Golang app in 5 easy steps (powered by Electron)
asticode/go-astilectron: Build cross platform GUI apps with GO and HTML/JS/CSS (powered by
Electron) @ GitHub
Wednesday, May 09, 2018
AI: Google "Duplex", Assistant, it's phone calling is very real!
Tuesday, May 08, 2018
Monday, May 07, 2018
Edge Computing vs Computing Edge
Public cloud providers consider "edge" as a natural next step
with "hybrid" cloud technology instead of "on premise".
IEEE talks about "leading edge" technologies
in this great magazine available online.
ComputingEdge - Your View into the Entire World of Leading-Edge Technology • IEEE Computer Society
"World of Leading-Edge Technology"
ce-mar15-final.pdf
ce-may18-final.pdf
event: Microsoft Build 2018
Microsoft Build Live 2018
7-9 May 2018, Seattle
Sessions | Microsoft Build 2018
Microsoft Build 2018: the biggest highlights and all the news | TechRadar
Microsoft Build 2018 highlights: Azure IoT Edge, Cortana and Alexa integration, Mixed Reality applications and more announced- Technology News, Firstpost
"The world is a computer"
Microsoft's Build 2018 keynote highlights - YouTube
Microsoft Build 2018 // Vision Keynote - YouTube
AI Weekly: 5 takeaways from Microsoft Build and Google I/O | VentureBeat
7-9 May 2018, Seattle
Sessions | Microsoft Build 2018
Microsoft Build 2018: the biggest highlights and all the news | TechRadar
Microsoft Build 2018 highlights: Azure IoT Edge, Cortana and Alexa integration, Mixed Reality applications and more announced- Technology News, Firstpost
"The world is a computer"
Microsoft's Build 2018 keynote highlights - YouTube
Microsoft Build 2018 // Vision Keynote - YouTube
AI Weekly: 5 takeaways from Microsoft Build and Google I/O | VentureBeat
Sunday, May 06, 2018
Microsoft AI & IoT Insider Labs
A tour of the Microsoft AI & IoT Insider Labs | Internet of Things Show | Channel 9
"...If your organization is developing an IoT and/or AI solution, you may be able to use Microsoft's IoT & AI Insider Labs to help accelerate bringing your product to market. You will work with dedicated developer experts from industry, share feedback with Microsoft's product groups and collaborate with Microsoft's research.
https://www.microsoftiotinsiderlabs.com/
"...If your organization is developing an IoT and/or AI solution, you may be able to use Microsoft's IoT & AI Insider Labs to help accelerate bringing your product to market. You will work with dedicated developer experts from industry, share feedback with Microsoft's product groups and collaborate with Microsoft's research.
https://www.microsoftiotinsiderlabs.com/
Saturday, May 05, 2018
GoLang robustness: Go+k8s vs. Erlang
Go's New Brand - The Go Blog
The Go Programming Language
"Go was designed with Google's needs in mind, and when you're running software at the scale that Google does robustness is of prime importance. In this talk we will cover what design decisions of Go help building robust programs, but also those parts of the language can cause problems that one needs to be aware and what techniques to apply to avoid risks.
(This presentation) also compare Go robustness to Erlang, probably the most robust runtime out there, and see how its "let it crash" principle can be brought into Go."
JustForFunc: Programming in Go - YouTube - YouTube
link from:
Go Time #78: Hacking drones with Go with Ron Evans | News and podcasts for developers | Changelog
AWS AppSync with GraphQL
GraphQL is a useful query language for web data, often much more efficient than multiple calls to plain JSON APIs. The name is not indicative of its form and purpose, but more of Facebook's internal data structures that it was first used with.
Queries and Mutations | GraphQL
GraphQL is often used in combination with another popular Facebook's open source tool, React.
React Stack with G2i Team | Software Engineering Daily
In its classic pattern, Amazon has created a useful service based on open source tools,
in this case by adding GraphQL integration to other API services.
AWS AppSync Including New GraphQL Features Is Now Generally Available
"Amazon released AWS AppSync, a GraphQL service with real-time data and offline programming capabilities, generally available. Amazon introduced AWS AppSync at last year's AWS re:Invent conference, and now the current GA release includes several new features that can accelerate development: a test and debug flow, Amazon CloudWatch integration, and support for Amazon CloudFormation."
Queries and Mutations | GraphQL
GraphQL is often used in combination with another popular Facebook's open source tool, React.
React Stack with G2i Team | Software Engineering Daily
In its classic pattern, Amazon has created a useful service based on open source tools,
in this case by adding GraphQL integration to other API services.
AWS AppSync Including New GraphQL Features Is Now Generally Available
"Amazon released AWS AppSync, a GraphQL service with real-time data and offline programming capabilities, generally available. Amazon introduced AWS AppSync at last year's AWS re:Invent conference, and now the current GA release includes several new features that can accelerate development: a test and debug flow, Amazon CloudWatch integration, and support for Amazon CloudFormation."
Friday, May 04, 2018
JWT & OAuth 2.0 with ASP.NET Core
JWT tokens or OAuth2 (+ OpenID Connect)
JSON Web Tokens - jwt.io (viewer)
JWT Validation and Authorization in ASP.NET Core | ASP.NET Blog
Introduction to Identity on ASP.NET Core | Microsoft Docs
Securing .NET Microservices and Web Applications | Microsoft Docs
Authentication scenarios for Azure AD | Microsoft Docs
JWT vs OAuth authentication - Stack Overflow
OAuth 2 VS JSON Web Tokens: How to secure an API | Seedbox
Cookies vs Tokens: The Definitive Guide @ Auth0
Get Started with JSON Web Tokens - Auth0
JSON Web Tokens - jwt.io (viewer)
JWT Validation and Authorization in ASP.NET Core | ASP.NET Blog
Securing .NET Microservices and Web Applications | Microsoft Docs
Authentication scenarios for Azure AD | Microsoft Docs
JWT vs OAuth authentication - Stack Overflow
Cookies vs Tokens: The Definitive Guide @ Auth0
Get Started with JSON Web Tokens - Auth0
Thursday, May 03, 2018
Igo, emgo: GoLang is expanding
GoTime podcast interview with GoLang project lead:
Go Time #77: Dependencies and the future of Go with Russ Cox | News and podcasts for developers | Changelog
Go Time with Erik St. Martin, Carlisia Pinto, and Brian Ketelsen | News and podcasts for developers | Changelog
A very interesting and practical tool!
yunabe/lgo: Interactive Go programming with Jupyter @ GitHub
"Go (golang) Jupyter Notebook kernel and an interactive REPL
Features
Go Time #77: Dependencies and the future of Go with Russ Cox | News and podcasts for developers | Changelog
Go Time with Erik St. Martin, Carlisia Pinto, and Brian Ketelsen | News and podcasts for developers | Changelog
A very interesting and practical tool!
yunabe/lgo: Interactive Go programming with Jupyter @ GitHub
"Go (golang) Jupyter Notebook kernel and an interactive REPL
Features
- Write and execute Go (golang) interactively like Python.
- Jupyter Notebook integration
- Full Go (golang) language spec support. 100% gc (go compiler) compatible.
- Code completion and inspection in Jupyter Notebooks
- Display images, HTML, JavaScript, SVG, etc...
- Currently, lgo is only supported on Linux. But you can use lgo on Mac and Windows with virtual machines or Docker."
Alternative implementation of Go language subset
Run Go in web browsers
FlatBuffers vs JSON
For sending data over HTTP first there was XML, then JSON,
sometimes Protocol Buffers, and now FlatBuffers, and possible "next thing" :)
Most of Google's (and other) services are internally running on Protocol Buffers.
FlatBuffers is simplified, faster version of Protocol Buffers format.
FlatBuffers: FlatBuffers
"FlatBuffers is an efficient cross platform serialization library for C++, C#, C, Go, Java, JavaScript, TypeScript, PHP, and Python. It was originally created at Google for game development and other performance-critical applications. It is available as Open Source on GitHub under the Apache license, v2"
"FlatBuffers is a free software library implementing a serialization format similar to Protocol Buffers, Thrift, Apache Avro, SBE, and Cap'n Proto, primarily written by Wouter van Oortmerssen and open-sourced by Google.
sometimes Protocol Buffers, and now FlatBuffers, and possible "next thing" :)
Most of Google's (and other) services are internally running on Protocol Buffers.
FlatBuffers is simplified, faster version of Protocol Buffers format.
FlatBuffers: FlatBuffers
"FlatBuffers is an efficient cross platform serialization library for C++, C#, C, Go, Java, JavaScript, TypeScript, PHP, and Python. It was originally created at Google for game development and other performance-critical applications. It is available as Open Source on GitHub under the Apache license, v2"
Like Cap'n Proto and SBE, it supports “zero-copy” deserialization, so that accessing the serialized data does not require first copying it into a separate part of memory, which makes accessing data in these formats much faster than data in formats requiring more extensive processing, such as JSON, CSV, and Protocol Buffers.
Wednesday, May 02, 2018
Azure DDoS Protection for VNets
Azure DDoS Protection for virtual networks generally available | Blog | Microsoft Azure
Basic plan is free. No reason not to use it.
Basic plan is free. No reason not to use it.
Tuesday, May 01, 2018
TensorFlow.js: ML in web browsers
TensorFlow.js
"A WebGL accelerated, browser based JavaScript library for training and deploying ML models."
- Develop ML in the Browser
- Run Existing models
- Retrain Existing models
A very nice animation of neural network "learning" process.
A Neural Network Playground
References to free online bools about Machine Learning:
- introduction to neural networks: Neural Networks and Deep Learning
by Michael Nielsen - more technical overview: Deep Learning
by Ian Goodfellow, Yoshua Bengio, and Aaron Courville.
podcast interview with Director of Engineering in Google working on Tensorflow:
TensorFlow - YouTube - YouTube
example:
Teachable Machine
Porting of a complex application to web browser could be done by
tomasreimers/tensorflow-emscripten: @ GitHub
MXnet, another major machine learning library, used and supported by Amazon
is available cross-compiled:
dmlc/mxnet.js: MXNetJS: Javascript Package for Deep Learning in Browser (without server) @ GitHub
A predictable future: Microsoft's CNTK, a ML library similar to Tensorflow and MXnet,
will be cross-compiled to WebAssembly soon :) If whole .NET can run in the browser, so can ML tools.
Microsoft/CNTK: Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit @ GitHub
example:
Teachable Machine
Porting of a complex application to web browser could be done by
- rewriting it in JavaScript, apparently what Google has done, or
- cross-compiling C++ binary to WebAssembly
Here is an attempt of the second approach:
tomasreimers/tensorflow-emscripten: @ GitHub
MXnet, another major machine learning library, used and supported by Amazon
is available cross-compiled:
dmlc/mxnet.js: MXNetJS: Javascript Package for Deep Learning in Browser (without server) @ GitHub
A predictable future: Microsoft's CNTK, a ML library similar to Tensorflow and MXnet,
will be cross-compiled to WebAssembly soon :) If whole .NET can run in the browser, so can ML tools.
Microsoft/CNTK: Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit @ GitHub
Azure Container Instances (ACI)
Microsoft is offering "managed containers" that are simple to use, and could be also managed by Kubernetes and used in many other combinations. This is half-way between VMs and cloud functions, could be quite useful.
Azure Container Instances | Microsoft Azure
"Easily run containers on Azure without managing servers"
This may be the simplest to use application of ACI:
Azure Linux Web Apps (PaaS) are deployed as managed containers,
and have all integration and auto-scaling and load balancing.
App Service - Web App for Containers | Microsoft Azure
Very informative podcast interview with Microsoft insider:
Container Instances with Gabe Monroy | Software Engineering Daily
Pricing Overview - How Azure pricing works | Microsoft Azure
App Service: from $0.013/h, VM: from $0.011/h.
So managing instances (VMs or containers in VM) including load balancing is $0.002/h
that is 18% difference, from $1.44/month.
Heroku, a part of SalesForce, was always selling only containers
but prices on Azure ware better last time I compared.
Cloud Application Platform | Heroku
Azure Container Instances | Microsoft Azure
"Easily run containers on Azure without managing servers"
This may be the simplest to use application of ACI:
Azure Linux Web Apps (PaaS) are deployed as managed containers,
and have all integration and auto-scaling and load balancing.
App Service - Web App for Containers | Microsoft Azure
Very informative podcast interview with Microsoft insider:
Container Instances with Gabe Monroy | Software Engineering Daily
Pricing Overview - How Azure pricing works | Microsoft Azure
App Service: from $0.013/h, VM: from $0.011/h.
So managing instances (VMs or containers in VM) including load balancing is $0.002/h
that is 18% difference, from $1.44/month.
Heroku, a part of SalesForce, was always selling only containers
but prices on Azure ware better last time I compared.
Cloud Application Platform | Heroku
Subscribe to:
Posts (Atom)