Development, source control, and CI/CD for Azure Stream Analytics jobs

Do you know how to develop and source control your Microsoft Azure Stream Analytics (ASA) jobs? Do you know how to setup automated processes to build, test, and deploy these jobs to multiple environments? Stream Analytics Visual Studio tools together with Azure Pipelines provides an integrated environment that helps you accomplish all these scenarios. This article will show you how and point you to the right places in order to get started using these tools.

In the past it was difficult to use Azure Data Lake Store Gen1 as the output sink for ASA jobs, and to set up the related automated CI/CD process. This was because the OAuth model did not allow automated authentication for this kind of storage. The tools being released in January 2019 support Managed Identities for Azure Data Lake Storage Gen1 output sink and now enable this important scenario.

This article covers the end-to-end development and CI/CD process using Stream Analytics Visual Studio tools, Stream Analytics CI.CD NuGet package, and Azure Pipelines. Currently Visual Studio 2019, 2017, and 2015 are all supported. If you haven’t tried the tools, follow the installation instructions to get started!

Job development

Let’s get started by creating a job. Stream Analytics Visual Studio tools allows you to manage your jobs using a project. Each project consists of an ASA query script, a job configuration, and several input and output configurations. Query editing is very efficient when using all the IntelliSense features like error markers, auto completion, and syntax highlighting. For more details about how to author a job, see the quick start guide with Visual Studio.

If you have existing jobs and want to develop them in Visual Studio or add source control, just export them to local projects first. You can do this from the server explorer context menu for a given ASA job. This feature can also be used to easily copy a job across regions without authoring everything from scratch.

Developing in Visual Studio also provides you with the best native authoring and debugging experience when you are writing JavaScript user defined functions in cloud jobs or C# user defined functions in Edge jobs.

Source control

When created as projects, the query and other artifacts sit on the local disk of your development computer. You can use the Azure DevOps, formerly Visual Studio Team Service, for version control or commit code directly to any repositories you want. By doing this you can save different versions of the .asaql query as well as inputs, outputs, and job configurations while easily reverting to previous versions when needed.

Testing locally

During development, use local testing to iteratively run and fix code with local sample data or live streaming input data. Running locally starts the query in seconds and makes the testing cycle much shorter.

Testing in the cloud

Once the query works well on your local machine, it’s time to submit to the cloud for performance and scalability testing. Select “Submit to Azure” in the query editor to upload the query and start the job running. You can then view the job metrics and job flow diagram from within Visual Studio.

Setup CI/CD pipelines

When your query testing is complete, the next step is to setup your CI/CD pipelines for production environments. ASA jobs are deployed as Azure resources using Azure Resource Manager (ARM) templates. Each job is defined by an ARM template definition file and a parameter file.

There are two ways to generate the two files mentioned above:

In Visual Studio, right click your project name and select “Build.”
On an arbitrary build machine, install Stream Analytics CI.CD NuGet package and run the command “build” only supported on Windows at this time. This is needed for an automated build process.

Performing a “build” generates the two files under the “bin” folder and lets you save them wherever you want.

The default values in the parameter file are the ones from the inputs/outputs job configuration files in your Visual Studio project. To deploy in multiple environments, replace the values via a simple power shell script in the parameter file to generate different versions of this file to specify the target environment. In this way you can deploy into dev, test, and eventually production environments.

As stated above, the Stream Analytics CI.CD NuGet package can be used independently or in the CI/CD systems such as Azure Pipelines to automate the build and test process of your Stream Analytics Visual Studio project. Check out the “Continuously integrate and develop with Stream Analytics tools”and “Deploy Stream Analytics jobs with CI/CD using Azure Pipelines Tutorial” for more details.

Providing feedback and ideas

The Azure Stream Analytics team is highly committed to listening to your feedback. We welcome you to join the conversation and make your voice heard via our UserVoice. For tools feedback, you can also reach out to ASAToolsFeedback@microsoft.com.

Did you know we have more than ten new features in public preview? Sign up for our preview programs to try them out. Also, follow us on Twitter @AzureStreaming to stay updated on the latest features.
Quelle: Azure

AWS Step Functions kündigt 99,9-prozentiges Service Level Agreement an

AWS hat ein Service Level Agreement (SLA) für AWS Step Functions veröffentlicht. Wir nehmen wirtschaftlich angemessene Anstrengungen auf sich, damit AWS Step Functions mit einer monatlichen Betriebszeit in Prozent von mindestens 99,9 % in jeder AWS-Region während eines monatlichen Abrechnungszeitraums verfügbar ist. Wenn die Service-Verpflichtung von AWS Step Functions nicht eingehalten wurde, sind Sie berechtigt, eine Service-Gutschrift zu erhalten, wie im AWS Step Functions Service Level Agreement beschrieben.
Quelle: aws.amazon.com

Amazon RDS for PostgreSQL unterstützt jetzt T3-Instance-Typen

Sie können jetzt T3-Instance-Typen starten, wenn Sie Amazon RDS for PostgreSQL verwenden. Amazon T3-Instances sind die nächste Generation von Instances mit Spitzenleistung, die für allgemeine Zwecke verwendet werden können, eine Standard-CPU-Leistung sowie die Möglichkeit bieten, die CPU-Auslastung jederzeit beliebig zu erhöhen. T3-Instances bieten ein ausgewogenes Verhältnis von Datenverarbeitungs-, Speicher- und Netzwerkressourcen und sind ideal für Datenbank-Workloads mit moderater CPU-Auslastung, die temporäre Nutzungsspitzen aufweisen. T3-Instances sammeln CPU-Guthaben an, wenn Workloads unter der Grundschwelle liegen. Jedes angesammelte CPU-Guthaben gibt der T3-Instance die Möglichkeit, bei Bedarf eine Minute lang die Spitzenlastleistung eines vollen CPU-Kerns zu nutzen. Amazon RDS-T3-Instances sind für Unlimited-Modus konfiguriert, was bedeutet, dass sie die Grundschwelle gegen Aufpreis über einen Zeitraum von 24 Stunden übersteigen können. Amazon RDS-Datenbankinstances, die die PostgreSQL-Versionen 9.6.9 (und höher) sowie 10.4 (und höher) ausführen, sind mit T3-Instance-Typen kompatibel. Sie können leicht auf diese neuen Instance-Klassen hochskalieren, indem Sie Ihre bestehende DB-Instance in der AWS RDS-Managementkonsole modifizieren. Weitere Einzelheiten finden Sie im Amazon RDS-Benutzerhandbuch; Informationen zu Preisen und regionaler Verfügbarkeit unter Amazon RDS – Preise.
Quelle: aws.amazon.com

AWS Elemental MediaLive ergänzt JPEG-Ausgaben und Manifeste, für die nur I-Frames verwendet werden

AWS Elemental MediaLive bietet jetzt die Option zur Erstellung von HLS-Manifesten, die nur I-Frames einschließen. I-Frames oder intra-codierte Frames sind einzelne Video-Frames, die angezeigt werden können, ohne andere Frames zu referenzieren. Manifeste, die nur mit I-Frames erstellt wurden, ermöglichen eine einfachere Aktivierung der Inhaltsbereinigung mit Videovorschau auf Video-Playern.
Quelle: aws.amazon.com

Read Replicas for Azure Database for PostgreSQL now in Preview

This blog is co-authored by Parikshit Savjani, Senior Program Manager and Rachel Agyemang, Program Manager, Microsoft Azure.

We are excited to announce Public Preview availability of Read Replicas for Azure Database for PostgreSQL.

Azure Database for PostgreSQL now supports continuous, asynchronous replication of data from one Azure Database for PostgreSQL server (the “master”) to up to five Azure Database for PostgreSQL servers (the “read replicas”) in the same region. This allows read-heavy workloads to scale out horizontally and be balanced across replica servers according to users' preferences. Replica servers are read-only except for writes replicated from data changes on the master. Stopping replication to a replica server causes it to become a standalone server that accepts reads and writes.

Key features associated with this functionality are:

Turn-key addition and deletion of replicas.
Support for up to five read replicas in the same region.
The ability to stop replication to any replica to make it a stand-alone, read-write server.
The ability to monitor replication performance using two metrics, Replica Lag and Max lag across Replicas.

For more information and instructions on how to create and manage read replicas, see the following articles:

Read replicas in Azure Database for PostgreSQL
How to create and manage read replicas in Azure Database for PostgreSQL using the Azure portal

We are sharing some of the application patterns and reference architectures which our customers and partners have implemented leveraging the read replicas for scaling out their workload.

Microservices Pattern with Read scale Replicas

In this architecture pattern, the application is broken into multiple microservices with data modification APIs connecting to master server while reporting APIs connecting to read replicas. The data modification APIs are prefixed with “Set-” while reporting APIs are prefixed with “Get-“. The load balancer is used to route the traffic based on the API prefix.

BI Reporting

For BI Reporting workload, data from disparate data sources is processed every few mins and loaded in the master server. The master server is dedicated for loads and processing not directly exposing it to BI users for reporting or analytics to ensure predictable performance. The reporting workload is scaled out across multiple read replicas to manage high user concurrency with low latency.

IoT scenario

For IoT scenario, the high-speed streaming data is loaded first in master node as a persistent layer. The master server is used for high speed data ingestion. The read replicas are leveraged for reporting and downstream data processing to take data driven actions.

We hope that you enjoy working with the latest features and functionality available in our Azure database service for PostgreSQL. Be sure to share your impressions via User Voice for PostgreSQL.

Additional resources for Azure Database for PostgreSQL

Service information
Documentation
Feedback forum

Quelle: Azure

Reaching for the Stars with Ansible Operator

In this post I will show you how to use Roles published to Ansible Galaxy as an Operator to manage an application in Kubernetes. Reusing a Role in this way provides an example of how to create an Operator that simply installs an application with the flexibility to expand and customize the behavior organically as […]
The post Reaching for the Stars with Ansible Operator appeared first on Red Hat OpenShift Blog.
Quelle: OpenShift

Microsoft joins the SciKit-learn Consortium

As part of our ongoing commitment to open and interoperable artificial intelligence, Microsoft has joined the SciKit-learn consortium as a platinum member and released tools to enable increased usage of SciKit-learn pipelines.

Initially launched in 2007 by members of the Python scientific community, SciKit-learn has attracted a large community of active developers who have turned it into a first class, open source library used by many companies and individuals around the world for scenarios ranging from fraud detection to process optimization. Following SciKit-learn’s remarkable success, the SciKit-learn consortium was launched in September 2018 by Inria, the French national institute for research in computer science, to foster growth and sustainability of the library, employing central contributors to maintain high standards and develop new features. We are extremely supportive of what the SciKit-learn community has accomplished so far and want to see it continue to thrive and expand. By joining the newly formed SciKit-learn consortium, we will support central contributors to ensure that SciKit-learn remains a high-quality project while also tackling new features in conjunction with the fabulous community of users and developers.

In addition to supporting SciKit-learn development, we are committed to helping Scikit-learn users in training and production scenarios through our own services and open source projects. We released support for using SciKit-learn in inference scenarios through the high performance, cross platform ONNX Runtime. The SKlearn-ONNX converter exports common SciKit-learn pipelines directly to the ONNX-ML standard format. In doing so, these models can now be used on Linux, Windows, or Mac with ONNX Runtime for improved performance and portability.

We also provide strong support for SciKit-learn training in Azure Machine Learning. Using the service, you can take existing Scikit-learn training scripts and scale up your training to the cloud, automatically iterate through hyperparameters to tune your model, and log experiments with minimal effort. Furthermore, the automated machine learning capability can automatically generate the best SciKit-learn pipeline according to your training data and problem scenario.

At Microsoft we believe bringing AI advances to all developers, on any platform, using any language, in an open and interoperable AI ecosystem, will help ensure AI is more accessible and valuable to all. We are excited to be part of the SciKit-learn consortium and supporting a fantastic community of Scikit-learn developers and users.
Quelle: Azure