Cloud-native application development is the new paradigm for building applications and although is it often mistaken for microservices, it is much more than that and encompasses not only the application architecture but also the process through which applications are built, deployed, and managed.
New apps are often seen as the focus of cloud-native applications; however, we believe existing and new applications are alike and can incorporate cloud-native practices if they have the four defining characteristics of cloud-native applications:
- Service-based: Build modular loosely coupled services (for example, microservices).
- API-driven: Expose services via lightweight technology-agnostic APIs.
- Containers: Package and deploy in containers as a portable unit of compute.
- DevOps: Adopt agile and DevOps principles.
The Getting Started with Cloud-Native Apps lab at Red Hat Summit 2018, which takes place in San Francisco on May 8–10, has a packed agenda that focuses on walking participants through the principles of building and operating cloud-native applications.
This session consists of multiple hands-on labs that teach participants how to use Spring Boot to build a microservices application with a cross-functional team working alongside other teams that deliver other services for the same microservices application. Participants will experience how a modern development workspace looks by using the Eclipse Che web-based IDE for all development during the lab.
The microservices application is then built as container images and deployed on Red Had OpenShift Container Platform. Participants will then explore how to address aspects such as configuration management during the lifecycle of the services across environments, and they will use Jenkins to build deployment pipelines that promote the services between development and production environments.
An important aspect of cloud-native applications is how to manage cross-cutting aspects such as service resilience, which are of extra importance when there is a multitude of services deployed. Istio service mesh provides a technology-agnostic way to address such complexities for services without the need to contaminate the service code with external libraries, and it will be used in this lab to add circuit breakers between the service calls.
Visibility into services in cloud-native applications is also of utmost importance, since troubleshooting immediately becomes a nightmare as the chain of service calls expands and it becomes non-trivial to understand where the root cause of issues are. Jaeger distributed tracing, which is designed to discover the dependencies between services at runtime and visualize how services interact with each other, will be explored in this lab.
Here are some of the labs you can expect in this session:
- Building microservices with Spring Boot using the Eclipse Che web-based IDE
- Automating the build and deployment of microservices on OpenShift via pipelines
- Adding resilience into microservices with Istio service mesh
- Gaining visibility into service dependencies with Jaeger distributed tracing
The Getting Started with Cloud-Native Apps lab is full of exciting exercises with Spring Boot, OpenShift, Istio service mesh, and Jaeger distributed tracing, and we can’t wait to see you there.
Add this lab to your Red Hat Summit agenda: