Welcome!

Microservices Expo Authors: Yeshim Deniz, Elizabeth White, Pat Romanski, Liz McMillan, Charles Araujo

Related Topics: @CloudExpo, Microservices Expo, @DXWorldExpo

@CloudExpo: Article

Cloud Native Applications | @CloudExpo #BigData #DataLake #Microservices

There are two important such design patterns that are emerging in the cloud era - microservices and data lake

Cloud Native Applications
As the cloud becomes more of the norm as part of enterprise computing, enterprises now have to deal with the issue of how to ensure that applications effectively use the attributes of cloud. There are monolithic applications from the previous era that are continuing to be migrated to the cloud using a lift and shift approach. With minimal changes, they do benefit from certain attributes of cloud like availability and management, but there is also a new set of application architecture emerging, namely the ‘cloud native applications.'

A cloud native application is designed to take the best advantage of its deployment to a cloud platform. By adopting cloud native applications they improve their agility in the way they build, deploy and manage their applications.

The design patterns of the existing application architecture don't fully support the concept of cloud native applications and require new set of design patterns. There are two important such design patterns that are emerging in the cloud era.

  1. Microservices
  2. Data Lake

While both represent two different layers of architecture, there are some ways both are interrelated as explained below.

Microservices
A lot of information is available about microservices. Over the years multi-tiered and tightly coupled applications have grown and are typically called as "monolithic" applications. However, these "monolithic" applications are not able to take full advantage of cloud platforms and it's difficult to scale them at a component level. Another issue is that these applications tend to have single point of failures due to tight coupling in nature. Microservices address this issue with the design of self-contained services that can be deployed, versioned and scaled independently with the rest of the components of the application. A cloud native approach to application design warrant a microservices design approach where by decoupled federation of services makes up an application. Microservices also provide well-defined interfaces based on industry standard protocols so that they can interface with each other.

Data Lake
In the era of Big Data, a data lake is an enterprise-wide repository of data of any size, type and format. Typically data lake repositories are built on a Hadoop HDFS based file system.

  • Unlike a typical data warehouse or an operational data store, data store does not require data validation and cleansing before it gets loaded.
  • A data lake does not require Schema On Write, but rather go by Schema On Read. However the data producing applications can use their own schema while pushing data to the data lake.
  • A data lakecannot use the traditional JOINS to relate data, but depend on complex processing capability to provide results at low latency.

Issues with Microservices and Usage of DataLake
While there are advantages in using a microservices pattern from a cloud native applications, it does have its limitations. As per the definition of microservices, they have to be self-contained, which means that each microservice has to have a separate data store of its own and can't use a shared database as is typically done in monolithic applications.

Having separate databases per microservice typically makes the data integration and application-wide data access across microservices very difficult. Here is where the concept of data lake comes in handy.

By ensuring that the microservices are managing their own data, if they also write their persistent data to an enterprise-wide data lake, then the data lake can be utilized for centralized data access and integration needs.

The following diagram shows how microservices and data lake are related from enterprise application design perspective.

Microservices and DataLake Support in Major Cloud Platforms
All major cloud platforms started supporting both microservices and data lake as part of their offerings so that the enterprises can build cloud native applications. For example in Microsoft Azure the following support is supported.

  • Service Fabric enables you to build and manage scalable and reliable applications composed of microservices running at a Service Fabric cluster.
  • Azure Service Fabric offers two high-level frameworks for building services: the Reliable Services API and the Reliable Actors API.

From a data lake perspective, Microsoft Azure provides the following services.

  • Azure Data Lake includes all the capabilities required to make it easy for developers, data scientists and analysts to store data of any size, shape and speed and do all types of processing and analytics across platforms
  • With Data Lake Analytics, use U-SQL, a query language which blends the declarative nature of SQL with the expressive power of C#.

It may require separate write-ups to go into detail about these two services. But the point is that cloud providers support the design patterns for cloud native applications and organizations can appropriately use them.

More Stories By Srinivasan Sundara Rajan

Highly passionate about utilizing Digital Technologies to enable next generation enterprise. Believes in enterprise transformation through the Natives (Cloud Native & Mobile Native).

@MicroservicesExpo Stories
Without a clear strategy for cost control and an architecture designed with cloud services in mind, costs and operational performance can quickly get out of control. To avoid multiple architectural redesigns requires extensive thought and planning. Boundary (now part of BMC) launched a new public-facing multi-tenant high resolution monitoring service on Amazon AWS two years ago, facing challenges and learning best practices in the early days of the new service.
You often hear the two titles of "DevOps" and "Immutable Infrastructure" used independently. In his session at DevOps Summit, John Willis, Technical Evangelist for Docker, covered the union between the two topics and why this is important. He provided an overview of Immutable Infrastructure then showed how an Immutable Continuous Delivery pipeline can be applied as a best practice for "DevOps." He ended the session with some interesting case study examples.
Both SaaS vendors and SaaS buyers are going “all-in” to hyperscale IaaS platforms such as AWS, which is disrupting the SaaS value proposition. Why should the enterprise SaaS consumer pay for the SaaS service if their data is resident in adjacent AWS S3 buckets? If both SaaS sellers and buyers are using the same cloud tools, automation and pay-per-transaction model offered by IaaS platforms, then why not host the “shrink-wrapped” software in the customers’ cloud? Further, serverless computing, cl...
All organizations that did not originate this moment have a pre-existing culture as well as legacy technology and processes that can be more or less amenable to DevOps implementation. That organizational culture is influenced by the personalities and management styles of Executive Management, the wider culture in which the organization is situated, and the personalities of key team members at all levels of the organization. This culture and entrenched interests usually throw a wrench in the work...
"We view the cloud not as a specific technology but as a way of doing business and that way of doing business is transforming the way software, infrastructure and services are being delivered to business," explained Matthew Rosen, CEO and Director at Fusion, in this SYS-CON.tv interview at 18th Cloud Expo (http://www.CloudComputingExpo.com), held June 7-9 at the Javits Center in New York City, NY.
Without lifecycle traceability and visibility across the tool chain, stakeholders from Planning-to-Ops have limited insight and answers to who, what, when, why and how across the DevOps lifecycle. This impacts the ability to deliver high quality software at the needed velocity to drive positive business outcomes. In his general session at @DevOpsSummit at 19th Cloud Expo, Eric Robertson, General Manager at CollabNet, will discuss how customers are able to achieve a level of transparency that e...
We all know that end users experience the internet primarily with mobile devices. From an app development perspective, we know that successfully responding to the needs of mobile customers depends on rapid DevOps – failing fast, in short, until the right solution evolves in your customers' relationship to your business. Whether you’re decomposing an SOA monolith, or developing a new application cloud natively, it’s not a question of using microservices - not doing so will be a path to eventual ...
"DivvyCloud as a company set out to help customers automate solutions to the most common cloud problems," noted Jeremy Snyder, VP of Business Development at DivvyCloud, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
We all know that end users experience the Internet primarily with mobile devices. From an app development perspective, we know that successfully responding to the needs of mobile customers depends on rapid DevOps – failing fast, in short, until the right solution evolves in your customers' relationship to your business. Whether you’re decomposing an SOA monolith, or developing a new application cloud natively, it’s not a question of using microservices – not doing so will be a path to eventual b...
"This all sounds great. But it's just not realistic." This is what a group of five senior IT executives told me during a workshop I held not long ago. We were working through an exercise on the organizational characteristics necessary to successfully execute a digital transformation, and the group was doing their ‘readout.' The executives loved everything we discussed and agreed that if such an environment existed, it would make transformation much easier. They just didn't believe it was reali...
"Opsani helps the enterprise adopt containers, help them move their infrastructure into this modern world of DevOps, accelerate the delivery of new features into production, and really get them going on the container path," explained Ross Schibler, CEO of Opsani, and Peter Nickolov, CTO of Opsani, in this SYS-CON.tv interview at DevOps Summit at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Most companies are adopting or evaluating container technology - Docker in particular - to speed up application deployment, drive down cost, ease management and make application delivery more flexible overall. As with most new architectures, this dream takes a lot of work to become a reality. Even when you do get your application componentized enough and packaged properly, there are still challenges for DevOps teams to making the shift to continuous delivery and achieving that reduction in cost ...
Don’t go chasing waterfall … development, that is. According to a recent post by Madison Moore on Medium featuring insights from several software delivery industry leaders, waterfall is – while still popular – not the best way to win in the marketplace. With methodologies like Agile, DevOps and Continuous Delivery becoming ever more prominent over the past 15 years or so, waterfall is old news. Or, is it? Moore cites a recent study by Gartner: “According to Gartner’s IT Key Metrics Data report, ...
Your homes and cars can be automated and self-serviced. Why can't your storage? From simply asking questions to analyze and troubleshoot your infrastructure, to provisioning storage with snapshots, recovery and replication, your wildest sci-fi dream has come true. In his session at @DevOpsSummit at 20th Cloud Expo, Dan Florea, Director of Product Management at Tintri, provided a ChatOps demo where you can talk to your storage and manage it from anywhere, through Slack and similar services with...
Many organizations are now looking to DevOps maturity models to gauge their DevOps adoption and compare their maturity to their peers. However, as enterprise organizations rush to adopt DevOps, moving past experimentation to embrace it at scale, they are in danger of falling into the trap that they have fallen into time and time again. Unfortunately, we've seen this movie before, and we know how it ends: badly.
"I focus on what we are calling CAST Highlight, which is our SaaS application portfolio analysis tool. It is an extremely lightweight tool that can integrate with pretty much any build process right now," explained Andrew Siegmund, Application Migration Specialist for CAST, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Explosive growth in connected devices. Enormous amounts of data for collection and analysis. Critical use of data for split-second decision making and actionable information. All three are factors in making the Internet of Things a reality. Yet, any one factor would have an IT organization pondering its infrastructure strategy. How should your organization enhance its IT framework to enable an Internet of Things implementation? In his session at @ThingsExpo, James Kirkland, Red Hat's Chief Archi...
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
We all know that end users experience the internet primarily with mobile devices. From an app development perspective, we know that successfully responding to the needs of mobile customers depends on rapid DevOps – failing fast, in short, until the right solution evolves in your customers' relationship to your business. Whether you’re decomposing an SOA monolith, or developing a new application cloud natively, it’s not a question of using microservices - not doing so will be a path to eventual ...
Docker is sweeping across startups and enterprises alike, changing the way we build and ship applications. It's the most prominent and widely known software container platform, and it's particularly useful for eliminating common challenges when collaborating on code (like the "it works on my machine" phenomenon that most devs know all too well). With Docker, you can run and manage apps side-by-side - in isolated containers - resulting in better compute density. It's something that many developer...