Recent Posts
Archives

Posts Tagged ‘AmazonWebServices’

PostHeaderIcon [DevoxxGR2026] The Pragmatic Path: Structured Adoption of Agentic AI in Software Development

Lecturers
Dimitris Papageorgiou and Konstantina Mavrodimitraki are Senior Solutions Architects at Amazon Web Services in Greece. With extensive experience as software and data engineers, they have supported numerous enterprise customers in adopting cloud-native and AI technologies. Their work focuses on practical implementation strategies that deliver measurable business value while addressing real-world concerns around quality, security, and team readiness.

Abstract
Dimitris Papageorgiou and Konstantina Mavrodimitraki present a pragmatic framework for integrating agentic AI into software development lifecycles. Based on hands-on implementations across multiple customer environments, the session addresses common barriers such as code quality fears, lack of structure, and resistance to change. Through concrete examples—including optimized code reviews returning over 16,000 developer hours annually and 65-80% faster issue resolution—they outline a phased approach from individual experimentation to cross-team standardization and organizational scaling.

The Current State of AI Adoption in Development Teams

Many organizations purchase AI tool licenses and distribute them broadly, expecting immediate productivity gains. In practice, developers experiment individually—often engaging in “vibe coding”—without shared practices or metrics. This leads to fragmented adoption, inconsistent quality, and difficulty demonstrating return on investment to leadership.

The speakers identify a critical gap: while tools proliferate, teams lack a common language and structured methodology. Success requires moving beyond ad-hoc usage to deliberate integration aligned with specific pain points.

A Framework for Systematic Agentic AI Adoption

The proposed framework operates along two dimensions: organizational pain points and AI maturity levels. Pain points—such as code review bottlenecks, testing coverage, or feature development velocity—must be identified first. Maturity progresses from individual experimentation to team standardization and finally cross-team integration.

Teams begin at their current maturity level and implement solutions appropriate to that stage. For code review bottlenecks, level-one teams conduct structured experimentation with various tools, followed by retrospectives to select winners. Level-two teams document guidelines, define success metrics, and establish processes. Level-three organizations embed AI into pipelines with shared patterns and governance.

Applying the Framework: Code Reviews and Testing

For code reviews, a real-world AWS customer in betting and gaming implemented an agentic workflow using Amazon Bedrock. Pull request events trigger enrichment via data pipelines before an agent analyzes changes against coding standards, security rules, and business requirements. The system posts comments directly, with optional human validation.

Metrics showed over 16,700 developer hours returned annually, allowing focus on higher-value work. Similar patterns apply to testing: starting with AI-assisted unit test generation, teams progress to standardized pipelines and shared test patterns across the organization.

Feature Development with Spec-Driven Approaches

Spec-driven development extends AI assistance across the lifecycle. Rather than isolated prompts, teams collaborate with agents to refine requirements, architectural decisions, and task breakdowns. Amazon Q Developer exemplifies this, generating user stories, acceptance criteria, designs, and implementation tasks from high-level intents.

This approach reduces back-and-forth during sprint planning and ensures generated code aligns with broader context. Workshops help teams adapt the process to their needs, fostering ownership and continuous improvement.

Scaling and Avoiding Common Pitfalls

Successful scaling requires executive sponsorship, dedicated time for experimentation, and clear metrics. Leadership must treat AI adoption as a strategic initiative rather than a side project. Engineers should share learnings and metrics to build momentum.

Pitfalls include unstructured experimentation leading to technical debt, over-reliance on AI without human oversight, and failure to measure impact. The speakers recommend divide-and-conquer: tackle one pain point thoroughly before expanding.

Conclusion: AI as a Multiplier of Good Practices

Agentic AI amplifies existing strengths in clean code, testing, documentation, and collaboration. By following a pragmatic, maturity-aligned path, teams achieve faster delivery, higher quality, and greater developer satisfaction. The framework transforms AI from a hype-driven experiment into a structured capability delivering tangible results.

Links:

PostHeaderIcon [DevoxxFR2012] Java on Amazon Web Services: Building Scalable, Resilient Applications in the Cloud

Lecturer

Carlos Conde operates as a Solutions Architect within Amazon Web Services’ European team, where he partners with enterprises to design, migrate, and optimize Java applications on the AWS platform. His technical journey began over a decade ago when he founded IWorks, a company focused on Java web development atop legacy mainframe systems, followed by co-founding Newaxe, which delivered a Java-based ERP monitoring and management platform. After years as an independent consultant helping Fortune 500 companies modernize their stacks, Carlos joined AWS to bring cloud-native principles to the broader Java community. His expertise spans the full application lifecycle—from initial architecture through production operations—with a particular emphasis on cost optimization, high availability, and security.

Abstract

Carlos Conde provides an exhaustive guide to developing, deploying, and operating Java applications on Amazon Web Services, demonstrating how the platform’s breadth of services enables developers to build systems that are simultaneously scalable, resilient, and cost-effective. He introduces AWS Elastic Beanstalk as a fully managed Platform as a Service solution that abstracts infrastructure complexity, the AWS SDK for Java for programmatic service access, and the AWS Toolkit for Eclipse for seamless IDE integration. Through detailed live demonstrations and real-world case studies from companies like Viadeo and Netflix, Conde explores deployment strategies, database patterns, content delivery, monitoring, and disaster recovery. The presentation addresses hybrid cloud scenarios, data sovereignty requirements under European regulations, and advanced cost management techniques, concluding with a vision of serverless Java and containerized workloads that redefine operational excellence.

The AWS Java Ecosystem: Tools for Every Stage of Development

Carlos Conde opens by mapping the AWS service landscape to the Java developer’s workflow. At the foundation lies Amazon EC2, offering virtual servers with pre-built Java AMIs (Amazon Machine Images) that include OpenJDK, Tomcat, and Spring Boot. For developers seeking higher abstraction, AWS Elastic Beanstalk provides a PaaS experience where applications are deployed via simple commands:

eb init -p java-8 my-java-app
eb create production-env --instance_type t3.medium
eb deploy

Behind the scenes, Beanstalk provisions EC2 instances, Elastic Load Balancers, Auto Scaling groups, and CloudWatch alarms, while allowing full customization through .ebextensions configuration files. Conde demonstrates deploying a Spring Boot application that automatically scales from 2 to 10 instances based on CPU utilization, with zero-downtime blue/green deployments.

The AWS SDK for Java serves as the programmatic bridge to over 200 AWS services. Conde writes a service that stores user profiles in Amazon DynamoDB:

AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard()
    .withRegion(Regions.EU_WEST_3)
    .build();

Map<String, AttributeValue> item = new HashMap<>();
item.put("userId", AttributeValue.builder().s(userId).build());
item.put("email", AttributeValue.builder().s(email).build());
item.put("createdAt", AttributeValue.builder().n(Long.toString(timestamp)).build());

PutItemRequest request = PutItemRequest.builder()
    .tableName("Users")
    .item(item)
    .build();
client.putItem(request);

DynamoDB’s single-digit millisecond latency and automatic scaling make it ideal for high-throughput workloads. For relational data, Amazon RDS offers managed PostgreSQL, MySQL, or Oracle with automated backups, patching, and multi-AZ replication.

Content Delivery and Global Reach

For static assets, Conde integrates Amazon S3 with CloudFront:

AmazonS3 s3 = AmazonS3ClientBuilder.standard().build();
s3.putObject(PutObjectRequest.builder()
    .bucket("my-app-assets")
    .key("css/style.css")
    .acl(ObjectCannedACL.PublicRead)
    .build(), RequestBody.fromFile(Paths.get("style.css")));

CloudFront’s 200+ edge locations cache content close to users, reducing latency from 180ms to 30ms for European customers. He demonstrates invalidating cache after deployments using the AWS CLI.

Cost Optimization Strategies

Conde presents a multi-layered approach to cost control. Reserved Instances provide up to 75% savings for predictable workloads, while Savings Plans offer flexibility across EC2, Lambda, and Fargate. For batch processing, Spot Instances deliver 90% discounts:

RunInstancesRequest request = RunInstancesRequest.builder()
    .instanceMarketOptions(InstanceMarketOptionsRequest.builder()
        .marketType(MarketType.SPOT)
        .spotOptions(SpotInstanceRequest.builder()
            .spotPrice("0.10")
            .instanceInterruptionBehavior(InstanceInterruptionBehavior.TERMINATE)
            .build())
        .build())
    .build();

He uses AWS Cost Explorer to visualize spending and set budget alerts.

High Availability and Disaster Recovery

Conde designs a multi-AZ architecture with RDS read replicas, ElastiCache for Redis caching, and S3 cross-region replication. He demonstrates failover using Route 53 health checks that automatically reroute traffic if a region fails.

Security and Compliance

Security is baked into every layer. AWS Identity and Access Management (IAM) enforces least-privilege access, while AWS KMS manages encryption keys. Conde enables S3 server-side encryption and RDS TDE (Transparent Data Encryption) with a single click.

Hybrid and Sovereign Cloud Deployments

For European data residency, Conde deploys entirely within the Paris region (eu-west-3). For hybrid scenarios, AWS Direct Connect establishes dedicated network connections to on-premises data centers, and AWS Outposts brings AWS services into private facilities.

Monitoring, Logging, and Observability

Amazon CloudWatch collects metrics, logs, and events. Conde instruments a Spring Boot application with Micrometer:

@Timed(value = "order.processing.time", description = "Time taken to process order")
public Order processOrder(OrderRequest request) {
    // Business logic
}

AWS X-Ray traces requests across services, identifying latency bottlenecks.

Real-World Case Studies

Conde shares Viadeo’s migration of their social platform to AWS, achieving 99.99% availability and reducing infrastructure costs by 60%. Netflix’s global streaming architecture leverages AWS for transcoding, personalization, and content delivery at petabyte scale.

The Future of Java on AWS

Conde previews AWS Lambda for serverless Java, AWS Fargate for containerized workloads without server management, and AWS Graviton2 processors offering 40% better price-performance for Java applications.

Implications for Java Enterprises

Carlos Conde concludes that AWS transforms Java development from infrastructure-constrained to innovation-focused. By leveraging managed services, developers build faster, operate more reliably, and scale globally—all while maintaining strict control over costs and compliance.

Links: