Get Ahead Using Cloud Native Potential

Zip-disks, iPods, BetaMax, Google Glass. If there's one thing that's constant in the world of technology, it's change. Today, cloud adoption has provided one of the fastest routes to business transformation. In the past, IT systems had to be retrofitted for cloud capabilities. Now, applications have evolved to leverage new capabilities; Cloud Native.

Cloud Native applications are designed, built, and deployed specifically for either public, private, or hybrid cloud. They are “born into” the cloud environment and bound not to exist elsewhere, taking the best advantage of what a cloud can offer.  They derived from the modern IT development approaches popularized and well-acclaimed over the years, including microservices, continuous development, and continuous integration and DevOps. 

Why Cloud Native? Speed, Stability, and Full Cycle Development

The emergence of “cloud-native” technologies and practices, such as microservices, cloud computing, and DevOps, has enabled innovative organizations to respond and adapt to market changes more rapidly than their competitors. Just look at the success of the initial web “unicorns”, Spotify, Netflix, and Google. Not every company can be a unicorn, but there is much to learn from the early adopters of the cloud.

The Benefits of Being Cloud-Native

Spotify’s now-famous “squad, chapters, and guilds” organizational model ultimately led to the creation of their applications as independent microservices, which in turn supported the rapid rate of change they desired. Through a combination of a compelling vision and the whole-scale adoption of cloud services, Netflix was able to out-innovate existing market incumbents in the video streaming space. And Google’s approach to collaboration, automation, and solving ops problems using techniques inspired by software development enabled them to scale to a global phenomenon over the past two decades.

CI/CD with Cloud-Native Applications

Continuous integration and continuous delivery, an approach now known as CI/CD, is more than just an approach for developing and delivering apps to customers. While CI/CD changes how apps are deployed—introducing smaller iterations and faster deployment in the process—the approach itself gets adopted differently. Especially for cloud-native applications.

When you implement CI/CD for deploying cloud-native applications, the approach becomes an inseparable tool that streamlines the whole development and deployment phases. In fact, cloud-native applications can be made more robust in the long run when their development integrates with pipelines based on the CI/CD approach.

Developing Cloud-Native Apps in Azure: Tools and Tips

Use these tools and services for best-practice cloud-native Azure apps.

With more organizations moving to the cloud on a daily basis, the development of cloud-native applications is increasingly in huge demand. Cloud-native apps can provide benefits that traditional apps can’t, including automatic resource provisioning, auto-scaling, high availability. These applications can provide organizations and developers with a significant competitive edge.

What Exactly Is a Cloud-Native Application?

Born to be...cloud-native?

What is a cloud-native application in the context of cloud computing? And do “cloud-based” and “cloud-native” refer to the very same type of architecture?

Does cloud-native development mean using a specific set of methodologies and tools or simply hosting, running and managing your app in a specific environment?

Solving the Pains of Polyglot Persistence With Distributed SQL

Today’s microservices rely on data with different models and read/write access patterns. Polyglot persistence, first introduced in 2008, states that each such data model should be powered by an independent database that is purpose-built for that model. This post highlights the loss of agility that microservices development and operations suffer when adopting polyglot persistence. We review how distributed SQL serves as an alternative approach that doesn’t compromise this agility.

E-Commerce Example

Polyglot Persistence in Action at an E-Commerce App (Source: Martin Fowler)

OpenTracing in NodeJS, GO, Python: What, Why, How?

In previous blogs, we described how to optimize the deployment of applications and utilize guardrails for applications. These guardrails covered:

One additional guardrail in managing your application is to properly implement "Observability". As it turns out, observability is more important than ever because of the shift in application architecture (to a microservices architecture) and increased deployment pace (hourly/weekly vs. quarterly/yearly). Services are dynamically updated and are usually containerized. Hence, the traditional way of adding "monitoring" after the app deployment cannot scale.

Why Cloud-Native Applications are the Future

Everyone is talking about applications being built in a cloud-native landscape these days. What exactly is cloud-native, and why it is so important?

Before we dig deeper, let’s look at an interesting statement. According to IDC, by 2022, 90% of all new apps will feature microservices architectures that improve the ability to design, debug, update, and leverage third-party code; 35% of all production apps will be cloud-native.

Why You Should Use AWS to Build Cloud-Native Applications

When we talk about cloud-native mobile application development, we're thinking specific kind of applications that are able to make native use of infrastructure provided by Amazon Web Services, Google Cloud Platform, and other such cloud computing providers. One can even call it an approach to build as well as run applications which use the characteristics and nature of the cloud while resulting in a workflow and such processes that take complete advantage of the platform.

It is by utilizing cloud computing services that these cloud-native applications are able to so dynamically function. Also, the scalability of these apps is commendable, looking at how they are just loosely connected with the various cloud infrastructure components — that means, these apps can easily be scaled up or down, as and when required. Only the modern and just the best amongst all tools and technologies available are used to develop cloud-native apps. These include Agile methodology, GCP, AWS, and other cloud platforms, containers such as Kubernetes and Docker, and so on.

Meet KubeOne: A New Lifecycle Management Tool for HA Kubernetes Clusters

Today, I am excited to introduce a new open source Kubernetes cluster lifecycle management tool: KubeOne! KubeOne takes care of installing, configuring, upgrading and maintaining Highly-Available (HA) Kubernetes clusters. It works out-of-the-box on any cloud provider, as well as in on-prem and bare-metal environments.

With Kubernetes gaining more and more popularity each day, we believe that creating and maintaining HA Kubernetes clusters should be easy. Operators should focus on running the workload, not a bunch of commands to get clusters up and running.

Securing Cloud-Native Applications

This post was originally published here.

Application container technologies, also referred to as containers, combine application software packaging through different images with a form of operating system virtualization. The goal of such tech is that everything needed to easily package and run software reliably can be moved from one environment to another. As well as allowing devs to run an app and all of its dependencies in isolated processes, containers are also transferable, reusable, and automatable.

Evolving Understanding of Delivery

Two new terms have recently emerged around software delivery: Software-Defined Delivery and Progressive Delivery. Why? How do they relate to Continuous Delivery?

Several forces today make delivery increasingly complex. Notably, the proliferation of repositories, with hundreds of small projects replacing a handful of monoliths; a desire for greater automation to realize the full potential of CD across multiple environments; the rise of feature flagging; and increased evidence (such as the Equifax debacle) of the need to bake security into the delivery process.

IBM Announced Managed Istio and Managed Knative

At Think 2019 IBM announced two new add-ons to the IBM Cloud Kubernetes Service: Managed Istio and Managed Knative.

My Point of View

I like this functionality a lot. Istio is a key component when building cloud-native applications. It allows operators to monitor and manage the many microservices developers have implemented. When moving monoliths to mircoservice architectures, monoliths are replaced with simpler microservices. However, at the same time, the communication between the microservices is more complex. Features like Istio traffic management, which pure Kubernetes infrastructures don’t provide, make it easier for operators to manage these interactions between microservices.