Cloud computing has changed the way we think about building and running our applications. But while how we build applications has changed around the cloud, the cloud itself has changed, and the way we think about the cloud has changed as well.
What Has Changed in the Cloud?
The cloud has matured over the past decade. Cloud providers have increased their product offerings. They no longer simply provide file storage and compute capacity. For example, AWS provides over 160 unique service offerings1 to meet a variety of computing needs. Azure and Google offer hundreds more.
So what are the biggest changes the cloud is bringing to us and our applications? The following are five industry trends that have been driven, changed, and encouraged by the cloud.
Change #1: Acceptance of Microservice-Based Architectures
As we have discussed in this book, service- and microservice-based architectures have grown in popularity in recent years. Migrating applications to some form of a service-based architecture is becoming a standard technique in reducing technical debt and making applications easier to maintain.
As companies look toward moving their applications to the cloud, they are moving to the cloud usually as part of an overall product modernization strategy. This modernization strategy includes moving to a state-of-the-art application architecture. In recent years, this state-of-the-art application architecture involves using microservices and other service-based architectures as part of that strategy. This is because technologies such as Docker have made microservice-based architectures a viable technology for application development.
Additionally, Function as a Service (FaaS) offerings, such as AWS Lambda, have given credibility to the creation of simple microservices without the need for servers. Advantages and disadvantages of this style of architecture decision aside, the creation of FaaS services in the cloud has also encouraged the creation of microservice-based architectures.
Realizing this push toward service- and microservice-based architectures, cloud providers have begun to provide higher-value managed offerings, such as the Elastic Container Service for use in managing service-based containers and AWS Lambda for running simple FaaS-based microservices.
Change #2: Smaller, More Specialized Cloud Services
As we modernize our applications and move them to the cloud, we begin looking at cloud services and how they can be utilized as extensions to our application’s services. Capabilities historically provided within the applications are now provided by the cloud.
The major cloud providers now provide features such as databases, caching services, queuing services, logging services, content delivery network (CDN) capabilities, and transcoding services.
Change #3: Greater Focus on the Application
The cloud has shifted focus away from the creation and management of the infrastructure needed to run our applications, which lets us spend our time on more critical aspects of the application and the application environment.
Change #4: The Micro Startup
The cloud has made it possible for very small startups, often self-funded, single-person operations, to come into existence leveraging the inexpensive and scalable computing and other technology capabilities that the cloud offers.
It has never been easier for an individual with an idea to build that idea and potentially profit from it. The ability to build a compute ecosystem without the need to invest in an expensive infrastructure is helping new, fresh ideas come to market quickly. In particular, mobile applications such as online games have benefited greatly from this capability.
These startups quickly bring applications online to either flourish or fail, with minimal investment. For those that flourish, the cloud gives the applications the means to scale easily and inexpensively, letting companies invest in infrastructure at a rate proportional to their business needs. This has made it a lot easier to run and manage small startup companies financially.
Change #5: Security and Compliance Has Matured
In the early days of the cloud, security issues were often cited as one of the primary reasons why companies could not move their applications to the cloud.
Recognizing the need for improved security, cloud providers now provide better capabilities for securing cloud applications. Cloud companies also have added security assurances in the form of regulatory compliances such as PCI, SOC, and HIPPA.
Combined with a strong track record of visible high-quality security, these changes have removed security as an obstacle for a company looking at moving to the cloud.
Change is inevitable. The cloud has changed how we think about building and running our applications. We have begun building smaller, more specialized services. We have learned how to handle larger and larger quantities of data. We focus less on our applications’ infrastructure and more on our applications. Smaller companies have become more viable, bringing fresh, new ideas and insights into the world. And security has become standard in everything we do.
The cloud has matured and caused our use and interactions with the cloud to mature. This will continue into the future, and we must constantly adapt to keep up with the changing landscape. Only then can our applications continue to grow and expand.
The remaining chapters in Part V will go into deeper detail on various aspects of cloud utilization and how they impact the development and architecture of your highly scaled applications.
1 AWS had 165 services as of 2019.