
Access the GitHub project with the main branch containing the solution and per-module branches. Start learning by following along or experimenting with your own code as you explore serverless computing.
Define serverless computing as an execution model where a cloud provider allocates resources on demand, removing infrastructure management while you still patch dependencies and release code.
Discover how serverless computing with Azure Functions for Java developers deploys code, scales resources automatically, and lets you pay only for what you use, while the cloud vendor manages lifecycle.
Explore the pipes and filters architecture, where modular filters transform data through one-way pipes in data integration, data transformation pipelines, and stream processing systems, enabling reusable, loosely coupled, scalable processing.
Assess the trade-offs of going serverless, weighing cold starts, latency, and execution limits like 15 minutes, against automatic provisioning, scaling, cost efficiency, business value, vendor lock-in, and debugging challenges.
Clarify what serverless computing is and isn’t, and outline compatible architecture styles. Weigh benefits like automatic scaling and cost efficiency against challenges such as cold starts and vendor lock-in.
Set up your Java development environment for Azure Functions and learn the basics of triggers and bindings, with hands-on demos of http, timer, and query triggers and storage interactions.
Explore Azure Functions hosting plans and pricing, including consumption, Premium, and dedicated options, and how Docker runtimes and container options like Azure Container Apps and Azure Kubernetes Service affect scalability.
Connect an Azure function to a storage account and use the storage queue for asynchronous messaging with auto-configured Azure WebJobs storage connection strings.
Discover how to use Azure Monitor and Application Insights to debug Azure Functions, collect telemetry, visualize with dashboards, and set alerts for proactive, reliable performance.
Explore Azure built-in monitoring for functions using application dashboard and application map. Review metrics like requests, failures, response times, and availability, plus percentiles for precise performance.
Recap the module's hands-on debugging of an Azure function, using built-in and custom logs, kql queries, metrics in application dashboard, application map, and run reports to monitor responsiveness and dependencies.
Learn how Spring Cloud Function enables serverless, stateless, single-purpose Java functions with Spring Boot, deployable on AWS Lambda, Azure Functions, Google Cloud Functions, or as a standalone app.
Implement the third filter in a pipes and filters pipeline with Spring Cloud Function on Azure Functions, wiring a dummy model client and deploying to test prompt and answer queues.
Explore Spring Cloud function to build decoupled serverless apps by implementing business logic as functions, with a uniform model across providers and Azure adapters.
Summarizes serverless concepts, Azure Functions, and architecture styles, then demonstrates debugging, monitoring, and deploying an AI chat assistant with Spring Cloud Function on Azure.
Perform an environment clean up by iteratively decommissioning Azure resource groups, copying names to confirm deletion, and removing all contained resources to cut costs, with tips after the course.
Welcome to this comprehensive course tailored for Java developers, focusing on serverless computing with Azure Functions! Throughout this journey, we'll delve deep into serverless architecture, Azure Functions, Spring Cloud Function, and more, all from a Java-centric perspective.
To kick things off, we'll establish a solid understanding of serverless computing principles, exploring various architectural styles and their relevance in serverless environments, especially in Java-based projects.
Moving forward, we'll immerse ourselves in Azure Functions, emphasising hands-on experience to configure your development environment seamlessly. You'll become proficient in essential concepts like triggers and bindings, laying the groundwork to create and integrate functions effortlessly, with a special focus on Java implementations.
Midway through the course, you'll navigate through Azure Functions App intricacies, gaining insights into hosting options, pricing models, and effective deployment strategies, all with Java at the forefront. Additionally, you'll engineer function pipelines on Azure, leveraging Azure Storage Queue functionalities for streamlined performance.
An integral part of our journey will be mastering monitoring and debugging techniques. You'll learn to troubleshoot with precision, utilising advanced logging features such as Application Insights to optimise function performance effectively, ensuring smooth operations in the cloud environment.
In the final leg of our exploration, we'll introduce Spring Cloud Function, a dynamic addition to the Spring Framework. Discover its potential and harness its programming model to craft vendor-independent function logic, primed for deployment and testing within Azure's ecosystem, all while leveraging the power of Java.
Embark on this exhilarating adventure with me as we unlock the full spectrum of serverless computing possibilities with Azure Functions, tailored specifically for Java enthusiasts!