Introducing Consul…

As the distributed systems we build continue to grow, both in number and types of services, we need better tools to discover these services, check if the services are healthy, and to provide a common and consistent configuration store. This is where “Consul” comes in: Consul is completely distributed, highly available, and scales to thousands of nodes and services across multiple datacenters.

It allows clients to always have consistent and up-to-date information of their datacenter infrastructure, which includes a datacenter-wide services and nodes discovery, health checks, and key/value storage. Internally, it uses a consensus-based election and the gossip protocol to communicate between the nodes.

Consul decouples the discovery, configuration mgmt. and health checks out of the application and facilitates them via configuration, or with very minimum code changes. Developers do not have to use the brick-and-mortar approach to build a custom solution of their own to achieve the same functionality.

In this blog post, I’ll walk you through installation and a few processes, including health checks, configuration management, and service discovery. Read More…

An open-source initiative needed a solution to add Azure IaaS support for their existing cross-cloud library to support bioinformatic research.

Genomics Virtual Laboratory provides cloud-based analysis tools that help in genomics research. As a part of this tool suite, they created an open-source Python library called CloudBridge that provides a uniform and extensible API layer for supporting multiple clouds. The library supported only AWS and Open Stack. AIS was approached to provide Microsoft Azure support to the library with limited changes to their existing interfaces.

Challenges: With all the cloud providers having their own proprietary vendor APIs/approach (and not having common standards remains an issue in this modern era of cloud usage), it is becoming more common nowadays to utilize multiple cloud providers to support application deployments, and it is left to developers to author (ex: conditional code) the different infrastructure deployments and testing to support each of the providers.

In order mitigate the mentioned issues, CloudBridge came with a simple consistent interface depicted below.

Solution: Azure Python SDK was used to interface with Azure, and the necessary to and fro mapping to the CloudBridge and Azure models was done in the resource layer. The high-level architecture is depicted in the image below.

The API revolves around three concepts: (1) providers; (2) services; and (3) resources. The providers encapsulate connection properties for a given cloud provider and manages the required connection. Services expose the IaaS provider functionality, offering the ability to create, query and manipulate resources (e.g., images, instance types, key pairs, etc.). Resources represent a remote cloud resource, such as an individual machine instance (Instance) or a security group (Security Group). (Read more here.)

Technologies/Tools

  • Jet brains Pycharm community version
  • Azure Python SDK
  • Python 3.6 and 2.7

 

Welcome to part ten of our blog series based on our latest Plural Sight course: Applied Azure. Previously, we’ve discussed Mobile Services, Big Compute, Azure Web SitesAzure Worker RolesIdentity and Access with Azure Active DirectoryAzure Service Bus and MongoDBHIPPA Compliant Apps in Azure and Offloading SharePoint Customizations to Azure and “Big Data” with Windows Azure HDInsight.

Motivation

A majority of organizations, especially e-commerce and m-commerce shops face the following challenges in support of business-to-business messaging across various platforms. Read More…

Windows Azure BizTalk Services is a cloud-based integration service that provides Business-to-Business (B2B) and Enterprise Application Integration (EAI) capabilities for delivering cloud and hybrid integration solutions. With the latest release of Azure BizTalk Services, only the XML and text content-types are supported.

JSON, on the other hand, is getting ubiquitous, so this blog post describes on how to add support for JSON by extending the Azure BizTalk Bridges using the message inspectors. Some of the use cases might be interacting with a JSON-only endpoint like Azure Mobile Services, or for clients only interested in communicating via a JSON payload. Read More…