A practical course for developers who want to improve their skills in developing applications based on microservice architecture for cloud platforms.
During the meeting, participants solve practical tasks of designing, implementing, and deploying the program. The design includes a detailed review and application of the View Model and Domain
Driven Design. Implementation includes detailed consideration and application of Hexagonal Architecture (aka Ports and Adapters) and Dependency Inversion.
Particular attention is paid to the security and reliability of applications.
The course includes consideration of the following approaches and tools:
- Approaches: Microservices, View Model, DDD.
- Services: EC2, S3, SQS, Elasticsearch.
- Frameworks: Spring Boot (Core, Web, and AOP), AWS SDK, Elasticsearch Client.
- Tools: AWS CLI, Localstack.
Consideration of other approaches and tools is beyond the scope of the training.
COURSE PROGRAM
1.Application design.
Performed together with the coach and participants.
Approaches: View Model, DDD.
Duration: 2 hours.
2. Infrastructure deployment and analysis.
Performed together with the coach and participants.
Approaches: Security, Messaging.
Duration: 2 hours.
Tools: AWS Management Console, AWS CLI, Localstack.
3. Design and implementation of services.
Performed by participants individually or in groups.
Duration: 4 hours.
EXAMPLE
As a learning example, you will be offered an application for storing and retrieving documents. It uses object storage and a search engine. The application consists of independent services that use the REST API to interact with client systems and messaging to interact with each other.
OBJECTIVES
The course focuses on gaining comprehensive knowledge of application development using Spring Boot and AWS.
AT THE END OF THE COURSE YOU WILL BE ABLE TO:
- Participate in the design of distributed applications using microservices.
- Develop and deploy services using Spring Boot and AWS.
- Perform a search using Elasticsearch.
FOR WHOM
The course is designed for developers who want to gain experience in designing distributed systems and using cloud platforms. Requirements for the audience: a basic level of training in developing server applications, recommended experience in developing enterprise systems for 2 years.
LANGUAGE
The training is conducted in English
REQUIREMENTS
Availability of a laptop for system development. Minimum requirements: Intel® Core ™ i5, 8Gb RAM.
Availability of an AWS account for system deployment. If free access has already been used (see AWS Free Tier) – the availability of funds for resource rental.
ADDITIONALLY
Demonstration is on Windows 10.