The Internet is my Application!


As you know I love my stickers, you can see I left some of my Amazon/AWS stickers on my personal MacBook –as they are a large Microsoft customer and re-seller!


When you think about it, the cloud that is – why is the cloud called the cloud? Well back in the day the network/telecom engineers used a “Cloud” to portray the internet in their engineering diagrams.
Fast forward a few years and we have X as a Service (IaaS, PasS, SaaS, etc.aaS) . We are using the internet for what it was always meant to be –a network of networks. Then I read this article in the NY Post about how the term Multi-Cloud is banned from AWS’ reinvent conference –and I ask "um why"? Competition drives innovation right?

When I was at CNCF’s Kubecon last year –I got to see the demo god himself –@KelseyHightower rock the house with a demo on Google Cloud and AWS.  As Kelsey says it best “These (cloud tech) are just tools, focus on the big problem, the most important tool is sitting in the chair, figure out which ones [tools] makes sense, you leverage them [the tools], put your hands on the technology –you are an Engineer, act like one!”

As a Microsoft Cloud Solution Architect, I most work with folks closing datacenters and migrating to cloud (classic lift/Shift -yawn-), moving clouds (interesting -yum-), or going multi-cloud (very interesting-very yummy).

So why do I find the multi-cloud so yummy? Because it is an opportunity to use the internet for what it was meant to be --a network of networks. We can take an application and totally decouple it and spread it out globally.

So let’s take a microservices or a service approach for each component. There is a web tier, an app tier, and a database tier.

Each component uses an underlying technology and is hosted on a cloud. Build the front end in Raact or Angular and presto no web servers! Host it in S3 or Blob and serve it up via a CDN, Azure CDN, Google’s Cloud CDN, Amazon CloudFront, Akamai, Version –whatever. Done right? Not exactly –we just serving up the static content –what if I have a button to push? Hmmm how to execute a command like a push to a database?  Let’s go serverless!


Enter Azure Functions, AWS Lambda, Google’s Cloud Functions, IBM’s OpenWhisk, or maybe your own OpenFaaS stack running in a cloud (preferred) or on-prem (it works). This approach can handle some of our application’s workings –but let’s say we have jobs that must persist. Let’s use Kubernettes (K8s)and I can run Kubernettes anywhere. Thanks to Azure’s ARC platform – I can distribute my K8’s application on different clouds, on prem if needed, and globally!

But what if I have some legacy code that needs to run all day and persist like a bad habit? I’ll put it behind an API Gateway with EC2 instances, or API Management with backend VMs or maybe leave it on-prem and build some Swagger APIs (lipstick on the pig).

Then we have the database layer. No biggie we can use Amazon Dynamo DB, Azure Cosmos for NoSQL, local MongoDB. For complex joins we can use Azure’s CosmosDB for SQL. Amazon’s Aurora for Postgres, or if it uses Oracle RAC –keep it on-prem. Bottom line is that the API is the front door! That API can be a API Gateway/API Management service in front of on-prem/cloud virtual machines, functions and databases.

Let’s say we have an application and it needs to be multi-cloud. We can have a microservice for the front-end "Web Site" hosted in an Azure Blob container with Azure CDN service fronting it. It can have the Supplier Mgmt service living in Azure and Product Mgmt microservice  running on AWS, Price Mgmt running on IBM, and the Finance Service's legacy application running on-prem in VMware and Oracle. 
In today's modern applications, everything is an API. APIs are exposed to the internet. The API front-ends need to be on the Cloud’s API Gateway solution (DDoS and autoscale).

Next blog, I'll talk about monitoring and securing it all with Azure Security Center!

So now our application is global (thankyou CDN), Multi-cloud and hybrid (on-prem) for the stuff that just can’t move (yet) to the cloud. 







Comments

Unknown said…
Great post Jerry, very cool perspectives!

Popular posts from this blog

I did something kind of a big. Applied for a Doctorate program @ GWU's Graduate School of Education and Human Development (GSEHD)

The Business Value(s) of Social Networking Sites