The evolution of microservices and containers in recent years has significantly changed how we design, develop, deploy and run software. Modern applications must be optimized for scalability, elasticity, failure, and change. Driven by these new demands, modern architectures require a different set of patterns and practices. In this training, we examine ways to identify, understand and adjust to these new requirements.
Audience This training is intended for people who are somewhat familiar with container technology and with Kubernetes concepts but are perhaps lacking the real world experience. It is based on use cases, and lessons learnt from real life projects with the intention of making people inspired to create and manage even better cloud native applications.
There are plenty of tried and tested patterns widely available to everyone. Sometimes it is a matter of changing the names and implementing the pattern in a specific technology. It can save hundreds of hours, which otherwise would be spent on design and testing. Training Goals This course has two goals: first, it allows you to reuse widely-known patterns, second, it allows you to create and reuse patterns specific to your organization. It helps you to estimate how patterns can reduce costs, systematize the design process and generate a code framework based on your patterns. Audience Software designers, business analysts, project managers, programmers and developers as well as operational managers and software division managers. Course Style The course focuses on use cases and their relationship with a specific pattern. Most of the examples are explained in UML and in simple Java examples (the language can change if the course is booked as a closed course). It guides you through the sources of the patterns as well as showing you how to catalogue and describe patterns which can be reused across your organization.
The course is designed for experienced programmers who want to explore issues related to the use of patterns and refactoring. Each participant know the properties and practical examples of the use of these patterns, which in turn will enable the efficient build correct the application code.
Helping Technical Analysts and Designers to understand how to go through software implementation of the requirements, ensuring traceability between business specifications and the software code.
This 2 day training course aims at assisting technical analysts and designers in designing specifications described by the business analysts. After transformation into software component representations, the resulting system components trace system requirements toward software component structures.
Finally, these technical specifications are implemented in software code and tested upon component basis. The resulting software components provide good level of reactivity to changes as they allow to trace separately toward the implementation level the system behaviours layer by layer (from the user interfaces toward business objects layer through the application components where the usage choices of the actors are stored.
With the emergence of very complex distributed systems, complexity of a single system moved to the complexity of the architecture of the group of systems. This course covers the relationship of Software Architecture with Technical Enterprise Architecture. These two areas are interrelated in a way which currently is not well described. For example, splitting complex monolithic system into two systems communicating via web services will trigger substantial changes to both the new systems, and the architecture between them.
This course will cover trade-offs, currently common patterns and solutions for managing complex systems and communication within and between them.
Microservice architecture is an approach to developing a software application as a suite of small, independent services, each running in its own process and communicating with lightweight mechanisms such as an HTTP resource API. These services can be efficiently deployed using continuous automation systems and bypass the need for centralized management. Microservices can be written in different programming languages and integrate with different data storage systems.
This instructor-led, live training is aimed at enterprise developers and architects. It introduces microservice architecture from a .Net perspective, presents migration strategies from a monolithic system, and walks participants through the creation and deployment of a sample microservice-based application.
By the end of this training, participants will be able to:
- Understand when to use and when not to use microservice architecture - Create and implement a testing strategy for microservices - Deploy a sample microservice-based application into a production environment - Refactor a monolithic application into services
- Developers - Architects
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
Kubernetes is an open-source platform for automating all development stages of containerized applications. Design patterns are iterable solutions to software development problems pertinent to software design. Kubernetes extensions are utilized for configuring and supporting Kubernetes clusters. With the help of Kubernetes design patterns and extensions, users of the platform can achieve CI/CD approaches while maintaining scalability and flexibility of software applications.
This instructor-led, live training (online or onsite) is aimed at developers and DevOps engineers who wish to leverage Kubernetes design patterns and extensions to create enterprise applications on Kubernetes clusters.
By the end of this training, participants will be able to:
- Set up a Kubernetes cluster and configure the necessary DevOps tools. - Understand the fundamentals of software design patterns and Kubernetes extensions. - Utilize Kubernetes extensions and design patterns when interacting with Kubernetes API. - Develop customized Kubernetes resources and apply dynamic controllers to a cluster. - Manage and secure any Kubernetes environment with the help of Kubernetes plugins. - Integrate DevOps networking models to existing and prospective Kubernetes projects.
Format of the Course
- Interactive lecture and discussion. - Lots of exercises and practice. - Hands-on implementation in a live-lab environment.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.