Get an introduction to the MicroProfile initiative, why it was created, and the value it brings to cloud-native application development.
- [Instructor] Eclipse MicroProfile is a collaboration of individuals, community groups, and vendors with the aim of optimizing Enterprise Java for modern applications. We will look at how the specifications being created by the MicroProfile community can help you build Enterprise Java applications for modern workloads. To understand why these specifications are so useful, it is worth looking at how this initiative came about. The Enterprise Edition of the Java platform known as Java EE is a set of standards that allow developers to create industry best practice applications. By using these standards, these applications are also portable between multiple Java application servers. This encourages competition and prevents vendors from locking developers into a specific implementation. Each new version includes features contributed by industry experts, organizations, Java user groups, and individuals. The process ensures that each feature is well tested and ratified by members of the Java community. Java EE provides functional APIs that most of the Java community now rely on. However, with the shift to cloud deployments comes new API requirements. In the past, it was very common to find an application that had been running for months, if not years. The infrastructure around the application would have been carefully crafted to suit the specific needs of that application, and a lot of work went into making sure this application was kept running. With the uncertainty of network speeds and availability that comes with running deployments on the cloud, this has all changed. In modern architectures, applications are often split down into multiple pieces and are deployed, scaled, and updated independently. Modern applications must also be resilient to failure, easy to update, and quick to respond regardless of problems in other parts of the system. It is these additional tools and requirements that Eclipse MicroProfile looks to address. The community creates specifications for cloud native applications that are implemented by vendors and available for Java developers to start using. The first MicroProfile meeting was in early 2016, with the first release being announced at the JavaOne conference in October. The first release did not create any new specifications, but instead it took three specifications from the Java EE standard and defined them as MicroProfile 1.0. The first release with the new specification was 1.1 in August of 2017, which included the config specification. Since then, there have been frequent new releases, including several new specifications, with the latest in February 2019 being version 2.2. MicroProfile has now moved to releasing three new releases every single year. Each MicroProfile release has been swiftly followed by a range of implementations by open source projects involved in the community. The current set of implementations can be found on the MicroProfile website, but implementations include Quarkus, TomEE, Payara, KumuluzEE, Helidon, and Open Liberty. The examples in this course will use Open Liberty.
- Installing Docker
- Running an application with Docker
- Deploying an application to Kubernetes
- Adding custom metrics
- Collecting and visualizing metrics
- Enabling distributed tracing