NVIDIA’s RAPIDS joins our set of Deep Learning VM images for faster data science

If you’re a data scientist, researcher, engineer, or developer, you may be familiar with Google Cloud’s set of Deep Learning Virtual Machine (VM) images, which enable the one-click setup machine learning-focused development environments. But some data scientists still use a combination of pandas, Dask, scikit-learn, and Spark on traditional CPU-based instances. If you’d like to speed up your end-to-end pipeline through scale, Google Cloud’s Deep Learning VMs now include an experimental image with RAPIDS, NVIDIA’s open source and Python-based GPU-accelerated data processing and machine learning libraries that are a key part of NVIDIA’s larger collection of CUDA-X AI accelerated software. CUDA-X AI is the collection of NVIDIA’s GPU acceleration libraries to accelerate deep learning, machine learning, and data analysis.The Deep Learning VM Images comprise a set of Debian 9-based Compute Engine virtual machine disk images optimized for data science and machine learning tasks. All images include common machine learning (typically deep learning, specifically) frameworks and tools installed from first boot, and can be used out of the box on instances with GPUs to accelerate your data processing tasks. In this blog post you’ll learn to use a Deep Learning VM which includes GPU-accelerated RAPIDS libraries.RAPIDS is an open-source suite of data processing and machine learning libraries developed by NVIDIA that enables GPU-acceleration for data science workflows. RAPIDS relies on NVIDIA’s CUDA language allowing users to leverage GPU processing and high-bandwidth GPU memory through user-friendly Python interfaces. It includes the DataFrame API based on Apache Arrow data structures called cuDF, which will be familiar to users of pandas. It also includes cuML, a growing library of GPU-accelerated ML algorithms that will be familiar to users of scikit-learn. Together, these libraries provide an accelerated solution for ML practitioners to use requiring only  minimal code changes and no new tools to learn.RAPIDS is available as a conda or pip package, in a Docker image, and as source code.Using the RAPIDS Google Cloud Deep Learning VM image automatically initializes a Compute Engine instance with all the pre-installed packages required to run RAPIDS. No extra steps required!Creating a new RAPIDS virtual machine instanceCompute Engine offers predefined machine types that you can use when you create an instance. Each predefined machine type includes a preset number of vCPUs and amount of memory, and bills you at a fixed rate, as described on the pricing page.If predefined machine types do not meet your needs, you can create an instance with a custom virtualized hardware configuration. Specifically, you can create an instance with a custom number of vCPUs and amount of memory, effectively using a custom machine type.In this case, we’ll create a custom Deep Learning VM image with 48 vCPUs, extended memory of 384 GB, 4 NVIDIA Tesla T4 GPUs and RAPIDS support.Notes:You can create this instance in any available zone that supports T4 GPUs.The option install-nvidia-driver=True Installs NVIDIA GPU driver automatically.The option proxy-mode=project_editors makes the VM visible in the Notebook Instances section.To define extended memory, use 1024*X where X is the number of GB required for RAM.Using RAPIDSTo put the RAPIDS through its paces on Google Cloud Platform (GCP), we focused on a common HPC workload: a parallel sum reduction test. This test can operate on very large problems (the default size is 2TB) using distributed memory and parallel task processing.There are several applications that require the computation of parallel sum reductions in high performance computing (HPC). Some examples include:Solving linear recurrencesEvaluation of polynomialsRandom number generationSequence alignmentN-body simulationIt turns out that parallel sum reduction is useful for the data science community at large. To manage the deluge of big data, a parallel programming model called “MapReduce” is used for processing data using distributed clusters. The “Map” portion of this model supports sorting: for example, sorting products into queues. Once the model maps the data, it then summarizes the output with the “Reduce” algorithm—for example, count the number of products in each queue. A summation operation is the most compute-heavy step, and given the scale of data that the model is processing, these sum operations must be carried out using parallel distributed clusters in order to complete in a reasonable amount of time.But certain reduction sum operations contain dependencies that inhibit parallelization. To illustrate such a dependency, suppose we want to add a series of numbers as shown in Figure 1.From the figure 1 on the left, we must first add 7 + 6 to obtain 13, before we can add 13 + 14 to obtain 27 and so on in a sequential fashion. These dependencies inhibit parallelization. However, since addition is associative, the summation can be expressed as a tree (figure 2 on the right). The benefit of this tree representation is that the dependency chain is shallow, and since the root node summarizes its leaves, this calculation can be split into independent tasks.Speaking of tasks, this brings us to the Python package Dask, a popular distributed computing framework. With Dask, data scientists and researchers can use Python to express their problems as tasks. Dask then distributes these tasks across processing elements within a single system, or across a cluster of systems. The RAPIDS team recently integrated GPU support into a package called dask-cuda. When you import both dask-cuda and another package called CuPY, which allows data to be allocated on GPUs using familiar numpy constructs, you can really explore the full breadths of models you can build with your data set. To illustrate, shown in Figures 3 and 4 show side-by-side comparisons of the same test run. On the left, 48 cores of a single system are used to process 2 terabytes (TB) of randomly initialized data using 48 Dask workers. On the right, 4 Dask workers process the same 2 TB of data, but dask-cuda is used to automatically associate those workers with 4 Tesla T4 GPUs installed in the same system.Running RAPIDSTo test parallel sum-reduction, perform the following steps:1. SSH into the instance. See Connecting to Instances for more details.2. Download the code required from this repository and upload it to your Deep Learning Virtual Machine Compute Engine instance. These two files are of particular importance as you profile performance:run.sh helper bash shell scriptsum.py summation Python scriptYou can find the sample code to run these tests, based on this blog, GPU Dask Arrays, below.3. Run the tests:Run test on the instance’s CPU complex, in this case specifying 48 vCPUs (indicated by the -c flag):Now, run the test using 4 (indicated by the -g flag) NVIDIA Tesla T4 GPUs:Figure 3.c: CPU-based solution. Figure 4.d: GPU-based solutionHere are some initial conclusions we derived from these tests:Processing 2 TB of data on GPUs is much faster (an ~12x speed-up for this test)Using Dask’s dashboard, you can visualize the performance of the reduction sum as it is executingCPU cores are fully occupied during processing on CPUs, but the GPUs are not fully utilizedYou can also run this test in a distributed environmentIn this example, we allocate Python arrays using the double data type by default. Since this code allocates an array size of (500K x 500K) elements, this represents 2 TB  (500K × 500K × 8 bytes / word). Dask initializes these array elements randomly via normal Gaussian distribution using the dask.array package.Running RAPIDS on a distributed clusterYou can also run RAPIDS in a distributed environment using multiple Compute Engine instances. You can use the same code to run RAPIDS in a distributed way with minimal modification and still decrease the processing time. If you want to explore RAPIDS in a distributed environment please follow the complete guide here.ConclusionAs you can see from the above example, the RAPIDS VM Image can dramatically speed up your ML workflows. Running RAPIDS with Dask lets you seamlessly integrate your data science environment with Python and its myriad libraries and wheels, HPC schedulers such as SLURM, PBS, SGE, and LSF, and open-source infrastructure orchestration projects such as Kubernetes and YARN. Dask also helps you develop your model once, and adaptably run it on either a single system, or scale it out across a cluster. You can then dynamically adjust your resource usage based on computational demands. Lastly, Dask helps you ensure that you’re maximizing uptime, through fault tolerance capabilities intrinsic in failover-capable cluster computing.It’s also easy to deploy on Google’s Compute Engine distributed environment. If you’re eager to learn more, check out the RAPIDS project and open-source community website, or review the RAPIDS VM Image documentation.Acknowledgements: Ty McKercher, NVIDIA, Principal Solution Architect; Vartika Singh, NVIDIA, Solution Architect; Gonzalo Gasca Meza, Google, Developer Programs Engineer; Viacheslav Kovalevskyi, Google, Software Engineer
Quelle: Google Cloud Platform

Microsoft and NVIDIA extend video analytics to the intelligent edge

Artificial Intelligence (AI) algorithms are becoming more intelligent and sophisticated every day, allowing IoT devices like cameras to bridge the physical and digital worlds. The algorithms can trigger alerts and take actions automatically — from finding available parking spots and missing items in a retail store to detecting anomalies on solar panels or workers approaching hazardous zones.

Processing these state-of-the-art AI algorithms in a datacenter requires a stable high-bandwidth connection to deliver videos feeds to the cloud. However, these cameras are often located in remote areas with unreliable connectivity or it may not be sensible given bandwidth, security, and regulatory needs.

Microsoft and NVIDIA are partnering on a new approach for intelligent video analytics at the edge to transform raw, high-bandwidth videos into lightweight telemetry. This delivers real-time performance and reduces compute costs for users. The “cameras-as-sensors” and edge workloads are managed locally by Azure IoT Edge and the camera stream processing is powered by NVIDIA DeepStream. Once the videos are converted, the data can be ingested to the cloud using Azure IoT Hub.

The companies plan to offer customers enterprise-ready devices running DeepStream in the Azure IoT device catalog, and the NVIDIA DeepStream module will soon be made available in the Azure IoT Edge marketplace.

Over the years, Microsoft and NVIDIA have helped customers run demanding applications on GPUs in the cloud. With this latest collaboration, NVIDIA DeepStream and Azure IoT Edge extend the AI-enhanced video analytics pipeline to where footage is captured, securely and at scale. Now, our customers can get the best of both worlds—accelerated video analytics at the edge with NVIDIA GPUs and secure connectivity and powerful device management with Azure IoT Edge and Azure IoT Hub.

To learn more, visit the Azure IoT Edge and NVIDIA DeepStream product pages. If you are attending GTC in person, join us Tuesday, March 19, 2019 from 9:00 – 10:00 AM at session S9545 – “Using the DeepStream SDK for AI-Based Video Analytics” or visit Microsoft at Booth 1122.
Quelle: Azure

Azure Machine Learning service now supports NVIDIA’s RAPIDS

Azure Machine Learning service is the first major cloud ML service to support NVIDIA’s RAPIDS, a suite of software libraries for accelerating traditional machine learning pipelines with NVIDIA GPUs.

Just as GPUs revolutionized deep learning through unprecedented training and inferencing performance, RAPIDS enables traditional machine learning practitioners to unlock game-changing performance with GPUs. With RAPIDS on Azure Machine Learning service, users can accelerate the entire machine learning pipeline, including data processing, training and inferencing, with GPUs from the NC_v3,  NC_v2, ND or ND_v2 families. Users can unlock performance gains of more than 20X (with 4 GPUs), slashing training times from hours to minutes and dramatically reducing time-to-insight.

The following figure compares training times on CPU and GPUs (Azure NC24s_v3) for a gradient boosted decision tree model using XGBoost. As shown below, performance gains increase with the number of GPUs. In the Jupyter notebook linked below, we’ll walk through how to reproduce these results step by step using RAPIDS on Azure Machine Learning service.

How to use RAPIDS on Azure Machine Learning service

Everything you need to use RAPIDS on Azure Machine Learning service can be found on GitHub.

The above repository consists of a master Jupyter Notebook that uses the Azure Machine Learning service SDK to automatically create a resource group, workspace, compute cluster, and preconfigured environment for using RAPIDS. The notebook also demonstrates a typical ETL and machine learning workflow to train a gradient boosted decision tree model. Users are also free to experiment with different data sizes and the number of GPUs to verify RAPIDS multi-GPU support.

About RAPIDS

RAPIDS uses NVIDIA CUDA for high-performance GPU execution, exposing GPU parallelism and high memory bandwidth through a user-friendly Python interface. It includes a dataframe library called cuDF which will be familiar to Pandas users, as well as an ML library called cuML that provides GPU versions of all machine learning algorithms available in Scikit-learn. And with DASK, RAPIDS can take advantage of multi-node, multi-GPU configurations on Azure.

Accelerating machine learning for all

With the support for RAPIDS on Azure Machine Learning service, we are continuing our commitment to an open and interoperable ecosystem where developers and data scientists can use the tools and frameworks of their choice. Azure Machine Learning service users will be able to use RAPIDS in the same way they currently use other machine learning frameworks, and they will be able to use RAPIDS in conjunction with Pandas, Scikit-learn, PyTorch, TensorFlow, etc. We strongly encourage the community to try it out and look forward to your feedback!
Quelle: Azure

How Google Cloud helped Multiplay power a record-breaking Apex Legends Launch

Can you take a wild guess how many players a new multiplayer game typically attracts in its first day of availability? Would you say thousands, tens of thousands or even hundreds of thousands?Without any pre-launch marketing or promotional pushes, the free-to-play battle royale game Apex Legends, from Respawn Entertainment, reached a whopping one million unique players during the first eight hours of its debut on Monday, February 4, 2019. In the first 72 hours after its initial launch, Apex Legends reached 10-million players and has now reached 50 million unique players after just one month.Managing such high levels of engagement can be nerve-racking and intense. If players experience connectivity issues at launch, the game may never recover. So much rides on a game’s launch, including its reputation, revenue, and longevity; it’s no surprise that it requires a robust infrastructure for an optimal multiplayer experience.Apex Legends was developed by Respawn Entertainment and published by Electronic Arts, using the game server hosting specialists on Unity’s Multiplay team to facilitate the game’s availability across most major platforms. With a state-of-the-art cloud server orchestration framework and 24/7/365 professional services team, Multiplay is able to fully support ongoing game growth. The orchestration layer leverages Google Cloud to help deliver seamless global-scale game server hosting for Apex Legends in ten regions spanning the Americas, Europe, and Asia.Predicting the capacity required for a free-play title, from such a prominent studio, is impossible. Multiplay’s Hybrid Scaling technology scaled the majority of the demand for Apex Legends with Google Cloud while utilizing its global network of bare metal data centers.  Google Compute Engine, an Infrastructure-as-a-Service that delivers virtual machines running in Google’s data centers and global network, provides the core computing services. Compute Engine enables Multiplay to effortlessly ramp up to match user spikes — a critical requirement for many games, especially since Apex Legends received 1M downloads in eight hours after its initial debut. Compute Engine virtual machines can also spin down quickly, correlated to player demand, helping to optimize costs when fewer game servers are needed.Google Cloud’s global private network is also an important infrastructure component for Multiplay. Fast connections, low latency and the ability for game servers to crunch through updates as quickly as possible together ensure the best experience for players.Multiplay, a division of Unity Technologies, creator of the world’s most widely used real-time 3D development platform, has had a long-standing relationship with Google Cloud.“After working with Google Cloud on Respawn’s Titanfall 2, Google Cloud was the logical option for Apex Legends. With its reliable cloud infrastructure and impressive performance during our testing phase, it was clear we made the right choice,” Paul Manuel, Managing Director for Multiplay, recently shared. “Throughout launch, Google Cloud has been a great partner. We greatly appreciated the level of dedication the team demonstrated during the simulated game launch, and for making sure we had the necessary number of cores worldwide to support this launch.”You can learn more about how game developers and platforms turn to Google Cloud for game server hosting, platform services, and global scale and reach in this blog post. And for more information about game development on Google Cloud, visit our website.
Quelle: Google Cloud Platform

Build your Agenda for DockerCon 2019

The DockerCon Agenda builder is live! So grab a seat and a cup of coffee and take a look at the session lineup coming to San Francisco April 29th – May 2nd. This year’s DockerCon delivers the latest updates from the Docker product team, lots of how to sessions for developers and IT Infrastructure and Ops, and customer use cases. Search talks by tracks to build your agenda today.

Build Your Agenda
Use the agenda builder to select the sessions that work for you:

Using Docker for Developers: How to talks for Developers, from beginner to intermediate. You’ll get practical advice on how implement Docker into your current deployment.
Using Docker for IT Infrastructure and Ops: Practical sessions for IT teams and enterprise architects looking for how best to design and architect your Docker container platform environment.
Docker Tech Talks: Delivered by the Docker team, these talks share the latest tech on the Docker Platform. You’ll learn about new features, product roadmap and more.
Customer Case Studies: Looking to learn from companies who have been there and learned a few things along the way? In this track, industry leaders share how Docker transformed their organization – from business use cases,technical architecture, and organizational changes.
Black Belt: Deeply technical sessions on topics like application architecture, containers and related technologies.
Open Source: Innovative talks from the container and distributed systems open source ecosystem .
Transform: Inspiration sessions on the impact of change and digital transformation.

Don’t forget to register so you can start building out your agenda today. Once registered, login here to start adding session to your agenda.
Which breakout sessions will you be adding to your agenda this year?

#DockerCon has something for everyone! Check out our breakout sessions and build your agenda today! dockr.ly/2ELPuIa  Click To Tweet

For more information:

Track descriptions
Breakout session catalog
Speakers

The post Build your Agenda for DockerCon 2019 appeared first on Docker Blog.
Quelle: https://blog.docker.com/feed/

Azure Container Registry virtual network and Firewall rules preview support

While Azure Container Registry (ACR) supports user and headless-service account authentication, customers have expressed their requirements for limiting public endpoint access. Customers can now limit registry access within an Azure Virtual Network (VNet), as well as whitelist IP addresses and ranges for on-premises services.

VNet and Firewall rules are supported with virtual machines (VM) and Azure Kubernetes Services (AKS).

Choosing between private and PaaS registries

As customers move into production, their security teams have a checklist they apply to production workloads, one of which is limiting all public endpoints. Without VNet support, customers had to choose between standalone products, or OSS projects they could run and manage themselves. This puts a larger burden on the customers to manage the storage, security, scalability, and reliability a production registry requires.

With VNet and Firewall rules, customers can achieve their security requirements, while benefiting from integrated security, secured at rest, geo-redundant, and geo-replicated PaaS Container Registry. Thus, freeing up their resources to focus on the unique business problems they face.

Azure Container Registry PaaS, enabling registry products

The newest VNet and Firewall rule capabilities of ACR are just the latest set of capabilities in container lifecycle management. ACR provides core primitives that other registry or CI/CD products may build upon. Our goal with ACR isn’t to compete with our partners, rather enable them with core cloud capabilities, allow them to focus on the higher level, unique capabilities each offer.

Getting started

Using the Azure CLI, or the Azure portal, customers can follow our documentation for configuring VNet and Firewall rules.

VNet and Firewall rules preview pricing

During preview, VNet and Firewall rules will be included in the Azure Container Registry’s Premium Tier.

Preview and general availability dates

As of March 18, 2019, VNet and Firewall rules are available for public preview in all 25 public cloud regions. General availability (GA) will be based on a curve of usage and feedback.

More information

Azure Container Registry
Geo-replicating registries
OS & Framework Patching
ACR Tasks

Quelle: Azure

Power IoT and time-series workloads with TimescaleDB for Azure Database for PostgreSQL

We’re excited to announce a partnership with Timescale that introduces support for TimescaleDB on Azure Database for PostgreSQL for customers building IoT and time-series workloads. TimescaleDB has a proven track record of being deployed in production in a variety of industries including oil & gas, financial services, and manufacturing. The partnership reinforces our commitment to supporting the open-source community to provide our users with the most innovative technologies PostgreSQL has to offer.

TimescaleDB allows you to scale for fast ingest and complex queries while natively supporting full SQL. It leverages PostgreSQL as an essential building block, which means that users get the familiarity and reliability of PostgreSQL, along with the scalability and performance of TimescaleDB. Enabling TimescaleDB on your new or existing Azure Database for PostgreSQL server will eliminate the need to run two databases to collect relational and time-series data.

How to get started

If you don’t already have an Azure Database for PostgreSQL server, you can create one with the Azure CLI command az postgres up. Next, run the following command to add TimescaleDB to your Postgres libraries:

az postgres server configuration set –resource-group mygroup –server-name myserver –name shared_preload_libraries –value timescaledb

Restart the server to load the new library. Then, connect to your Postgres database and run:

CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;

You can now create a TimescaleDB hypertable from scratch or migrate your existing time-series data.

Postgres with TimescaleDB as a foundation for IoT applications

PostgreSQL is enabling many IoT scenarios. To learn more, refer to the blog post, “Creating IoT applications with Azure Database for PostgreSQL.” With TimescaleDB, this experience is even better. IoT organizations can now also leverage the insights hidden in machine generated data to build new features, automate processes, and drive efficiency.

Challenge
Solution

IoT devices generate a lot of data which needs to be stored efficiently.
TimescaleDB automatically partitions data into chunks to scale for these types of workloads.

IoT data is complex (i.e. marrying device metadata, geospatial data, and time-series data).
TimescaleDB combines relational capabilities with time-series specific functions and is compatible with other PostgreSQL extensions including PostGIS.

IoT data needs to be accessed by multiple users (i.e. internal users for analytics or external users to expose data in real-time).
TimescaleDB speaks full SQL, a query language that is familiar across entire organizations.

IoT data requires diverse, customizable ingest pipelines that require a database with a broad ecosystem.
TimescaleDB inherits PostgreSQL’s entire ecosystem of tools and extensions.

IoT applications are made up of data at their core, and need to be stored in a reliable database.
TimescaleDB inherits PostgreSQL’s 20+ years of reliability and stability.

TimescaleDB offers valuable performance characteristics on top of PostgreSQL. For IoT use cases that highly leverage time-series data, TimescaleDB implements automatic chunk partitioning to support high insert rates. Below is a comparison on Azure PostgreSQL with and without TimescaleDB and observed degradation in insert performance over time. You can imagine that with IoT use cases with large amounts of time-series data, using TimescaleDB can provide significant value for IoT applications that need both relational features and scalability.

Note: General Purpose Compute Gen 5 with 4 vCores, 20GB RAM with Premium Storage

Although IoT is an obvious use case for a time-series database, time-series data actually exists everywhere. Time-series data is essentially collected over time with an associated timestamp. With TimescaleDB, developers can continue to use PostgreSQL, while leveraging TimescaleDB to scale for time-series workloads.

Next steps

Learn more Azure Database for PostgreSQL and get started using the Azure portal or command line.
Learn more about TimescaleDB by visiting their website, docs, or join their Slack community and post any questions you may have there.

As always, we encourage you to leave feedback below. You can also engage with the Azure Database for PostgreSQL through our feedback page and our forums if you have questions or feature suggestions.
Quelle: Azure

Azure Data Studio: An Open Source GUI Editor for Postgres

When you are working with a database, or any other kind of software, your experience is enhanced or hindered by the tools you use to interact with it. PostgreSQL has a command line tool, psql, and it’s pretty powerful, but some people much prefer a graphical editor. Even if you typically use command line, you may want to go visual sometimes. At Microsoft we've spent many years building experiences to enhance developers' day-to-day productivity. Having choices is important. It allows you to go with the tool that works for you.

Today we're excited to announce preview support for PostgreSQL in Azure Data Studio. Azure Data Studio is a cross-platform modern editor focused on data development. It's available for Linux, MacOS, and Windows. Plus, Azure Data Studio comes with an integrated terminal so you're never far away from psql.

We're also introducing a corresponding preview PostgreSQL extension in Visual Studio Code (VS Code). Both Azure Data Studio and VS Code are open source and extensible – two things that PostgreSQL itself is based on.

Azure Data Studio inherits a lot of VS Code functionality. It also supports most of VS Code's extensions like Python, R, and Kubernetes support. If your primary use case is data, choose Azure Data Studio. You can manage multiple database connections, explore database object hierarchy, set up dashboards, and more.

On the other hand, if you're closer to application development than you are to database administration, then go for our PostgreSQL extension in VS Code. Actually, you don't have to choose – use both, switching according to what works best for you at the time.

Connect to Postgres

Curious about what’s included? Let’s take a deeper look at the development experience for PostgreSQL in Azure Data Studio. You can connect to your Postgres server or establish a connection directly to a database. The Postgres server can be hosted on-premises, in a virtual machine (VM), or from the managed service of any cloud provider.

Organize your servers

Often you have multiple Postgres servers you’re working with. Perhaps there’s one production server, a corresponding stage server, and maybe multiple dev/test servers. Knowing which is which is key, especially being able to clearly identify your production server. In Azure Data Studio you can use server groups to categorize your servers. You can highlight your production server group in red to make it visually distinct from the others.

Track down database objects

Your Postgres server evolves as you add new functionality. It’s helpful to be able to clearly see what columns, indexes, triggers, and functions have been created for each database and table. This is especially true when you’re not the only person working on that Postgres instance. Azure Data Studio provides convenient hierarchical navigation in the sidebar. With it you can easily explore and keep track of your server's databases, tables, views, and other objects.

Write queries efficiently

As you look through the new database objects your teammates have created, it’s helpful to go beyond the name of the object to the DDL that composes it. Even if you’re the only person working on your Postgres instance, there may be objects you created a while back that you want to look up. Checking the DDL is a useful double-check to confirm that an object is doing what you expect.

Azure Data Studio provides “Peek Definition” and “Go to Definition” functionality so you can do that, and even do it as you use the object in a query. For example, let’s say you want to query pg_stat_activity, one of the built-in statistics views that comes with Postgres. You can use “Go to Definition” to see all its columns and understand what this view is based on.

Writing SQL queries is bread and butter when working with Postgres, whether you’re an expert or are just getting started with this RDBMS. Whoever you are, IntelliSense for SQL is integrated into Azure Data Studio to help you write your queries quicker. With IntelliSense’s context-aware code completion suggestions, you can use fewer keystrokes to get the job done.

If you use Postgres a lot, you probably have a few SQL queries you end up reusing over and over. Whether they are detailed CREATE statements or complex SELECTs, you can templatize each one into a SQL code snippet. That way you don’t have to retype it afresh each time. Azure Data Studio inherits its code snippet functionality from Visual Studio Code. Code snippets help you avoid errors from retyping code, and overall let you develop faster.

Customize your editor

One advantage of modern development GUIs is the ability to customize them to suit your unique preferences. For example, in this blog we’ve used the Solarized Dark theme in screenshots. Honestly, that isn’t everyone’s cup of tea. Well there are ten more color themes you can choose from in Azure Data Studio, not to mention a high contrast option.

The personalization options extend to key bindings as well. Don't like using the default Ctrl+N to open a new tab? You can change it. Or maybe you want a keyboard shortcut that doesn't come out of the box with Azure Data Studio. You can create and customize key bindings using the Keyboard Shortcuts editor.

How to get started

There are even more features to discover, like Git source control integration and customized dashboards and widgets. You can start using the preview for PostgreSQL in Azure Data Studio today – check out the install instructions. To start using our preview PostgreSQL extension for Visual Studio Code, learn more on our GitHub page.

These two features are in preview and your feedback is critical to making them better and making them work for you. Share your feedback on our PostgreSQL GitHub pages for Azure Data Studio or Visual Studio Code respectively.
Quelle: Azure