devops’to’noops’ · the’tradigonal’3lger’architecture’ 6 presentaon’tier’...

34
DevOps to NoOps 10 cloud services you should be using Ross Mason, MuleSo= @rossmason , @mulejockey

Upload: others

Post on 30-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

DevOps  to  NoOps  10  cloud  services  you  should  be  using  

Ross  Mason,  MuleSo=  

 @rossmason,  @mulejockey  

Page 2: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

About  Me  

Page 3: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

Agenda  

•  Impact  of  APIs  •  Top  10  you  should  be  looking  at  •  IntegraGng  with  APIs  

Page 4: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

The  Impact  of  APIs    

Page 5: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

API  ProliferaGon  

Source:  Programmable  Web  

Page 6: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

The  tradiGonal  3-­‐Ger  architecture  

6  

PresentaGon  Tier  

Middle  Tier  

Data  Tier  

Client  

App  Server  

HTML    

Database  

Page 7: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

…is  being  decomposed  

7  

Middle  Tier  

Data  Tier  database  

Client    

Server    

Data  

JSON  /  XML   JSON  /  XML  

PresentaGon  Tier  PresentaGon  Tier  

Page 8: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

…is  being  decomposed  

8  

Middle  Tier  

Data  Tier  database  

Client    

Server    

Data  

JSON  /  XML   JSON  /  XML   JSON  /  XML  

PresentaGon  Tier  PresentaGon  Tier   3rd  party  Apps  

Page 9: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

…is  being  decomposed  

9  

Middle  Tier  

Client    

Server    

Data    

JSON  /  XML   JSON  /  XML   JSON  /  XML  

PresentaGon  Tier  PresentaGon  Tier   3rd  party  Apps  

Data  Tier  database  SaaS,  Infrastructure  Services,  

Social  Media  APIs  

API   API   API  API  

API  

API  

API  

API  API  API  

API  

API  

Page 10: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

PlaXorm  Shi=  

Tradi&onal  Applica&on  Environments  

Applica&on  

Database  

Web/App  Server  

Opera&ng  System  

Page 11: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

PlaXorm  Shi=  

New  Applica&on  Environments  

Applica&on  

Database  

Web/App  Server  

Opera&ng  System  IaaS  

Applica&on  

PaaS  

Page 12: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

Technology  Shi=  

Tradi&onal  Applica&on  Environments  

Applica&on  

Database  

Web/App  Server  

Opera&ng  System  

Applica&on  

Business  Logic  

UI  

Data  

Security  

Page 13: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

Technology  Shi=  

Newer  Applica&on  Environments  

Applica&on  

Database  

Web/App  Server  

Opera&ng  System  

Applica&on  

Business  Logic  

UI   API  

Data  

Security  

Integra&on  

Page 14: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

Technology  Shi=  

Applica&on  Decomposi&on  Applica&on  

Business  Logic  

UI   API  

Data  

Security  

Integra&on  

Page 15: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

Top  10  APIs  API   Descrip&on   Category   Mashups  

Google  Maps   Mapping  service   Mapping   2278  

Twi[er   Microblogging   Social   622  

YouTube   Video  sharing  and  search   Video   585  

Flickr   Photo  sharing   Photo   583  

Amazon  eCommerce   Online  retailer   Shopping   396  

Facebook   Social  networking   Social   301  

Twilio   Telephony  service   Telephony   290  

eBay   Online  aucGon  marketplace   Shopping   213  

Last.fm   Online  radio  service   Music   201  

Google  Search   Search  services   Search   175  Source:  ProgrammableWeb.com,  Sept  2011  

Page 16: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

Top  10  Infrastructure  APIs    

Page 17: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

10.    •  MySQL  Database  as  a  Service  •  Direct  replacement  for  MySQL  •  AlternaGves:  Amazon  RDS,  Rackspace,  Heroku  •  API:  REST  or  SOAP  for  provisioning  and  controlling  the  DB  instance  

•  So  What?  –  Fully  managed,  auto-­‐scale,  HA  – Management  tools  built-­‐in  – API  makes  the  service  scriptable  

Page 18: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

9.                                S3  

•  File  System  as  a  Service  •  Simple  API  for  storing  large  and  small  files  •  AlternaGves:  RS  Cloud  Files,  CloudLayer  Storage  •  API:  REST,  SOAP  or  BitTorrent  

•  So  What?  – Many  Apps  need  file  storage  – Unlimited  data  –  Leverage  the  Amazon  global  network,  CDN  support  

Page 19: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

8.    

•  Logging  as  a  Service  •  Manages  logs,  enables  easy  search  and  navigaGon    •  AlternaGves:  Splunk  •  API:  REST,  Syslog  for  data  collecGon  

•  So  What?  –  Easy  to  set  up,  centralized  view  of  App  logs  – No  more  ssh-­‐ing  to  different  boxes  and  tailing  logs  – AnalyGcs  as  standard  

Page 20: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

7.  •  Email  as  a  Service  •  Replace  email  infrastructure,  its  like  normal  email  but  way  be[er  

•  AlternaGves:  Postmark  •  API:  REST,  SMTP  

•  So  What?  –  Set  up  in  minutes  no  need  to  run  an  email  server  –  bulk,  delivery  management,  analyGcs  – Web  Hooks  Event  API  

Page 21: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

6.    •  MongoDB  as  a  Service  •  Create  a  MongoDB  in  seconds,  conGnue  wriGng  your  applicaGon  

•  AlternaGves:  Couch  One  •  API:  MongoDB  client  API  

•  So  What?  –  Fully  managed,  auto-­‐scale,  HA  – Management  tools  built-­‐in  –  Code  compaGble  with  MongoDB    

Page 22: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

5.            Airbrake    •  Error  Management  as  a  Service  •  collects  errors  generated  by  other  applicaGons,  and  aggregates  the  results  for  review.  

•  AlternaGves:  ?  •  API:  REST  

•  So  What?  –  InteresGng  approach  to  error  management,  no  need  to  hit  the  logs  

–  See  errors  in  real-­‐Gme,  track  and  fix  

Page 23: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

4.    

•  ApplicaGon  Security  as  a  Service  •  User  account  management,  authenGcaGon,  and  access  control  in  your  applicaGon  

•  Currently  in  private  Beta  •  API:  REST  

•  So  What?  – Every  app  needs  user  security,  avoid  rolling  the  same  code  over  and  over  

Page 24: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

3.    •  Publish  /  Subscribe  Messaging  as  a  Service  •  Real-­‐Gme,  global  messaging  for  cloud  and  mobile  apps  

•  AlternaGves:  Pusher,  Amazon  SNS  •  API:  REST  

•  So  What?  – Amazingly  quick;  as  about  real-­‐Gme  as  the  web  gets  – Asynchronous,  streaming  API  –  Cheap  even  for  millions  of  messages  

Page 25: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

2.    •  File  Sharing  as  a  Service  •  Share  files  between  all  your  devices  and  friends/co-­‐workers  

•  AlternaGves:  Box.net,  SpiderOak,  Wuala,  etc  

•  So  What?  – Great  for  content  delivery,  service  handles  all  synchronizaGon  issues  

– Good  way  to  integrate  mobile  with  desktop  and  web  –  (Almost)  everyone  has  it  

Page 26: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

1.    •  Telephony  as  a  Service  •  Build  text/sms  and  voice  apps  really  easily  •  AlternaGves:  Tropo  

•  So  What?  –  This  stuff  was  hard  before  Twilio  came  along  –  Integrate  text/sms  into  your  apps  for  alerGng,  udaGng,  user  confirmaGon,  etc  

–  Easy  to  create  voice  access  to  data  in  an  app  (i.e.  account  balance)  

Page 27: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

The  API  Challenge  

Page 28: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

All  APIs  are  not  equal  

•  Hard  to  work  with  different  APIs  – Different  approaches  – Different  security  schemes  – Different  data  formats  – Different  ‘interpretaGons’  of  REST  

•  Lots  of  custom  code  in  your  app  

Page 29: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

iPaaS:  Don’t  clu[er  your  app  

Your Killer App" Integration Layer" Cool Stuff"

integration PaaS"

Page 30: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

Benefits  

•  ConfiguraGon  approach  to  APIs  •  Handled  for  you:  –  Security  (OAuth,  SAML,  Basic)    –  Session  Management  –  Streaming  – HTTP  Callbacks  

•  Consume  and  invoke  mulGple  services  •  Retries,  Error  handling  •  Decouple,  keep  your  applica&on  code  clean  

Page 31: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

Quick Demo"

•  Listen to Salesforce Chatter API for messages"

•  ‘#now’ tag in Chatter messages get filtered "•  Calls Twilio API to send an SMS to the user’s

phone"

31"

Page 32: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

The Flow"

32"

<twilio:config  name="twilio-­‐default"  accountSid=”xxxxxxx"  authToken=”xxxxxx"/>  

 <sfdc:config  name="salesforce-­‐default"  username=”xxxxx"  password=”xxxxx"/>  

 

<flow  name="sendSmsNoGficaGons">  

               <sfdc:subscribe-­‐topic  config-­‐ref="salesforce-­‐default” topic="/SMSNoGficaGons"/>  

               <logger  level="INFO"  message="#[payload]"/>  

               <regex-­‐filter  pa[ern="\#now"/>  

               <twilio:send-­‐sms-­‐message  config-­‐ref="twilio-­‐default"  

                                                                 accountSid=”xxxxxxx"  

                                                                 from=”+14086457888"  

                                                                 to="#[map-­‐payload:To__c]"  

                                                                 body="#[map-­‐payload:Text__c]"/>  

</flow>  

         

Page 33: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

Summary  

•  APIs  are  becoming  part  of  our  applicaGon  architecture  

•  All  APIs  are  different  making  them  hard  to  consume  

•  Coding  directly  to  APIs  clu[ers  the  applicaGon  and  creates  a  dependency  (Gght-­‐coupling)  

•  iPaaS  can  do  the  integraGon  heavy  li=ing,  decouple  your  app  from  the  APIs  it  consumes  

Page 34: DevOps’to’NoOps’ · The’tradiGonal’3LGer’architecture’ 6 Presentaon’Tier’ Middle’Tier’ DataTier’ Client App’Server HTML’’ Database’

QuesGons,  Ideas,  Comments?  

•  Mule  iON  free  account  :  h[p://muleion.com  

•  Twi[er:  @rossmason,  @mulejockey  

•  Blog:  h[p://blogs.muleso=.org    

•  Company:  h[p://muleso=.com    (we’re  hiring!)