Cloud computing is one of the most promising changes in computing, but how does it enable enterprises to run applications? What about standard technologies, modernizations and the microservices hype during the last years? While answering these questions, this talk gives an introduction to the Google cloud (PaaS) platform, some of its services and gives guidance for possible cloud projects.
What Are The Drone Anti-jamming Systems Technology?
Trivadis TechEvent 2016 Java for enterprises in the Google cloud by Thomas Bröll
1. BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA
HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH
Java for enterprises in the
Google cloud
Thomas Bröll
Trivadis Stuttgart
2. Agenda
Java for enterprises in the Google cloud2 9/30/2016
1. Introduction
2. Legal considerations
3. The software architect‘s point of view
4. The services point of view
4. Introduction
Java for enterprises in the Google cloud4 9/30/2016
Cloud characteristcs
On-demand
Self-service
Broad network access
Pay per use
Shared, pooled resources
Rapid elasticity
10. Service fee
Java for enterprises in the Google cloud10 9/30/2016
Individual metrics for each service
AppEngine: Instances $0.05 / hour = $37/month
Datastore: $0.06 per 100.000 reads, $0.18 per 100.000 writes
Network: $0.12 per GB
…
11. Service Level Agreement
Java for enterprises in the Google cloud11 9/30/2016
>= 99.x % Uptime
Service fee refund (percentage)
Downtime definition
• "Downtime" means more than a five percent Error Rate. Downtime is measured
based on server side Error Rate.
• "Downtime Period" means a period of ten consecutive minutes of Downtime.
Intermittent Downtime for a period of less than ten minutes will not be counted
towards any Downtime Periods.
13. Gartner - PaaS
Java for enterprises in the Google cloud13 9/30/2016
Global data centers
Private network
Dedicated customer
connections possible
https://www.gartner.com/doc/reprints?id=1-2C8JHBP&ct=150325&st=sb
14. Google cloud security & privacy
Java for enterprises in the Google cloud15 9/30/2016
https://cloud.google.com/security/compliance
ISO 27001 (Basics, BSI: IT-Grundschutz)
– Re-newed and extended
ISO 27017 (cloud security)
ISO 27018 (cloud privacy)
PCI DSS 3.1 (Payment card industry data security standard)
EU model contract clauses available
15. Google cloud security & privacy
Java for enterprises in the Google cloud16 9/30/2016
http://www.cloudcomputing-insider.de/10-tipps-fuer-datenschutz-und-datensicherheit-in-
der-cloud-a-543941/
16. Java for enterprises in the Google cloud17 9/30/2016
The software architect‘s point of
view
17. The software architect‘s point of view
Java for enterprises in the Google cloud18 9/30/2016
Focus on your application
Scalability enforces new patterns & paradigms
– CAP theorem (consistency, availability, partition tolerance)
– Scalability is enforced (by pricing and load)
The browser & mobile devices are the future platform
18. The software architect‘s point of view
Java for enterprises in the Google cloud19 9/30/2016
Re-think application architecture
MicroService applications
Stateless components
Storage patterns
– NoSQL / key-value
– Eventual consistency
Messaging / delayed processing
– Idempotent worker (at least once delivery)
19. User Interface
Java for enterprises in the Google cloud20 9/30/2016
Load
Balancer
UI
ComponentUI
ComponentUI
Component
Elastic Load
Balancer
20. User Interface
Java for enterprises in the Google cloud21 9/30/2016
Load
Balancer
UI
ComponentUI
ComponentUI
Component
Elastic Load
Balancer
AppEngine App
Stateless
Component
Pattern !
21. App Engine
Java for enterprises in the Google cloud22 9/30/2016
Scales your application on demand, no interaction required
Customers only provide a well-behaved Micro Service
– Large applications can be split into „Services“
Flexible model
– Use whatever you like (Java, Python, Go …. Docker)
– Behave well (ports, lifecycle events)
– Easy transition
Feature-complete!
22. Java @AppEngine
Java for enterprises in the Google cloud24 9/30/2016
Standard: Java 7 & Jetty (Servlet 2.5)
Flexible:
• JEE Microprofile
• Payara
• TomEE
• Wildfly
• …
• Spring Boot
• Dropwizard
Focus on lightweight applications & startup times!
24. Processing Component
Java for enterprises in the Google cloud26 9/30/2016
Processing
ComponentProcessing
ComponentProcessing
Component
Elastic queue
25. Processing Component
Java for enterprises in the Google cloud27 9/30/2016
Processing
ComponentProcessing
ComponentProcessing
Component
Elastic queue
26. Processing/Messaging options
Java for enterprises in the Google cloud28 9/30/2016
AppEngine
– Push queue
– Pull queue
– Cron jobs
Cloud PubSub
– Publish
– Subscribe
27. Storage options
Java for enterprises in the Google cloud29 9/30/2016
Cloud SQL
– MySQL
– More or less IaaS-like
Datastore & BigTable
– Document / Key-Value
– No SQL / key-value
Storage
– Store any data
VM storage
Google drive
CDN
29. Well-know Google services
Java for enterprises in the Google cloud31 9/30/2016
Custom Search API
Google applications (Mail, Calender, Drive, Contacts, …)
URL Shortener
30. Geo services
Java for enterprises in the Google cloud32 9/30/2016
Maps
Routing
Places
Geocoding / reverse geocoding
Distance
31. Cloud Vision API
Java for enterprises in the Google cloud33 9/30/2016
Image content recognition
– Face recognition
– Mood
OCR
32. Machine learning
Java for enterprises in the Google cloud34 9/30/2016
Google Predicition API
Analyze natural data
Cross selling recommendations
Up selling
Demand forecast
Fraud detection
33. Android / mobile
Java for enterprises in the Google cloud35 9/30/2016
Android has the greatest market share for mobile devices
Google is the company behind android development
Android in the google cloud:
Google Cloud Endpoints
– Easy to use API (Android, iOS, JavaScript)
Firebase Cloud Messaging
– Device notification
– Android & iOS
34. Some notes
Java for enterprises in the Google cloud36 9/30/2016
Google is a slowly moving container ship (at least in the Java world)
AppEngine „flexible model“ is beta,
„Standard“ is stable but not state-of-the-art (ask Google)
Flexible model has no no-cost pricing threshold
HTTP & REST rule the transport layer
Increasing level of open source software
JavaScript first!
Most services require an API key
– Protect it!