Cloud native in enterprise: Notes from container world

Aerospike square logo
Aerospike Marketing
March 21, 2017|5 min read

Last month, I had the opportunity to attend Container World – Driving Business & Technical Agility in the Enterprise at the Santa Clara Convention Center. A focused event, Container World is an independent conference and expo to bring together the entire Container and Cloud ecosystem.

Containerization simplifies configuration, enables faster application rollouts, and increases productivity. If you are unfamiliar with container technology: a container consists of an entire runtime environment of an application. This means an application, plus all its dependencies, libraries and other binaries, and configuration files needed to run it, are bundled into one package. By containerizing the application platform and its dependencies, differences in OS distributions and underlying infrastructure are abstracted away.

As a Container World Bronze level sponsor, Aerospike had a booth at the expo, which gave me the opportunity to talk to attendees and gain insights on what is becoming the new world order. I also attended several of the excellent keynote and panel sessions. Here are my takeaways:

  • Containers are now mainstream in enterprise

  • Platform as a service (PaaS) is being impacted in big ways

  • Data is now closer to the app

  • Enablers of containerization are here now

Containers are mainstream

I had expected to see people attending Container World only from Internet companies and Unicorns like Airbnb or Uber. Not so! We had developers and architects from telco, financial services and other Fortune 1000 companies at our booth. They shared with me examples of the cloud-native apps they have been deploying for engagement systems.

Clearly, enterprise companies and cloud native startups alike are benefiting from the more agile developer workflows, more efficient operations, and more secure, stable and scalable application architectures made possible by containers.

PaaS is being impacted and changed

Typically we understand PaaS as generalized and horizontal: regardless of the application, the same platform is used. What people were talking about at this conference is the specialization of PaaS, which is being enabled by containerization, microservices and cloud-native technology. Specialization was no longer just a theory because it is now very easy to develop platforms to serve a particular solution.

One session, in which Brendan Burns, Partner Architect at Microsoft, discussed container orchestration, was an eye-opener for me. His talk was about how easy it was going to be to deploy and manage containers, which opens up a whole new opportunity for specialized PaaS. We will be seeing more industry or use case PaaS. For example, a healthcare PaaS will be developed to serve healthcare applications or perhaps a telco PaaS to support telco billing apps.

Data is closer to applications

The application architects and developers at the Aerospike booth were talking about developing edge applications – those that face outside stakeholders, such as partners, customers, even IoT – that consume data within the app itself. These apps are embedded with advanced analytics and therefore enormously data hungry, so it is crucial to bring data closer to the application.

This is very different from the classic relational database and analytics where you have the data stored somewhere and the data specialists using analytical tools to manipulate, sort and sift the data into reports and visuals.

Data is now accessed, consumed and analyzed in real time. The database has to be purpose-built for the cloud model so that it can be containerized along with the app in the same package. The database should be built to support:

  • Availability, zero-touch configuration and state management. These should be provided as a service of the underlying database so that they don’t have to be coded by developers or become a DevOps headache.

  • Cloud native scalability. The database must be cloud native and scalable, because the application it is associated with is scalable.

  • Container utilization on a dedicated infrastructure or cloud.

  • Streamlined developer experience. The developer should focus their coding time on delivering user functionality, and not have to code data management for performance, scale and availability. The underlying database should take care of all these mission critical features.

Enablers of containerization are here now

While walking the expo, I saw a new breed of tools which enable containerization. These technologies were built for container monitoring, management, security, etc., and are necessary as containerization becomes increasingly complex.

Security in particular is becoming a critical issue for containers – for example are microservices inside or outside of the firewall, and how are they secured? How is security authentication being monitored and managed as apps talk to apps and transfer data? I saw several new tools able to address these issues.

How Aerospike is part of this exciting future

Aerospike is designed ground-up as a database for cloud native applications supporting:

  • Shared-nothing architecture. There is no reliance on a single node, which makes deploying and responding to changes in the container topology happen in real-time.

  • Cluster-aware client libraries in Aerospike’s Smart Client™ bring data closer to the application, Smart Client implements Aerospike APIs, tracks nodes, and knows where the data resides in the cluster. It automatically distributes both data and traffic to all the nodes in a cluster. Automatic load balancing of the client improves both performance and correctness.

  • Automated healing, discovery, and replication. Aerospike dynamically manages the cluster as nodes enter and leave, including automatic rebalancing and replication of the data.

Containers are for “stateless design” with application server can satisfy any request. Therefore state must be stored in a database, especially for transactional analytics applications and this means a network request. A single-hop to the database is required to maintain low latency and this is what Aerospike enables: Single-hop architecture. Learn more about how Aerospike supports containers and then check out the presentation, Multi-host, Multi-network Persistent Containers to see database containerization cases.