Bits of advice for successful application deployment

In short, a successful process of software delivery includes a lot of steps and actions, which happens in stages of planning and development. It is apparent that without a proper automated testing infrastructure, we would not be able to release any non-trivial applications, and it is evident that such tests should evolve with the production code itself, from the first prototypes to the end of the application's life. Given the complexity of real applications, test scenarios nowadays should also contain suites for performance testing to identify the software limits and adequately calculate expenses on infrastructure such as servers, network, storage, and so on.

To simplify the product shipment, enable a fast feedback loop, and at the same time have the ability to fix problems before an end user notices, techniques such as Continuous Delivery and Continuous Deployment are crucial. It is also essential to monitor all vital metrics of the system, gather logs, trace errors, and react to the system behavior whether it is desired or not. A wide range of application metrics and real-time reports allow us not only to be informed about the current status but also to craft an automated infrastructure capable of auto-scaling, self-healing, and self-improvement.

Moreover, as was shown in this book, a reactive stack of Spring Framework gives a basis for very efficient applications that, in contrast to their imperative counterparts, are not limited by blocking I/O. Spring Boot auto-configurations bring the necessary well-tested combinations of functionality, so developers rarely have to make bean configurations manually. A Spring Boot Actuator gives all the necessary tooling for a successful application operation with regards to best practices and standards. Spring Cloud modules easily integrate Spring applications with Message Brokers (RabbitMQ, Apache Kafka), Distributed Tracing (Spring Cloud Sleuth and Zipkin), and much more. Moreover, community projects such as Spring Boot Admin fulfil the additional needs for out-of-the-box solutions regarding a software operation. A Spring ecosystem also provides excellent support for all popular software deployment options, including IaaS, CaaS, PaaS, and FaaS. This clever combination of a few of the previously described patterns and techniques in the right proportion should allow designing, building, operating, and evolving a successful reactive system. We hope that this book simplifies such a challenge.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.117.187.113