Category Archives: Amazon AWS

Microsoft buys GitHub for $7.5B

This morning Microsoft announced the acquisition of Github for $7.5B. Why this makes immense sense? There are three main angles here: winning developers mindset and loyalty, pushing them closer to adopting Azure cloud at runtime, and a skills hookup with LinkedIn, another Microsoft acquisition from last year. Let’s see each point.

Developer love-fest

On the most surface level, the logic of buying GitHub is pretty clear. Developers love GitHub, and Microsoft needs the love of developers. Github is an online service that allows developers to host their software projects. From there, anyone can download those projects and submit improvements. That functionality has made GitHub the center of the open-source software development world. Microsoft offers a whole swath of tools for developers, including the increasingly popular Visual Studio Code software and the open-source .NET Core programming framework. The popularity of these kinds of tools provides a gentle, but apparently effective, funnel toward the Microsoft Azure cloud and other Microsoft products and services — if you like one Microsoft product, it’s more likely that you’ll choose other Microsoft products, especially if they integrate cleanly.

GitHub would just add to that strategy: Developers already love GitHub — in fact, in 2017, Microsoft killed Codeplex, its own GitHub competitor, saying GitHub’s popularity made its own efforts redundant and unnecessary. By owning GitHub, Microsoft would have a direct line to millions of highly engaged developers. We’ve already seen baby steps in this direction, as GitHub and Microsoft just this month announced integrations between their services.

Push Azure Cloud against AWS

AWS is the leader in cloud deployment with a run-rate of over $20B ($5.6B in first quarter revenue yielding 73% of Amazon’s total operating income). GitHub users get software developed and ready using the open source tools available, but running it is another story. Often they go to AWS as the default run-time platform.

Microsoft is laser-focused on the continued growth of its cloud-computing business. So the opportunity for Microsoft is fairly straightforward. If it can get the Microsoft Azure cloud tightly integrated with GitHub — basically, give developers an easy way to get a GitHub project up and running in the cloud — it can kill two birds with one stone. Developers could love GitHub even more, and it would drive more use of Microsoft Azure. It would be a weapon in Microsoft’s arsenal to close the gap between Azure and Amazon Web Services.

LinkedIn + GitHub

What does this mean? When Microsoft spent over $26 billion on LinkedIn last year, CEO Satya Nadella said the company was investing heavily in making sure that current and future workers had the skills they needed to succeed in the modern economy. In Silicon Valley, at least, it’s not uncommon for an employer to ask for a GitHub profile alongside — or instead of — a traditional resumé. If Microsoft is trying to understand the modern skills economy, GitHub could provide a compelling glimpse. So the GitHub push can be about helping developers work together as software becomes key to doing business at almost every company.

I am glad that Microsoft is making aggressive moves to give a fight to AWS. It’s time we see a tough competition for AWS as it gets bigger and stronger of monopolistic proportion.

Advertisements

The battle for India’s e-commerce market

Many experts predict that India will become a battleground for e-commerce by the second half of this year. According to a 7ParkData study, the share of monthly mobile e-commerce in March, 2017 looked as follows:

  • Flipkart – 30.7%, Amazon – 30.3%, Snapdeal – 10.8%, Others – 28.2%

Amazon launched its own e-commerce site in India in 2013, and is already fighting for the top spot against local player FlipKart. The Wall Street Journal in an article today said, “Walmart is nearing a deal to acquire a majority stake in India’s leading online retailer, a bold move that would open another front in its escalating war with Amazon. The Indian company, Flipkart, is a start-up that sells everything from clothing to smartphones in the country’s blossoming e-commerce market…Two of the people said that the deal would value Flipkart at about $20 billion and that Walmart was looking to acquire a stake of at least 60 percent. The deal would be an aggressive and, some analysts say, risky foray by Walmart into one of the world’s last great open markets for online retailing”. Softbank of Japan has invested in both FlipKart and Snapdeal.

India may be the first neutral territory where Amazon and Alibaba go head-to-head, as Alibaba’s Paytm Mall seems to be gaining traction quickly in the country. Paytm is an online payment application, much like Apple Pay. Paytm Mall, which launched earlier this year, reportedly garnered 15-20% of all e-commerce sales during the festive season (September 20 to mid-October of 2017). Currently, its value proposition — product quality, availability, and pricing — is nearly on par with Amazon’s and FlipKart’s, but its brand recognition is still low in the country. However, with Alibaba’s backing, it could easily invest heavily in marketing initiatives. And, given how quickly Paytm has already progressed, it will likely gain enough market share to threaten Amazon and Flipkart this year.

Amazon is not sitting idle and is aggressively planning its growth in the India market. It dominates the US e-commerce market with a 44% share in 2017. In India, it just added 5 more fulfillment centers (total of 67 across 13 states, several ones dedicated for grocery or large appliances). It has also introduced a new mobile web browser for Android, simply called “Internet”. It’s said to be “extra small,” taking up a minimal amount of smartphone memory, and also consumes less data when in use than other browsers — features Amazon believes people will find enticing, as it offers the equivalent of additional internet access at no additional cost. It is also building its India-first software experience for its Echo smart players.

It will be quite interesting to see all major players fighting out to capture the huge Indian market as e-commerce gets more mainstream over next few years.

Chaos Engineering

This phrase is new and it originated at Netflix back in 2010. I was listening to Nora Jones, a Netflix engineer at the AWS re-Invent conference few weeks back, where she talked about this. The principle of Chaos goes like this, “Chaos Engineering is the discipline of experimenting on a distributed system in order to build confidence in the system’s capability to withstand turbulent conditions in production.” Distributed systems have too many moving parts and failures can occur at various levels – hard disks can fail, the network can go down, a sudden surge in customer traffic can overload a functional component—the list goes on. All too often, these events trigger outages, poor performance, and other undesirable behaviors. Chaos Engineering is a method of experimentation on infrastructure that brings systemic weaknesses to light. This empirical process of verification leads to more resilient systems, and builds confidence in the operational behavior of those systems.

Netflix moved its operation to the cloud back in 2008. They started some form of resiliency testing since that time. They introduced Chaos Monkey that systematically turned off services in the production systems. Then came Chaos Kong for large scale failures like shutting off a whole data center. Another tool called FIT (Failure Injection Testing) was introduced to test all scenarios between the small (Chaos Monkey) and very large (Chaos Kong). All these experiments culminated into what is called Chaos Engineering, a discipline now used across many large companies such as Google, Amazon, Microsoft, etc.

Applying Chaos Engineering improves the resilience of a system. By designing and executing Chaos Engineering experiments, you will learn about weaknesses in your system that could potentially lead to outages that cause customer harm. You can then address those weaknesses proactively, going beyond the reactive processes that currently dominate most incident response models.

So what is the difference between Chaos Engineering (experimentation) and testing? In testing, an assertion is made: given specific conditions, a system will emit a specific output. Tests are typically binary, and determine whether a property is true or false. Strictly speaking, this does not generate new knowledge about the system, it just assigns valence to a known property of it. Experimentation generates new knowledge, and often suggests new avenues of exploration. Examples of input for chaos experiments could span from maxing out cpu cores on an Elasticserach cluster to partially deleting kafka topics over a variety of instances to recreate an issue that occured in production. Numerous experiments can be performed to understand system behavior ahead of time and take corrective actions.

At Google, Kripa Krishnan leads a team that constantly breaks the system. So a small team of testers from other big companies have started to work together to share best practices. These folks are currently working on ways to automate some of the tests. “Right now, scale is our problem. We are doing hundreds of tests, but I cannot scale my team to hundreds of people. So we are exploring automating some of this. How do you constantly cause damage so systems are constantly recovering?”

As distributed systems get more complex with thousands of microservices providing various functions, chaos engineering is emerging as a key practice to make these systems more resilient to failure.

Big Data & Analytics – what’s ahead?

Recently I read somewhere this statement – As we end 2017 and look ahead to 2018, topics that are top of mind for data professionals are the growing range of data management mandates, including the EU’s new General Data Protection Regulation that is directed at personal data and privacy, the growing role of artificial intelligence (AI) and machine learning in enterprise applications, the need for better security in light of the onslaught of hacking cases, and the ability to leverage the expanding Internet of Things.

Here are the key areas as we look ahead:

  • Business owners demand outcomes – not just a data lake to store all kinds of data in its native format and API’s.
  • Data Science must produce results – Play and Explore is not enough. Learn to ask the right questions. Visualization of analytics from search.
  • Everyone wants Real Time – Days and weeks too slow, need immediate actionable outcomes. Analytics & recommendations based on real time data.
  • Everyone wants AI (artificial intelligence) – Tell me what I don’t know.
  • Systems must be secure – no longer a mere platitude.
  • ML (machine learning) and IoT at massive scale – Thousands of ML models. Need model accuracy.
  • Blockchain – need to understand its full potential to business – since it’s not transformational, but a foundational technology shift.

In the area of big data, a combination of new and long-established technologies are being put to work. Hadoop and Spark are expanding their roles within organizations. NoSQL and NewSQL databases bring their own unique attributes to the enterprise, while in-memory capabilities (such as Redis) are increasingly being utilized to deliver insights to decision makers faster. And through it all, tried-and-true relational databases continue to support many of the most critical enterprise data environments.

Cloud becomes the de-facto deployment choice for both users and developers. Serverless technology with FaaS (Function as a Service) is getting rapid adoption amongst developers. According to IDC, enterprises are undergoing IT transformation as they rethink their business operations, including how they use information and what technology to deploy. In line with that transformation, nearly 80% of large organizations already have a hybrid cloud strategy in place. The modern application architecture, sometimes referred to as SMAC (social, mobile, analytics, cloud) is becoming standard everywhere.

The DBaaS (database as a service) is still not as widespread as other cloud services. Microsoft is arguably making the strongest explicit claim for a converged database system with its Azure Cosmo DB as DBaaS. Cosmo DB claims to support four data models – key-value, column-family, document, and graph. However, databases have been slower to migrate to the cloud than other elements of computing infrastructure mainly for security and performance reasons. But DBaaS adoption is poised to accelerate. Some of these cloud based DBaaS systems – Cosmo DB, Spanner from Google, and AWS DynamoDB – now offer significant advantages over their on-premise counterparts.

One thing for sure, big data and analytics will continue to be vibrant and exciting in 2018.

AWS re:Invent 2017

In a few decades when the history of computing will be written, a major section will be devoted to cloud computing. The headline of the first section would read something like this – How did a dot-com era book-selling company became the father of cloud computing? While the giants like IBM, HP, and Microsoft were sleeping, Amazon started a new business eleven years ago in 2006 called AWS (Amazon Web Services). I still remember the afternoon when I had spent couple of hours with the CTO of Amazon (not Werner Vogel, his predecessor, a dutch gentleman) back in 2004 discussing the importance of SOA (Service Oriented Architecture). When I asked why was he interested, he mentioned how CEO Jeff Bezos has given a marching order to monetize the under-utilized infrastructure in their data centers. Thus AWS arrived in 2006 with S3 for storage and EC2 for computing.

Advance the clock by 11 years. At this week’s AWS Re-Invent event in Las Vegas it was amazing to listen to Andy Jassy, CEO of AWS who gave a 2.5 hour keynote on how far AWS has come. There were 43,000 people attending this event (in its 6th year) and another 60,000 were tuned in via the web. AWS has a revenue run rate of $18B with a 42% Year-to-Year growth. It’s profit is over 60% thus contributing significantly to Amazon’s bottom line. It has hundreds of thousands of customers starting from majority web startups to Fortune 500 enterprise players in all verticals. It has the strongest partner ecosystem. Garter group said AWS has a market share of 44.1% (39% last year), larger than all others combined. Customers like Goldman Sachs, Expedia, and National Football League were on stage showing how they fully switched to AWS for all their development and production.

Andy covered four major areas – computing, database, analytics, and machine learning with many new announcement of services. AWS already offers over 100 services. Here is a brief overview.

  • Computing – 3 major areas: Instances of EC2 including new GPU processor for AI, Containers (services such as Elastic Container Services and new ones like EKS – Elastic Kubernetes Services), and Serverless (Function as a Service with its Lambda services). The last one, Serverless is gaining fast traction in just last 12 months.
  • Database – AWS is starting to give real challenge to incumbents like Oracle, IBM and Microsoft. It has three offerings – AWS Aurora RDBMS for transaction processing, DynamoDB and Redshift. Andy announced Aurora Multi-Master for replicated read and writes across data centers and zones. He claims it is the first RDBMS with scale-out across multiple data centers and is lot cheaper than Oracle’s RAC solution. They also announced Aurora Serverless for on-demand, auto-scaling app dev. For No-SQL, AWS has DynamoDB (key-value store). They also have Amazon Elastic Cache for in-memory DB. Andy announced Dynamo DB Global Tables as a fully-managed, multi-master, multi-region DB for customers with global users (such as Expedia). Another new service called Amazon Neptune was announced for highly connected data (fully managed Graph database). They also have Redshift for data warehousing and analytics.
  • Analytics – AWS provides Data Lake service on S3 which enables API access to any data in its native form. They have many services like Athena, Glue, Kinesis to access the data lake. Two new services were announced – S3 Select (a new API to select and retrieve S3 data from within an object), Glacier Select (access less frequently used data in the archives).
  • Machine Learning – Amazon claims it has been using machine learning for 20 years in its e-commerce business to understand user’s preferences. A new service was announced called Amazon Sagemaker which brings storage, data movement, management of hosted notebook, and ML algorithms like 10 top commonly used ones (eg. Time Series Forecasting). It also accommodates other popular libraries like Tensorflow, Apache MxNet, and Caffe2. Once you pick an algorithm, training is much easier with Sagemaker. Then with one-click, the deployment happens. Their chief AI fellow Dr. Matt Wood demonstrated on stage how this is all done. They also announced AWS DeepLens, a video camera for developers with a computer vision model. This can detect facial recognition and image recognition for apps. New services announced besides the above two are – Amazon Kinesis Video streams (video ingestion), Amazon Transcribe (automatic speech recognition), Amazon Translate (between languages), and Amazon Comprehend (fully managed NLP – Natural Language Processing).

It was a very impressive and powerful presentation and shows how deeply committed and dedicated the AWS team is. Microsoft Azure cloud, Google’s computing cloud, IBM’s cloud and Oracle’s cloud all seem way behind in terms of AWS’s breadth and depth. It will be to customer’s benefit to have couple of AWS alternatives as we march along the cloud computing highway. Who wants a single-vendor lock-in?

Meet the new richest man on earth

This morning Jeff Bezos beat his nemesis from the same town Bill Gates as the richest man on the planet with his worth exceeding $90B. This was due to a huge surge in Amazon’s stock price (over $128 rise) to $1100 plus today. Their 3Q results came out yesterday and Amazon grew its revenue by 34% and profits inched up as well. There were fears that heavy investments in new warehouses and hiring workers would push it to a loss. This year Amazon’s stock started at $750. What a run!

Here are the numbers. Revenue soared 34% to a record $43.74B, a first for a non-holiday period, as the internet retail giant spread its ambitions with the acquisition of Whole Foods Market Inc. and widened its lead in cloud computing. Profit increased 1.6% to $256M, despite the costs bulging by 35%, a five-year high. I was surprised to know that Amazon employs 541,900 people, an increase from last quarter’s 382,400. Roughly 87,000 employees were added from Whole Foods. Now Amazon commands some 43.5% of e-commerce sales this year, compared with 38.1% last year.

I remember during the dot.com crash, everyone wrote off Amazon. When they ridiculed Bezos for a no-profit company with a bleak future, he jokingly replied, ” I spell profit as ‘prophet'”. He has come a long way with his prophetic vision and masterful execution.

The best addition to Amazon’s two core businesses (books and e-commerce) was the introduction of AWS as the cloud computing infrastructure back in 2004. First came S3 (simple shared storage) when Bezos convinced start-up companies to rent storage at one-hundredth of the cost of buying from big vendors. Then EC2 (Elastic Computing Cloud) was added and that took off in a big way, especially with capital-starved startups with unpredictable computing needs. Pretty soon, Amazon took the credit of being the ‘father of cloud computing’ beating big incumbents like IBM, HP, etc. Now AWS is a huge business growing fast and bringing in about $16B revenue with over 60% profit. AWS is making a difference to the bottom line. Microsoft is trying hard to catch up with its Azure cloud and so is Google with its GCE (Google Computing Cloud). Today’s AWS is a very rich stack with its own database as a service (Redshift, Dynamo, and Aurora), elastic Map-Reduce, serverless offering with Lambda, and much more.There are predictions that AWS could one day be the biggest business for Amazon.

While the pacific north-west remains to be the home of the richest man on earth, the title shifts to Bezos from Gates.

Serverless, FaaS, AWS Lambda, etc..

If you are part of the cloud development community, you certainly know about “serverless computing”, almost a misnomer. Because it implies there are no servers which is untrue. However the servers are hidden from the developers. This model eliminates operational complexity and increases developer productivity.

We came from monolithic computing to client-server to services to microservices to serverless model. In other words, our systems have slowly “dissolved” from monolithic to function-by-function. Software is developed and deployed as individual functions – a first-class object and cloud runs it for you. These functions are triggered by events which follows certain rules. Functions are written in fixed set of languages, with a fixed set of programming model and cloud-specific syntax and semantics. Cloud-specific services can be invoked to perform complex tasks. So for cloud-native applications, it offers a new option. But the key question is what should you use it for and why.

Amazon’s AWS, as usual, spearheaded this in 2014 with a engine called AWS Lambda. It supports Node, Python, C# and Java. It uses AWS API triggers for many AWS services. IBM offers OpenWhisk as a serverless solution that supports Python, Java, Swift, Node, and Docker. IBM and third parties provide service triggers. The code engine is Apache OpenWhisk. Microsoft provides similar function in its Azure Cloud function. Google cloud function supports Node only and has lots of other limitations.

This model of computing is also called “event-driven” or FaaS (Function as a Service). There is no need to manage provisioning and utilization of resources, nor to worry about availability and fault-tolerance. It relieves the developer (or devops) from managing scale and operations. Therefore, the key marketing slogans are event-driven, continuous scaling, and pay by usage. This is a new form of abstraction that boils down to function as the granular unit.

At the micro-level, serverless seems pretty simple – just develop a procedure and deploy to the cloud. However, there are several implications. It imposes a lot of constraints on developers and brings load of new complexities plus cloud lock-in. You have to pick one of the cloud providers and stay there, not easy to switch. Areas to ponder are cost, complexity, testing, emergent structure, vendor dependence, etc.

Serverless has been getting a lot of attention in last couple of years. We will wait and see the lessons learnt as more developers start deploying it in real-world web applications.