Anúncio

Container Days Conference Plesk 2016 - How AWS, Docker and Microservices influence company websites - by Jan Löffler

Plesk
Plesk
5 de Jul de 2016
Anúncio

Mais conteúdo relacionado

Similar a Container Days Conference Plesk 2016 - How AWS, Docker and Microservices influence company websites - by Jan Löffler(20)

Anúncio

Mais de Plesk(17)

Anúncio

Container Days Conference Plesk 2016 - How AWS, Docker and Microservices influence company websites - by Jan Löffler

  1. How AWS, Docker and Microservices influence company websites Container Days, Hamburg, June 28th 2016 Jan Löffler, CTO Plesk
  2. October 21st 2015
  3. August 6th 1991
  4. THE PAST OF THE WEB CSS Cookies SSL JavaScript Apache PHP XML AJAX 1994 1995 1996 1999
  5. THE PAST OF THE WEB Drupal Virtuozzo Safari ASP.NET WordPress Firefox nginx 2001 2002 2003 2004
  6. THE PAST OF THE WEB Joomla! AWS iPhone HTML5 Android LXC 2005 2006 2007 2008
  7. THE PAST OF THE WEB GitHub node.js Mesos AngularJS S iPad Touch WebRTC React.js Docker 2009 2010 2011 2013
  8. THE PAST OF THE WEB Kubernetes rkt HTTP/2 OCI 2014 2015 2016 2017
  9. June 28th 2000
  10. June 28th 2005
  11. June 28th 2016
  12. THE WEB TODAY WordPress Git JavaScript
  13. 42.9% of developers used git in 2014
  14. Stackoverflow Research 2015 http://stackoverflow.com/research/developer-survey-2015
  15. 0% 5% 10% 15% 20% 25% 30% 2011 2012 2013 2014 2015 2016 WordPress related to all websites worldwide http://w3techs.com/technologies/history_overview/content_management/all/y
  16. 37% of E-Shops
  17. You build it, You run it. Werner Vogels CTO Amazon
  18.  Servers Apps
  19. 0% 5% 10% 15% 20% 25% 30% 2015 2016 Docker usage doubled to 27% http://www.rightscale.com/blog/cloud-industry-insights/cloud-computing-trends-2016-state-cloud-survey
  20. SAY ONE MORE TIME WORKS ON MY MACHINE
  21. my-wordpress-site
  22. source: http://docker.datagridsys.com/dockersca
  23. Modern Web-Development 2016
  24. DEPLOYMENT
  25. Public Internet *.basket.example.org *.checkout.example.or g Team “Basket” Team “Checkout”ELB ELB AWS / Datacenter
  26. IMMUTABLE INFRASTRUCTURE
  27. IMMUTABLE STACKS ELB myapp-v1 app.example.org EC2 + Docker EC2 + Docker EC2 + Docker 100 %
  28. IMMUTABLE STACKS ELB myapp-v1 EC2 + Docker EC2 + Docker EC2 + Docker ELB myapp-v2 EC2 + Docker EC2 + Docker app.example.org 90 % 10 %
  29. IMMUTABLE STACKS ELB myapp-v1 EC2 + Docker EC2 + Docker EC2 + Docker ELB myapp-v2 EC2 + Docker EC2 + Docker app.example.org 0% 100 %
  30. APP INSTANCE VM (EC2) Basis Image (AMI) Docker Container Application ✓ Team Account ✓ Created with Cloud Formation ✓ Docker Runtime ✓ Audit Logging ✓ Log Collection ✓ Monitoring ✓ Security config ✓ Ubuntu ✓ OpenJDK ✓ CA certific. …
  31. AWS Deploy Docker Registry docker pull docker push AMI
  32. Build DeployTest Release Continuous Delivery
  33. MICRO SERVICES
  34. June 28th 2020
  35. FUTURE OF WEB DEVELOPMENT Mobile Devices JavaScript Interactive & personalized IAM everywhere Internet of Things Innovations Automatic Scaling
  36. Jan Löffler CTO Plesk ● @jlsoft2 ● jan@plesk.com ● http://www.slideshare.net/jlsoft/ ● https://about.me/jan.loeffler
  37. BACKUP
  38. WordPress Management Free SSL everywhere http2 50+ extensions CLI Automatic Updates Site Migration Free support 30+ languages nginx Server Security DNS
  39. Plesk is the leading WebOps platform and control panel to run, automate and grow applications, websites and hosting businesses.

Notas do Editor

  1. Title: How AWS, Docker and Microservices influence company websites Title long: Container Days Conference Plesk 2016 - How AWS, Docker and Microservices influence company websites - by Jan Löffler Keywords: plesk, docker, web development, web design, history of web, future of web development, javascript, microservices, aws, immutable infrastructure, immutable servers, phoenix servers, autoscaling, wordpress, cms, cloud service provider, european container conference, plesk european conference, jan loeffler plesk, plesk container days, plesk european container conference, european container 2016, Container days Conference PLESK, 2016 company websites, jan loffler container conference 2016, web, internet, webops Abstract: There are still a lot of websites out there based on shared hosting and either dedicated or virtual server infrastructure. That’s what SMBs and web professionals are used to so let’s continue doing business as usual. Are you sure? Current technologies like Docker and architectural styles like Microservices are changing the game - especially for young start-ups in the growing web scene. Traditional hosters will have to adapt to these new requirements and take their infrastructure to the next level in order to stay competitive. But how? In this talk we’ll have a close look how start-ups and market leaders like Zalando develop their websites today and why AWS is often their preferred Cloud Service Provider. But, cloud offerings are far more painful as they appear and CMS communities live in a parallel universe - let’s have a look at the future of Web Development.
  2. October 21st 2015 was a very special day. Who of you knows what happened on that day? [Pause]
  3. October 21st 2015 was a very special day. Who of you knows what happened on that day? [Pause]
  4. Getting clearer? [Pause]
  5. It was exactly the day in the future when Marty MyFly arrived in the 2nd movie of „Back to the Future“[Pause] Today – I take you on a journey. A journey into the past – the presence and a possible future of Web Development. And we will see which consequences it will have on hosting companies. Are you ready? Let‘s fasten our seat belts and power on the flux compensator. Target date: June 28th 2000.
  6. Ups, I think we travelled too far into the past. But why exactly this date? Does anybody know? On August 6th 1991 [next slide] the first website was published…
  7. On August 6th 1991 [next slide] the first website was published worldwide. It was a page from Tim Berners-Lee about the World Wide Web project and it was hosted on a NeXT Computer at CERN: http://info.cern.ch/hypertext/WWW/TheProject.html Let us quickly do a recap about web development of the past 20 years to get a feeling of the pace that we have today and will have in future.
  8. 1994 CSS, Cookies 1995 SSL, JavaScript, Apache 1996 PHP, XML 1999 AJAX
  9. 2001 SVG, Drupal, Virtuozzo -> the predecessor of Docker 2002 Safari, ASP.NET 2003 WordPress 2004 Firefox, nginx
  10. 2005 Joomla! 2006 AWS 2007 iPhone 1 2008 Chrome, HTML5, Android, LXC – also a predecessor or Docker
  11. 2009 CSS3, GitHub, node.js, Apache Mesos 2010 AngularJS, iPad 2011 Touch-Events, WebRTC, Digital Ocean 2013 React.js, Docker, CoreOS
  12. 2014 Kubernetes, Rocket 2015 HTTP/2, Open Container Initiative
  13. Back into the year 2000 – Websites were pure HTML documents that were delivered by HTTP services. You edited these documents either directly on the server via shell or locally by copying the files via FTP to the server.
  14. Altavista.com on June 28th 2000
  15. 2005 – Websites are getting cleaner and more focused.
  16. Behind the scenes facebook.com – which was started in 2004 on just one single server – today runs on > 100.000 servers with thousands of services in many datacenters distributed across the world.
  17. And in 2010
  18. Websites use Responsive Web Design – optimized for all Devices and Resolutions. Mostly realized by WordPress themes. Additionally, site use the “Long-Scroll” technique which means the tell a story by vertically scrolling down the site. And sites today use a lot of video content and full-screen pictures that are adapted by Content-Delivery-Networks to the most suitable resolution and display size of the indiviual user.
  19. Websites use Responsive Web Design – optimized for all Devices and Resolutions. Mostly realized by WordPress themes. Additionally, site use the “Long-Scroll” technique which means the tell a story by vertically scrolling down the site. And sites today use a lot of video content and full-screen pictures that are adapted by Content-Delivery-Networks to the most suitable resolution and display size of the indiviual user.
  20. Or another example – even cleaner (http://sastairs.com.au/). Do you see the menu in th top-left in Mobile Style (aka Hamburger Menu) or the wish list on the top-right. But this is actually a generation topic again, since younger people understand this approach really fast, older people often don’t.
  21. If we look behind the facades of todays websites, we see WordPress or JavaScript frameworks. Deployment is often done via git. While there is a huge difference between WebDevelopers and WebDesigners. While WebDesigners use WordPress and develop Themes, Developers are much more technical with php + javascript + git. Or even Java, Scala, Go and so on.
  22. The Eclipse Foundation reported 2 years ago in May 2014 that Git is now the most widely used source code management tool, with over 42.9% of professional software developers reporting that they use Git as their primary source control system.
  23. Based on a research from Stackoverflow in 2015 git now has more than 69% and is still growing fast.
  24. Another really astonishing development happened with the Content-Management-System WordPress. It is not only the most used CMS in the world – with a gigantic delta to all others – it is also the by far most popular way of building websites ever and is more successful than any other way of building sites.
  25. WordPress is the basis of more than 26% of all websites worldwide. And there are more and more every single day. In comparison to all other Content-Management-Systemes WordPress has even 60% market share. [next slide] wooCommerce
  26. And wooCommerce – the e-commerce plugin of WordPress powers even more than 37% of all online stores worldwide. But there is another change in Web Development due to the DevOps movement. [next slide]
  27. Werner Vogels, CTO of Amazon, said this legendary phrase back in 2006 regarding how things run at Amazon, which I believe describes the core principles of DevOps best: “you build it, you run it.”. But I will not bore you with the DevOps topic – I just mention it since this approach was the start of an incredible change in Web Development.
  28. The DevOps movement required a completely new way of managing applications. Developers think in Applications, System Administrators think in Servers. You as Developers you should not care if your server runs, you should care about if your app is online. Docker changed the perspective from existing server centric to application centric. It is currently probably the most talked-about infrastructure technology. But how did Docker do that?
  29. Well, container technology isn’t new – you all know Virtuozzo, OpenVZ, LXC or even Sun Solaris Zones. But they all focused primarily on virtualizing a server  so dividing a big server into smaller virtualized servers. That was important to first adapt resource requirements quickly and setup new systems quickly – and on the other side to utilize the ever growing power of hardware – remember Moores Law? Docker is different – you do not talk about servers anymore, you talk about apps – your apps. You talk about anything that fits into a container can run anywhere! Thus, Docker solved a very important aspect …
  30. The usage of Docker by developers has doubled from 13% to 27% in in just one year. And further 35% plan the usage of Docker. And I assume you either use it already or want to use it after todays meetup – otherwise you wouldn’t be here. But why is Docker actually so successful?
  31. In the past, we coded our app and it worked fine on our machine, then we deployed it to a production server and nothing worked fine anymore. Who of you had already this issue? [hands up] With Docker we can run and test our apps on our laptops without having to install a lot of software manually.
  32. … and if it works, it works also on other machines like our production servers – since it takes the whole configuration with it. No different operating systems anymore, no java runtime missing, no wrong php versions, no required extensions or dependencies missing. All configuration is shipped with our apps and so it has everywhere the same environment – that’s frictionless and I’m absolutely sure – you LOVE it.
  33. And so docker provides some very cool possibilities to developers – you can ship your app everywhere on every hardware without risking to break everything. It’s now easy to deploy several versions of your app in a kind of staging mode and even let your customers choose which version of the site they like most.
  34. But besides all the advantages of Docker with its more than 300.000 images in the Docker Hub – please take also care about security! The most used Docker images have all already security issues that are not patched frequently enough. The worst is interestingly the docker registry.
  35. Let’s have a depper look at more modern development of high traffic sites. That could be also WordPress sites, but I’m sure that’s not what you wanted to see. Since this is Container Days, let’s have a look at cooler companies.
  36. Have you ever asked yourself how companies like Zalando build their sites? I can easily give you an idea since I was leading Zalandos Platform Engineering department until recently and so pushing from on-premise datacenters to cloud services.
  37. Zalando is one of the fastest growing companies in Europe. But not only by revenue, number of employee or brand awareness. Also and especially by number of applications. Zalando started 7 years ago with a normal Magento System. But with growing success it became harder and harder to scale it. In 2010 the Tech Team rewrote the whole mess – mostly in Java. In the beginning this was also a monolithic architecture. Competition -> Innovation -> Trial and Error.
  38. The biggest challenge at Zalando was – „how can more than 80 development teams with 4-8 developers each, code their web services in parallel and deploy independently“? And just to give you a number – we are talking about more than 140 releases a day!
  39. Fortunately, we have my former colleague Henning Jacobs here, giving a talk in the afternoon about how Zalando implemented OAuth2 for all services. That‘s definitely a must-see talk. To not spoil anything – here only the basics: Zalando‘s web services are all secured via OAuth2 and TLS. There are no VPN connection between different networks to reduce the attack surface to a minimum. All services use the basic principles of the internet and communicate through the public internet – but always completely secured. To explain the approach better, [next slide]
  40. let‘s first describe a new trend called immutable infrastructure aka immutable server or Phoenix servers. This is an approach that Zalando uses as core principle. Immutability regarding infrastructure means that nothing changes anymore after deployment. The big question is: „how will patches, security updates or new features be rolled out“? They won‘t – at least not on the same instance of my software. If I want to update my software – whether it is a security update of the SSL library or just a bugfix – I always deploy it to a fresh new server. Why this is great? Would be an own talk and I‘m happy to explain you all the thoughts behind it after my talk. For now I brought you a small example for better understanding.
  41. Let‘s have a look at the following chart. We see a web application that is accessable via app.example.org. This app is deployed in version „myapp-v1“ as a docker container on 3 AWS EC2 instances. The applications instances themselves are stateless, they exchange data via shared storage like a database, but don‘t store anything on local disks. If we like to update to a new version [next slide]
  42. ... we just create a new version incl. the whole server stack additionally and route some traffic to the new url endpoint. And if all works as expected, we shape the complete traffic to the new version and ... [next slide]
  43. ... delete the old instances to safe money of the hosting bill.
  44. To gain enough flexibility with solid security at the same time, we use a multi-layered model. At the basis you see the VM and the base image (aka AMI) containing the operating system. Directly after the start of the EC2 instance, our chosen docker image - that contains our application in the expected version - is downloaded from the docker registry and started as container. Within the container we launch the webserver (nginx or Apache or whatever) and all that our app needs to run.
  45. The Deployment is done either by a developer from shell or fully automatically via Continuous Integration systems.
  46. The kings class is Continuous Deployment. Here we deploy every change automatically to production if it satisfies all tests. Test environments will be dynamically created and some minutes after the tests automatically terminated. The productivity of the development increases and the costs a shrinking to a minimum. More and more companies use that technology to increase their throughput enormously. API based cloud infrastructure with hourly or better minute based billing made this methodology possible. But what else is it good for? [next slide]
  47. Zalando stores its catalogue data in so called SOLR servers (Lucene). The exciting thing of the story: 2 years ago, when Zalando still used datacenters, its developer had to manually install and configure more servers to scale. Since moving to AWS Zalando does this fully automated with ELBs. And this saves enormous costs – even if AWS is way more expensive than traditional hosters in many aspects – if you need scalability – it’s cheaper. In the night they often just need 2 SOLR servers. But when the traffic increases over the day, the ELB adds more and more instances on demand without any human interaction. And Sunday evenings it often happends that there are more than 320 SOLR servers running in parallel and providing you the best user experience while shopping for fashion. That’s the modell of the future – or should I say of the present? Or do you still switch on the power generator on a hot sommer day to activate your air conditioning?
  48. The next logical part are microservices – actually nothing new. But only thanks to API driven cloud infrastructure it is possible to spin up small services without having to manually configure a server everytime. The idea is that a small team (4-8 devs) completely understands its source code to be able to maintain it. To reduce complexity and foster code recycling, a microservice should only deal with one use case instead of being a monolithic feature monster. Best practise is to align the use case of a microservice with its business purpose and not a technical aspect only. By connecting services together with other services like LEGO pieces you can quickly build a great scalable business – like Zalandos E-Shop – whether it is the wishlist, basket, recommendations, checkout, payments, landing page, customer management, ordering, ...
  49. The Death Star AWS – you can ask yourself “why has AWS actually become that huge and successful”? This year AWS claims to achieve 10 Bio $ in revenue - and its growing and growing. But how could that happen? What AWS has done differently than all other traditional hosters is focussing on providing APIs first. With an API, a product – here the infrastructure – becomes ready for automation. This allows models like I just described it. Microservices can only work with fully automated and API based infrastructure. Additionally, there are market leaders like NetFlix who published reference architectures as Open Source which allows everybody to copy it. And so most of us developers discuss currently especially one topic: “how to scale microservices with Docker on AWS” But still there might be more surprises than you think in the hosting world.
  50. Digital Ocean has done a rocket launch and accelerated from 0 servers in 2011 to become the second largest hosting company in the world in less than 4 years. But with a completely different concept than AWS. While AWS focusses on its huge ecosystem of services and marketplace apps, Digital Ocean concentrated on simplicity of IaaS. Less flexibility, less enterprise, but with best possible prices, high performance and best user experience.
  51. But fortunately there are more hosters worth looking at. And with 1&1’s Cloud Server and ProfitBricks you will have also very good German hosters with great service, user experience and advantages concerning German Data Protection Law. Rainer Straeter from 1&1 will give an exciting talk directly after mine about how his Cloud Server is absolutely on par with Digital Ocean. I was actually developing the first release of their Cloud Server back in 2009 – long time ago. And also Google’s Cloud Platform and Microsoft Azure will definitely play a major role in the Future IaaS and PaaS market and will heavily compete with AWS. And “Future” is the next keyword [next slide]
  52. What does the Future of the Web look like? Lets take a seat in our Delorian again – target date: June 28th 2020
  53. Lets have a look into the crystal ball. The amount of Mobile Devices will grow and so will the different types of devices – whether it is health tools, watches, glasses, sports equipement, home automation, car utilities, communication devices and so on. Even more JavaScript! The web becomes more interactive and personalized than ever before. Websites adapt to their visitors and give recommendations based ondata from inter-connected sources. Identity Management across browsers and devices will be more and more important – e.g. usage of the iPad for interactions during watching TV. IoT will bring gazillions of connected Web Apps that continuously share data with all devices in our environment. E.g. mowers that only cut your grass when nobody is at home. Innovation appears by combining existing apps and APIs to create something new or do it better then before. And in terms of infrastrucure? The time of single servers that host all your services is over – everything scales on demand. Like we are used to it when switching on our airconditioning connected to a normal power supply.
  54. And now I‘m excited about discussing the future of web development together with you after my talk. But before we do that, I would like you to remember one thing: [next slide] „The Future of Web Development ...
  55. „The Future of Web Development is fast, connected and user friendly.“ And now join me back to the Future [pause] into the year 2016 – Hamburg, Tuesday, June 28th. Thank you, that you travelled together with me! Thanks for traveling with [next slide] Plesk.
  56. Thank you, that you travelled together with me! Thanks for traveling with Plesk.
  57. http://www.infragistics.com/community/blogs/mobileman/archive/2015/01/14/building-a-better-web-a-brief-history-of-web-development.aspx http://www.evolutionoftheweb.com/
  58. If you asked yourself what Plesk has to do with the whole talk? Plesk is the leading Web Development platform and control panel to run, automate and grow applications, websites and hosting businesses.
Anúncio