Week 13, 2018 - Azure MysQL and Service Fabric; ECS Service Discovery; GCP Cloud Shell

A cloud provider centric note, with Microsoft finally releasing managed MySQL and PostgreSQL as well as open sourcing their service fabric, Amazon ECS gaining service discovery, and GCP extending the usefulness of their Cloud Shell.

Azure MySQL and PostgreSQL

One of my main complaints regarding Azure has been the lack of a managed MySQL service. Last year at Microsoft Build they announced both MySQL and PostgreSQL support, but it took almost a year for it to become generally available. The advantages of a managed database service are likely clear to many of you, and Azure has done a good job here by ensuring you get a highly available service that is still flexible and easy to scale. Automated backups are a standard feature for managed MySQL, but similar to how AWS Aurora works it looks like they’ve separated the storage and compute layers of the database so they can be independently scaled1.

In addition, they’re working on a MariaDB solution which is always a welcome addition.

Service Fabric

“Service Fabric is a distributed systems platform for packaging, deploying, and managing stateless and stateful distributed applications and containers at large scale.” That’s the description of the GitHub repo that contains the newly open sourced Service Fabric.

From what I understand2, it is an orchestrator that is already in heavy use within Azure itself. That said, I doubt it is intended to compete with something like Kubernetes but is more an attempt to make the underlying layer of Azure itself more open. It’s good to see Microsoft opening up so much of its underlying code and what I find interesting about it is that while they’re in the process of open sourcing the whole stack, it is the Linux components that are available first.

ECS Service Discovery

Service Discovery was released for ECS, although it’s relatively limited at the moment. It uses Route53 to create a private zone that contains A records for each task, but this means that it only works with awsvpc networked tasks. In case you’re not intimately familiar with the networking types within ECS, the awsvpc type creates an ENI for every instance of the task and is therefore also the only type available for Fargate.

While I may sound a little negative, this is a useful addition to ECS. For most other cases you will be able to use a load balancer for your service discovery, although you will need to create any Route53 records yourself, that was harder with the awsvpc tasks. The steps to set it up still take a bit of work though, so I recommend you to read the documentation.

GCP Cloud Shell Improvement

GCP’s Cloud Shell, like Azure’s equivalent, is a handy tool that gives you a dedicated container from which you can run commands against your environment. As anything you install on this container persists across sessions, it gives you a lot of freedom in a secure and authenticated way and can replace bastion instances. Up until now this only worked within a browser, but they’ve added the ability to SSH into the shell and even let you mount the storage on your local machine.


  1. It looks like you still need to manage the storage size though, so it hasn’t completely disappeared. [return]
  2. I haven’t tried it out myself. [return]
Don't ignore new content! Get the latest by subscribing through RSS, Twitter, or email!
comments powered by Disqus