Introduction to YAML, Part 2: Kubernetes Services, Ingress, and repeated nodes

The post Introduction to YAML, Part 2: Kubernetes Services, Ingress, and repeated nodes appeared first on Mirantis | Pure Play Open Cloud.
In part 1 of this series, we looked at the basics behind YAML and showed you how to create basic Kubernetes objects such as Pods and Deployments using the two basic structures of YAML, Maps and Lists. Now we’re going to look at enhancing your YAML documents with repeated nodes in the context of Kubernetes Services, Endpoints, and Ingress.
Let’s start with a basic scalar value.
A simple repeated scalar value in YAML: building a Kubernetes Service
To see how we can create a simple repeated value, we’re going to look at Kubernetes Services. A complete look at Services is beyond the scope of this article, but there are three basic things you need to understand:

Services are how pods communicate, either with either other or with the outside world. They do this by specifying a port for the caller to use, and a targetPort, which is the port on which the Pod itself receives the message.
Services know which pods to target based on labels specified in the selector.
Services come in four different types:

ClusterIP: The default ServiceType, a ClusterIP service makes the service reachable from within the cluster via a cluster-internal IP.
NodePort: A NodePort service makes it possible to access a Service by directing requests to a specific port on every Node, accessed via the NodeIP. (Kubernetes automatically creates a ClusterIP service to route the request.) So from outside the cluster, you’d send the request to <NodeIP>:<NodePort>.
LoadBalancer: In order to use a LoadBalancer service, you have to be using a cloud provider that supports it; it’s the cloud provider that actually makes this functionality available. This service sits on top of NodePort and ClusterIP services, which Kubernetes creates automatically.
ExternalName: In production situations, you will likely want to use ExternalName, which maps the service to a CNAME record such as a Fully Qualified Domain Name.

OK, with the basics under our belt, let’s take a look at actually creating one.
Repeated values with anchors and aliases
In part 1, we covered the basics of creating Kubernetes objects using YAML, and creating  a Service is no different.
apiVersion: v1
kind: Service
metadata:
 name: nginx
 labels:
   app: nginx
spec:
 selector:
   app: nginx
 ports:
 – port: 80
   name: http
   targetPort: 80
 – port: 443
   name: https
   targetPort: 80
As you can see, we’re creating an object just as we did in Part 1, with metadata and a spec. Metadata is the same as it was when we were dealing with Deployments, in that we are specifying information about the object and adding labels to any instances created.
As for the spec, a Service needs two basic pieces of information: a selector, which identifies Pods that it should work with (in this case, any pods with the label app=nginx) and the ports the service manages. In this case, we have two external ports, both of which get forwarded to port 80 of the actual pod.
So let’s make this more convenient.  We can create an anchor that specifies a value, then use an alias to reference that anchor.  For example:
apiVersion: v1
kind: Service
metadata:
 name: nginx
 labels:
   app: nginx
spec:
 selector:
   app: nginx
 ports:
 – port: &target 80
   name: http
   targetPort: *target
 – port: 443
   name: https
   targetPort: *target
We create the anchor with the ampersand (&), as in &target, then reference it with the alias created with the asterisk (*), as in *target.  If we were to put this into a file and create it using kubectl, we would get a new Service, as we can see:
$ kubectl get svc
NAME      TYPE     CLUSTER-IP   EXTERNAL-IP   PORT(S) AGE
kubernetes   ClusterIP 10.96.0.1    <none>     443/TCP       32d
nginx     ClusterIP  10.107.206.48 <none> 80/TCP,443/TCP   13m
If we then went on to describe the service, we could see that the values carried through:
$ kubectl describe svc nginx
Name:           nginx
Namespace:      default
Labels:         app=nginx
Annotations:    kubectl.kubernetes.io/last-applied-configuration:
                 {“apiVersion”:”v1″,”kind”:”Service”,”metadata”:{“annotations”:{},”labels”:{“app”:”nginx”},”name”:”nginx”,”namespace”:”default”},”spec”:{“p…
Selector:       app=nginx
Type:           ClusterIP
IP:             10.107.206.48
Port:           http  80/TCP
TargetPort:     80/TCP
Endpoints:      <none>
Port:           https  443/TCP
TargetPort:     80/TCP
Endpoints:      <none>
Session Affinity:  None
Events:         <none>

Now if we wanted to change that port, we could do it simply by changing the anchor:
apiVersion: v1
kind: Service
metadata:
 name: nginx
 labels:
   app: nginx
spec:
 selector:
   app: nginx
 ports:
 – port: &target 88
   name: http
   targetPort: *target
 – port: 443
   name: https
   targetPort: *target
We can then apply the changes…
$ kubectl apply -f test.yaml
service/nginx configured
… and look at the newly configured service:
$ kubectl describe svc nginx
Name:           nginx
Namespace:      default
Labels:         app=nginx
Annotations:    kubectl.kubernetes.io/last-applied-configuration:
                 {“apiVersion”:”v1″,”kind”:”Service”,”metadata”:{“annotations”:{},”labels”:{“app”:”nginx”},”name”:”nginx”,”namespace”:”default”},”spec”:{“p…
Selector:       app=nginx
Type:           ClusterIP
IP:             10.107.206.48
Port:           http  88/TCP
TargetPort:     88/TCP
Endpoints:      <none>
Port:           https  443/TCP
TargetPort:     88/TCP
Endpoints:      <none>
Session Affinity:  None
Events:         <none>

As you can see, all three values were changed by simply changing the anchor. Handy, but fortunately, we can also create anchors for more complicated structures.
Anchors for non-scalars: Creating Endpoints
Endpoints are, as in other applications, the target to which you’ll send your requests in order to access an application. Kubernetes creates them automatically, but you can also create them manually and link them to a specific service.  For example:
apiVersion: v1
kind: Endpoints
metadata:
 name: mytest-cluster
subsets:
 – addresses:
     – ip: 192.168.10.100
   ports:
     – name: myport
       port: 1
       protocol: TCP
 – addresses:
     – ip: 192.168.10.101
   ports:
     – name: myport
       port: 1
       protocol: TCP
 – addresses:
     – ip: 192.168.10.102
   ports:
     – name: myport
       port: 1
       protocol: TCP
As you can see, what you have here is the basic structure, only instead of a spec, we have subsets, each of which consists of one or more IP addresses and the ports to access them.
So now let’s look at creating an anchor out of one of those port definitions:
apiVersion: v1
kind: Endpoints
metadata:
 name: mytest-cluster
subsets:
 – addresses:
  – ip: 192.168.10.100
   ports: &stdport
     – name: myport
       port: 1
       protocol: TCP
 – addresses:
     – ip: 192.168.10.101
   ports: *stdport
 – addresses:
     – ip: 192.168.10.102
   ports: *stdport
If we describe the endpoints we can see that they’ve been created as we expect:
$ kubectl describe endpoints mytest-cluster
Name:      mytest-cluster
Namespace: default
Labels:    <none>
Annotations:  kubectl.kubernetes.io/last-applied-configuration:
            {“apiVersion”:”v1″,”kind”:”Endpoints”,”metadata”:{“annotations”:{},”name”:”mytest-cluster”,”namespace”:”default”},”subsets”:[{“addresses”:…
Subsets:
 Addresses:       192.168.10.100,192.168.10.101,192.168.10.102
 NotReadyAddresses:  <none>
 Ports:
Name Port  Protocol
—- —-  ——–
myport  1 TCP

Events:  <none>
But when you’re using an alias for a structure such as this, you’ll often want to change a specific value and leave the rest intact.  We’ll do that next.
Changing a specific value: Kubernetes Ingress
In this final section, we’ll look at creating a Kubernetes Ingress, which makes it simpler to create access to your applications. We’ll also look at another aspect of using aliases.
In the previous section we looked at replacing entire objects with an alias, but sometimes you want to do that with slight changes.  For example, we might have an Ingress that looks like this:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
 name: test-ingress
 annotations:
   nginx.ingress.kubernetes.io/rewrite-target: /
spec:
 rules:
 – http:
     paths:
       – path: /testpath
         backend: &stdbe
           serviceName: test
           servicePort: 80
       – path: /realpath
         backend: *stdbe
       – path: /hiddenpath
         backend: *stdbe
In this case, we have three paths that all point to the same service on the same port.  But what if we want to have one path that points to another port? To do that we want to override one of the existing values, like so:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
 name: test-ingress
 annotations:
   nginx.ingress.kubernetes.io/rewrite-target: /
spec:
 rules:
 – http:
   paths:
     – path: /testpath
       backend: &stdbe
         serviceName: test
         servicePort: 80
     – path: /realpath
       backend: *stdbe
     – path: /hiddenpath
       backend:
          << : *stdbe
         servicePort: 443
Now, a couple of things to note here. First off, the alias represents a value, so it has to have a name. We can’t use backend as the name, because we need *stdbe down one level so that we can replace servicePort.  So to reference the fact that we’re going up one level, we’re using the << notation. Then we can add another servicePort value to the same level of the hierarchy.
Now if we go ahead and apply this YAML, we can see the results:
$ kubectl apply -f test.yaml
ingress.extensions/test-ingress configured

$ kubectl describe ingress test-ingress
Name:          test-ingress
Namespace:     default
Address:     
Default backend:  default-http-backend:80 (<none>)
Rules:
 Host  Path Backends
 —-  —- ——–
 *
    /testpath test:80 (<none>)
    /realpath test:80 (<none>)
    /hiddenpath test:443 (<none>)
Annotations:
 kubectl.kubernetes.io/last-applied-configuration:  {“apiVersion”:”extensions/v1beta1″,”kind”:”Ingress”,”metadata”:{“annotations”:{“nginx.ingress.kubernetes.io/rewrite-target”:”/”},”name”:”test-ingress”,”namespace”:”default”},”spec”:{“rules”:[{“http”:{“paths”:[{“backend”:{“serviceName”:”test”,”servicePort”:80},”path”:”/testpath”},{“backend”:{“serviceName”:”test”,”servicePort”:80},”path”:”/realpath”},{“backend”:{“serviceName”:”test”,”servicePort”:443},”path”:”/hiddenpath”}]}}]}}
 nginx.ingress.kubernetes.io/rewrite-target:  /
Events:                                     <none>
So that’s anchors and aliases. If you want more information on YAML, including using specific data types, feel free to check out this webinar on YAML and Kubernetes objects.
 
The post Introduction to YAML, Part 2: Kubernetes Services, Ingress, and repeated nodes appeared first on Mirantis | Pure Play Open Cloud.
Quelle: Mirantis

Announcing Azure Spatial Anchors for collaborative, cross-platform mixed reality apps

It’s amazing to look back at everything we’ve learned from our customers since we first released HoloLens. Across manufacturing, education, retail, gaming, and many other industries, developers and businesses are using mixed reality in their daily workflows and giving us feedback on what they’d like to see next. When we look across all the mixed reality solutions that customers have been building over the last few years, two things really stand out: collaboration and spatial awareness. Customers want to easily share their mixed reality experiences and place applications in the context of the real world, and thereby increase their efficiency and achieve greater productivity.

Yesterday at MWC Barcelona, we announced Azure Spatial Anchors, a mixed reality service that enables you to build a new generation of mixed reality applications that are collaborative, cross-platform, and spatially aware. Today, we’re sharing two application patterns gaining momentum across industries, and how Azure Spatial Anchors can help you deliver them with greater ease and speed.

Collaborative mixed reality experiences

Mixed reality enables us, as humans, to do more and to collaborate with those around us in a more natural and intuitive way. Whether it’s architects and site workers reviewing the day’s plans for a new construction project, designers and managers collaborating on next year’s car model, or a team of surgeons planning a procedure before operating, mixed reality has changed the way that humans now design, review, and learn together. Across industries, one of the top asks from our customers is to make it easier to share such experiences in mixed reality.

As one example, Pearson Education enables nursing students and professors to practice diagnosing and treating ill patients in 3D in the real world before the pressure of a real case. Students and professors may be using HoloLens devices, or they may be using mobile phones and tablets. Until today, sharing mixed reality experiences across devices and across platforms required either environmental setup (such as QR codes) or complex coding to handle the different sensors and endpoints. Azure Spatial Anchors provides a common coordinate frame for shared mixed reality experiences across HoloLens, iOS, and Android devices without any environmental setup needed. With Azure Spatial Anchors, everyone can collaborate in mixed reality, whether they are in a heads-up, hands-free experience on HoloLens devices, or they are participating via mobile phones and tablets.

Connected devices and places

Sometimes, the best way to work on problems and find solutions isn’t in the traditional conference room; oftentimes, better, faster decisions can be made by seeing insights and data in the real-world context of the problem itself. For example, our customers in manufacturing want to be able to walk along the factory line and easily visualize the status of each machine in order to quickly navigate and focus on the equipment with issues. Until today, precisely mapping a large space and persisting that spatial understanding was not possible for most of our mixed reality customers. Azure Spatial Anchors is designed for this: connecting the right data to the right people in the right places, so people can work like they live—in 3D.

Internet of Things (IoT) can make your connected solutions even stronger. Most IoT projects today start from a things-centric approach, but with Azure Digital Twins, we’ve flipped that around. We’ve found that customers realize huge benefits by first modeling the physical environment and then connecting existing or new devices (“things”) to that model. With Azure Spatial Anchors and Azure Digital Twins, customers gain new spatial intelligence capabilities and new insights into how spaces and infrastructure are really used. By visualizing IoT data onsite and in-context on HoloLens or mobile devices, people can uncover and respond to operational issues before they impact workstreams.

Get started today!

Azure Spatial Anchors is in public preview today! We’re so excited for you to start building with us. Here are a few quick tips to get started:

Have an idea of what you want to build? Dive into our documentation.
Need some ideas on how to design and implement mixed reality solutions? Explore reference architectures for collaborative design review, facilities management, and contextual training.
Thinking about building a cross-platform mixed reality application? Start with our shared mixed reality experience quickstart.

We would love to see what you create, and we hope you share it with us via #Azure and #SpatialAnchors. We can’t wait to see what you build!
Quelle: Azure

Azure.Source – Volume 71

Now in preview

Preview: Distributed tracing support for IoT Hub

Announcing distributed tracing support for IoT Hub now in public preview. As with most IoT solutions, including our Azure IoT reference architecture, an IoT message travels from a device through a dozen or more services before it is stored or visualized. It can be very challenging to pinpoint when something has gone wrong in the flow. To completely understand the flow of messages through an IoT Hub, you must trace each message's path using unique identifiers. IoT Hub is a managed service, hosted in the cloud, that acts as a central message hub for bi-directional communication between your IoT application and the devices it manages. You can use Azure IoT Hub to build IoT solutions with reliable and secure communications between millions of IoT devices and a cloud-hosted solution backend. You can connect virtually any device to IoT Hub.

Now generally available

Update to Azure DevOps Projects support for Azure Kubernetes Service

Kubernetes is gaining strength as adoption across the industry continues to grow. However, many customers coming to container orchestration for the first time are also building familiarity with Docker and containers in general. To help with container adoption, we updated our Azure Kubernetes Service (a fully managed Kubernetes container orchestration service) and released Azure DevOps Projects (a simplified experience to help you launch an app on an Azure Service of your choice) to help you deploy multiple apps to a single Azure Kubernetes Service (AKS) cluster. These features are now generally available in the Azure portal.

More reliable event-driven applications in Azure with an updated Event Grid

Event-driven programming as a core building block for cloud application architecture has been on the rise. Enabling you to build more sophisticated, performant, and stable event-driven applications in Azure is important. Announcing the general availability of features previously in preview: Dead lettering, Retry policies, Storage Queues as a destination, Hybrid Connections as a destination, and Manual Validation Handshake. To take advantage of the these features, use 2019-01-01 API and SDKs. If you are using CLI or PowerShell, use versions 2.0.56 or later for CLI and 1.1.0 for PowerShell.

Class schedules on Azure Lab Services

Classroom labs in Azure Lab Services makes it easy to set up labs by handling the creation and management of virtual machines, enabling infrastructure to scale. Schedules management is one of the key features requested by classroom labs customers who also need to easily create, edit, and delete schedules. Through continuous enhancements, the latest deployment of Azure Lab Services now includes added support for class schedules.

News and updates

Modernize alerting using Azure Resource Manager storage accounts

Azure Monitor is a unified monitoring service that includes alerting and other monitoring capabilities. Classic alerts in Azure Monitor reach retirement in June, 2019. We recommend you migrate your classic alert rules defined on your storage accounts if you want to retain alerting functionality with the new alerting platform. If you have classic alert rules configured on classic storage accounts, you should upgrade your accounts to Azure Resource Manager (ARM) storage accounts before you migrate alert rules.

Technical content

Use GraphQL with Hasura and Azure Database for PostgreSQL

Azure Database for PostgreSQL provides a fully managed, enterprise-ready community PostgreSQL database as a service for easily migrating existing apps to the cloud or for developing cloud-native applications using the languages and frameworks you choose. Learn how to take advantage of the Hasura GraphQL Engine that can instantly provide a real-time GraphQL API on a PostgreSQL database.

Introduction to Linux on Azure

An introduction to running a Linux virtual machine on Azure. This workshop has been a collaboration between Researc/hers Code and Microsoft. Researc/hers Code supports women in tech and academia by running skills workshops and podcasting the talent of women in tech and research.

New Reference Architecture: Batch scoring of Spark models on Azure Databricks

Reference architectures provide a consistent approach and best practices for a given solution. Each architecture includes recommended practices, together with considerations for scalability, availability, manageability, security, and more. The full array of reference architectures is now available on the Azure Architecture Center. This reference architecture shows how to build a scalable solution for batch scoring an Apache Spark classification model.

Six tips for securing identity in the cloud

Many customers are turning to cloud services as an asset in fighting evolving cybersecurity threats. In this three-part series on Azure Government security, learn to use best practices for securing your Azure Government resources with essential steps needed to secure identities in the cloud. Also learn specific actions you can take to create more secure identity management within your agency or organization.

2018 Guidance from AzureCAT: SAP on the Microsoft Platform

Technical documentation for getting up-to-speed and staying up-to-date with features and industry trends in development is vital. This past year was a busy one for the Azure Customer Advisory Team. Stay informed with this useful reference list of all the SAP guidance that was published or refreshed in 2018.

Create a CI/CD pipeline for your Azure IoT Edge solution with Azure Pipelines

New CI/CD tools can help developers deliver value faster and more transparently, but the need for customized scripts that address different kinds of edge solutions still presents a challenge for some CI/CD pipelines. Now, with the Azure IoT Edge task in Azure Pipelines, developers have an easier way to build and push the modules in different platforms and deliver to a set of Azure IoT Edge devices continuously in the cloud.

Getting Started with Ansible on Azure

Cloud Advocate Jay Gordon discusses how to get started with Ansible on the Azure Cloud.  You'll get the easy first steps to use Ansible on the Cloud Shell and create a Linux VM!

Cross-Platform Container Builds with Azure Pipelines

Choosing distribution options aren’t just based on personal preference. There is usually a solid technical reason for wanting a CI build deployed on a particular platform. To aid in developing your CI/CD pipeline, Azure Pipelines enables virtual machines for running your own Docker images that have the exact version of the dependencies that you want as part of your CI/CD pipeline. Now you can have confidence that your deployment works correctly on whatever platform you choose.

Keep Calm, and Keep Coding with Azure Cosmos DB and Node.js

In this quick read, John Papa shows you how to get up and running – with links to docs to get started ASAP. In John's case, he wanted a list of heroes from his database ("Just give them to me without making me work so hard!") and he shares how the Azure Cosmos DB SDK delivers with a simple line of code.

John Papa’s Sketchnote of Cosmos and Node Together

Quick look at the Azure Shared Image Gallery

Shared Image Gallery is a service that helps you build structure and organization around your custom managed VM images. Using a Shared Image Gallery you can share your images to different users, service principals, or AD groups within your organization. Shared images can be replicated to multiple regions, for quicker scaling of your deployments. In this post, Thomas Maurer provides an overview and shows how to get started.

AZ-202 Microsoft Azure Developer Certification Transition Study Guide

Microsoft has published the exam guide for AZ-202 Microsoft Azure Developer Certification. This helpful study guide contains a list of resources you can use to help you study for the exam.

Azure shows

Episode 267 – What the Hack? | The Azure Podcast

Microsoft Cloud Solution Architects Gino Filicetti and Peter Laudati talk to the Azure Podcast team about an innovative approach to getting your team to learn Azure. They have developed a set of challenge-based hacks which allow for better retention of knowledge.

HTML5 audio not supported

Episode 267 – What the Hack? transcript

Third Party Azure IoT solution accelerators | Internet of Things Show

Several Microsoft partners have developed solutions ranging from edge video analytics, to digital signage, to remote well monitoring for oil and gas. These are published under our partner's GitHub repositories and free for anyone to use, rebrand, or even resell. Here’s how to leverage those partner built, open sourced, Solution Accelerators to expedite your IoT solution development.

Using Azure Boards with GitHub | The DevOps Lab

As your organization and projects grow, it can get challenging to stay focused on what's most important and to organize the various types of work involved to make progress. Now you can integrate Azure Boards with your code repository on GitHub to reduce the integration tax of using multiple systems by simply mentioning work items in your commits or pull requests. See how to integrate Azure Boards with your GitHub project.

An overview of Azure Integration Services | Azure Friday

Azure Integration Services brings together API Management, Logic Apps, Service Bus, and Event Grid as a reliable, scalable platform for integrating on-premises and cloud-based applications, data, and processes across your enterprise.

Blockchain based registries | Block Talk

Registries are used in every industry and in multiple scenarios. Blockchain-based registries that are shared, immutable and cryptographically secure serve an important need, but it's not often apparent how to write these sort of contracts. In this episode we review a blockchain devkit accelerator that can help generate the contracts from simple JSON based descriptions.

Application Insights integrations and service updates | On .NET

In this episode, Michael Milirud returns to give us updates on some new capabilities that are available Azure Application Insights. He shows us demos covering Azure DevOps, dependency tracing, Azure Functions integration, and much more.

Inception with Azure DevOps | Visual Studio Toolbox

In this episode, Donovan is joined by Gopinath Chigakkagari from the Azure DevOps team. Gopinath shows how they use Azure DevOps to build Azure DevOps! He also shows how to integrate Azure DevOps to multiple 3rd party tools and deploy to multiple clouds with a single pipeline.

How to use the Azure Virtual Machines Serial Console | Azure Tips and Tricks

In this edition of Azure Tips and Tricks, learn how to use the Azure Virtual Machines Serial Console to easily troubleshoot your virtual machines. The Azure Virtual Machine Serial Console feature is available for Windows and Linux VM images.

How to configure a new virtual machine with the Azure Portal | Azure Portal Series

Microsoft Azure provides many virtual machine configuration options for any workload or application. In this video of the Azure Portal "How To" series, learn about some of the configuration options that are available when setting up a virtual machine in the Azure Portal.

Scott Hunter on DevOps Capabilities in Azure – Episode 24 | The Azure DevOps Podcast

Learn the differences between .NET Core and .NET Framework and when and why you should move to .NET Core 3.0 in the future. In this episode of the Azure DevOps Podcast, Scott Hunter joins Jeffrey Palermo to discuss DevOps capabilities in Azure. Hear how .NET Standard bridges the gap between .NET Core and .NET Framework, where all the different architectures fit into the .NET ecosystem. The two also give an update and overview on WebAssembly and Blazor, as well as a preview of and their motivation for writing their upcoming book, .NET DevOps for Azure.

HTML5 audio not supported

Events

IoT in Action: New innovations making IoT faster and simpler

Several events are scheduled this week where you can learn more about IoT solutions: Mobile World Conference in Barcelona, IoT in Action global event and Embedded World in Nuremberg, and Solution Builder Conference in Houston. As the Internet of Things (IoT) disrupts global business across every industry, opportunities abound. Partners are building on Microsoft IoT innovations and expanding solution accelerators, while customers of every size are reaping the rewards through increased productivity and efficiency, new revenue streams, and broader market share. Learn how Microsoft and our partners are making IoT faster, easier, and more cost effective through innovations in Windows IoT, Azure IoT, and Azure Sphere.

Register Now: Free Hybrid Cloud Virtual Event

Join us on March 28, 2019, 8 AM-9:30 AM Pacific Time to be among the first to see new hybrid product announcements. Hear from your peers and technology leaders to gain valuable insights on ways to accelerate your hybrid cloud roadmap. Register now for free.

Azure webinar series – Migrate Your Web Applications to Azure for Scale and Agility

Thursday, February 28, 2019 10:00 AM–11:00 AM Pacific Time – Learn the simple steps for modernizing a wide variety of web apps to Azure. Esteemed Microsoft engineer Jay Schmelzer shares implementation stories of how customers scaled with Azure and solved performance and security considerations across their apps; including .NET, PHP, and Node.js. This series also features Q&A and a learning path for hosting your web apps on Azure.

Live stream analysis using Video Indexer

Video Indexer is an Azure service designed to extract deep insights from video and audio files offline. At the EBU Production Technology Seminar in Geneva last month, an end-to-end solution was demonstrated by Microsoft that uses Video Indexer in near real-time resolutions on live feeds. Several live feeds were ingested to Azure using Dejero technology or the webRTC protocol, and sent to Make.TV Live Video Cloud to switch inputs. The selected input was sent as a transcoded stream to Azure Media Services for multi bitrate transcoding and OTT delivery in low latency mode.  The same stream was also processed in near real time with Video Indexer. The full code and a step-by-step guide to deploy the results is available on GitHub.

Azure This Week – 22 February 2019 | A Cloud Guru – Azure This Week

This time on Azure This Week, Lars talks about machine learning in Stream Analytics to detect evil doings, new Azure Maps service, and Azure DevOps pipelines team have created an app for your Slack.

Quelle: Azure

Nokia 9 im Hands on: Pureview ist nicht gleich Pureview

HMD Global hat mit dem Nokia 9 die Pureview-Reihe neu aufgelegt: Das Smartphone hat insgesamt fünf Kameras, die für bessere Bilder und reichlich auswählbare Schärfeebenen sorgen sollen. Im ersten Kurztest zeigt die Kamera im Vergleich mit der Konkurrenz aber ihre Grenzen. Ein Hands on von Tobias Költzsch (MWC 2019, Smartphone)
Quelle: Golem

3 open source solutions that could help mitigate natural disasters

In the last 20 years, more than 2.5 billion people have been affected by natural disasters. In only the past few years, Puerto Rico suffered a massive hurricane, wildfires in California destroyed thousands of homes and an earthquake devastated parts of Mexico City.
To help pilot technology that addresses these issues, IBM sponsored Call for Code, a massive, open source challenge that brings together the developer community to solve some of the world’s toughest problems. More than 100,000 developers have contributed, and the results have been astounding. A key theme that emerged in 2018 submissions is connecting people to much-needed aid immediately following natural disasters.
Here are three such disaster relief projects from Call for Code:
1. Project Lantern
After the 2017 earthquake in Mexico City, Suba Udayasankar was determined to help protect her community.
She teamed up with a group of engineers from around the world to create Project Lantern, a combined hardware and software solution that helps people stay connected when normal connections are down.
The solution works by distributing a series of 3D-printed devices called lanterns across the city. The lanterns sync to the cloud when an internet connection is available and store data locally when it is not. All of the lanterns then connect with each other to create a local, offline mesh network. This enables connectivity and communication during disaster scenarios.
Watch the video.
2. Drone Aid
Hurricane Maria left many communities in Puerto Rico struggling to receive aid. Some of the people who needed the most help lived in rural areas where communications were especially challenging.
After seeing the tragic impact on his home island, Pedro Cruz knew he had to do something to help, so he created Drone Aid.
Drone Aid works using a visual vocabulary that drones are programmed to understand. Members of the community are then given signage that communicates in this vocabulary.
When disaster strikes, aid workers can use drones to quickly communicate with victims and shorten response times, even when roads are damaged or unavailable.
Watch the video.
3. WOTA
In the aftermath of the 2011 Tsunami in Japan, some homes were left without running water for as long as three months. Shelters were able to provide drinking water, but without water for showers and washing, victims faced serious health risks.
The solution, developed by Richard Yuwono, Shohei Okudera and Ryo Yamada, is WOTA, a compact, inexpensive water sensor module that uses Internet of Things (IoT) technology to measure properties such as water quality, flow and pressure.
WOTA works by placing modules at multiple locations in the treatment process to monitor the water flowing into and out of filters. The modules send the data to the lab, where the team can analyze quality, predict when filters need to be replaced and detect anomalies. The system can run offline, but when a connection is available, data is sent to the cloud and stored along with user and environmental data.
WOTA makes purification extremely efficient. The system can recover and recycle more than 95 percent wastewater from a shower. WOTA showers are also portable and can be set up at shelters with a single tank of water.
All of this makes it easier for communities to provide disaster victims with access to clean water and help reduce health risks during difficult times.
Watch the video.
Code and Response
IBM leaders were so impressed by Call for Code solutions that there is now an effort in place to turn these ideas into realities. The $25 million, four-year initiative will build, fortify, test and launch open technology solutions to help communities.
Cloud technology has the power to connect devices and bring people together during some of the toughest possible situations.
To learn more about how IBM is working to make these ideas a reality and join the 2019 challenge, visit the official Code and Response webpage.
The post 3 open source solutions that could help mitigate natural disasters appeared first on Cloud computing news.
Quelle: Thoughts on Cloud