Its far from trivial to change an entire corporate culture on a dime.
You can say that, but when it's a response to the fact that Microsoft did that EXACT THING on the the scale in which they did it your statement doesn't hold any water. Go back in time and walk onto the Microsoft campus in Seattle and tell anyone that will listen in say 1995, 1999, 2001, 2007, or 2012 that Windows licensing is a dead end and see if you don't get lumped in with the loonies talking about the end of the world.
To say that Google can't do it is more an indictment of Google's leadership as opposed to the enormity of the task. To thinking a company with a 934 billion dollar market cap (Alphabet) can't figure out how to do enterprise software support if it wanted to, what a joke.
“All teams will henceforth expose their data and functionality through service interfaces.
Teams must communicate with each other through these interfaces.
There will be no other form of interprocess communication allowed: no direct linking, no direct reads of another team's data store, no shared-memory model, no back-doors whatsoever. The only communication allowed is via service interface calls over the network.
It doesn't matter what technology they use. HTTP, Corba, Pubsub, custom protocols -- doesn't matter. Bezos doesn't care.
All service interfaces, without exception, must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions.
I am not sure why you are saying Microsoft transformed, its still the same old one now trying to embrace Linux as it runs as the main workload on Azure instead of windows. This is just done for survival, otherwise Microsoft would have gone to irrelevance.
Windows and Office licenses are still the main driver for Microsoft, just with accounting tricks and office 360 made into cloud revenues. This is an investor story to jack up the stocks. They are no better than google when it comes to platform lock-in. On top of it having used Azure services, I can say without a doubt its inferior to Amazon and Google cloud experience.
Microsoft didn't transform it's just that enterprises who hold up upgrading Windows and Office did so after windows 7 debacle to Windows 10. This is just cyclical uptick, not really transformation, its just lucky Nadella. The only good thing Nadella did is, didn't take any disastrous decision to thwart the uptick by embracing Linux and trying open source, by understanding that if it's not done Microsoft will go the IBM path to irrelevance.
In the process Microsoft having an old relationship with enterprises helped them to move some workloads to Azure even though it is an inferior service, by supporting Linux and showing commitment to it for financial gain not out of goodwill towards open source.
Still today Microsoft relevance on mobile is due to its office products, otherwise it is as good as irrelevant on mobile application and development front. It's alive on mobile just due to proprietary platform lock-in to .NET. Now made it open source to try to increase the share as it's not as useful given the rise of nodejs, Python, rust and other platforms.
Windows has not seen a payed upgrade for 5 years - that is in itself a major change. We'll see if they continue on this road, but for now their announced plan is that there will not be a new paid update of Windows. This clearly cuts down on one of the revenue streams for Windows Licensing.
Microsoft is the largest single contributor to Linux development. They have a large hand in Kubernetes. .NET is open source and runs on Linux/Mac natively. They have released and are maintaining the most popular lite IDE/editor of the decade simultaneously for Linux/Mac/Windows, and it was open source from the start. MSVC has a Clang frontend.
That they are not relevant on mobile seems a non-sequitur. The discussion was on whether the Microsoft Windows-first culture has changed, and it clearly has. They have clearly embraced open-source as a good strategy for them, and are making massive investments in it.
I would also note that Azure, while having all sorts of unexpected limitations, is at least much more transparent about pricing than AWS. The Azure UI almost always includes pricing information on the resources you are creating, which AWS carefully segregates away.
This licensing does not apply to enterprise editions and volume licensing, I believe you are still looking at consumer market which Microsoft already lost to a Apple and lately google chromebooks.
The major revenue stream for Microsoft is still old long term licensing deal for office combined with windows and than related server technologies to support office applications.
The model changed from licensing+upgrade fee to new subscription fees. This can be office 360 subscriptions which get you office products and windows or volume license subscriptions. Depending on the type of subscriptions these are classified as cloud or windows and office revenue. Azure come into picture as those companies having volume licenses have applications in legacy .NET which they move to Azure.
Microsoft is supporting Linux today because they lost the battle of technical superiority and most of the azure workloads for supporting internal business apps run on Linux. They ported .NET to Linux just to have those old accounts do not move out of azure and Microsoft proprietary eco-system easily and move them to subscription with long term contracts.
Majority of the revenue effect you see is just because Microsoft abandoned product updates for old versions and forced customers to move to windows 10 and above by making old one economically very expensive. So Nadella was lucky because he got the benefit of the cyclical revenue increase due to enterprise upgrades which companies didn’t do for many years.
Obviously adoption of Linux as primary driver for Azure kept those old customers from moving out of Azure to Amazon or google, even though technically azure quality and services were inferior. A company will not move to amazon or google unless there is significant exponential gains. If the old vendor can still support and give something which is not bad but not the best, customer will still stay on and here Nadella was good not to bash Linux like Balmer.
Companies prefer to purchase services within an established contract than to go ahead and sign a new one with new provider and go through the bidding process.
Also .Net is synonymous with microsoft so there is no reason to trust AWS, it's not their priority, they are a Perl and Java shop in general.
AWS is always bragging that they have twice as many Windows VMs than Azure.
AWS a Perl shop?
All of AWS services treat C# .Net Core as a first class citizen.
- CodeBuild has prebuilt C# .Net Core images for building apps. For licensing reasons they don’t have prebuilt Windows/Framework containers but their instructions are so clear that I was able to build one before I knew anything about Docker
- Lambda has native support for .Net Core 2.x and the C# SDK for AWS has a template to build a custom runtime for C# 3.x
- Speaking of which, the AWS SDK and plug-in for C#/Visual Studio and the corresponding Nuget packages are excellent and fully featured.
- The CloudFormation Developer Kit supports C#
- There are CodeStar and ElasticBeanstalk getting started templates for .Net Framework and .Net Core
AWS was built to support Amazon website which is built in Perl and still internal AWS core code might contain perl. Probably over the years they might have moved slowly to Java. I don't work for AWS so can't say much.
Regarding support for .NET whatever AWS does microsoft will always be way ahead of them. Microsoft is not elastic.co that AWS leech on and put the original guys on the side and don't contribute back. AWS is really like a leech on open source now trying to leech on Kubernetes.
They can do this with small open source project, not with the projects supported by google or Microsoft. Like when it comes to Kubernetes AWS is playing catch with Google. So AWS Fargate and other services are still inferior to Google managed K8s. Indeed microsoft at present is ahead of AWS in managed kubernetes services. Its just the initial head-start and developers who are familiar with AWS proprietary API's find it hard to believe that in such a short time the skills they learned is no longer cutting edge and google or microsoft proprietary API's overtaken them in performance and ease of use.
AWS was never built to support amazons website, it was never the result of amazon.com's internal code-base of "hosting" getting made public, it was never amazon's excess peak server capacity, etc, it had virtually no relation to the hosting of amazon.com at all, it was an independent project that might have benefited from a lot of the general design principles of how amazon.com was built, but that is it.
All of these things are widely believed myths that have little to no basis in reality.
It certainly was not designed as some kind of Perl hosting environment.
It didn't even host Amazon.com at all until many years after the fact.
I did use AWS for good 5 years and every time it's been inferior, e.g. launching times of EC2 instances were double that of Google Cloud, better than azure though (might have changed with new instance type may be), N2 and N1 instances in gcp are usually faster in start, stop delete cycle than AWS as recently as last week. Networking stack between regional nodes is not as performant with higher latency than google cloud with its andromeda network stack, on top its more expensive than google and microsoft for bandwidth. Even though I put critical comments for GCP on this article, I feel AWS fare no better, indeed I feel its worse.
I have yet to see any good open source project by AWS team in the wild like Kubernetes, Linux Kernel Namespaces and Cgroups, Map Reduce from Google or .NET from Microsoft. So far what I have seen is that AWS just leech on other open source like PostgreSQL to build Aurora and RDS service without really contributing back to PostgreSQL, because postgreSQL comes with BSD license AWS can just leech on it. Same for elastic search and many other open source they leech on. I am still waiting if they are really just leechers or giving back to the open source community. Like Amazon Redshift is based on an older version of PostgreSQL 8.0.2, and Redshift has made changes to that version [1], but nothing is made open source because BSD license do not require it. This is just one big example but there are many. For open source community and contributions I feel Google and Microsoft are much better than Amazon and AWS by miles. It's just that due to early start AWS is reaping benefits by leeching on open source.
It seems like you were much more on the infrastructure side than the development side. The discussion was about .Net. What was your experience with the SDKs to judge where AWS was behind MS supporting it?
How does open source help an end user who is deciding which cloud provider to use?
AWS is infrastructure as a service with some priorietray API's to provide platform to build applications. These platforms are build from open source projects which does not have GPLv3 or AGPL license. So AWS is largely an IaaS service not really a platform, open source library or system development company like Google or Microsoft.
AWS does not develop .NET SDK, as I mentioned in my earlier post there is no contribution of AWS in development of .NET, so they just provide infrastructure support of what ever Microsoft and the open source community releases.
In general microsoft acts as a steward to develop .NET and related infrastructure on Azure, then AWS copy and launch it as .NET infrastructure as service. They play catch up with Microsoft in this area.
I will stand corrected if you can show me that AWS (i.e. Amazon) has active open source .NET framework core developers in their internal team developing and enhancing .NET SDK or CLR open source versions.
They do the same with AI and ML Services. It is built using TensorFlow, sci-kit learn, pytorch, CNTK and various python and C++ open source libraries. Again I have yet to see example of AWS (i.e. Amazon hiring core developers of these libraries and release open source versions). They don't develop these libraries just leech on it to create it's own API's. I have yet to see any framework from AWS like TensorFlow, Keras, Pytorch and CNTK.
Again, the discussion was about AWS being behind Azure with respect to support for .Net. When deciding which cloud provider one should go with, why should I care as an end user which company did more for open source?
There is nothing to copy as far as .Net. Microsoft releases a new version of .Net, all AWS has to do is make sure that its SDK’s support it. But there usually aren’t any breaking changes.
As far as the other services that I could see needing to support, the only ones that I can think of is CodeBuild and lambda. For those two, you can create custom Docker images and runtimes respectively.
> I am not sure why you are saying Microsoft transformed, its still the same old one now trying to embrace Linux
I'm one of those persons who upsold friends, families and at least one boss on to use Linux.
I'm not a business analyst but I can say that Microsoft has transformed. I still prefer Linux as does a number of fellow sysadmins and developers, but Microsoft has changed to the point where they are not a problem to us anymore. Azure portal works equally well from Firefox on Linux as from Internet Explorer or Edge on Windows.
> as it runs as the main workload on Azure instead of windows. This is just done for survival, otherwise Microsoft would have gone to irrelevance.
The best reason for transformation in fact: because the subject realizes it is in their own best interest to change and it improves their situation.
> Windows and Office licenses are still the main driver for Microsoft, just with accounting tricks and office 360 made into cloud revenues.
I don't know.
> This is an investor story to jack up the stocks. They are no better than google when it comes to platform lock-in. On top of it having used Azure services, I can say without a doubt its inferior to Amazon and Google cloud experience.
I've used Amazon (two years, narrow experience) and Google Cloud (two years, broader but possibly shallower experience, certified) and now Azure lately.
So far, inferior is not the word I would use. I'd possibly stick with different or something neutral.
One great book on how the culture of an entire giant company can change is "Who says elephants can't dance" by Lou Gerstner. He was the CEO of IBM who orchestrated IBM's transformation from a mainframe supplier to a service-oriented company. My take on the process is this - the change can be done and has been done when there is an existential crisis. The crisis may not be apparent from the outside, but company internals can notice a terminal decline of their core product/service and has an impetus to change the direction. Even then, it's not easy. I would argue that Microsoft had to make somewhat of an about-turn from Windows because first the Internet and second the Cloud was putting pressure on their core business threatening to make the OS a marginal player. I don't think Google is in that position, at least not yet. Google Ad business is not facing any terminal threat. Thereby it is much harder for Google to make a culture change because simply the pressure to make the change is not there at an organizational level.
[Edit: Prepositional corrections]
They're already there on my part. Between their firing employees who organize or complain that their corporate slogan apparently now is "Be Evil", their chaotic product decision making, and their toxic internal politics, I have absolutely no interest in working for Google. Furthermore, I've noticed that the Google workforce seems to be becoming less.... Googly.... recently (disclaimer: I work down the street from the Googleplex and see many Googlers as they do their daily migrations). As in, they're now hiring a broader selection of people who aren't just the top 5% in class. What that tells me is that they're having more difficulty on the recruiting front and having to cast their net wider.
When I first wrote that sentence, I said "until people", but it occurred to me that being shunned by a small group of engineers probably barely registers on any metric that a large company would pay attention to. It wouldn't be actionable until the well had been running dry for a while.
I mean, shit, I work at a place where many of my favorite people have moved on to other things, few have been replaced, and yet we're only just having sincere conversations about how to fix our culture problems. That had to wait for one of the ringleaders to quit.
So far as I can tell from my minuscule keyhole, Sergey and Larry are the ringleaders. They'll never quit, and it'll take hitting rock bottom for them to have a change of heart. Not unlike Microsoft, after their stock began to tank.
You can say that, but when it's a response to the fact that Microsoft did that EXACT THING on the the scale in which they did it your statement doesn't hold any water. Go back in time and walk onto the Microsoft campus in Seattle and tell anyone that will listen in say 1995, 1999, 2001, 2007, or 2012 that Windows licensing is a dead end and see if you don't get lumped in with the loonies talking about the end of the world.
To say that Google can't do it is more an indictment of Google's leadership as opposed to the enormity of the task. To thinking a company with a 934 billion dollar market cap (Alphabet) can't figure out how to do enterprise software support if it wanted to, what a joke.
Edit: spelling.