Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Schnelles Aufsetzen von Cloud Ressourcen mit Spring Cloud for AWS

Schnelles Aufsetzen von Cloud Ressourcen mit Spring Cloud for AWS

Unsere allseits bekannte Candy-Shop Website hat stark an Popularität gewonnen. Um flexibel auf das Wachstum zu reagieren, haben wir uns entschlossen, das Backend mit asynchroner Logik in der AWS Cloud zu hosten. Wir wollen uns möglichst wenig mit den Details der verschiedenen Ressourcen beschäftigen und unseren Service schnell testen und produktiv nehmen. Unsere Idealvorstellung wäre einen Befehl ausführen und schon deployed der ganze Service mit allen Queues und Ressourcen!

Durch Spring Cloud for Amazon Web Services wird uns dazu eine Menge Arbeit abgenommen. Queues, S3 sowie Datenbank können über CloudFormation Stacks definiert werden. Im Code sind sie über logische Namen erreichbar, die absoluten Adressen werden beim Deployment injected. Das ermöglicht es uns, schnell eine neue Konfiguration unser AWS Ressourcen auszuprobieren und sogar auch paralleles Aufsetzen von mehreren Service Stacks!

Video zu diesem Talrk:
https://vimeo.com/282634942

Code zu diesem Talk:
https://github.com/cosee/techtalk-spring-cloud-for-aws
https://github.com/cosee/techtalk-spring-boot-for-aws
https://github.com/cosee/techtalk-spring-cloud-for-aws-with-different-stack

Für Infos zu den nächsten Talks:
https://talks.cosee.biz/

MPritsch

July 26, 2018
Tweet

Other Decks in Programming

Transcript

  1. Motivation • Infrastructure as code – AWS : CloudFormation •

    CloudFormation Template und Code sind zwei getrennte Welten • SpringCloud (for AWS) versucht diese Welten zusammenzuführen
  2. Spring Cloud for AWS Ziel: Einfache und „Spring-artige“ Integration von

    AWS Resourcen in Spring-Applikation • SQS, SNS, ElastiCache, RDS, S3, … //SQS example @MessageMapping("logicalQueueName") private void receiveMessage( Person person, @Header("SenderId") String senderId) { // … }
  3. „Klassisch“ vs. Spring Cloud for AWS Zwei Codebeispiele: • „Klassisch“,

    d.h. Spring Boot mit purem AWS SDK • Spring Boot mit Spring Cloud for AWS
  4. Andere Services • SNS • ElastiCache • S3 //S3 Resource

    Loading public class SimpleResourceLoadingBean { @Autowired private ResourcePatternResolver resourcePatternResolver; public void resolveAndLoad() throws IOException { Resource[] allTxtFilesInFolder = resourcePatternResolver.getResources("s3://bucket/name/*.txt"); Resource[] allTxtFilesInBucket = resourcePatternResolver.getResources("s3://bucket/**/*.txt"); Resource[] allTxtFilesGlobally = resourcePatternResolver.getResources("s3://**/*.txt"); } }
  5. Nächster Talk ... Moderne App- Entwicklung mit dem Android Jetpack

    < Tobias Pritsch Ricardo Roth /> 27. September 2018 > talks.cosee.biz > blog.cosee.biz