As developers, we often agonize over the amount of time spent procuring resources, setting up environments, and performing all the other tasks that prevent us from doing what we love most: developing! While cloud-computing technologies have helped to address this problem by making it easy to acquire resources such as servers, computing power, and storage, the problem of setting up these complex application hosts still plagues us. To further compound the issue, maintaining these servers can be quite costly in terms of time and money. Fortunately, technology often rises to meet the needs of its users, and so we have our featured serverless architecture.
At a high level, the concept behind a serverless architecture is quite simple. Rather than forcing users to provision servers on which to run their code, vendors offer the ability for users to upload a function and…
So, you’ve got your Azure subscription in place, and you’re the global administrator. Now you want to let someone else access your subscription, but only a specific resource group within your subscription. In this blog post, I’ll show you how to add a new user to your Azure subscription’s directory, and how to then grant permission for that user to a specific resource group within your Azure subscription that they can manage. The new user won’t be able to see or manage any resources in your subscription outside the resource group that you grant them access for.
Let’s get started. First, log in to the Azure portal and open your subscription’s directory. To do this, search for directory and choose Azure Active Directory, as follows:
Next, take note of the directory name; this is the domain name for the email address…
In Azure Cosmos DB, partitioning is what allows you to massively scale your database, not just in terms of storage but also throughput. You simply create a container in your database, and let Cosmos DB partition the data you store in that container, to manage its growth.
This means that you just work with the one container as a single logical resource where you store data. And you can just let the container grow and grow, without worrying about scale, because Cosmos DB creates as many partitions as needed behind the scenes to accommodate your data.
These partitions themselves are the physical storage for the data in your container. Think of partitions as individual buckets of data that, collectively, is the container. But you don’t need to think about it too much, because the whole idea is that it all just…
Azure Cosmos DB is Microsoft’s globally distributed, massively scalable, horizontally partitioned, low latency, fully indexed, multi-model NoSQL database.
If you start to elaborate on each of the bullet points in this soundbite opening, there’s a lot to discuss before you get to “multi-model NoSQL” at the tail end. Starting with “globally distributed,” Cosmos DB is – first and foremost – a database designed for modern web and mobile applications, which are (typically) global applications in nature. Simply by clicking the mouse on a map in the portal, your Cosmos DB database is instantly replicated anywhere and everywhere Microsoft hosts a data center (there are nearly 50 of them worldwide, to date). This delivers high availability and low latency to users wherever they’re located.
Cosmos DB also delivers virtually unlimited scale, both in terms of storage – via server-side horizontal partitioning, and throughput…
Azure DevOps is a work item tracking, source control, and release management solution provided by Microsoft. It is the cloud-based evolution of Team Foundation Server. If you don’t have a DevOps account, you can get one for free at https://azure.microsoft.com/en-us/services/devops/.
Release Pipelines is a powerful feature of DevOps that allows you to create pipelines to deploy your builds out to your server environments. Let’s say that you are creating a Release Pipeline for your website and you have a separate environment for Dev and Production, both hosted on Azure App Services. When you check code in, you want it to be deployed to your Dev environment automatically through Continuous Integration. This is easily configurable through the Release Pipeline interface.
What about your Production environment though? You want to use the same build artifacts for your Dev and Production environments, so it makes…
Developers with a background in relational databases are accustomed to achieving data integrity using transactions. Once a writer updates a bank balance and commits the transaction, it’s entirely unacceptable for a reader to ever be served the previous value, and a relational database ensures that this never happens. In the NoSQL world, this is referred to as strong consistency. Achieving strong consistency in a NoSQL database is more challenging because NoSQL databases by design write to multiple replicas. And in the case of Azure Cosmos DB, these replicas can be geographically spread across multiple Microsoft data centers throughout the world.
First, let’s understand consistency within the context of a single data center.
In one Azure data center, your data is written out to multiple replicas (four at least). Consistency is all about whether or not you can be sure that the data…
For most Microsoft IT professionals, migrating or updating a native mode SQL Server Reporting Services (SSRS) installation from one version to another is a rare, if not once-in-a-lifetime, event – and probably one you would prefer a root canal to. Because software upgrades of all types tend to get postponed as long as possible, if you find yourself finally tasked with such an upgrade, several unpleasant things are likely true:
The effort is in crisis mode, driven by software (SSRS, OS) going off support, hardware becoming unreliable, or a line-of-business application that must itself be upgraded but cannot be until SSRS is.
The current installation was not done by you and whomever did is long gone, so you are not that familiar with it and would frankly rather not be. SSRS is not your “thing”.
The current installation is poorly documented, if at…
Microsoft recently announced the end of support (EOS) for SQL and Windows 2008. What does that mean for you? Maybe nothing, but if your company is currently running either version you need to consider your options. There are two important dates to make note of – July 9th and January 14th. SQL Server 2008 support ends on July 9, 2019 and Windows Server 2008 support ends January 14, 2020. Option 1 is to migrate to Azure. When you’re ready to, you can modernize your applications. Option 2 is to continue to run on 2008 until support ends and then decide. We can help to weigh your options.
Are you ready to get started? We can help!
Part 1 Summary
In post 1 of this series, we discussed what a Discount Cloud Instance is and in what situations it can be beneficial to use. In summation, they are instances sold very cheaply as temporary resources to those who want to make use of them and they are most useful when being utilized for batch processing jobs that have a flexible or far-off completion date.
Part 2 Summary
In the second post, we introduced and compared the current offerings of these instance types from the three main cloud providers: Microsoft, Amazon, and Google. There are currently vast differences in how each provider offers and utilizes their Discount Cloud Instances, just as there are significant differences in how they offer cloud services in general. Amazon AWS offers spot instances, which feature the most flexibility and historical data access for users to optimize…
In the first post of this series, we discussed what a Discount Cloud Instance is and when they are beneficial to use. In this post, we will look at the specific offerings by Amazon (EC2 Spot Instances) and Google (Preemptible VMs) and compare them to Azure’s Low Priority Virtual Machines. In addition to each having a different name, they also treat them in very different ways and have their own individual benefits and drawbacks.
When a provider is willing to provide historical data relative to the availability of their Discount Cloud Instances, it can allow potential users to analyze it for a number of different purposes. Most notably, being able to better time their requests so that they obtain the best pricing when otherwise they might miss their chance. Thus far, Azure does not seem to offer this data. Google…