Blog: Category "Azure"

Azure Search vs. AWS CloudSearch vs. AWS Elasticsearch vs. Self-Hosted Elasticsearch

Azure Search vs. AWS CloudSearch vs. AWS Elasticsearch vs. Self-Hosted Elasticsearch

Several of Allcloud’s projects this year have focused on enterprise search and integration in the cloud.

When choosing a back-end search platform, the general requirements are common: the ability to ingest a lot of content, query its full text quickly with flexible options, and secure the data in transit and at rest.

Sometimes you plan to write all of the crawling and indexing logic yourself. Other times, you may prefer a pre-built connector to a storage tier. The amount of data in your search index, the granularity of that data, and your management requirements may vary wildly.

To help make decisions between cloud search platforms, I’ve organized common decision criteria into a simple table:

Read More...
Packaging Containers Using Linux Subsystem for Windows

Packaging Containers Using Linux Subsystem for Windows

On March 30, 2016, Microsoft announced the unthinkable: Linux support was coming to Windows. A day before April Fools’ Day, few could believe they would be able to run Linux executables and utilize Bash on Ubuntu, all within Windows 10. More recently, Microsoft has announced support for SUSE and Fedora on Windows.

Since Windows 10’s Anniversary Edition, the Windows Subsystem for Linux can be installed through a single PowerShell command:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

It is now easy to create cross-platform Continuous Integration pipelines and build Docker containers of .NET Core, Java, Node.js, and Go solutions directly from Windows.

To set up access from the Linux subsystem Docker client to Docker for Windows, follow this great guide from Tomas Lycken. Once connected, add the Dockerfile to your solution and trigger the usual docker build step without having to leave Windows.

The State of Azure Blockchain

The State of Azure Blockchain

Blockchain is a technology that facilitates transparency, predictability, and trust.

At its core, it consists of a distributed ledger for a network of computers. Transactions are added to the network and verified by a quorum of nodes that can demonstrate “proof-of-work”. That proof generally entails CPU-intensive mathematics, and the resulting proof serves as currency. Each transaction is committed to a permanent, rolling log which is cryptographically signed. Blockchains benefit from safety in numbers and have the desirable property that no transaction can be modified without invalidating subsequent transactions.

Blockchain has gained attention and notoriety in association with cryptocurrencies like Bitcoin. While the core technology is tightly aligned with banking and commerce, it can also be useful for proving and protecting intellectual property, serving as the backbone of an open marketplace through “smart contracts”, and can even be used for high-trust voting.

Microsoft is investing heavily in “blockchain as a service” under the umbrella name of “Project Bletchley” (named for the British codebreakers headquarters during World War II).

Their goal is to enable any organization to build a secure, distributed blockchain platform that scales, regardless of the use case. Let’s take a look at the growing blockchain ecosystem in Azure.

Read More...
Highlights from Microsoft Ignite 2017

Highlights from Microsoft Ignite 2017

Introduction to Azure Event Grid

Introduction to Azure Event Grid

Serverless computing is ideal for high-volume, transactional workloads that don’t require persistent infrastructure.

Developers are accelerating their use of serverless architectures like Azure Functions to speed up deployments (update a function definition and kick it off within seconds), scale instantly (with countless concurrent processes), and optimize costs (with billing based on processor time and memory usage).

While serverless functions thrive independently in batch processing workloads, they’re often paired with or replaced by messages buses like Azure Service Bus to take advantage of the “Pub-Sub” communication model and more mature tooling.

With the introduction of Azure Event Grid, Azure Functions gain better integration, instrumentation, and tooling to connect services and bypass the need for separate message buses.

Read More...
Tips for Optimizing Elasticsearch on Azure

Tips for Optimizing Elasticsearch on Azure

Elasticsearch is one of my favorite platforms. It’s an open source RESTful search platform built on Lucene.

Elasticsearch provides amazing performance, incredible scale, easy management, and virtually every feature you’d expect from a search index. It’s no surprise that over the past few years, it has become the de facto standard for building web search applications.

The core Elasticsearch product is free, and thus can be hosted in several ways:

A. Infrastructure-as-a-Service: On virtual machines or Docker / Kubernetes containers.

B. Managed Infrastructure-as-a-Service: Through Elastic themselves or a partner like AWS or Qbox. This provides the same control as hosting it yourself without the overhead of patch management, backups, and monitoring.

C. Platform-as-a-Service (Simplified): Microsoft’s Azure Search PaaS offering is built upon Elasticsearch and offers most, but not all, features.

After deploying multiple Elasticsearch instances in each scenario, here’s a list of tips.

Read More...
Introduction to Microservices with Azure Service Fabric

Introduction to Microservices with Azure Service Fabric

The shift to cloud architectures has coincided with a shift towards smaller, purpose-built services. Instead of classic “monolithic” architectures which are large, tightly-coupled, and slow to evolve, most architects prefer “microservices”.

Microservices are purpose-built services that do one thing well and can be utilized by one or more consumers in a distributed environment. They have minimal statefulness, allowing for easier scaling and distribution. Microservices are federated and can be viewed as an extension of “Service-Oriented Architecture”, allowing businesses to build (or buy) best-of-breed solutions and reuse them instead of reinventing the wheel in every application.

There are a few platforms for deploying and managing microservices. The most popular are Docker and Kubernetes. Yet, one of the best options is Microsoft’s Azure Service Fabric. Let’s review the pros, cons, and resources for getting started.

Read More...
Overview of Azure Cognitive Services

Overview of Azure Cognitive Services

At Allcloud, our favorite projects are smart enough to anticipate your needs and answer questions you didn’t even know existed.

We’re incredibly excited to watch artificial intelligence and data science evolve and become more accessible to everyone. To that end, some of our favorite cloud offerings are within Microsoft’s Cognitive Services.

About Microsoft Cognitive Services

Microsoft has been at the forefront of machine learning for years, with obvious use cases like speech recognition in Cortana and optical character recognition in OneNote, as well as more subtle use cases like spam filtering in Outlook and explicit image filtering in Bing.

Traditionally, artificial intelligence required significant investments in talent, hardware, and time to yield results. Companies like Microsoft are democratizing AI by offering sophisiticated algorithms as low-cost “a la carte” web services.

Cognitive Services (introduced in 2015 as Project Oxford) offers a suite of more than two dozen algorithms honed by data scientists and millions of test cases. Cognitive Services are sold via the Azure portal and are billed based on consumption at a fraction of a penny per service call.

We have integrated various services into Digital Asset Management (DAM) systems, enterprise search platforms, websites, and ERP. Cognitive Services consistently deliver “wow factor”.

Read More...
Azure Resources for Go (Golang)

Azure Resources for Go (Golang)

Microsoft Azure provides development support for a wide variety of languages. Official Software Development Kits (SDKs) are available for the most popular web programming languages including .NET, Java, Node.js (JavaScript), PHP, Python, and Ruby.

One of the newest languages that Microsoft supports is Go (sometimes styled as Golang).

About Go

Go is an open source language created at Google in 2007. It was grown in popularity and influence rapidly, now powering vital infrastructure throughout the intranet. It was named 2016’s Programming Language of the Year by TIOBE and is a core language within Docker, CloudFlare, and Uber.

Read More...
Serverless Architectures with Azure Functions

Serverless Architectures with Azure Functions

Infrastructure patterns are constantly evolving.

  1. Through the 1980s, mainframes were the center of gravity for all business processes.
  2. Servers became smaller and more specialized throughout the 1990s.
  3. A majority of new servers were virtualized in the 2000s.
  4. In the 2010s, the bulk of new virtual machines are being spun up in the cloud.
  5. Now, we’re witnessing a shift from entire virtual machines to efficient virtualized “containers”.

Throughout all of this, the scope of solutions has become more granular and purpose-built. No matter what, we’ve always had a level of infrastructure to worry about. Whether managing the monolithic servers or orchestrating a fleet of microservices, there have always been performance, scalability, security, and costs to optimize.

Now, companies are starting to adopt the “serverless” computing pattern, which foregoes most infrastructure concerns. Similar to how Infrastructure-as-a-Service (IaaS) is significantly easier to maintain than classic capex infrastructure and Platform-as-a-Service (PaaS) is even easier to maintain than IaaS, “serverless” computing is the easiest of all to maintain.

Read More...
Introduction to PowerApps

Introduction to PowerApps

Microsoft is intent on making application development accessible for non-programmers. It’s a daunting and usually thankless challenge, but they continue to fight the good fight.

Microsoft’s goal is to allow any business user to connect to the data they care about, add business rules, and spin up a usable application in hours instead of weeks. This sounds ideal – it eliminates the slow and expensive process of product development. By empowering users to scratch their own itches, Microsoft seeks to democratize computing and enable truly rapid, agile development.

Read More...
Introduction to Azure Stack

Introduction to Azure Stack

It’s a great time to run your business on the public cloud. Costs continue to drop, performance continues to improve, the user experience is good, and tooling continue to get more sophisticated.

But the public cloud still isn’t an option for everyone. Healthcare, finance, energy, and other highly regulated industries still prefer and expect to manage their own infrastructure for the foreseeable future.

Thankfully, managing private clouds and hybrid environments is easier than ever, thanks to Azure Stack.

Read More...