{"id":838,"date":"2016-07-25T08:00:31","date_gmt":"2016-07-25T06:00:31","guid":{"rendered":"https:\/\/blog.mi.hdm-stuttgart.de\/?p=838"},"modified":"2023-06-07T15:10:53","modified_gmt":"2023-06-07T13:10:53","slug":"socialcloud-cloudy-this-morning-and-were-scaling-part-5","status":"publish","type":"post","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2016\/07\/25\/socialcloud-cloudy-this-morning-and-were-scaling-part-5\/","title":{"rendered":"SocialCloud \u2013 Cloudy this morning &#8230; and we\u2019re scaling \u2013 Part 5"},"content":{"rendered":"<p>Cloud computing has so much potential that the possibilities seem to be endless. Without knowing much about it the cloud looks like a magic place for many people.<\/p>\n<figure id=\"attachment_842\" aria-describedby=\"caption-attachment-842\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/cloud_108.jpg\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"842\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2016\/07\/25\/socialcloud-cloudy-this-morning-and-were-scaling-part-5\/cloud_108\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/cloud_108.jpg\" data-orig-size=\"883,821\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Cloud Magic\" data-image-description=\"&lt;p&gt;http:\/\/www.cloudtweaks.com\/wp-content\/uploads\/2012\/08\/cloud_108.jpg&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Cloud Magic&lt;\/p&gt;\n\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/cloud_108.jpg\" class=\" wp-image-842\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/cloud_108-768x714.jpg\" alt=\"Cloud Magic\" width=\"500\" height=\"465\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/cloud_108-768x714.jpg 768w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/cloud_108-300x279.jpg 300w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/cloud_108.jpg 883w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><figcaption id=\"caption-attachment-842\" class=\"wp-caption-text\">Source: cloudtweaks.com<\/figcaption><\/figure>\n<p>To give you a more detailed explanation we sum up the design process of our cloud application step by step in the following blog post. Without giving too much away, it can be said that we still put our trousers on one leg at a time ;-).<\/p>\n<p><!--more--><\/p>\n<h2>Infrastructure Design &#8211; Step by Step<\/h2>\n<p>The following blog post gives you an impression how we designed and launched a web application using the cloud provider Bluemix. We tried to focus on a web application independent from a specific software implementation. Of course you can\u2019t keep this level of abstraction during the implementation process but for now a more abstract point of view is sufficient while designing the application.<\/p>\n<p>First of all we created our local development environment. In web development it\u2019s state of the art to use a <a href=\"http:\/\/www.tomdalling.com\/blog\/software-design\/model-view-controller-explained\/\">MVC architecture<\/a> to build an application. For now it\u2019s enough to consider that there will be a model realized by a database service like MySQL and a business logic realized by using a script language like PHP. The business logic also creates views delivered to the user.<\/p>\n<p>On our local development environment we have very limited resources so it\u2019s quite common to run everything on one webserver like nginx or Apache.<\/p>\n<figure id=\"attachment_846\" aria-describedby=\"caption-attachment-846\" style=\"width: 354px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-1.jpg\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"846\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2016\/07\/25\/socialcloud-cloudy-this-morning-and-were-scaling-part-5\/socialcloud_scaling-1\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-1.jpg\" data-orig-size=\"354,147\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"SocialCloud &amp;#8211; Scaling &amp;#8211; Step 1\" data-image-description=\"&lt;p&gt;SocialCloud &amp;#8211; Scaling &amp;#8211; Step 1&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;SocialCloud &amp;#8211; Scaling &amp;#8211; Step 1&lt;\/p&gt;\n\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-1.jpg\" class=\"size-full wp-image-846\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-1.jpg\" alt=\"SocialCloud - Scaling - Step 1\" width=\"354\" height=\"147\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-1.jpg 354w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-1-300x125.jpg 300w\" sizes=\"auto, (max-width: 354px) 100vw, 354px\" \/><\/a><figcaption id=\"caption-attachment-846\" class=\"wp-caption-text\">Scaling &#8211; Step 1<\/figcaption><\/figure>\n<p>For some reasons it can make sense to \u201ephysically\u201c separate the business logic (controller) from the database (model). So the infrastructure will look more like this:<\/p>\n<figure id=\"attachment_847\" aria-describedby=\"caption-attachment-847\" style=\"width: 383px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-2.jpg\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"847\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2016\/07\/25\/socialcloud-cloudy-this-morning-and-were-scaling-part-5\/socialcloud_scaling-2\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-2.jpg\" data-orig-size=\"383,145\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"SocialCloud &amp;#8211; Scaling &amp;#8211; Step 2\" data-image-description=\"&lt;p&gt;SocialCloud &amp;#8211; Scaling &amp;#8211; Step 2&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;SocialCloud &amp;#8211; Scaling &amp;#8211; Step 2&lt;\/p&gt;\n\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-2.jpg\" class=\"size-full wp-image-847\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-2.jpg\" alt=\"SocialCloud - Scaling - Step 2\" width=\"383\" height=\"145\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-2.jpg 383w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-2-300x114.jpg 300w\" sizes=\"auto, (max-width: 383px) 100vw, 383px\" \/><\/a><figcaption id=\"caption-attachment-847\" class=\"wp-caption-text\">Scaling &#8211; Step 2<\/figcaption><\/figure>\n<p>On the left a server is running the business logic connecting to a host on the right providing some database functionalities. E.g. for loading any kind of user data like credentials for login, user posts and so on. At this point you may say no big deal and you\u2019re absolutely right. But this simple separation lays the foundation for later horizontal scaling. To point this out we give you a brief overview about scaling.<\/p>\n<p>In general there are two ways to scale an application:<\/p>\n<ul>\n<li>horizontally<\/li>\n<li>vertically<\/li>\n<\/ul>\n<p>Horizontal scaling increases the amount of nodes like adding some additional servers executing the business logic. Users will be spread to this webservers by a load balancer randomly. As long as the same business logic is distributed to all servers it doesn\u2019t matter which one processes the user request because any of them is doing exactly the same implying all kind of data is stored in the database.<\/p>\n<figure id=\"attachment_848\" aria-describedby=\"caption-attachment-848\" style=\"width: 609px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-3.jpg\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"848\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2016\/07\/25\/socialcloud-cloudy-this-morning-and-were-scaling-part-5\/socialcloud_scaling-3\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-3.jpg\" data-orig-size=\"609,269\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"SocialCloud &amp;#8211; Scaling &amp;#8211; Step 3\" data-image-description=\"&lt;p&gt;SocialCloud &amp;#8211; Scaling &amp;#8211; Step 3&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;SocialCloud &amp;#8211; Scaling &amp;#8211; Step 3&lt;\/p&gt;\n\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-3.jpg\" class=\"size-full wp-image-848\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-3.jpg\" alt=\"SocialCloud - Scaling - Step 3\" width=\"609\" height=\"269\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-3.jpg 609w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-3-300x133.jpg 300w\" sizes=\"auto, (max-width: 609px) 100vw, 609px\" \/><\/a><figcaption id=\"caption-attachment-848\" class=\"wp-caption-text\">Scaling &#8211; Step 3<\/figcaption><\/figure>\n<p>Horizontal scaling is nearly unlimited as long as you have the hardware capabilities to spawn more servers. This is also the point where cloud computing becomes really interesting.<\/p>\n<p>In contrast vertical scaling is adding more power to a single resource like increasing cpu power, ram or hard disk space. In virtual environments that can be achieved quite easy with a couple of mouse clicks but is always limited to a physical (hardware) maximum.<\/p>\n<p>Of course it can make sense to use both, horizontal and vertical scaling to combine the given advantages.<\/p>\n<p>We can easily scale the business logic dependent from the required performance now, however there is still a bottleneck. As soon as the database is queried from the web servers all calls end up on the database server.<br \/>\nNow you may start thinking about the scalability of the database server. Vertical scaling is certainly an option until you reach the hardware maximum. But horizontal scaling is not much fun as soon as the business logic starts to manipulate data. Then you need to make sure the databases will be synchronized and able to handle merge conflicts. Not much fun at all. So how to deal with it? Unfortunately there is no standardized solution to solve this. From this point we need to take a closer look at the application to implement.<\/p>\n<p>As an idea for your thought you could try to split data from different functionalities into separate databases. E.g.: separate databases for user data, messaging, configurations and so on. Beyond this you could also implement caches like redis or memcached to minimize load on the databases.<br \/>\nIf you really want to go big you could also start implementing an additional API layer that is responsible for all database operations and build a database cluster behind. In this case you should be aware of the <a href=\"https:\/\/en.wikipedia.org\/wiki\/CAP_theorem\">CAP theorem<\/a>.<\/p>\n<p>In our case we implemented a social network application (<a href=\"https:\/\/www.humhub.org\">HumHub<\/a>) for different user groups. We decided to use a separate database for each user group and scale the database servers vertically depending on the amount of users and database calls.<\/p>\n<figure id=\"attachment_854\" aria-describedby=\"caption-attachment-854\" style=\"width: 628px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-4_1.jpg\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"854\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2016\/07\/25\/socialcloud-cloudy-this-morning-and-were-scaling-part-5\/socialcloud_scaling-4_1\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-4_1.jpg\" data-orig-size=\"628,436\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"SocialCloud &amp;#8211; Scaling &amp;#8211; Step 4\" data-image-description=\"&lt;p&gt;SocialCloud &amp;#8211; Scaling &amp;#8211; Step 4&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;SocialCloud &amp;#8211; Scaling &amp;#8211; Step 4&lt;\/p&gt;\n\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-4_1.jpg\" class=\"size-full wp-image-854\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-4_1.jpg\" alt=\"SocialCloud - Scaling - Step 4\" width=\"628\" height=\"436\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-4_1.jpg 628w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/SocialCloud_Scaling-4_1-300x208.jpg 300w\" sizes=\"auto, (max-width: 628px) 100vw, 628px\" \/><\/a><figcaption id=\"caption-attachment-854\" class=\"wp-caption-text\">Scaling &#8211; Step 4<\/figcaption><\/figure>\n<p><a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2016\/07\/26\/socialcloud-configure-all-the-things-part-6\/\">The next blog post<\/a> introduces a Configuration Tool we created to manage the registration of new user groups. It gives you an impression how we deploy database services in Bluemix and what tools we use.<\/p>\n<hr>\n<p>Written by Natali Bopp, Andreas Gold, Jonas H\u00e4fele, <span class=\"mention\">Merle<\/span> Hiort, Martin Kopp, Christian Lang, Anna Poth und Eric Weislogel.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cloud computing has so much potential that the possibilities seem to be endless. Without knowing much about it the cloud looks like a magic place for many people. To give you a more detailed explanation we sum up the design process of our cloud application step by step in the following blog post. Without giving [&hellip;]<\/p>\n","protected":false},"author":20,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1,120,650,22,651,2],"tags":[49,46,51,47,50,48],"ppma_author":[685],"class_list":["post-838","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-cloud-technologies","category-scalable-systems","category-student-projects","category-system-designs","category-system-engineering","tag-architecture","tag-bluemix","tag-design","tag-ibm","tag-infrastructure","tag-scaling"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":839,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2016\/07\/24\/socialcloud-services-are-here-to-serve-part4\/","url_meta":{"origin":838,"position":0},"title":"SocialCloud \u2013 Services are here to serve &#8211; Part 4","author":"jh176","date":"24. July 2016","format":false,"excerpt":"'To Start Press Any Key.\u2019 Where's the ANY key? - Homer Simpson - There are so many possibilities to start the next big thing and the great thing in the IT- world is, that it is happening with every pressing of\u00a0 \u2018any key\u2019 on your Keyboard. So, press these keys\u2026","rel":"","context":"In &quot;Cloud Technologies&quot;","block_context":{"text":"Cloud Technologies","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/scalable-systems\/cloud-technologies\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2023\/08\/l2Je1wHsHqDv2aIne.gif?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":926,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2016\/07\/26\/socialcloud-configure-all-the-things-part-6\/","url_meta":{"origin":838,"position":1},"title":"SocialCloud &#8211; Configure all the things! &#8211; Part 6","author":"ew033","date":"26. July 2016","format":false,"excerpt":"One of the requirements of the system is that organizations should be able to set up and deploy the HumHub system on their own. For this purpose, we have designed the Configtool. To meet this requirement we have to use different tools, procedures and interfaces from Bluemix. In the following\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/socialCloud.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/socialCloud.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/socialCloud.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/socialCloud.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/socialCloud.jpg?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":899,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2016\/07\/23\/socialcloud-you-got-cloudified-part-3\/","url_meta":{"origin":838,"position":2},"title":"SocialCloud \u2013 You got cloudified \u2013 Part 3","author":"ag","date":"23. July 2016","format":false,"excerpt":"At the beginning of our project we had little experience in \u201cthat cloud thing everyone is talking about\u201d. Just like Gary Klinman from Hewlett Packard pointed out, we already knew that it is possible to \u201cback things up to the cloud\u201d, but in our imagination \u201cthe cloud\u201d seemed more like\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2023\/08\/200.gif?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":2859,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2017\/08\/31\/iot-with-the-raspberry-pi-final-application-part-3\/","url_meta":{"origin":838,"position":3},"title":"IoT with the Raspberry Pi \u2013 Final application \u2013 Part 3","author":"mr143@hdm-stuttgart.de","date":"31. August 2017","format":false,"excerpt":"In our final application, we have put together a solution consisting of four different modules. First, we have again the Raspberry Pi which raises and sends the sensor data using the already presented Python script. We changed the transfer protocol in the final application to MQTT, which gives us more\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2017\/08\/mqtt-1024x465.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2017\/08\/mqtt-1024x465.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2017\/08\/mqtt-1024x465.jpg?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":3114,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2017\/09\/01\/sport-data-stream-processing-on-ibm-bluemix-real-time-stream-processing-basics\/","url_meta":{"origin":838,"position":4},"title":"Sport data stream processing on IBM Bluemix:  Real Time Stream Processing Basics","author":"nk065@hdm-stuttgart.de","date":"1. September 2017","format":false,"excerpt":"New data is created every second. Just on Google the humans preform 40,000 search queries every second. By 2020 Forbes estimate 1.7 megabytes of new information will be created every second for every human on our planet. However, it is about collecting and exchanging data, which then can be used\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2017\/09\/Real-Time-Stream-Processing-Basics_6.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2017\/09\/Real-Time-Stream-Processing-Basics_6.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2017\/09\/Real-Time-Stream-Processing-Basics_6.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":798,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2016\/07\/29\/socialcloud-lessons-learned-part-8\/","url_meta":{"origin":838,"position":5},"title":"SocialCloud &#8211; Lessons Learned &#8211; Part 8","author":"Anna Poth","date":"29. July 2016","format":false,"excerpt":"Looking back at 4 months of intensive work on our project \u201cSocialCloud\u201d we gathered a lot of experiences and learned many things regarding teamwork, cloud infrastructure and about the difficulties of creating and designing a web application from scratch. Read this blogpost to be prepared for your next big project!\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/20141202185508-8-enduring-lessons-learned-my-clients-2014.jpeg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/20141202185508-8-enduring-lessons-learned-my-clients-2014.jpeg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/20141202185508-8-enduring-lessons-learned-my-clients-2014.jpeg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2016\/07\/20141202185508-8-enduring-lessons-learned-my-clients-2014.jpeg?resize=700%2C400&ssl=1 2x"},"classes":[]}],"jetpack_sharing_enabled":true,"authors":[{"term_id":685,"user_id":20,"is_guest":0,"slug":"cl051","display_name":"Christian Lang","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/3fdcf7f3515e150a4c3d04459188bf5988365b2efb77cb0cfe41a454b6ca5be5?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/838","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/comments?post=838"}],"version-history":[{"count":17,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/838\/revisions"}],"predecessor-version":[{"id":24690,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/838\/revisions\/24690"}],"wp:attachment":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/media?parent=838"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/categories?post=838"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/tags?post=838"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/ppma_author?post=838"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}