SQL Database Query Editor available in Azure Portal

We are excited to announce the availability of an in-browser query tool that provides you an efficient way to execute queries on your Azure SQL Databases and SQL Data Warehouses without leaving the Azure Portal. This SQL Database Query Editor is now in public preview in the Azure Portal.

With this editor, you can access and query your database without needing to connect from a client tool or configure firewall rules.

The various features in this new editor create a seamless experience for querying your database.

Query Editor capabilities

Connect to your database

Before executing queries against your database, you must login with either your SQL server or Azure Active Directory (AAD) credentials. If you are the AAD admin for this SQL server, you will be automatically logged in when you first open the Query Editor using AAD single sign-on.

Learn more about how to configure your AAD server admin. If you are not currently taking advantage of Azure Active Directory, you can learn more.

Write and execute T-SQL scripts

If you are already familiar with writing queries in SSMS, you will feel right at home in the in-browser Query Editor.

Many common queries can be run in this editor, such as create new table, display table data, edit table data, create a stored procedure, or drop table. You have the flexibility to execute partial queries or batch queries in this editor. And by utilizing syntax highlighting and error indicating, this editor makes writing scripts a breeze.

Additionally, you can easily load an existing query file into the Query Editor or save your current script in this editor to your local machine. This ability provides you the convenience to save and port the queries between editors.

Manage query results

Another similarity between this Query Editor and SSMS is the ability to resize the Results pane to get the desired ratio between the Editor and Results sections. You can also filter results by keyword rather than having to scroll through all the output.

How to find Query Editor

SQL Database

You can find this experience by navigating to your SQL database and clicking the Tools command and then clicking Query Editor (preview), as shown in the screenshots below. While this feature is in public preview, you will need to accept the preview terms before using the editor.

SQL Data Warehouse

You can find this experience by navigating to your SQL data warehouse and clicking on Query Editor (preview), shown in the screenshot below. While this feature is in public preview, you will need to accept the preview terms before using the editor.

Run sample query

You can quickly test out the editor by running a simple query, such as in the screenshot below.

Send us feedback!

Please reach out to us with feedback at sqlqueryfeedback@microsoft.com.
Quelle: Azure

What’s brewing in Visual Studio Team Services: January 2017 Digest

This post series provides the latest updates and news for Visual Studio Team Services and is a great way for Azure users to keep up-to-date with new features being released every three weeks. Visual Studio Team Services offers the best DevOps tooling to create an efficient continuous integration and release pipeline to Azure. With the rapidly expanding list of features in Team Services, teams can start to leverage it more efficiently for all areas of their Azure workflow, for apps written in any language and deployed to any OS.

Release Management is generally available

Release Management is now generally available. Release Management enables you to create a continuous deployment pipeline for your applications with fully automated deployments, seamless integration with Azure, and end to end traceability.

Azure App Services Continuous Delivery

Additionally, Release Management is now available in the Azure Portal. You can start using this feature today by navigating to your app’s menu blade in the Azure portal and clicking on APP DEPLOYMENT > Continuous Delivery (Preview).

Package Management is generally available

Package Management is available as an extension to Team Services and Team Foundation Server 2017 for hosting your packages and making them available to your team, your builds, and your releases. In addition to support for NuGet packages, Package Management now support npm packages. If you’re a developer working with node.js, JavaScript, or any of its variants, you can now use Team Services to host private npm packages right alongside your NuGet packages.

Work Item Search is now in public preview

While Code Search is the most popular extension for Team Services and has been available for a while now, Work Item Search is now available in public preview. You can install the free Work Item Search extension from the Team Services Marketplace. With Work Item Search you can quickly and easily find relevant work items by searching across all work item fields over all projects in an account. You can perform full text searches across all fields to efficiently locate relevant work items. Use in-line search filters, on any work item field, to quickly narrow down to a list of work items.

Import TFS servers directly into Team Services

We are very excited to announce the preview of the TFS Database Import Service for Visual Studio Team Services. In the past, we have had various options that offered a low-fidelity method for migrating your data.  The difference today is that the TFS Database Import Service is a high-fidelity migration that brings over your source code history, work items, builds, etc. and keeps the same ID numbers, traceability, settings, permissions personalizations, and much more.  Our goal for your final production import is that your team will be working in TFS on a Friday and then be continuing their work in Visual Studio Team Services when they come back to work on Monday.

Public preview of Linux in the hosted build pool

That’s right – we have added Linux containers to our host build pool. These are running on Ubuntu Linux inside the vsts-agent-docker container. This container includes all the standard Java, Node, Docker, and .NET Core tooling. You can create or spawn other Docker containers as part of your build or release process using either a script or the Docker extension in the Visual Studio Marketplace. To use Linux, just choose Hosted Linux Preview for the default agent queue in the General section of your build definition.

Improvements to the pull request experience

We continue to enhance the pull request experience, and we’ve now added the ability to see the changes in a PR since you last looked at it, add attachments in comments, and to see and resolve merge conflicts.

JBoss and WildFly extension

The JBoss and WildFly extension provides a task to deploy your Java applications to an instance of JBoss Enterprise Application Platform (EAP) 7 or WildFly Application Server 8 and above over the HTTP management interface.  It also includes a utility to run CLI commands as part of your build/release process.  Check out this video for a demo. This extension is open sourced on GitHub so reach out to us with any suggestions or issues.  We welcome contributions.

There are many more updates, so I recommend taking a look at the full list of new features in the release notes for November 23rd and January 5th.

Happy coding!
Quelle: Azure

Microsoft Azure Germany expands services and boosts compliance

Since launching in September 2016, Microsoft Azure Germany has continued to expand service and assurance capabilities in our first-of-its-kind cloud for Europe. Today we are excited to announce availability of several new services and the achievement of  ISO/IEC 27001 certification and ISO/IEC 27018 compliance attestation.

Expanding innovation for customers

In addition to the comprehensive set of services offered already, we are announcing 4 major functionality releases – HDInsight on Linux, Power BI, Cool Blob Storage and Mobile Apps for Azure App Service.

HDInsight on Linux is Azure’s fully-managed cloud Hadoop offering – providing optimized open source analytic clusters for Spark, Hive, MapReduce, HBase, Storm, Kafka and R Server.  These big data technologies and ISV applications are easily deployable as managed clusters with enterprise-level security and monitoring – enabling customers to extract critical business insights from their valuable data sources.
With the combination of Azure services and Power BI in Azure Germany, customers can turn their data processing efforts into analytics and reports that provide real-time insights into their businesses. Power BI has several Azure connections available, and customers can connect as few as one Azure data source, or several, then shape and refine their data to build customized reports.
As customer and application data continues to grow at an exponential pace in the cloud, Microsoft Azure Germany now offers options for managing large volumes of data in a more cost-effective way. Azure Cool Blob Storage provides a low-cost storage option for cool object data such as backups, media content, or archive data. 
With the Mobile Apps capabilities of the Azure App Service in Germany, customers can leverage a highly scalable, mobile application development platform that enables them to build native and cross platform mobile experiences with a rich set of enterprise connected capabilities.

Bringing a global standard to our first-of-its-kind cloud for Europe

The ISO/IEC 27001 and ISO/IEC 27018 achievements underscore Microsoft’s commitment to our assurance promises for Microsoft Azure Germany customers.

By following the ISO/IEC 27001 standard, Microsoft Azure Germany demonstrates that its security policies and procedures are robust and can successfully protect organizational information assets in line with internationally recognized standards.
The ISO/IEC 27018 code of practice is based on EU data-protection laws, and provides specific guidance to cloud service providers (CSPs) acting as processors of personally identifiable information (PII) on assessing risks and implementing state-of-the-art controls for protecting PII data.

Moreover, ISO/IEC 27001 and ISO/IEC 27018 emphasize a well-defined, layered approach to security which allows Microsoft to proactively monitor and evaluate its security controls against global security standards, while continuously adapting to local security laws, regulations and best practices in information security.

Microsoft has established a continuous monitoring program that involves a detailed review and validation of information security and privacy-related controls on an ongoing basis. This allows us to identify threats and mitigate vulnerabilities with speed. Additionally, a third-party accredited auditor must validate in their statement of applicability that Microsoft in-scope cloud and commercial technical support services have incorporated controls for the protection of all data including PII on Microsoft Azure Germany. To remain compliant, Microsoft cloud services undergo third-party reviews annually.

Support for customers leveraging IT-Grundschutz framework

In addition to these recent ISO achievements, we remind customers who wish to implement the IT-Grundschutz framework within the scope of their existing or planned ISO/IEC 27001 certification, an “IT Grundschutz Compliance Workbook” is available free of charge – both in English and in German. Released in late 2016, this workbook is based on the standards outlined by the German Federal Office for Information Security (BSI), and provides guidance to customers seeking certification for solutions and workloads deployed on Microsoft Azure Germany.

Empowering app-building capability assured by the confidence of compliance depth

While each of these capabilities further empowers customers to achieve more with Azure, it is the combination of the innovative platform capabilities with our commitment to a comprehensive assurance program that makes Microsoft Azure Germany the ideal platform for our partners and customers.  You can read more about customers choosing Microsoft Azure Germany at the Microsoft News Centre Europe, and learn more about the products we offer at the Azure Germany product page. Additional information about Microsoft Azure compliance depth and achievements can be found at the Trust Center.
Quelle: Azure

Our journey on building the Go SDK for Azure

Over the last few months, we&;ve been busy adding new functionality to the Azure Go SDK and we&039;ll keep doing so as we march towards public preview next year.

If you followed the recent changes on our GitHub repo, you probably noticed few general improvements we made to the SDK

Model Flattening

In the last release we added model flattening to many of our APIs (i.e. you can type Resource.Sku.Family instead of resource.Properties.Sku.Family), which makes for more readable code.

Better error messages during parameter validation

During parameter validation, we enabled the SDK to return an error with the info needed to fix the JSON before sending the request out – making it easier to identify/correct potential coding mistakes.

For example, let us take a scenario where a user wants to create a resource group and location is required in that operation. User forgets to include it in the request.

In previous SDK versions, the operation would fail inside Azure and user would get the following error

resources.GroupsClient#: Failure responding to request: StatusCode=400 — Original Error: autorest/azure: Service returned an error. Status=400 Code="LocationRequired" Message="The location property is required for this definition."

In the latest SDK version, user would get

resources.GroupsClientCreateOrUpdate: Invalid input: autorest/validation: validation failed: parameter=parameters.Location constraint=Null value=(*string)(nil) details: value can not be null; required parameter

 

We also improved the coverage and functionality of the data plane of the SDK by adding support for file and directory manipulation, getting/setting ACLs on containers, working with the Storage Emulator and other various storage blob and queues operations.

Some of the fixes and improvements added to the SDK have been provided by enthusiastic developers outside of our Microsoft team and we would like to extend our sincere gratitude and appreciation to everyone who sent us feedback and/or pull requests. We took note of your requests for better API coverage in the data plane, better documentation, release notes and samples, and we are making progress in incorporating them into our future releases.

Breaking changes

Speaking of future releases: while many API changes are expected to be additive in nature, some of the changes we are introducing will break existing clients. A recent example was issue 1559, which arose when we added parameter validation; in the near future, some methods and parameters may be added/deleted, parameters change order, and structs can change while we are considering model flattening on more APIs. This is part of the reason why we keep the &039;beta&039; label on the Go SDK, and we are carefully examining every proposed change for alternatives that will not break the existing functionality.

We’d like to thank in advance all of you who continue to use our Go SDK and send us feedback; we are committed to building the best experience for developers on our platform, and we&039;d like to make sure the changes have minimal impact on your development cycle as the SDK goes towards more mature stages of public preview and GA (general availability)

We will use this blog to keep you updated on the progress and potential breaking changes, and we’ll give you a heads-up as we are approaching new milestones.
Have any suggestions for how to make the SDK better? We’d love to hear from you! Send us a pr or file an issue, and let’s talk!
Quelle: Azure

Loading data into Azure SQL Data Warehouse just got easier

Azure SQL Data Warehouse is a SQL-based fully managed, petabyte-scale cloud solution for data warehousing. SQL Data Warehouse is highly elastic, enabling you to provision in minutes and scale capacity in seconds. You can scale compute and storage independently, allowing you to burst compute for complex analytical workloads or scale down your warehouse for archival scenarios, and pay based off what you&;re using instead of being locked into predefined cluster configurations.

Since announcing general availability in July 2016, we have continued to work on helping customers get data faster into their Data Warehouse to generate insights faster and grow their businesses further. Azure SQL Data Warehouse solves the data loading scenario via PolyBase, which is a feature built into the SQL Engine. It effectively leverages the entire Massively Parallel Processing (MPP) architecture of Azure SQL Data Warehouse to provide the fastest loading mechanism from Azure Blob Storage into the Data Warehouse. We recently shared how you can use Azure Data Factory Copy Wizard to load 1TB data in under 15 mins into Azure SQL Data Warehouse, at over 1.2 GB per second throughput.

To understand just how this works, let’s take a high-level look at the SQL Data Warehouse architecture. A SQL Data Warehouse is composed of a Control Node, which is where users connect and submit queries, and compute nodes, where processing occurs. Traditional loading tools load individual rows through the control node. The rows are then routed to the appropriate compute node depending on how the data is to be distributed. This can cause slower performance because the control node must read each record as they are received. PolyBase uses the compute nodes to load the data in parallel allowing for faster performance, resulting in quicker insights from your data.

UTF-16 support for delimited text files

To make it easier to load data into Azure SQL Data Warehouse using PolyBase, we have expanded our delimited text file format to support UTF-16 encoded files.

Support for UTF-16 encoded files is important because this is the default file encoding for BCP.exe. We’ve often seen that customers export their data from their on-premises data Warehouse to Azure Blob Storage in UTF-16 format. In the past, it was necessary to then have a script to reencode the data into UTF-8 format, resulting in time consuming processing and a duplication of data. Now with UTF-16 supported, files can go directly from Azure Blob storage into SQL Data Warehouse without encoding conversion.

How to import a UTF 16 text file format

To import UTF-16 files into SQL DW with PolyBase, all you have to do is create a new file format with the encoding option set to ‘UTF16’. All of the additional format options like, field terminator, date format, and rejection values are supported with both UTF-16 and UTF-8 encoding.

Below is an example of a pipe delimited text file format that would read UTF16 files.

Next steps

In this blog post we discussed a bit about PolyBase and why it is the optimal data loading tool for SQL Data Warehouse and our expanded support for UTF-16 encoded file formats. This is now available in all SQL Data Warehouse Azure regions worldwide. We encourage you to try it out if you are interested in moving your on-prem Data Warehouse into the cloud.

Learn more

What is Azure SQL Data Warehouse?

SQL Data Warehouse best practices

Load Data into SQL Data Warehouse

MSDN forum

Stack Overflow forum

Feature Requests

If you have any feature requests for Azure SQL Data Warehouse, I like to suggest connecting with the team via User Voice.
Quelle: Azure

Azure Analysis Services now available in North Central US and Brazil South

Last October we released the preview of Azure Analysis Services, which is built on the proven analytics engine in Microsoft SQL Server Analysis Services. With Azure Analysis Services you can host semantic data models in the cloud. Users in your organization can then connect to your data models using tools like Excel, Power BI, and many others to create reports and perform ad-hoc data analysis.

We are excited to share with you that the preview of Azure Analysis Services is now available in 2 additional regions: North Central US and Brazil South.  This means that Azure Analysis Services is available in the following regions: Brazil South, Southeast Asia, North Europe, West Europe, West US, South Central US, North Central UA, East US 2 and West Central US.

New to Azure Analysis Services? Find out how you can try Azure Analysis Services or learn how to create your first data model.
Quelle: Azure

Manage App Service, SQL Database, and more – Azure Management Libraries for .NET

One C# statement to create a Web App. One statement to create a SQL Server and another statement to create a SQL Database. One statement to create an Application Gateway, etc.

Beta 4 of the Azure Management Libraries for .NET is now available. Beta 4 adds support for the following Azure services and features:

✓ App Service (Web Apps)

✓ SQL Database

✓  Application Gateway

✓ Traffic Manager

✓ DNS

✓ CDN

✓ Redis Cache

 
 

https://github.com/Azure/azure-sdk-for-net/tree/Fluent

You can download Beta 4 from:

 

Last year, we announced a preview of the new, simplified Azure management libraries for .NET. Our goal is to improve the developer experience by providing a higher-level, object-oriented API, optimized for readability and writability. These libraries are built on the lower-level, request-response style auto generated clients and can run side-by-side with auto generated clients. Thank you for trying the libraries and providing us with plenty of useful feedback.

Create a Web App

You can create a Web app instance by using a define() … create() method chain.

var webApp = azure.WebApps()
.Define(appName)
.WithNewResourceGroup(rgName)
.WithNewAppServicePlan(planName)
.WithRegion(Region.US_WEST)
.WithPricingTier(AppServicePricingTier.STANDARD_S1)
.Create();

Create a SQL Database

You can create a SQL server instance by using another define() … create() method chain.

var sqlServer = azure.SqlServers.Define(sqlServerName)
.WithRegion(Region.US_EAST)
.WithNewResourceGroup(rgName)
.WithAdministratorLogin(administratorLogin)
.WithAdministratorPassword(administratorPassword)
.WithNewFirewallRule(firewallRuleIpAddress)
.WithNewFirewallRule(firewallRuleStartIpAddress, firewallRuleEndIpAddress)
.Create();

Then, you can create a SQL database instance by using another define() … create() method chain.

var database = sqlServer.Databases.Define(databaseName)
.Create();

Create an Application Gateway

You can create an application gateway instance by using another define() … create() method chain.

var applicationGateway = azure.ApplicationGateways().Define("myFirstAppGateway")
.WithRegion(Region.US_EAST)
.WithExistingResourceGroup(resourceGroup)
// Request routing rule for HTTP from public 80 to public 8080
.DefineRequestRoutingRule("HTTP-80-to-8080")
.FromPublicFrontend()
.FromFrontendHttpPort(80)
.ToBackendHttpPort(8080)
.ToBackendIpAddress("11.1.1.1")
.ToBackendIpAddress("11.1.1.2")
.ToBackendIpAddress("11.1.1.3")
.ToBackendIpAddress("11.1.1.4")
.Attach()
.WithExistingPublicIpAddress(publicIpAddress)
.Create();

Sample code

You can find plenty of sample code that illustrates management scenarios in Azure Virtual Machines, Virtual Machine Scale Sets, Storage, Networking, Resource Manager, SQL Database, App Service (Web Apps), Key Vault, Redis, CDN and Batch.

Service
Management Scenario

Virtual Machines

Manage virtual machine
Manage availability set
List virtual machine images
Manage virtual machines using VM extensions
Create virtual machines from generalized image or specialized VHD
List virtual machine extension images

Virtual Machines – parallel execution

Create multiple virtual machines in parallel
Create multiple virtual machines with network in parallel
Create multiple virtual machines across regions in parallel

Virtual Machine Scale Sets

Manage virtual machine scale sets (behind an Internet facing load balancer)

Storage

Manage storage accounts

Networking

Manage virtual network
Manage network interface
Manage network security group
Manage IP address
Manage Internet facing load balancers
Manage internal load balancers

Networking – DNS

Host and manage domains

Traffic Manager

Manage traffic manager profiles

Application Gateway

Manage application gateways
Manage application gateways with backend pools

SQL Database

Manage SQL databases
Manage SQL databases in elastic pools
Manage firewalls for SQL databases
Manage SQL databases across regions

Redis Cache

Manage Redis Cache

App Service – Web Apps

Manage Web apps
Manage Web apps with custom domains
Configure deployment sources for Web apps
Manage staging and production slots for Web apps
Scale Web apps
Manage storage connections for Web apps
Manage data connections (such as SQL database and Redis cache) for Web apps

Resource Groups

Manage resource groups
Manage resources
Deploy resources with ARM templates
Deploy resources with ARM templates (with progress)

Key Vault

Manage key vaults

CDN

Manage CDNs

Batch

Manage batch accounts

Give it a try

You can run the samples above or go straight to our GitHub repo. Give it a try and let us know what do you think (via e-mail or comments below), particularly –

Usability and effectiveness of the new management libraries for .NET.
What Azure services you would like to see supported soon?
What additional scenarios should be illustrated as sample code?

Over the next few weeks, we will be adding support for more Azure services and applying finishing touches to the API.
Quelle: Azure

Modern Data Warehousing with Continuous Integration

This post was co-authored by Mohit Chand, Principal SWE Lead, Microsoft IT. We are going a step beyond the traditional methods of developing a data warehouse by adopting CI practices, which are more prevalent for API (.NET) based applications. It has been long pending for data warehouse teams to catch up on the modern software engineering practices. With the emergence of Visual Studio Online (VSTS) & SQL Server Data Tools (SSDT), spinning environments on the fly, deploying code across environments with maximum automation has become easy. We adopted these modern practices to boost engineering productivity in our Business Insights (DW) project. With the help of SSDT and VSTS, we were able to align DW deployment perfectly with the Agile releases (2 weeks sprint). In this blog I will elaborate a detailed approach on how to implement CI for your Data Warehouse. I will explain the life cycle of a business user story starting from code branching, pull-request-triggered-build, Azure resources and environment provisioning, schema deployment, seed data generation, daily-integration releases with automated tests, and approval based workflows to promote new code to higher environments. DevOps Why DevOps? In traditional development and operations model there is always a possibility of confusion and debate when the software doesn’t function as expected. Dev would claim the software working just fine in their respective environment and defend that as an Ops problem. Ops would indicate that Devs didn’t provide a production ready software, and it’s a Dev problem. How do we solve this? Wouldn’t it be a good idea for a single team takes care of development, testing, and operations? We work closely with business and other stake holders to efficiently deliver better and faster results to customers. DevOps has enabled us to deliver faster with a better a connection with customers while simultaneously reducing our technical debt and risks.   DW Architecture This Data Warehouse uses Azure technologies. Data arrives to the landing zone or staging area from different sources through Azure Data Factory. We use Azure Data Factory (ADF) jobs to massage and transform data into the warehouse. Once ready, the data is available to customers in the form of dimension and fact tables.   Tools/Technologies This Modern Data Warehouse primarily uses Microsoft technologies to deliver the solution to customers – SQL Azure (PaaS) Azure Data Factory Azure Blob Storage SQL MDS 2016 Visual Studio Team Services (VSTS) Agile and Kanban board Code branching (Git) Gated check-ins Automated Tests Build Release Plan In agile scrum, user story is the unit of implementation. Engineers pick up and deliver the user stories in any given sprint.   Code Branching Strategy With Agile code branching plays a critical role. There are various ways to do it including sprint branching, feature branching, story/bug branching, etc. In our case we adopted user story level branching. A contributor creates a branch from the “develop” branch against each story he/she picks up. It is the contributor’s responsibility to maintain this isolated branch and merge it by creating a “Pull Request” with the develop branch once the story is complete or ready for code review. A contributor is not allowed to merge his/her code with the main stream branch directly. It requires a minimum two code reviews to approve the code. Story based branching enables developers to merge the code frequently with the main stream and avoid working a long time on the same branch. This significantly reduces the code integration issues. Another benefit is that developers can work more efficiently by having other developer’s code available more frequently. Code dependency wait time gets reduced, hence less blockers for developers. Using VSTS, contributor creates a new branch: Nomenclature followed is <contributor name>_<Story or Bug> After creating the branch, the contributor publishes it to make it visible to everyone else on the team.   Once the branching is set the contributor is all set to start with the story and starts writing code to implement the functionality. Code Review and Code Merge Once the code is complete, the developer checks-in the code and creates a pull request using VSTS portal. To ensure a higher level of code quality, it’s imperative to have a gated check-in process in place. Each developer has to ensure the build is not broken when they check-in the code. The code needs to be reviewed and approved by at least two peers before it gets merged with the main stream. Without two code review approvals, it’s not possible to merge the code with the main stream code. A pull request is created by the developer and submitted with appropriate comments and work items.   Build As soon as the “Pull Request” is created by the contributor, the CI build automatically gets fired.   An email notification is received by all the reviewers, which updates them about the new “Pull Request” created by a contributor. The reviewers are now good to starts the code reviews.   Depending upon the quality of the code, the reviewer “Approves”, raise questions, or “Reject” the code. Once all reviewers are done with code reviews, the lead developer merges the code with the main stream. Test (Automation) Ensuring high code quality across various environments could be challenging in a DW project because data might vary from environment to environment. We ensure that every new piece of code we write has automated test cases before creating a pull request. This not only prevented bug leaks to production, but it also ensured a higher quality of deliverables. The diagram below depicts the overall test case execution results. As part of the deployment, we execute all of our test cases to ensure the integrity and quality of the end product. Release & Deploy Once the code is successfully merged with main stream code, a new build fires automatically. The Integration environment gets deployed once a day with the latest code.   The diagram below depicts three environments we manage for the Data Warehouse. We have “Integration”, “End User”, and “Production” environments. The integration environment is a continuous integration and deployment environment, which is provisioned and de-provisioned dynamically and managed as “Infra as a Code”. It is a scheduled process which run the following steps in sequence to “integrate” the check-ins happening daily. Build the new bits by getting the latest from the develop branch (includes integrated code scanning) Create a new Azure Resource Group and procure the SQL Instance Copy the “Seed Data” to the newly created SQL instance Execute any schema renaming Deploy the DACPAC to deploy new schema changes Scale-up the databases to execute the steps faster Copy code bits to build server Deploy additional SQL entities Run data sync jobs Execute test assemblies Deploy Azure Data Factories Decommission environment Seed data to enable automated testing Automated testing in a DW depends a lot on the availability of accurate data. Without data there will be numerous scenarios which cannot be tested. To solve this problem we use production copy of data as “seed data” during deployment. The diagram below depicts how we populate the seed data in our Daily Integration Environment (DIT). In cases where the data is pretty huge, a miniature DB, which contains subset of production data, can be used instead of copying the entire replica. Step-1: Represents the production data with multiple schemas which we use to segregate data in our DW environments (e.g. staging, transformed data, etc.) Step-2: Represents that data gets copied to Azure Geo Replica (Disaster Recovery copy). Step-3: During release deployment we copy the geo replica to the newly procured DIT SQL server instance. Step-4: Represents the availability of production equivalent copy of data. In addition, the DACPACK deployment happens to add the newly added schema and later our test automation suites runs to test the quality of our end product. Deploying release to higher environments Promoting the release from one environment to another is setup through an approval workflow and it is not allowed to deploy directly. In this scenario it is not possible to deploy directly to Production without the approval from pre-assigned stakeholders. The approval workflow depicts the environment promotion. Once the required approvers approve the workflow the release gets promoted to next environment automatically. Monitor As DevOps the same team monitors the pre-prod and prod environments for any failures. We adopted the DRI (directly responsible individual) model and the DRI person proactively monitors and checks the system’s health and all the notifications. Issues, if any, are fixed on priority to ensure continued availability of application. We use out of the box ADF monitoring and notification along with a couple of custom monitoring tools. We also have multiple data quality checks implemented as automated reports that run daily in the production environment and report out data anomalies that can either be fixed as a bug in our processes or be traced back to the source systems quickly for getting fixed there. It’s true that setting up CI for a data warehouse isn’t that simple, however, it’s worth every penny. We did face challenges of test case failures when we add new code during the sprints, however, the team has learned from those instances and now we ensure to update the existing test cases when new code is being added. We are continuously adding functional, build, and environment verification test cases to constantly increase the quality of the product. CI has enabled us to be truly agile and be super confident in our end product. We are able to prevent common bug leaks to production by having an automated test suite. We were able to eliminate the need of the test environment and eyeing to deploy directly in production in coming quarters. We strongly believe it’s possible!
Quelle: Azure

Event Hubs Dedicated Offering

The Event Hubs team is introducing a new offering for dedicated single-tenant deployments for our most demanding customers. This same offering powers Halo 5 on Xbox One, Skype for Business, and Microsoft Office client application telemetry pipelines. At full scale Azure Event Hubs can ingress over two million events per second or up to 2 GB per second of telemetry with fully durable storage and sub-second latency.

Benefits

The core of this offering is the same engine that powers Event Hubs Standard tier, but is provided as a single tenant, dedicated, cluster with the following benefits:

Single tenant hosting with no noise from other tenants – your resources are “isolated”
Message size increases to 1MB as compared to 256KB for Standard and Basic plans
Scalable between 1 and 8 capacity units – providing up to 2 million ingress events per second
Fixed monthly price includes costs for ingress events, throughput units, and Archive
Guaranteed capacity to meet your burst needs
Repeatable performance every time
Zero maintenance

Event Hubs Dedicated Capacity will meet your highest scale telemetry and streaming demands. It offers all features of the Event Hubs Standard plan in a single tenant runtime so that your streams will never be affected by bursts in traffic volumes and provide you with a tried-and-true performance.

Unlike other tiers of Event Hubs, Dedicated Capacity is an all-inclusive fixed monthly price where features, such as extended retention and archive, are provided for no additional fee. Overall, you will find more flexibility around the limits you would see in the other Event Hubs plans. Maximum message size is increased to 1MB and restrictions on the number of brokered connections you can have are significantly eased. Whether your preference is to send many small messages or fewer large messages, both benefit from the flexibility of dedicated capacity.

Find Out More

This platform is now offered to the public through an Enterprise Agreement in varying size configurations as Capacity Units (CU). Each capacity unit provides approximately 200 Throughput Units of capacity. You can scale your dedicated capacity up or down throughout the month to meet your needs by adding or removing capacity units.

Event Hubs dedicated capacity is like having your own Azure region for Event Hubs. It is a fully managed Platform as a Service, where all maintenance such as OS and software patching is taken care of for you by the Event Hubs team.

For estimated pricing, please contact your Microsoft sales representative or Microsoft Support to get additional details about Event Hubs Dedicated Capacity. You can also view the Event Hubs pricing table to view a feature comparison with standard and basic plans. It’ll handle the streaming data you have today and keep you ready for tomorrow.
Quelle: Azure

Manage App Service, SQL Database, and more – Azure Management Libraries for Java

One Java statement to create a Web App. One statement to create a SQL Server and another statement to create a SQL Database. One statement to create an Application Gateway, etc.

Beta 4 of the Azure Management Libraries for Java is now available. Beta 4 adds support for the following Azure services and features:

✓ App Service (Web Apps)

✓ SQL Database

✓ Application Gateway

✓ Traffic Manager

✓ DNS

✓ CDN

✓ Redis Cache

 
 

https://github.com/azure/azure-sdk-for-java

Add the following to your Maven POM file to use Beta 4:

<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure</artifactId>
<version>1.0.0-beta4.1</version>
</dependency>

Last year, we announced previews of the new, simplified Azure management libraries for Java. Our goal is to improve the developer experience by providing a higher-level, object-oriented API, optimized for readability and writability. Thank you for trying the libraries and providing us with plenty of useful feedback.

Create a Web App

You can create a Web app instance by using a define() … create() method chain.

WebApp webApp = azure.webApps()
.define(appName)
.withNewResourceGroup(rgName)
.withNewAppServicePlan(planName)
.withRegion(Region.US_WEST)
.withPricingTier(AppServicePricingTier.STANDARD_S1)
.create();

Create a SQL Database

You can create a SQL server instance by using another define() … create() method chain.

SqlServer sqlServer = azure.sqlServers().define(sqlServerName)
.withRegion(Region.US_EAST)
.withNewResourceGroup(rgName)
.withAdministratorLogin("adminlogin123")
.withAdministratorPassword("myS3cureP@ssword")
.withNewFirewallRule("10.0.0.1")
.withNewFirewallRule("10.2.0.1", "10.2.0.10")
.create();

Then, you can create a SQL database instance by using another define() … create() method chain.

SqlDatabase database = sqlServer.databases().define("myNewDatabase")
.create();

Create an Application Gateway

You can create an application gateway instance by using another define() … create() method chain.

ApplicationGateway applicationGateway = azure.applicationGateways().define("myFirstAppGateway")
.withRegion(Region.US_EAST)
.withExistingResourceGroup(resourceGroup)
// Request routing rule for HTTP from public 80 to public 8080
.defineRequestRoutingRule("HTTP-80-to-8080")
.fromPublicFrontend()
.fromFrontendHttpPort(80)
.toBackendHttpPort(8080)
.toBackendIpAddress("11.1.1.1")
.toBackendIpAddress("11.1.1.2")
.toBackendIpAddress("11.1.1.3")
.toBackendIpAddress("11.1.1.4")
.attach()
.withExistingPublicIpAddress(publicIpAddress)
.create();

Sample code

You can find plenty of sample code that illustrates management scenarios in Azure Virtual Machines, Virtual Machine Scale Sets, Storage, Networking, Resource Manager, SQL Database, App Service (Web Apps), Key Vault, Redis, CDN and Batch.

Service
Management Scenario

Virtual Machines

Manage virtual machine
Manage availability set
List virtual machine images
Manage virtual machines using VM extensions
Create virtual machines from generalized image or specialized VHD
List virtual machine extension images

Virtual Machines – parallel execution

Create multiple virtual machines in parallel
Create multiple virtual machines with network in parallel
Create multiple virtual machines across regions in parallel

Virtual Machine Scale Sets

Manage virtual machine scale sets (behind an Internet facing load balancer)

Storage

Manage storage accounts

Networking

Manage virtual network
Manage network interface
Manage network security group
Manage IP address
Manage Internet facing load balancers
Manage internal load balancers

Networking – DNS

Host and manage domains

Traffic Manager

Manage traffic manager profiles

Application Gateway

Manage application gateways
Manage application gateways with backend pools

SQL Database

Manage SQL databases
Manage SQL databases in elastic pools
Manage firewalls for SQL databases
Manage SQL databases across regions

Redis Cache

Manage Redis Cache

App Service – Web Apps

Manage Web apps
Manage Web apps with custom domains
Configure deployment sources for Web apps
Manage staging and production slots for Web apps
Scale Web apps
Manage storage connections for Web apps
Manage data connections (such as SQL database and Redis cache) for Web apps

Resource Groups

Manage resource groups
Manage resources
Deploy resources with ARM templates
Deploy resources with ARM templates (with progress)

Key Vault

Manage key vaults

CDN

Manage CDNs

Batch

Manage batch accounts

Give it a try

You can run the samples above or go straight to our GitHub repo. Give it a try and let us know what do you think (via e-mail or comments below), particularly –

Usability and effectiveness of the new management libraries for Java.
What Azure services you would like to see supported soon?
What additional scenarios should be illustrated as sample code?

Over the next few weeks, we will be adding support for more Azure services and applying finishing touches to the API.

You can find plenty of additional info about Java on Azure at http://azure.com/java.
Quelle: Azure