Microservices with Java, Spring Boot and Spring CloudEberhard Wolff
Spring Boot makes creating small Java application easy - and also facilitates operations and deployment. But for Microservices need more: Because Microservices are a distributed systems issues like Service Discovery or Load Balancing must be solved. Spring Cloud adds those capabilities to Spring Boot using e.g. the Netflix stack. This talks covers Spring Boot and Spring Cloud and shows how these technologies can be used to create a complete Microservices environment.
How Class Data Sharing Can Speed up Your Jakarta EE Application StartupRudy De Busscher
Java Byte code is OS independent, which means that your application's startup takes more time than a native image. Using the Class Data Sharing functionality introduced in more recent versions of the JVM, you can prepare your application so that it will load very fast.
In this presentation, I'll go into more detail what Class Data Sharing is and the differences between the OpenJDK and OpenJ9 versions. With some Jakarta EE demo applications, you will see gains that you can achieve and reduce memory footprint a lot in Docker containers by sharing memory.
Microservices with Java, Spring Boot and Spring CloudEberhard Wolff
Spring Boot makes creating small Java application easy - and also facilitates operations and deployment. But for Microservices need more: Because Microservices are a distributed systems issues like Service Discovery or Load Balancing must be solved. Spring Cloud adds those capabilities to Spring Boot using e.g. the Netflix stack. This talks covers Spring Boot and Spring Cloud and shows how these technologies can be used to create a complete Microservices environment.
How Class Data Sharing Can Speed up Your Jakarta EE Application StartupRudy De Busscher
Java Byte code is OS independent, which means that your application's startup takes more time than a native image. Using the Class Data Sharing functionality introduced in more recent versions of the JVM, you can prepare your application so that it will load very fast.
In this presentation, I'll go into more detail what Class Data Sharing is and the differences between the OpenJDK and OpenJ9 versions. With some Jakarta EE demo applications, you will see gains that you can achieve and reduce memory footprint a lot in Docker containers by sharing memory.
Check out the talk to the slides:
http://bit.ly/1ReY8uJ
Talk Abstract:
Using Swarm, you can select “just enough app server” to support each of your microservices.
In this session, we’ll outline how WildFly Swarm works and get you started writing your first microservices using Java EE technologies you’re already familiar with.
You’ll learn how to setup your build system (Maven, Gradle, or your IDE of choice) to run and test WildFly Swarm-based services and produce runnable jars. We will walk from the simple case of wrapping a normal WAR application to the more advanced case of configuring the container using your own main(…) method.
An interactive Liferay (DXP) 7 Tech Meet up was codified by Azilen Technologies on 18th March, 2017 at Ahmedabad Management Association.
Those who have missed the direct confrontation can explore few of the knowledge elements here in the Presentation.
Refactor your Java EE application using Microservices and Containers - Arun G...Codemotion
Codemotion Rome 2015 - This talk will provide a quick introduction to Docker images (build time), containers (run time), and registry (distribution). It shows how to take an existing Java EE application and package it as a monolithic application as a single Docker image. The application will then be refactored in to multiple microservices and assembled together using orchestration. Unit and integration testing of such applications will be discussed and shown as well. Design patterns and anti-patterns that show how to create cluster of such applications will be demonstrated and discussed.
A talk about the innovation of WebLogic Server, held at the Oracle Groundbreakers Tour APAC 2020 https://oracle-groundbreakers-apac-virtual-tour-2020.heysummit.com/speakers/michel-schildmeijer/
Finally, easy integration testing with TestcontainersRudy De Busscher
Integration testing is always a difficult area. You need to make sure that all system are connected, data is correctly initialised for each run and test runs do not interfere with each other.
You can do integration testing today, but sometimes these tests are flaky for various reasons or they cannot cover all the cases that you would like to test.
With the Testcontainers project, this issue can be a thing of the past. It allows you to create reliable integration tests covering a wide range of scenarios like database usages, micro services interaction and GUI testing. One of the important factors for the success of this framework is the usage of Docker containers to create a reproducible environment for the test.
During this talk, speaker told about the architecture of web applications based on SpringBoot. The main idea of his presentation was to show that SpringBoot and some other Spring technologies can be efficiently used to improve project performance.
This presentation by Mykhailo Brodskyi (Senior Software Engineer, Consultant at GlobalLogic Kharkiv), was delivered at GlobalLogic Kharkiv Java Conference 2018 on June 10, 2018.
Introduction to the Spring Framework:
Generar description
IoC container
Dependency Injection
Beans scope and lifecycle
Autowiring
XML and annotation based configuration
Additional features
This presentation explains the new challenges to be resolved with a Microservices Architecture and how the WildFly Swarm container & OpenShift/Kubernetes can address some of the patterns like running a lightweight JavaEE container, discover and load balance the services, inject the configuration of the services.
Microservices is the current architectural trend. Should I break my monolith too? Should I start any new project using Microservices? During this presentation we will talk about breaking the monolith into Microservices including why and if should we do it? Challenges, best practices and how to start with it.
JSF 2.3: Integration with Front-End FrameworksIan Hlavats
This presentation will be shared at JavaOne 2014 during the JSF BOF session. It outlines the new generation of front-end frameworks and technologies and how JSF 2.3 can better support them.
"Learn All Aspects Of Java Spring Framework step by step, Enhance your skills & Launch Your Career, On-Demand Course affordable price & classes on virtually every topic.Try Before You Buy
for java spring online training visit: https://goo.gl/P15Dbn"
Java EE 8 Presentation given at NYC Java SIG on May 4, 2017. This presentation provides the latest information on the forthcoming release of Java EE 8 in June.
Building web applications with Java & SpringDavid Kiss
Guide on getting started with Spring framework and Spring Boot. For more details, check out the blog post: http://kaviddiss.com/2015/07/18/building-modern-web-applications-using-java-spring/
Check out the talk to the slides:
http://bit.ly/1ReY8uJ
Talk Abstract:
Using Swarm, you can select “just enough app server” to support each of your microservices.
In this session, we’ll outline how WildFly Swarm works and get you started writing your first microservices using Java EE technologies you’re already familiar with.
You’ll learn how to setup your build system (Maven, Gradle, or your IDE of choice) to run and test WildFly Swarm-based services and produce runnable jars. We will walk from the simple case of wrapping a normal WAR application to the more advanced case of configuring the container using your own main(…) method.
An interactive Liferay (DXP) 7 Tech Meet up was codified by Azilen Technologies on 18th March, 2017 at Ahmedabad Management Association.
Those who have missed the direct confrontation can explore few of the knowledge elements here in the Presentation.
Refactor your Java EE application using Microservices and Containers - Arun G...Codemotion
Codemotion Rome 2015 - This talk will provide a quick introduction to Docker images (build time), containers (run time), and registry (distribution). It shows how to take an existing Java EE application and package it as a monolithic application as a single Docker image. The application will then be refactored in to multiple microservices and assembled together using orchestration. Unit and integration testing of such applications will be discussed and shown as well. Design patterns and anti-patterns that show how to create cluster of such applications will be demonstrated and discussed.
A talk about the innovation of WebLogic Server, held at the Oracle Groundbreakers Tour APAC 2020 https://oracle-groundbreakers-apac-virtual-tour-2020.heysummit.com/speakers/michel-schildmeijer/
Finally, easy integration testing with TestcontainersRudy De Busscher
Integration testing is always a difficult area. You need to make sure that all system are connected, data is correctly initialised for each run and test runs do not interfere with each other.
You can do integration testing today, but sometimes these tests are flaky for various reasons or they cannot cover all the cases that you would like to test.
With the Testcontainers project, this issue can be a thing of the past. It allows you to create reliable integration tests covering a wide range of scenarios like database usages, micro services interaction and GUI testing. One of the important factors for the success of this framework is the usage of Docker containers to create a reproducible environment for the test.
During this talk, speaker told about the architecture of web applications based on SpringBoot. The main idea of his presentation was to show that SpringBoot and some other Spring technologies can be efficiently used to improve project performance.
This presentation by Mykhailo Brodskyi (Senior Software Engineer, Consultant at GlobalLogic Kharkiv), was delivered at GlobalLogic Kharkiv Java Conference 2018 on June 10, 2018.
Introduction to the Spring Framework:
Generar description
IoC container
Dependency Injection
Beans scope and lifecycle
Autowiring
XML and annotation based configuration
Additional features
This presentation explains the new challenges to be resolved with a Microservices Architecture and how the WildFly Swarm container & OpenShift/Kubernetes can address some of the patterns like running a lightweight JavaEE container, discover and load balance the services, inject the configuration of the services.
Microservices is the current architectural trend. Should I break my monolith too? Should I start any new project using Microservices? During this presentation we will talk about breaking the monolith into Microservices including why and if should we do it? Challenges, best practices and how to start with it.
JSF 2.3: Integration with Front-End FrameworksIan Hlavats
This presentation will be shared at JavaOne 2014 during the JSF BOF session. It outlines the new generation of front-end frameworks and technologies and how JSF 2.3 can better support them.
"Learn All Aspects Of Java Spring Framework step by step, Enhance your skills & Launch Your Career, On-Demand Course affordable price & classes on virtually every topic.Try Before You Buy
for java spring online training visit: https://goo.gl/P15Dbn"
Java EE 8 Presentation given at NYC Java SIG on May 4, 2017. This presentation provides the latest information on the forthcoming release of Java EE 8 in June.
Building web applications with Java & SpringDavid Kiss
Guide on getting started with Spring framework and Spring Boot. For more details, check out the blog post: http://kaviddiss.com/2015/07/18/building-modern-web-applications-using-java-spring/
Master a Cloud Native Standard - MicroProfile.pptxEmilyJiang23
Everything about MicroProfile, a Cloud Native Application Development Standard. This help you develop a portable microservice without vendor lockin and works well in the Cloud.
SpringBoot and Spring Cloud Service for MSAOracle Korea
Cloud 환경에서 MSA를 하기 위해서 Service Discovery, Circuit Breaker 등을 사용하여 Application을 개발하는 방법과 SpringBoot 와 Spring Cloud Service 를 사용하는데, Cloud에서 Kubernetes를 위시한 Container 생태계가 어떻게 MSA에 영향을 미치는지 알아봅니다.
Pivoting Spring XD to Spring Cloud Data Flow with Sabby AnandanPivotalOpenSourceHub
Pivoting Spring XD to Spring Cloud Data Flow: A microservice based architecture for stream processing
Microservice based architectures are not just for distributed web applications! They are also a powerful approach for creating distributed stream processing applications. Spring Cloud Data Flow enables you to create and orchestrate standalone executable applications that communicate over messaging middleware such as Kafka and RabbitMQ that when run together, form a distributed stream processing application. This allows you to scale, version and operationalize stream processing applications following microservice based patterns and practices on a variety of runtime platforms such as Cloud Foundry, Apache YARN and others.
About Sabby Anandan
Sabby Anandan is a Product Manager at Pivotal. Sabby is focused on building products that eliminate the barriers between application development, cloud, and big data.
Cloud native programming model comparisonEmily Jiang
This deck provides a side-by-side comparison between two popular cloud native programming models: MicroProfile vs. Spring boot. It lists similiarilities and differences between them
Spring Boot - Microservice Metrics MonitoringDonghuKIM2
마이크로서비스 아키텍쳐에서의 분산된 서비스간의 모니터링 방법을 소개합니다.
- Microservice Monitoring with Service Discovery (Eureka) Spring Boot Admin
- Microservice Monitoring with Service Discovery (Consul), Prometheus, Grafana
Pivotal Cloud Foundry 2.3: A First LookVMware Tanzu
Join us for a look at the capabilities of Pivotal Cloud Foundry (PCF) 2.3. In addition to demos and expert Q&A, we’ll review the latest features of Pivotal’s flagship app platform, including the following:
- Polyglot service discovery
- Service instance sharing
- Operations manager improvements
- New pathways protected by TLS
- Spring Cloud Services 2.0
- Improvements to PAS for Windows and Steeltoe.io
We’ll also review PKS updates for Pivotal’s Kubernetes service. Attend this session with Jared Ruckle and Pieter Humphrey to learn how PCF helps your peers build better software.
Presenters : Pieter Humphrey & Jared Ruckle, Pivotal
Applied Domain-Driven Design Blueprints for Jakarta EEJakarta_EE
Domain-Driven Design (DDD) is an architectural approach that strongly focuses on materializing the business domain in enterprise software through disciplined object-oriented analysis. This session demonstrates first-hand how DDD can be elegantly implemented using Jakarta EE via an open source project named Cargo Tracker.
Cargo Tracker maps DDD concepts like entities, value objects, aggregates and repositories to Jakarta EE code examples in a realistic application. We will also see how DDD concepts like the bounded context are invaluable to designing pragmatic microservices.
Jakarta EE 9 Milestone Release Party
Presentor: Kevin Sutter, IBM - co-Release lead for Jakarta EE 9, co-Project Lead for Jakarta EE Platform Project, Member of EE4J PMC, Member of Jakarta EE Steering and Spec Committees
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019Jakarta_EE
In this presentation we will cover some of those challenges, discuss how one of those standards efforts (Eclipse MicroProfile) has helped move the Java community forward, and give an hint at some changes happening in the Java language and frameworks with the Quarkus project as an example.
Speaker: Mark Little, Red Hat
Jakarta for dummEEs | JakartaOne LivestreamJakarta_EE
Speaker: Kevin Sutter
We have finally made some real progress with Jakarta EE in 2019! Specifications, APIs, TCKs, Maven artifacts, Implementations, Releases, and, yes, even a little bit of required process. If you want to get caught up quickly on all of the activities, this session is for you. We will discuss the potential impact to both implementors as well as application developers as we move away from the JCP-defined javax world to the open-source world of Jakarta EE.
Jakarta EE Meets NoSQL at the Cloud Age | JakartaOne LivestreamJakarta_EE
Speaker: Otavio Santana
Jakarta NoSQL is the first specification of the new era of Java EE now in the Eclipse Foundation home as Jakarta EE. The goal of this specification is to ease integration to Java applications with a standard API that supports more than 30 NoSQL vendors and rising.
Turbocharged Java with Quarkus | JakartaOne LivestreamJakarta_EE
Speaker: Marcus Biel
I will demonstrate how we can create a native executable with Quarkus, and how fast we can scale a large cluster of Quarkus containers in the cloud. Last but not least, I will show you how much fun it is to develop a REST + JPA based application with the help of Quarkus.
Building Interoperable Microservices With Eclipse MicroProfile| JakartaOne Li...Jakarta_EE
peaker: Ivar Grimstad
Eclipse MicroProfile is a collection of community-driven open source specifications that define an enterprise Java microservices platform. This session gives an introduction to Eclipse MicroProfile and the tools available to get started building portable microservices with a minimum of effort. The features of MicroProfile will be in explained in a down-to-earth and easily understandable way.
Jakarta RESTful Web Services: Status Quo and Roadmap | JakartaOne LivestreamJakarta_EE
Speaker: Markus Karg
This talk shares some insight into the current project status and the road ahead of the technology formerly known as JAX-RS. If you maintain existing JAX-RS applications, or write new RESTful Microservices in Java, this is the strategic session you need to attend.
Cloud Native Java Community Day | EclipseCon Europe 2019Jakarta_EE
Cloud Native Java session, Community Day at EclipseCon Europe 2019.
Presented by Community Day Organizers: Heiko Rupp, Jan Westerkamp, Tanja Obradovic, Susan Iwai, Shabnam Mayel
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
1. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 1
12 May 2020
Emily Jiang, Liberty Microservice Architect @IBM
Twitter: @emilyfhjiang
Building 12-factor Cloud Native
Microservices
3. 12 Factors in a nutshell
– A Methodologie
– Best Practices
– Manifesto
https://12factor.net/ by Heroku
4. Why 12 factor?
• Define the contract between applications and infrastructure
Application Infrastructure
5. What is a Twelve-Factor App?
In the modern era, software is commonly delivered as a service: called web apps, or software-as-a-service. The
twelve-factor app is a methodology for building software-as-a-service apps that:
Use declarative formats for setup automation, to minimize time and cost for new developers joining the project;
Have a clean contract with the underlying operating system, offering maximum portability between execution
environments;
Are suitable for deployment on modern cloud platforms, obviating the need for servers and systems
administration;
Minimize divergence between development and production, enabling continuous deployment for maximum
agility;
And can scale up without significant changes to tooling, architecture, or development practices.
The twelve-factor methodology can be applied to apps written in any programming language, and which use any
combination of backing services (database, queue, memory cache, etc).
From https://12factor.net
10. MicroProfile Community
● Over a dozen vendors and
Java user groups
● Around 178 individual
contributors and growing
● Around a dozen
independent
implementations
11. Open specifications
Wide vendor support
REST Client
OpenAPI support
Security
Fault Tolerance
Configuration
Metrics
Health
Open Tracing
https://wiki.eclipse.org/MicroProfile/Implementation
Quarkus
13. I. Codebase
• Dedicate smaller teams to individual applications or microservices.
• Following the discipline of single repository for an application forces
the teams to analyze the seams of their application and identify
potential monoliths that should be split off into microservices.
“One codebase tracked in revision control, many deploys.”
Use a single source code repository for a single application (1:1
relation). Deployment stages are different tags/branches
i.e. use a central git repo (external Github/GitHub Enterprise
also suitable)
14. II. Dependencies
A cloud-native application does not rely on the pre-existence of dependencies in
a deployment target.
Developer Tools declare and isolate dependencies
• Maven and Gradle for Java
“Explicitly declare and isolate dependencies”
Each microservice has its own dependencies declared (e.g.
pom.xml)
15. III. Config
“Store config in the environment”
Changing config should not need to repackage your application
Use Kubernetes configmaps and secrets for container services
Use MicroProfile Config to inject the config properties into the microservices
App Password=blah
16. MicroProfile Config
Why?
– Configure Microservice without
repacking the application
How?
– Specify the configuration in
configure sources
– Access configuration via
• Programmatically lookup
Config config =ConfigProvider.getConfig();
config.getValue(“myProp”, String.class);
• Via CDI Injection
@Inject
@ConfigProperty(name="my.string.property")
String myPropV;
18. MicroProfile REST Client
BA
@Inject
@RestClient
private SystemClient
defaultRestClient;
@Dependent
@RegisterRestClient
@RegisterProvider(UnknownUrlExceptionMapper.class)
@Path("/properties")
public interface SystemClient {
@GET
@Produces(MediaType.APPLICATION_JSON)
public Properties getProperties() throws
UnknownUrlException, ProcessingException;
}
io.openliberty.guides.inventory.client.SystemClient/mp-rest/url=http://localhost:9080/system
19. V. Build, release, run
“Strictly separate build and run stages”
Source code is used in the build stage. Configuration data is added to define a
release stage that can be deployed. Any changes in code or config will result in a
new build/release
Needs to be considered in CI pipeline (e.g. Tekton)
20. VI. Processes
“Execute the app as one or more stateless processes”
Stateless and share-nothing
Restful API
From “CERN Data Centre Evolution”
21. VII. Port binding
“Export services via port binding”
Applications are fully self-contained and expose services only through ports.
Port assignment is done by the execution environment
Ingress/service definition of k8s manages mapping of ports
Use MicroProfile Config to inject ports to microservices for chain-up invocations
port=80
@Inject @ConfigProperty(name=”port”, defaultValue=“9080”)
22. VIII. Concurrency
“Scale out via the process model”
Applications use processes independent from each other to scale out (allowing
for load balancing)
To be considered in application design
Cloud autoscaling services: [auto]scaling built into kNative
Build microservices
23. IX. Disposability
“Maximize robustness with fast startup and graceful shutdown”
Processes start up fast.
Processes shut down gracefully when requested.
Processes are robust against sudden death
Use MicroProfile Fault Tolerance to make it resilient
24. MicroProfile Fault Tolerance
A solution to build a resilient microservice
Retry - @Retry
Circuit Breaker - @CircuitBreaker
Bulkhead - @Bulkhead
Time out - @Timeout
Fallback - @Fallback
25. X. Dev/prod parity
“Keep development, staging, and production as similar as possible”
Development and production are as close as possible (in terms of code, people,
and environments)
Can use Operators to deploy in repeatable manner
26. XI. Logs
“Treat logs as event streams”
App writes all logs to stdout
Use a structured output for meaningful logs suitable for analysis. Execution
environment handles routing and analysis infrastructure
27. XII. Admin processes
“Run admin/management tasks as one-off processes”
Tooling: standard k8s tooling like “kubectl exec” or Kubernetes Jobs
Also to be considered in solution/application design
For example, if an application needs to migrate data into a database, place this
task into a separate component instead of adding it to the main application code
at startup
34. Thank you!
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
@emilyfhjiang