An Azure Overview and Perspective

I'm producing a series of blog post that highlights the work I've done with an O'Reilly media video course. I will produce several posts a week to support this course, as seen below.

https://bit.ly/bruno-does-linux-data-java

smallslide0

The course is targeted towards developers who want to write Java applications on Linux and host those application in Azure.

These applications talk to today's top data stores, including:

  • Azure Tables
  • Azure Blobs
  • Azure Queues
  • SQL Server
  • SQL Database
  • MySQL
  • PostGres
  • DocumentDB
  • MongoDB
  • Cassandra
  • Redis

High Level Overview

  • Here is the Azure big picture type of slides. Don't worry, I'm going to get to real low-level coding details as these posts progress.

smallslide2

Slide 1 of 7 - Azure is Microsoft's public cloud

The magnitude of the platform

  • I don't expect you to read the fine print here
  • Although you can see the three pillars here
    • virtual machines
    • cloud services
    • application services
  • The bottom half of the image shows a tremendous depth of services and capabilities

smallslide3

Slide 2 of 7 - A broad and powerful cloud platform

Azure has more data centers than Google and AWS combined

  • This is important for compliance reasons
  • Different countries have different laws
  • Having a data center in different countries allows Microsoft to conform to those country's laws
  • Some of the VM's are extremely powerful
    • 32 cores with half a terabyte of ram combine with SSD storage

smallslide4

Slide 3 of 7 - A massive global footprint

You can think of Azure as having three core pillars

  • Compute, storage, networking is the starting point for any cloud platform
  • Ultimately, platform as a service will rule the world, as I've commented in previous posts
  • Many view platform as a service as vendor lock-in, not to mention developers like being able to control individual virtual machines
  • But managing a large distributed computing platform is difficult and error prone

smallslide5

Slide 4 of 7 - A range of capabilities

Many companies choose to build their own platform as a service using core infrastructure

  • This gives them the ability to avoid vendor lock-in because they are abstracting away the provisioning, scaling, health monitoring, networking, orchestration, scheduling and more
  • The O'Reilly course that I have created speaks to the storage capabilities of Azure
    • The link for this course is a top of this post and dives deep into Java, Linux using 11 different storage mechanisms, including relational and NoSQL

smallslide6

Slide 5 of 7 - Avoiding the vendor lock-in

Cloud services allow you to focus on your application and the data, not the underlying infrastructure

  • The value proposition of cloud services is that you abstract away the details of running individual virtual machines
  • instead, you can think of your compute needs as being a collection of resources is managed by a cloud-based operating system

smallslide7

Slide 6 of 7 - Focusing on your application, not infrastructure

Application services are optimized to support web and mobile workloads

  • Many of integration points between software as a service applications are built in
  • The obvious goal here is to free developers from the low-level details of supporting mobile and web applications

smallslide8

Slide 7 of 7 - Easily support mobile and web apps