{"id":3119,"date":"2015-01-09T18:16:07","date_gmt":"2015-01-10T00:16:07","guid":{"rendered":"http:\/\/benincosa.com\/?p=3119"},"modified":"2015-01-09T18:16:07","modified_gmt":"2015-01-10T00:16:07","slug":"docker-micro-services-and-sound-bites","status":"publish","type":"post","link":"https:\/\/benincosa.com\/?p=3119","title":{"rendered":"Docker, Micro Services, and Sound Bites"},"content":{"rendered":"<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter\" src=\"http:\/\/europe.dockercon.com\/images\/logo-dockercon-eu-dates-transparent.png\" alt=\"\" width=\"441\" height=\"96\" \/><\/p>\n<p>At <a href=\"http:\/\/europe.dockercon.com\">DockerCon EU<\/a> there was a <a href=\"https:\/\/blog.docker.com\/2015\/01\/dockercon-europe-the-future-of-micro-services\/\">panel discussion<\/a> on\u00a0the future of micro services. \u00a0There were some very good insights there that I wanted to capture as well as some things I took away from it:<\/p>\n<p>Most of this is from <a href=\"https:\/\/twitter.com\/adrianco\">Adrian Cockcroft<\/a>. \u00a0He has really emerged as a visionary in the open source DevOps world largely based on his work at Netflix.\u00a0(Fun fact or name dropping moment: When Adrian worked at eBay and I was at IBM we worked together on a GPFS project, and he was the one who introduced me to LinkedIn)<\/p>\n<p>Adrian and the panel basically said that all middleware or infrastructure management should be open source and only the SaaS based applications are things people will pay for. \u00a0I wholeheartedly agree with this. \u00a0 There are\u00a0two arguments that really stood out to make this point:<\/p>\n<p>1. \u00a0The days where a company can work in NDA mode for 12 months on a project and then come out with a product for infrastructure management is too slow. \u00a0By that time an Open Source project has gone through 5 iterations and has more functionality.<\/p>\n<p>2. \u00a0People become suspicious of projects like middleware that require a huge investment of time to become knowledgeable on. \u00a0Why would I want to gain skills on your proprietary middleware suite that may be inferior to something that is open source? \u00a0Open Source skills are more transferrable than a proprietary system.<\/p>\n<p>I think the next hotness to emerge (that is already emerging) is a way to manage micro services running in your data center, whether that be a private or public cloud. \u00a0This will do more than just manage your docker containers. \u00a0There will be networking functionality and application queuing schedulers. \u00a0At present there seems to be two good solutions:<\/p>\n<p>1. \u00a0AWS, as they have already started with their Docker Schedule. \u00a0This is still pretty remedial, but don&#8217;t count AWS out.<\/p>\n<p>2. \u00a0An open source project.<\/p>\n<p>There will undoubtedly be proprietary solutions. \u00a0I could see VMware deciding they need to manage docker containers in vSphere or something, and that could be nice for them. \u00a0But I think these solutions will fail. \u00a0The one that will emerge will be an open source tool championed by a community of very smart people.<\/p>\n<p>Projects I\u00a0see arising this year are things like\u00a0<a href=\"https:\/\/github.com\/googlecloudplatform\/kubernetes\">Kubernetes<\/a>, <a href=\"http:\/\/panamax.io\">Panamax<\/a>, <a href=\"https:\/\/github.com\/docker\/swarm\">Swarm<\/a>, etc. \u00a0These are all ways to manage containers and have a huge head start on any enterprise projects. \u00a0I would love nothing better for a large company, like my employer, to spend time and develop tools like this for networking in an open source model. \u00a0Something that is completely open, but backed by a big company that can support it.<\/p>\n<p>One big epiphany I had while watching the panel is that micro services brings the infrastructure management closer to the application side of the house, furthering blur the lines between infrastructure and developers. We&#8217;ve talked about how the lines are blurring between storage, compute, and networking, but we should also understand that these lines are being blurred between development and infrastructure: \u00a0This is what DevOps is.<\/p>\n<p>A few more notes from Adrian&#8217;s <a href=\"https:\/\/www.youtube.com\/watch?v=nMTaS07i3jk\">&#8220;State of the Art in Microservices&#8221; talk<\/a>. \u00a0I&#8217;ve quoted them below, but I&#8217;m actually paraphrasing it then I have a few comments by it:<\/p>\n<p><em>&#8220;Cloud is API driven infrastructure. \u00a0Whether public or private, it needs to have APIs. \u00a0Its not just about self service interfaces. \u00a0It needs to have APIs.&#8221;<\/em><\/p>\n<p>Too often in my own company we show the self-service interface of things like UCS Director or OpenStack but fail to show how it will help our infrastructure friends sell it internally to the application teams. \u00a0APIs are one way we can do a better job of presenting it. \u00a0The problem is that APIs just aren&#8217;t sexy unless you are a developer trying to get an environment. \u00a0Then you want nothing other than that API so you don&#8217;t have to deal with the people that want to keep the environment up and static.<\/p>\n<p><em>&#8220;DevOps is a Re-Org. Not just create a new team and buy a copy of Chef.&#8221;<\/em><\/p>\n<p>From the book &#8220;The Phoenix Project&#8221; and in real life we see that a DevOps team is successful when it takes the brightest of each organization and charters them to work with each other.<\/p>\n<p><em>&#8220;With micro services, we treat each internal team like they are an external team. \u00a0We don&#8217;t need to know the details of the other micro services details, we only need to know the APIs and how we can communicate with them.&#8221;<\/em><\/p>\n<p><em>&#8220;As we&#8217;ve moved towards Continuous integration: Cost and size of change has been reduced while the rate of change has increased. \u00a0This can amount towards massive disruption.&#8221;<\/em><\/p>\n<p>I have one colleague I know who is doing this at his company. \u00a0This company he is in is largely static and does things the old way: \u00a01 week to code, 2 days to build and so forth. \u00a0Doing several builds a day has caused his team to really stand out and disrupt their current status quo. \u00a0There are far reaching benefits to this and people have taken notice in a big way.<\/p>\n<p>&#8220;IT transition: static machine, virtual machine, containers, AWS lambda. \u00a0AWS lambda is firing up a container and running it to do one request.&#8221;<\/p>\n<p>&#8220;Architectural diagrams with simple 3-tier architectures are dead. \u00a0Architectural diagrams are now the &#8216;Death Star&#8217; diagram. \u00a0This means that there are a ton of micro services talking to each other.&#8221;<\/p>\n<p>Adrian talked about Netflix, Guilt, and Hailo&#8217;s architecture. \u00a0These were very good to see how enterprises are moving to this quick model.<\/p>\n<p>This year in 2015 I expect most enterprises should have at least their development team use Docker intensely. \u00a0I&#8217;m using it in my applications and I already see the benefits. I can&#8217;t wait to see what happens the rest of the year!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>At DockerCon EU there was a panel discussion on\u00a0the future of micro services. \u00a0There were some very good insights there that I wanted to capture as well as some things I took away from it: Most of this is from Adrian Cockcroft. \u00a0He has really emerged as a visionary in the open source DevOps world&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[638],"tags":[639,1011,640],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts\/3119"}],"collection":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3119"}],"version-history":[{"count":1,"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts\/3119\/revisions"}],"predecessor-version":[{"id":3121,"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts\/3119\/revisions\/3121"}],"wp:attachment":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}