Five big trends in software development: reflections from AWS re:invent 2018

Updated: Tuesday, Dec-11 2018
Tags: Technology   AWS  



Big picture – AWS continuing to dominate cloud

Currently at 25B run rate revenue and growing at 40%+ y/y, AWS is a juggernaut that is gaining momentum. To put this in perspective – it’s like three Salesfoces OR ten Workdays, tripling every three years. The economies of scale are clearly kicking in – AWS is churning out an impressive ~30% operating margin already, with an operating income of ~2B in Q3’18 (>8B annual run rate). AWS currently drives about 10% of Amazon’s net revenues, but more than 50% of all its operating profits.

In a space that is moving rapidly, AWS is still the key trend setter and has literally shaped the industry by being first to market with multiple services. With over 100 services today, Amazon’s velocity of innovation  and scale has changed not just the competitive dynamics of the industry, but the IT and software landscape overall. Cloud is increasingly becoming a two player race between AWS and Azure, functionality gap between them and others is growing every day across use cases  - high performance infrastructure, analytics+AI, security, hybrid+public and management. There are three main reasons for this:

  • Scale and economics – more direct customer feedback enabling faster product iteration, bigger R&D budget and better unit economics
  • Ecosystem  gravity - three sided network effects – (1) developers/enterprise deployments, (2) associated tooling/ISV integration and (3) service providers/Sis to enable migration and adoption
  • Technology and innovation - Best-in-class engineering talent and product development practices

These drivers have created an uneven playing field. While there are pockets where other vendors have certainly been at the cutting edge, almost all are struggling to play catchup, while being at a scale disadvantage.

As cloud has matured [IaaS/PaaS estimated to be a ~65B market today], most enterprises have already moved or are started their journey to the cloud. Customer focus has shifted from being “on the cloud” to being “cloud native” and evolving both their architecture and development processes to fully unlock the cloud value prop – next gen data platforms, declarative dev-ops/Infra as a Code, integrated CI/CD pipelines, live performance monitoring, automated healing etc. etc.

Being cloud native has also created a paradigm shift in how applications are architected and deployed today. The era of “server” based monolithic apps is dead. Re-developing to become microservices based was step one, the trend today is to evolve towards highly decomposed functional and serverless  architectures. This is driven by multiple reasons - (1) better infrastructure economics, (2) demanding data velocity and veracity needs of applications e.g. mobile, big data, IoT, (3) need for easier, on-demand scaling and (4) mixed interfaces and modes of consumption – e.g. mobile, voice and web.                                                                                                                                                                                                                             

It’s an exciting time in software – never before has the playing field been so level for smaller digital disruptors, who have the ability to innovate faster than ever before at a fraction of the cost.

AWS re:invent provided a glimpse on where different frameworks and software development is moving.


What’s hot? Five big trends from AWS re:invent

Trend I: Continued commoditization of AI and  analytics at scale

Amazon has built its ML strategy around Sagemaker, an integrated framework to design, train and deploy AI models. With inbuilt Jupyter notebooks, the framework has popular models like K-means, RCF, Gradient Boost pre-built and integrates with Tensor Flow and  Apache MXNet for neural networks/deep learning. Sagemaker makes the tedious tasks of distributed training, hyperparameter optimization and deployment extremely simple and transparent for developers.

As compared to Google and MSFT, AWS is working to make higher level AI APIs and frameworks more accessible to traditional developers. In addition to language and image recognition APIs, AWS just introduced out-of-box platforms for personalization, forecasting and document analysis/OCR – all popular AI and analytics use-cases. The efficacy of these applications are still unknown and probably not that strong today, but we expect such “AI-as a Service” platforms to continue to evolve over time and become the de-facto way a vast majority of ML use cases will be solved in the industry.

AWS is also continuing to strengthen its big data portfolio. For streaming analytics, AWS finally introduced Kafka as a fully managed AWS service. Between Kafka, Kinesis/Firehose and managed Spark– they truly have the best streaming analytics solutions in the business. From a “big data” perspective – AWS announced “Lake Formation” their fully managed data lake with inbuilt governance and cataloging.


Trend II: Rapid adoption of serverless and event driven compute, even in large enterprises

The most discussed technology this year was serverless. AWS took the lead here by being the first to introduce Docker support (ECS) and Lambda in 2014. Since then, the economic and agility benefits of event driven compute have become abundantly clear. There are multiple case studies of large scale deployments with full back ends and even web applications being built with a combination of AWS API Gateway and Lambdas.

Despite the hype and step improvements in tooling, developing on serverless is still a pain. There are big open challenges on developer productivity tools, security context and networking, building CI/CD pipelines and performance and error monitoring in production.

AWS has also open sourced Firecracker, their micro VM platform technology behind lambdas. This amazing piece of technology built on Linux KVM provides VM level isolation with the deployment speed of containers. It’s exciting to see how else Firecracker will be used by the industry. 

On the infrastructure side, Docker and containerization is now old news – but what’s worth nothing is the traction in the enterprise and continued improvement in container management platforms. After Docker integration, Kubernetes has emerged to be the de-facto technology for container fleet management -  all major cloud vendors have released some form of managed Kubernetes in the last two years, and this has led to an explosion of containers at scale. Alternative approaches to container management are continuing to evolve, in 2017 AWS released Fargate, it’s “Containers as a Service”, that fully abstracts the EC2 server infrastructure that containers run on. This is a powerful service gaining a lot of traction, we believe variants of this higher level approach will be the preferred way enterprises will deploy container fleets in public clouds going forward. 


Trend III: AWS’ tightening grip on private and hybrid usecases 

AWS is deepening its relationship with VMWare – AWS started with supporting VMWare SDDC (Software Defined Datacenter), allowing customers to transparently move VMWare workloads to AWS. They are continuing to deepen the integration e.g. AWS RDS is now available on VMWare. This positions AWS strongly for current on-prem virtualized workloads running on VMWare, which currently has about 75% market share.

Perhaps the surprise announcement was AWS outposts, a “managed appliance” based solution that goes head to head with Microsoft’s Azure stack, other hyper converged players like Nutanix and Cisco and private cloud stacks like Pivotal and Open stack. Outposts come in two flavors – VMWare and native AWS and exposes standard AWS APIs to build applications. We believe outposts will be compelling offer for CIOs and customers who are early in their cloud transformation and digital journeys, and further strengthens AWS’ position in the enterprise.


Trend IV: Unified and integrated platform from cloud to edge to device for IoT applications

Building production ready, bullet proof IoT applications is challenging. Architects still have to worry about multiple difficult problems - discovery, security architecture, certificate rotation, remote deployments on edge and managing intermittent and flaky connectivity.

AWS is making a serious push to unify the end-to-end IoT and edge development platform through its three frameworks 

  • Embedded: AWS RTOS (based on free RTOS), a microcontroller operating system, makes tedious things edge-discovery, certificate rotation and integrated communications transparent
  • Edge: Greengrass, which was released in 2016, is continuously being enhanced and allows transparent deployments of Lambdas to the edge. With Sagemaker Neo, Greengrass now supports AI inference at the edge through transparent, hardware optimized model deployment. (currently supports Intel, Nvidia, ARM, Cadence, Qualcomm, and Xilinx).
  • Cloud: AWS IoT core – which is all the usual data ingestion and device management tooling.


We believe Amazon will continue to strengthen its IoT platform and what is impressive is the growing list of hardware partners including ARM, Microchip, Texas Instruments, Infineon, STM etc. This year in addition to announcing enhancements to all their frameworks AWS announced general availability of its device qualification program for all partners, which should continue to strengthen its support matrix.


Trend V: Growth of use case focused, cloud native data management

Enterprises today deal with a variety of data workloads and analytical needs, and they are increasingly mixing and matching data stores to optimize costs, application performance and meet requirements. AWS is obliging in kind, rapidly expanding its data management offerings.

In addition to RDS, managed Redis/Memcached and managed Elasticache/Kibana, AWS provides a spectrum of really strong data management offerings.

  • Aurora continues to see growth in large scale deployments – it’s one of the fastest growing AWS services and has landed multiple key customers e.g. DowJones, Netflix and Capital One.
  • Dynamo continues to see success and added transactional support this year
  • Redshift, AWS’s columnar database for large scale warehousing was recently rated as the “fastest growing service in AWS’s history”  

AWS continues to meet customer needs and add to this list - it released Neptune (Graph database) last year, and announced two new specialized databases this year:

  • Quantum ledger for immutable, cryptographically verifiable writes – this covers a lot of the compliance driven industry use cases in Blockchain
  • Timestream for high performance time series analysis  

The continued innovation has put AWS in the lead vs others, particularly against traditional data management incumbents like Oracle and IBM.