Course outline for kafka, MS SQL and deployments technologies
This is a course that was designed to enable the learner to understand, manage, install, operate and develop on a real life deployable solution of systems using Kafka, MS SQL 2019, Unix-like operating system, docker, Java, python and other deployment and packaging solutions like kubernetes.
Generally, learners have individual skillsets of each of the adobe mentioned technologies. However, having the power to use them in synergy to deploy real-world solutions is something that is rare.
At the end of this course, the learner shall be able to:
- Have holistic skills for real world system deployment
- Use individual technologies in systematic synchrony
- Use MS SQL 2019 to its fullest
- Understand and use the newest features offered mu MS SQL in 2019
- Install and operate MS SQL in unix-like operating systems
- Use Kafka in unix-like systems
- Understand Kafka in depth
- Program in Kafka using Java
- Program in Kafka using python
- Deploy the technologies using Docker
- Deploy the technologies using Kubernetes
This is a very intensive course and is designed for advanced learners. The basic requirements are:
- Operational understanding of SQL
- Some usage experience in MS SQL
- Either Java or python
In order to participate in this course, the learner needs to have access to actual unix-like remote systems, because in real-life scenarios, deployments are done on remorse servers. As such, they will require:
- Access to workstation (of any OS)
- Access to remorse server (one per student)
We shall provide individual access to said servers. The students shall remote into them from their workstations during the training process.
The actual course outline shall be as follows:
Day 1: Faysal and Talat:
- Introduction.
- Overview of Docker, New features in MSSQL-2019 and Azure Data Studio.
- Docker basics, installation and setup.
- Installation on Windows, Mac, Linux.
- Images.
- Containers.
- Processes.
- Ports.
- Volumes.
- Basic commands for creating, pulling images; starting, stopping Containers etc.
- Docker demonstration.
- Pull a php-apache image.
- Run the php-apache image in a container.
- Port mapping.
- Volume mapping.
- Data persistence.
- Run Nginx via Docker.
- Exercises.
Day 2: Talat:
- MSSQL-2019 Deployment with Docker.
- Pull linux based mssql image.
- Create a container and run the mssql image.
- Install Azure Data Studio.
- Create tables and make queries.
- MSSQL basics quick review.
- Overview of fundamental commands.
- Making databases and tables with Azure Data Studio.
- Stored Procedures
- T-SQL.
- New powerful features in MSSQL -2019.
- Kubernetes introduction.
- Big Data introduction.
- Apache Spark introduction.
- Exercises.
Day 3: Talat:
- Azure Data Studio.
- Extensions.
- Notebooks.
- Data Visualization.
- Python Integration.
- Query History.
- Machine Learning.
- Data portability and migration.
- Overview of technologies related to MSSQL and way forward 2019, like: Spark, Docker, etc.
- Exercises and Evaluation.
Day 1: Faysal Aziz
- Kafka Theory
- Broker
- Cluster
- Zookeeper
- Ensemble
- Multiple clusters
- Ports
- Topics
- Message structure
- Partitions and distribution
- Producer and Consumer architecture
- Kafka deployment
- Operating Ubuntu Server
- Setting up IDE to work remotely with ubuntu from Windows OS
- Installing required environments
- INstalling kafka from scala binaries
- Using kafka to send and receive messages
- Send messages using the console
- Consume messages using the console
- Running multiple consumers and multiple producers
- Using Kafka with multiple partitions
- Remote brokers
- Creating multiple partitions
- Accessing specific partitions
- Accessing specific offsets
- Exploring and understanding the filing system of messages
Day 2: Faysal Aziz
- Kafka Cluster with multiple brokers
- Configurations and settings
- Launching and managing
- Using Zookeeper directly for info access on brokers
- Multiple partition topics in clusters
- Logs
- Producing and Consuming inter-cluster
- Simulating break-downs
- Multiple brokers with Replication
- Creation and launch
- Actual replication
- Logs and details exploration
- Production and consumption
- Storage management
- Break-down simulation
- Manage and recover from break-downs
- Consumer Groups
- Using the default consumer groups
- Multiple consumer groups
- Idle consumer groups
- Assessment
Day 3: Faysal Aziz
- Performance and Testing
- Basic performance test
- Tweaking the parameters
- Consumer performance
- Nonzero LAG values for consumers
- Programming in Kafka
- Java
- Setup and configuration
- Starting Cluster and Producer
- Controlling Producers
- Serializers
- Auto-committing and refactoring code
- Partition assignments
- Multiple producers
- Python
- Producers in python
- Producers in python
- Hands-on development
- Java
- Assessment
Resources:
- Azure DB Stored Procedures etc. >>>
Practical, connected learning
My wider training approach brings hands-on implementation and systems thinking together, connecting technology with real operational needs.